GNU/Linux >> Belajar Linux >  >> Debian

Instal WordPress dengan Nginx di Debian 10/11

Ringkasan

Posting berikut akan menunjukkan langkah-langkah cara menginstal WordPress dengan Nginx di Debian 10 dan juga di Debian 11. Pada satu server Debian kita akan menginstal dan mengkonfigurasi LEMP stack (Nginx, PHP dan MariaDB) dan pada akhirnya menginstal dan menjalankan WordPress. Dengan kata lain, server Debian tunggal kami akan menjalankan server web Nginx, server MariaDB, dan menjalankan WordPress secara bersamaan.

WordPress juga dapat diatur dan dijalankan di beberapa server terpisah (server web terpisah dan server database terpisah). Jika Anda memerlukan pengaturan seperti itu (dengan database jarak jauh), Anda dapat memeriksa cara mengaturnya di posting ini. Metode lain untuk menginstal dan menjalankan WordPress adalah dengan Docker, yang dibahas dalam posting ini.

Instal perpustakaan dan paket yang diperlukan

sudo apt install nginx php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl mariadb-server

Setelah penginstalan selesai, jalankan Nginx dan MariaDB jika tidak berjalan dan aktifkan untuk memulai otomatis saat boot.

sudo systemctl start nginx.service

sudo systemctl enable nginx.service

sudo systemctl start mariadb.service

sydo systemctl enable mariadb.service

Konfigurasi database

Mulai dan konfigurasikan server mariadb dengan database, pengguna, dan berikan hak istimewa.

Sebelum itu, disarankan untuk menjalankan instalasi aman terlebih dahulu:

sudo mysq_secure_installation

Saat diminta untuk mengubah kata sandi root, Anda dapat melewatinya tetapi itu tergantung pada Anda apakah Anda perlu mengubah kata sandi root atau tidak. Dengan sisa pertanyaan yang diajukan, Anda dapat melanjutkan dengan opsi Ya. Mirip seperti pada gambar di bawah ini:

lalu akses server database dan buat database, pengguna, dan atur hak istimewa

sudo mysql -u root -p


CREATE DATABASE sampledbwp;


GRANT ALL ON sampledbwp.* TO 'sample-admin'@'localhost' IDENTIFIED BY 'SamplePassword1';


quit

Dengan perintah ini, kita membuat database – sampledbwp, membuat user sample-admin di localhost dan memberikan semua hak istimewa untuk membaca dan menulis database yang baru kita buat.

Instal dan konfigurasikan WordPress

Arahkan ke direktori berikut dan unduh dan ekstrak instalasi WordPress:

cd /var/www/html/

sudo wget https://wordpress.org/latest.tar.gz

sudo tar -xzfv latest.tar.gz

Beralih ke direktori wordpress dan ganti nama file wp-config-sample.php menjadi wp-config.php

cd wordpress

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

Sekarang kita akan mengedit file konfigurasi WordPress:

sudo nano wp-config.php

Dalam file konfigurasi, kita perlu menambahkan pengguna database, nama database dan kata sandi yang kita buat di server MariaDB dan menambahkan kunci garam dari – https://api.wordpress.org/secret-key/1.1/salt/ . Lihat contoh gambar di bawah ini:

Simpan dan keluar.

Setel izin yang benar untuk instalasi WordPress agar dapat diakses dari internet:

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

sudo chmod -R 755 /var/www/html/wordpress

Konfigurasi Nginx

Pindah ke konfigurasi server web nginx. Langkah pertama adalah membuat file konfigurasi untuk situs web WordPress. Jalankan perintah berikut untuk memulai editor teks:

sudo nano /etc/nginx/sites-available/wordpress.conf

Di bawah ini Anda akan menemukan contoh konfigurasi:

server {
        listen 80;
        listen [::]:80;
        root /var/www/html/wordpress;
        index  index.php index.html index.htm;
        server_name mysite.com www.mysite.com;

        error_log /var/log/nginx/mysite.com_error.log;
        access_log /var/log/nginx/mysite.com_access.log;
        
        client_max_body_size 100M;
        location / {
                try_files $uri $uri/ /index.php?$args;
        }
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.3-fpm.sock;
                fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
}

Simpan dan keluar.

Catatan – Periksa kembali dan konfirmasi root instalasi wordpress Anda dan versi php-fpm yang berjalan di server Anda. Itu harus cocok di file konfigurasi.

Pada akhirnya, seharusnya terlihat seperti ini:

Konfigurasi default masih tetap di Nginx dan aktif. Sampai dihapus, konfigurasi Anda tidak akan terjadi, artinya situs WordPress Anda tidak akan dapat dijangkau, jadi kami perlu menghapus konfigurasi default:

sudo rm /etc/nginx/sites-available/default

sudo rm /etc/nginx/sites-enabled/default

Buat symlink untuk konfigurasi wordpress Nginx baru kami:

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

Setelah itu, periksa kembali konfigurasinya dengan:

sudo nginx -t

dan mulai ulang Nginx

sudo systemctl restart nginx

Uji apakah WordPress aktif di browser dengan mengaksesnya dengan alamat IP server atau dengan URL (jika Anda telah menetapkan nama domain) dan selesaikan penginstalan:

Dan itu saja. Anda sekarang memiliki dan menjalankan situs web WordPress.

Beberapa saran dan tips keamanan

Di sini saya ingin menunjukkan beberapa saran untuk instalasi WordPress yang lebih aman dan lebih aman serta cara memeliharanya.

  • Saran pertama adalah menghapus – file xmlrpc.php

File ini bukan poin penting WordPress dan WordPress dapat berfungsi tanpa file ini tanpa masalah. File Xmlrpc digunakan pada tahap awal WordPress sebagai layanan, di mana klien blog terhubung ke WordPress melalui xmlrpc untuk memposting konten baru (singkatnya). File ini sekarang menjadi penyebab banyak dan berbagai serangan berbahaya (DDoS, brute force, dan lain-lain).

Dalam contoh ini, kita dapat menghapus file ini dengan perintah:

sudo rm /var/www/html/wordpress/xmlrpc.php

Satu catatan juga – dengan setiap pembaruan/peningkatan WordPress, file ini akan muncul kembali, sehingga perlu mengulangi tindakan setiap WordPress diperbarui.

  • Hapus wp-config-sample.php

Dalam posting ini kami mengganti nama file ini menjadi wp-config.php. Kami melakukan cara ini karena kami secara manual menambahkan kredensial basis data untuk WordPress untuk terhubung ke server basis data dan menambahkan kunci garam juga. File ini juga muncul kembali dengan setiap pembaruan/peningkatan WordPress dan disarankan untuk menghapusnya karena terkena banyak serangan berbahaya yang dapat menyebabkan situs Anda dihapus.

  • Sembunyikan url wp-login dan tambahkan login 2FA

Sangat disarankan untuk mengubah login URL default untuk mencegah serangan brute force dan menambahkan login otentikasi dua faktor. Anda dapat melakukannya dengan mudah dengan plugin seperti – WPS Hide login dan miniOrange 2-Factor. Sekarang juga WordPress memiliki login 2FA secara default.

  • Tambahkan plugin firewall dan jangan gunakan akun dengan nama pengguna admin

Salah satu plugin pertama yang sangat disarankan untuk diinstal adalah plugin firewall, seperti – Wordfence atau Sucuri

Ringkasan

Kami membahas langkah-langkah cara menginstal WordPress dengan Nginx di Debian 10 dan juga di Debian 11. Skenario ini adalah WordPress disajikan dengan databasenya di satu mesin server adalah pilihan yang baik jika Anda juga memulai sekarang dan tidak memiliki anggaran ekstra untuk infrastruktur atau jika Anda seorang pemula yang baru pertama kali mencoba WordPress di hosting cloud/dedicated/VM/VPS atau hanya untuk beberapa tujuan pengujian.

Tetapi satu kelemahan yang dapat ditimbulkannya dari waktu ke waktu adalah jika Anda masih memiliki skenario ini dalam produksi, akan menjadi agak sulit untuk mempertahankan server ketika pemutakhiran diperlukan untuk diterapkan karena dapat menyebabkan waktu henti. Itulah mengapa praktik umum untuk memiliki setidaknya dua server dan memisahkan instalasi WordPress dengan hanya memiliki satu server web server (Nginx atau Apache) dan instalasi WordPress dan yang lainnya server database (MariaDB, MySQL). Proses penyiapan untuk lingkungan semacam ini, Anda dapat melihat di pos ini.

Terima kasih banyak atas waktunya…


Debian
  1. Cara Menginstal Nginx di Debian 8 (Jessie)

  2. Cara Menginstal Nginx di Debian 9 (Peregangan)

  3. Cara Menginstal WordPress dengan Nginx di Debian 10

  1. Cara Menginstal Nginx di Debian 9

  2. Cara menginstal Webmin di Debian 10/11

  3. Instal Plone dengan Nginx di VPS Debian 8

  1. Cara Menginstal InvoicePlane dengan Nginx di Debian 9

  2. Cara Menginstal AbanteCart dengan Nginx dan SSL di Debian 11

  3. Instal WordPress 5 dengan Apache di Debian 9