GNU/Linux >> Belajar Linux >  >> Debian

Cara Menginstal WordPress dengan LEMP Stack di Debian 11 Bullseye

WordPress adalah sistem manajemen konten paling dominan yang ditulis dalam PHP, dikombinasikan dengan database MySQL atau MariaDB. Anda dapat membuat dan memelihara situs tanpa pengetahuan sebelumnya dalam pengembangan web atau pengkodean. Versi pertama WordPress dibuat pada tahun 2003 oleh Matt Mullenweg dan Mike Little dan sekarang digunakan oleh 70% pasar web yang dikenal, menurut W3Tech. WordPress hadir dalam dua versi:sumber terbuka gratis WordPress.org dan WordPress.com, layanan berbayar yang dimulai dari $5 per bulan hingga $59. Menggunakan sistem manajemen konten ini mudah dan sering dilihat sebagai batu loncatan untuk membuat blog atau situs unggulan serupa.

Dalam tutorial berikut, Anda akan mempelajari cara menginstal WordPress yang dihosting sendiri menggunakan versi Nginx, MariaDB, dan PHP terbaru yang tersedia.

Prasyarat

  • OS yang Disarankan: Debian 11 Bullseye
  • Akun pengguna: Akun pengguna dengan sudo atau akses root.
  • Paket yang Diperlukan: tercantum di seluruh tutorial

Perbarui Sistem Operasi

Perbarui Debian . Anda sistem operasi untuk memastikan semua paket yang ada mutakhir:

sudo apt update && sudo apt upgrade -y

Tutorial akan menggunakan perintah sudo dan dengan asumsi Anda memiliki status sudo .

Untuk memverifikasi status sudo di akun Anda:

sudo whoami

Contoh keluaran yang menunjukkan status sudo:

[joshua@debian~]$ sudo whoami
root

Untuk menyiapkan akun sudo yang ada atau baru, kunjungi tutorial kami di Menambahkan Pengguna ke Sudoers di Debian .

Untuk menggunakan akun root , gunakan perintah berikut dengan kata sandi root untuk masuk.

su

Instal Paket CURL &UNZIP

Tutorial ini menggunakan perintah curl dan unzip selama bagian tertentu. Untuk memastikan ini terinstal, jalankan perintah berikut di terminal Anda:

sudo apt install curl unzip -y

Instal Nginx Terbaru – (LEMP Stack)

Untuk memulai instalasi LEMP stack, Anda perlu menginstal Nginx server web. Metodenya adalah menginstal jalur utama atau stabil Nginx terbaru dari repositori Ondřej Sur untuk mendapatkan perangkat lunak terbaru. Banyak pengguna Ubuntu akan mengetahui PPA-nya, dan Anda dapat melakukan hal yang sama di Debian.

Untuk menggunakan versi terbaru dari jalur utama atau stabil Nginx, Anda harus mengimpor repositori terlebih dahulu.

Untuk mengimpor repositori arus utama:

curl -sSL https://packages.sury.org/nginx-mainline/README.txt | sudo bash -x

Untuk mengimpor repositori yang stabil:

curl -sSL https://packages.sury.org/nginx/README.txt | sudo bash -x

Perbarui repositori Anda untuk mencerminkan perubahan baru:

sudo apt update

Sekarang Anda telah menginstal repositori Nginx dan perbarui daftar repositori, instal Nginx dengan yang berikut:

sudo apt install nginx-core nginx-common nginx nginx-full

Contoh keluaran:

Ketik Y , lalu tekan ENTER KEY untuk melanjutkan dan menyelesaikan penginstalan.

Sekarang periksa untuk memastikan Nginx terbaru dari repositori Ondřej Surý telah diinstal menggunakan perintah kebijakan apt-cache . Perhatikan, contoh tutorial menginstal Nginx Mainline:

apt-cache policy nginx

Contoh keluaran untuk Nginx Mainline :

Perhatikan bahwa Anda mungkin diminta untuk menyimpan atau mengganti /etc/nginx/ yang ada nginx.conf file konfigurasi selama instalasi. Disarankan untuk menyimpan file konfigurasi Anda saat ini dengan menekan (n) .

Dengan menginstal Nginx dengan kustom, repositori dilengkapi dengan modul tambahan yang dikompilasi, salah satu modul yang paling diurutkan dan direkomendasikan untuk diaktifkan adalah modul Brotli.

Untuk memasang brotli , buka nginx.conf . Anda file konfigurasi:

nano /etc/nginx/nginx.conf

Sekarang tambahkan baris tambahan sebelumnya di HTTP{} bagian:

brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types application/atom+xml application/javascript application/json application/rss+xml
   application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype
   application/x-font-ttf application/x-javascript application/xhtml+xml application/xml
   font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon
   image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;

brotli_comp_level dapat disetel antara 1 (terendah) dan 11 (tertinggi) . Biasanya, sebagian besar server berada di tengah, tetapi jika server Anda adalah monster, setel ke 11 dan pantau tingkat penggunaan CPU.

Selanjutnya, uji untuk memastikan perubahan berfungsi dengan benar sebelum ditayangkan:

sudo nginx -t

Jika perubahan berfungsi dengan benar, Anda akan melihat yang berikut:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Sekarang buat perubahan secara langsung dengan memulai ulang server Anda:

sudo systemctl restart nginx

Selanjutnya, aktifkan Nginx pada boot sistem:

sudo systemctl enable nginx

Terakhir, verifikasi Nginx berjalan dengan benar; ini boleh dilewati jika Anda menjalankan nginx -t command dan tidak ada kesalahan.

systemctl status nginx

Contoh keluaran:

Instal MariaDB Terbaru (LEMP STACK)

Tutorial ini akan merekomendasikan untuk menginstal MariaDB secara terus-menerus melalui MySQL karena kinerjanya lebih dari apa pun.

Pertama, impor repositori resmi MariaDB, 10.6 adalah stabil saat ini, tetapi 10.7 adalah versi baru keluar tetapi mungkin tidak stabil.

Opsi 1 – Impor MariaDB 10.6:

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.7 --skip-maxscale --skip-tools

Opsi 2 – Impor MariaDB 10.7:

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=10.7 --skip-maxscale --skip-tools

Setelah Anda memilih versi, perbarui repositori APT Anda.

sudo apt update

Instal MariaDB di Desktop atau Server Debian

Untuk menginstal MariaDB, Anda perlu menginstal paket klien dan server. Ini dapat dilakukan sebagai berikut:

sudo apt install mariadb-server mariadb-client

Contoh keluaran:

Ketik Y , lalu tekan ENTER KEY untuk melanjutkan dan menyelesaikan penginstalan.

Konfirmasi pemasangan MariaDB dengan memeriksa versi dan build:

mariadb --version

Contoh keluaran:

mariadb  Ver 15.1 Distrib 10.6.4-MariaDB, for debian-linux-gnu (x86_64) using readline EditLine wrapper

Selanjutnya, mulai layanan MariaDB Anda dengan menjalankan perintah berikut untuk memulai dan mengaktifkan saat boot:

sudo systemctl start mariadb && sudo systemctl enable mariadb

Contoh keluaran jika berhasil:

Synchronizing state of mariadb.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mariadb

Periksa status server MariaDB

Sekarang Anda telah menginstal MariaDB, dan Anda dapat memverifikasi status perangkat lunak database dengan menggunakan perintah systemctl berikut:

systemctl status mariadb

Secara default, Anda akan menemukan status MariaDB tidak aktif. Untuk memulai MariaDB, gunakan perintah berikut:

sudo systemctl start mariadb

Sekarang periksa kembali statusnya, dan Anda akan mendapatkan yang berikut:

Untuk menghentikan MariaDB:

sudo systemctl stop mariadb

Untuk mengaktifkan MariaDB pada startup sistem:

sudo systemctl enable mariadb

Untuk menonaktifkan MariaDB pada startup sistem:

sudo systemctl disable mariadb

Untuk memulai ulang layanan MariaDB:

sudo systemctl restart mariadb

Amankan MariaDB dengan Skrip Keamanan

Selanjutnya, Anda akan diberikan prompt yang meminta Anda untuk memasukkan (kata sandi root MariaDB) . Untuk saat ini, tekan (ENTER) kunci karena kata sandi root belum disetel seperti di bawah ini:

sudo mysql_secure_installation

Selanjutnya, ketik (Y) dan tekan enter untuk menyiapkan (root) sandi seperti di bawah ini:

Rangkaian pertanyaan berikutnya yang dapat Anda tekan dengan aman (ENTER) , yang akan menjawab (Y) untuk semua pertanyaan berikutnya yang meminta Anda untuk (menghapus pengguna anonim, menonaktifkan login root jarak jauh, dan menghapus database pengujian) . Perhatikan (Y) dikapitalisasi, artinya itu adalah jawaban default ketika Anda menekan tombol (ENTER) kunci.

Contoh di bawah ini:

[joshua@debian-11 ~]$ sudo mariadb-secure-installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] Y <---- Type Y then press the ENTER KEY.
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y <---- Type Y then press the ENTER KEY.
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y <---- Type Y then press the ENTER KEY.
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Ikhtisar tentang apa yang seharusnya dilakukan di atas:

  • Menyetel sandi untuk root akun.
  • Menghapus akun root yang dapat diakses dari luar host lokal.
  • Menghapus akun pengguna anonim.
  • Menghapus database pengujian, yang secara default dapat diakses oleh pengguna anonim.

Langkah ini penting untuk keamanan database MariaDB dan tidak boleh diubah atau dilewati kecuali Anda tahu apa yang Anda lakukan.

Instal PHP Terbaru (LEMP STACK)

Bagian terakhir dari tutorial ini adalah menginstal PHP, yang merupakan backend yang berkomunikasi antara Apache dan MariaDB, perantaranya. PHP 8.0 menjadi relatif stabil, dan versi PHP 8.1 yang lebih baru sekarang tersedia.

Tutorial akan fokus pada mengimpor versi PHP terbaru Ondřej Surý, pengelola untuk Debian PHP. Ini selalu up to date bahkan ketika versi PHP baru dijatuhkan.

Impor Repositori PHP Ondřej Surý

Langkah pertama adalah mengimpor dan menginstal GPG dan repositori.

Di terminal Anda, gunakan perintah berikut.

curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x

Perintah ini akan menginstal repositori PHP dan memperbarui repositori APT Anda.

Selanjutnya, perbarui daftar repositori karena repositori baru akan memerlukan beberapa paket yang ada untuk ditingkatkan dan disarankan untuk dilakukan sebelum menginstal versi PHP apa pun.

sudo apt upgrade

Opsi 1. Instal PHP 7.4

Sekarang Anda dapat melanjutkan untuk menginstal PHP 7.4 untuk kebutuhan khusus Anda sebagai berikut:

sudo apt install php7.4-fpm php7.4-cli php7.4-common php7.4-mbstring php7.4-xmlrpc php7.4-soap php7.4-gd php7.4-xml php7.4-intl php7.4-mysql php7.4-cli php7.4-ldap php7.4-zip php7.4-mcrypt php7.4-curl php7.4-json php7.4-opcache php7.4-readline php7.4-xml php7.4-gd -y

Verifikasi instalasi dan periksa versi dan build:

php -v

Contoh keluaran:

Selanjutnya, mulai dan aktifkan PHP 7.4-FPM agar otomatis dimulai saat boot.

sudo systemctl start php7.4-fpm && sudo systemctl enable php7.4-fpm

Sekarang, secara default, PHP-FPM harus berjalan. Untuk mengonfirmasi ini, gunakan perintah systemctl berikut:

sudo systemctl status php7.4fpm

Contoh keluaran:

Opsi 2. Instal PHP 8.0

Sekarang Anda dapat melanjutkan untuk menginstal PHP 8.0 untuk kebutuhan khusus Anda sebagai berikut:

sudo apt install php8.0-fpm php8.0-cli php8.0-common php8.0-mbstring php8.0-xmlrpc php8.0-soap php8.0-gd php8.0-xml php8.0-intl php8.0-mysql php8.0-cli php8.0-ldap php8.0-zip php8.0-mcrypt php8.0-curl php8.0-opcache php8.0-readline php8.0-xml php8.0-gd unzip -y

Verifikasi instalasi dan periksa versi dan build:

php -v

Contoh keluaran:

Sekarang, secara default, PHP-FPM harus berjalan. Untuk mengonfirmasi ini, gunakan perintah systemctl berikut:

sudo systemctl status php8.0-fpm

Contoh keluaran:

Instal Backend WordPress

Unduh WordPress

Kunjungi laman unduhan WordPress.org dan gulir ke bawah untuk menemukan zip terbaru tautan unduhan. Kemudian gunakan perintah wget, unduh filenya.

wget https://wordpress.org/latest.zip

Membuat Struktur Folder untuk WordPress

Sekarang Anda memiliki arsip yang diunduh, lanjutkan untuk membuka ritsletingnya dan pindahkan ke direktori www.

Buat direktori untuk WordPress:

sudo mkdir -p /var/www/html/wordpress

Unzip WordPress ke direktori www:

sudo unzip latest.zip -d /var/www/html/

Anda harus menyetel izin pemilik direktori ke WWW, atau Anda akan mengalami masalah dengan izin menulis WordPress.

Setel izin chown (penting):

sudo chown -R www-data:www-data /var/www/html/wordpress/

Setel izin chmod (penting):

sudo find /var/www/html/wordpress -type d -exec chmod 755 {} \;
sudo find /var/www/html/wordpress -type f -exec chmod 644 {} \;

Buat Basis Data untuk WordPress

WordPress membutuhkan database untuk dijalankan, oleh karena itu mengapa Anda harus menginstal MariaDB. Sebelum melanjutkan lebih jauh, Anda perlu membuat database untuk WordPress menggunakan MariaDB. Pertama, buka konsol terminal dan ketik berikut ini.

Ambil shell MariaDB sebagai root:

sudo mariadb -u root

Perintah alternatif kedua:

sudo mysql -u root

Selanjutnya buat databasenya. Ini bisa berupa nama apa pun yang Anda inginkan. Untuk panduannya, beri nama “WORDPRESSDB.”

Buat basis data WordPress:

CREATE DATABASE WORDPRESSDB;

Setelah database dibuat, Anda harus membuat pengguna baru untuk situs baru WordPress.

Hal ini dilakukan sebagai langkah pengamanan, sehingga setiap database memiliki pengguna yang berbeda. Jika satu nama pengguna disusupi, penyerang tidak mengakses semua basis data situs web lain.

Buat pengguna basis data WordPress:

CREATE USER 'WPUSER'@localhost IDENTIFIED BY 'PASSWORD';

Ganti WPUSER dan PASSWORD dengan nama pengguna atau kata sandi apa pun yang Anda inginkan. Jangan salin dan tempel pengguna/pass default di atas untuk tujuan keamanan.

Sekarang tetapkan akses pengguna yang baru dibuat ke database situs WordPress hanya di bawah ini.

Tetapkan database ke akun pengguna WordPress yang dibuat:

GRANT ALL PRIVILEGES ON WORDPRESSDB.* TO WPUSER@localhost IDENTIFIED BY 'PASSWORD';

Dengan semua pengaturan konfigurasi basis data selesai, Anda perlu menghapus hak istimewa agar berlaku dan keluar.

Hak Istimewa Flush:

FLUSH PRIVILEGES;

Keluar dari MariaDB:

EXIT;

Mengatur File Konfigurasi WordPress

Anda perlu mengatur beberapa pengaturan di wp-config-sample.php mengajukan. Di bawah, Anda akan melihat cara mengganti nama file sampel dan memasukkan informasi yang diperlukan.

Pertama, ganti nama file konfigurasi.

Buka direktori WordPress:

cd /var/www/html/wordpress/

Ganti nama file konfigurasi:

sudo mv wp-config-sample.php wp-config.php

Menggunakan editor teks, buka file wp-config.php yang baru diganti namanya. Dalam contoh kita, kita akan menggunakan nano.

sudo nano wp-config.php

Selanjutnya, Anda akan memasukkan nama database, akun pengguna dengan kata sandi, alamat IP host jika berbeda dari localhost.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */ 
define( 'DB_NAME', 'wordpressdb' );
/* MySQL database username */ 
define( 'DB_USER', 'wpuser1' );
/* MySQL database password */
define( 'DB_PASSWORD', 'YOUR PASSWORD' );
/* MySQL hostname, change the IP here if external DB set up */ 
define( 'DB_HOST', 'localhost' );
/* Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
/* The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

Saat Anda berada di file ini, menambahkan pengaturan ekstra akan membuat WordPress Anda lebih mudah dikelola, seperti menyimpan file langsung daripada menggunakan FTP dan meningkatkan batas ukuran memori.

##Save files direct method##
 define( 'FS_METHOD', 'direct' );

##Increase memory limit, 256MB is recommended##
 define('WP_MEMORY_LIMIT', '256M');

##change Wordpress database table prefix if wanted##
 $table_prefix = 'wp_';

Menyetel Kunci Garam Keamanan WordPress

Akan lebih baik untuk mengunjungi API kunci rahasia WordPress untuk menghasilkan milik Anda sendiri. Generator kunci garam alamat dapat ditemukan di https://api.wordpress.org/secret-key/1.1/salt/ . Ganti baris contoh dengan kode dari generator.

JANGAN SALIN CONTOH DI BAWAH INI, DAN HANYA UNTUK REFERENSI.

define('AUTH_KEY',         '<3yfS7/>%m.Tl^8Wx-Y8-|T77WRK[p>(PtH6V]Dl69^<8|K86[_Z},+THZ25+nJG');
define('SECURE_AUTH_KEY',  'bN#Qy#ChBX#Y`PE/_0N42zxgLD|5XpU[mu.n&:t4q~hg<UP/b8+xFTly_b}f]M;!');
define('LOGGED_IN_KEY',    'owpvIO-+WLG|,1)CQl*%gP1uDp}s(jUbYQ[Wm){O(x@sJ#T}tOTP&UOfk|wYsj5$');
define('NONCE_KEY',        '8=Vh|V{D<>`CLoP0$H!Z3gEqf@])){L+6eGi`GAjV(Mu0YULL@sagx&cgb.QVCbi');
define('AUTH_SALT',        '%TX*X$GE-;|?<-^(+K1Un!_Y<hk-Ne2;&{c[-v!{q4&OiJjQon /SHcc/:MB}y#(');
define('SECURE_AUTH_SALT', '=zkDT_%}J4ivjjN+F}:A+s6e64[^uQ<qNO]TfHS>G0elz2B~7Nk.vRcL00cJoo7*');
define('LOGGED_IN_SALT',   '{$-o_ull4|qQ?f=8vP>Vvq8~v>g(2w12`h65ztPM(xo!Fr()5xrqy^k[E~TwI!xn');
define('NONCE_SALT',       'a1G(Q|X`eX$p%6>K:Cba!]/5MAqX+L<A4yU_&CI)*w+#ZB+*yK*u-|]X_9V;:++6');

Konfigurasi Blok Server Nginx

Sekarang, Anda hampir siap untuk menginstal WordPress melalui UI web. Namun, Anda perlu mengonfigurasi blok server Nginx Anda. Pengaturan di bawah ini cukup penting. Perlu diperhatikan untuk menekankan pentingnya “try_files $uri $uri/ /index.php?$args;” seperti yang sering menjadi masalah dengan tutorial lain yang meninggalkan akhiran ?$args ditinggalkan, memberi Anda masalah kesehatan situs utama datang ke REST API WordPress.

Pertama, buat file konfigurasi server baru dengan perintah berikut menggantikan contoh dengan nama domain Anda,

sudo nano /etc/nginx/sites-available/example.com.conf

Di bawah ini adalah contoh; Anda dapat memilih bagian; namun, “lokasi ~ \.php$” harus dalam file konfigurasi Nginx.

CATATAN:Pastikan untuk mengubah www.example.com dan example.com serta jalur root.

server {

  listen 80;
  listen [::]:80;
  server_name www.example.com example.com;

  root /var/www/html/wordpress;

  index index.php index.html index.htm index.nginx-debian.html;


  location / {
  try_files $uri $uri/ /index.php?$args;
 }

  location ~* /wp-sitemap.*\.xml {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  client_max_body_size 100M;

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 128k;
    fastcgi_intercept_errors on;	
  }

 gzip on; 
 gzip_comp_level 6;
 gzip_min_length 1000;
 gzip_proxied any;
 gzip_disable "msie6";
 gzip_types
     application/atom+xml
     application/geo+json
     application/javascript
     application/x-javascript
     application/json
     application/ld+json
     application/manifest+json
     application/rdf+xml
     application/rss+xml
     application/xhtml+xml
     application/xml
     font/eot
     font/otf
     font/ttf
     image/svg+xml
     text/css
     text/javascript
     text/plain
     text/xml;

  # assets, media
  location ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv)$ {
      expires    90d;
      access_log off;
  }
  
  # svg, fonts
  location ~* \.(?:svgz?|ttf|ttc|otf|eot|woff2?)$ {
      add_header Access-Control-Allow-Origin "*";
      expires    90d;
      access_log off;
  }

  location ~ /\.ht {
      access_log off;
      log_not_found off;
      deny all;
  }
}

Perhatikan, jika Anda menggunakan PHP 8.0 temukan dan ganti baris di atas “fastcgi_pass unix:/run/php/php7.4-fpm.sock;” ke “fastcgi_pass unix:/run/php/php8.0-fpm.sock;” .

Selanjutnya, Anda harus mengaktifkan file konfigurasi Nginx dari “sites-available” . Untuk melakukan ini, Anda akan membuat symlink ke “sites-enabled” sebagai berikut.

sudo ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/

Pastikan untuk mengganti “example.conf” dengan nama file konfigurasi Anda.

Anda sekarang dapat melakukan dry run kemudian restart server Nginx Anda jika semuanya baik-baik saja.

sudo nginx -t

Setelah memeriksa dan semuanya baik-baik saja dengan uji coba kering Nginx Anda, mulai ulang layanan Nginx.

sudo systemctl restart nginx

Konfigurasi PHP.ini

Sebelum pindah ke bagian instalasi UI web, Anda harus menyesuaikan PHP Anda untuk penggunaan optimal untuk WordPress. Pengaturan ini lebih merupakan panduan, dan Anda dapat menambah, mengurangi sesuai keinginan.

Pertama, buka php.ini Anda. Perhatikan bahwa lokasi Anda mungkin berbeda tergantung pada nomor versi PHP Anda.

PHP 7.4:

sudo nano /etc/php/7.4/fpm/php.ini

PHP 8.0:

sudo nano /etc/php/8.0/fpm/php.ini

File media WordPress bisa sangat signifikan, dan defaultnya bisa terlalu rendah. Anda dapat meningkatkan ini kira-kira sesuai dengan ukuran file Anda yang paling luas. Temukan baris berikut di bawah ini dan sesuaikan dengan kebutuhan Anda.

##increase upload max size recommend 50 to 100mb## 
 upload_max_filesize = 100MB

##increase post max size recommend 50 to 100mb##
 post_max_size = 100MB

## increase max execution time recommend 150 to 300##
 max_execution_time = 300

## increase GET/POST/COOKIE input variables recommend 5000 to 10000##
max_input_vars = 10000

## increase memory limit recommend 256mb or 512mb##
memory_limit = 256M

Sekarang restart server PHP-FPM Anda.

PHP 7.4:

sudo systemctl restart php7.4-fpm

PHP 8.0:

sudo systemctl restart php8.0-fpm

Pengaturan PHP yang Anda sesuaikan adalah untuk backend PHP. Anda juga perlu mengubah blok server Nginx untuk memungkinkan ukuran tubuh yang besar. Ini dilakukan dengan membuka kembali blok server Anda dan menambahkan baris berikut.

Buka blok server Anda.

sudo nano /etc/nginx/sites-available/example.com

Sesuaikan garis ini untuk menambah ukuran tubuh.

client_max_body_size 100M;

Ingat, pertahankan ukuran maksimal klien sama dengan setelan file PHP ukuran maksimal .

Selanjutnya, uji perubahannya, lalu restart server Nginx Anda jika semuanya baik-baik saja.

sudo nginx -t

Setelah memeriksa dan semuanya baik-baik saja dengan uji coba kering Nginx Anda, mulai ulang layanan Nginx.

sudo systemctl restart nginx

Instal Frontend WordPress

Setelah semua penyiapan dan konfigurasi backend selesai, Anda dapat masuk ke domain Anda dan mulai menginstal.

##go to installation address##
 https://www.yoursite.com
##alternative url##
 https://www.yoursite.com/wp-admin/install.php

Halaman pertama yang akan Anda lihat adalah membuat nama pengguna dan kata sandi bersama dengan beberapa detail situs. Ini akan menjadi akun login admin masa depan Anda, dan Anda juga dapat mengubahnya nanti.

Jika Anda membuat situs web, mengaktifkan “sangat tidak menyarankan mesin telusur untuk mengindeks” mencegah Google atau Bing atau “bot mesin telusur yang bagus/bereputasi” lainnya dari pengindeksan situs web WIP. Setelah selesai, Anda akan masuk ke layar berikutnya dengan login.

Selamat, Anda telah berhasil menginstal versi terbaru WordPress di Nginx dengan tumpukan LEMP.

Amankan Nginx dengan Let's Encrypt SSL Free Certificate

Idealnya, Anda ingin menjalankan Nginx di HTTPS menggunakan sertifikat SSL . Cara terbaik untuk melakukannya adalah dengan menggunakan Let's Encrypt, otoritas sertifikat gratis, otomatis, dan terbuka yang dijalankan oleh Internet Security Research Group (ISRG) nirlaba .

Pertama, instal paket certbot sebagai berikut:

sudo apt install python3-certbot-nginx -y

Setelah terinstal, jalankan perintah berikut untuk memulai pembuatan sertifikat Anda:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d www.example.com

Penyiapan ideal ini mencakup pengalihan paksa HTTPS 301, header Strict-Transport-Security, dan OCSP Stapling. Pastikan untuk menyesuaikan email dan nama domain dengan kebutuhan Anda.

Sekarang URL Anda akan menjadi HTTPS://www.example.com alih-alih HTTP://www.example.com .

Jika Anda menggunakan URL HTTP old yang lama , secara otomatis akan dialihkan ke HTTPS .


Debian
  1. Instal WordPress dengan Nginx di Debian 10/11

  2. Cara Instal WordPress dengan LEMP Stack di CentOS 8

  3. Cara Menginstal WordPress dengan Nginx di Debian 10

  1. Cara Menginstal Nginx di Debian 9

  2. Cara Menginstal Mern Stack dengan Nginx di Debian 11

  3. Cara Memasang LEMP Stack di Debian 10 Buster

  1. Cara Menginstal InvoicePlane dengan Nginx di Debian 9

  2. Cara Instal Nginx dengan PHP + MySQL (LEMP) di Debian 9

  3. Cara Menginstal Nginx di Debian 11