GNU/Linux >> Belajar Linux >  >> Debian

Cara Instal WordPress dengan Nginx dan Mari Enkripsi SSL di Debian 11

WordPress adalah platform situs web paling populer di internet. Ini gratis, sumber terbuka, dan berfungsi baik dengan hampir semua layanan hosting web, menjadikannya salah satu yang termudah untuk dipasang dan digunakan.

Jika Anda belum memiliki hosting web, sebaiknya instal WordPress di mesin Debian atau VPS lokal Anda.

Di sini, kita akan melihat cara menginstal WordPress dengan Nginx di Debian 11.

Instal LEMP Stack

Ikuti tautan di bawah ini untuk menginstal LEMP stack pada sistem Debian Anda untuk instalasi WordPress Anda.

Instal EMP (Nginx, MariaDB, dan PHP) di Debian 11

Siapkan Host Virtual Nginx

Kita akan mulai dengan membuat virtual host untuk instalasi WordPress. Anda dapat menemukan semua file konfigurasi virtual host Nginx di bawah /etc/nginx/conf.d direktori. Biasanya file host virtual berisi nama domain, nomor port, root dokumen, lokasi log, CGI cepat, dll.

Asumsikan berikut ini,

Nama domain:itzgeek.net, www.itzgeek.net
No Port:80
Akar dokumen:/usr/share/nginx/www.itzgeek.net/html
Log: /usr/share/nginx/www.itzgeek.net/logs

Buat konfigurasi host virtual.

sudo nano /etc/nginx/conf.d/www.itzgeek.net.conf

Kemudian, tempatkan konten berikut ke dalam file konfigurasi di atas. Anda perlu mengubah server_name sesuai kebutuhan Anda.

server {
	server_name itzgeek.net www.itzgeek.net;
	root /usr/share/nginx/www.itzgeek.net/html;

	index index.php index.html;

	access_log /usr/share/nginx/www.itzgeek.net/logs/access.log;
	error_log /usr/share/nginx/www.itzgeek.net/logs/error.log;

	# Prevent access to hidden files
	location ~* /\.(?!well-known\/) {
		deny all;
	}

	# Prevent access to certain file extensions
	location ~\.(ini|log|conf)$ {
		deny all;
	}

        # Enable WordPress Permananent Links
	location / {
		try_files $uri $uri/ /index.php?$args;
	}

	location ~ \.php$ {
        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        include fastcgi_params;
        fastcgi_intercept_errors on;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	}

}

Buat root dokumen dan direktori log.

sudo mkdir -p /usr/share/nginx/www.itzgeek.net/html/

sudo mkdir -p /usr/share/nginx/www.itzgeek.net/logs/

Verifikasi file konfigurasi Nginx dengan perintah di bawah ini.

sudo nginx -t

Jika Anda mendapatkan yang berikut, itu berarti konfigurasi virtual host sudah benar.

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

Mulai ulang layanan Nginx dan PHP-FPM.

sudo systemctl reload nginx php7.4-fpm

Buat Data DNS

Buka pencatat domain Anda dan buat catatan A dan CNAME (opsional jika Anda tidak ingin menggunakan subdomain www) untuk domain Anda. Biasanya Anda harus membuat dua catatan untuk situs WordPress Anda.

  1. Nama Domain Non-www (Misalnya itzgeek.net)>> A rekam titik ke IP server Anda
  2. www Nama Domain (Mis. www.itzgeek.net) >> CNAME catat titik ke itzgeek.net

Untuk demo ini, saya akan membuat dua record agar website WordPress saya bisa diakses di www.itzgeek.net.

Instal Let's Encrypt SSL Certificate

Instal klien Certbot

Klien Certbot, yang membantu kami membuat dan menginstal sertifikat SSL Let's Encrypt, sekarang tersedia sebagai paket snap untuk sistem operasi Debian. Jadi, pertama, instal snapd daemon di sistem Anda.

sudo apt update

sudo apt install -y snapd

Kemudian, perbarui snapd ke versi terbaru.

sudo snap install core && sudo snap refresh core

Terakhir, instal klien Certbot menggunakan perintah di bawah ini.

sudo snap install --classic certbot

sudo ln -s /snap/bin/certbot /usr/bin/certbot

Instal Sertifikat SSL

Gunakan perintah di bawah ini untuk membuat dan menginstal sertifikat SSL Let's Encrypt untuk server web Nginx.

sudo certbot --nginx
1. Masukkan alamat email untuk menerima pemberitahuan tentang pembaruan mendesak dan pemberitahuan keamanan
2. Ketik Y dan tekan Enter untuk mendaftar ke server ACME
3. Ketik Y atau T untuk menerima email tentang berita, kampanye, buletin EFF.
4. Certbot akan secara otomatis mendeteksi domain WordPress dan meminta izin Anda untuk mengaktifkan HTTPS untuk situs WordPress Anda. Ketik 1 atau angka yang sesuai dipisahkan dengan koma jika Anda memiliki beberapa situs web.
Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: itzgeek.net
2: www.itzgeek.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1,2

Tunggu hingga instalasi SSL selesai. Sekarang Anda dapat mengakses situs web dengan HTTPS.

Catatan: Jika Anda mengakses situs web sekarang, Anda akan mendapatkan 403 kesalahan terlarang karena Anda belum menempatkan file WordPress.

Arahkan permintaan HTTP non-www ke www HTTPS dengan Nginx

Anda mungkin ingin mengonfigurasi server Nginx untuk mengalihkan lalu lintas dari situs HTTP non-www ke situs HTTPS WWW, yaitu http://itzgeek.net>> https://www.itzgeek.net.

Perpanjang Otomatis Sertifikat SSL

Klien Certbot sekarang menyertakan pembaruan otomatis sertifikat SSL melalui systemd. Jadi, Anda tidak perlu memperbarui sertifikat secara manual.

Instal WordPress dengan Nginx

Buat Basis Data WordPress

Pertama, login ke server database MariaDB/MySQL.

sudo mysql -u root -p

Kemudian, buat database untuk instalasi WordPress beserta pengguna database dan kata sandinya.

CREATE DATABASE wpdatabase;

CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'wppassword';

GRANT ALL PRIVILEGES ON wpdatabase.* TO 'wpuser'@'localhost';

EXIT

Unduh WordPress

Unduh versi terbaru penginstal WordPress dengan menggunakan perintah berikut.

curl -O https://wordpress.org/latest.tar.gz

Kemudian, ekstrak file yang diunduh.

tar -zxvf latest.tar.gz

Kemudian, pindahkan file ke direktori root dokumen situs web Anda.

sudo mv wordpress/* /usr/share/nginx/www.itzgeek.net/html/

Perbarui kepemilikan dan grup direktori WordPress.

sudo chown -R www-data:www-data /usr/share/nginx/www.itzgeek.net/

Instal WordPress

Buka browser Anda dan kunjungi domain situs WordPress Anda untuk melakukan instalasi WordPress.

https://situs-wordpress-anda

1. Pilih Bahasa Instalasi dan klik Lanjutkan

2. Klik Ayo pergi!

3. Masukkan detail basis data WordPress lalu klik Kirim

4. Klik Jalankan penginstalan

5. Masukkan informasi situs web WordPress lalu klik Instal WordPress

6. Klik Masuk untuk mengakses backend admin WordPress untuk mengelola instalasi WordPress. Atau, Anda dapat mengakses backend WordPress dengan membuka https://your-wordpress-website/wp-admin

Akses Situs WordPress

Sekarang, Anda akan dapat mengakses situs dengan nama domain Anda.

https://situs-wordpress-anda

Kesimpulan

Itu saja. Saya harap Anda telah mempelajari cara menginstal WordPress dengan Nginx di Debian 11.


Debian
  1. Instal Lets Encrypt dan Secure Nginx dengan SSL/TLS di Debian 9

  2. Cara Menginstal Let's Encrypt SSL di Ubuntu 18.04 dengan Nginx

  3. Cara Menginstal WordPress dengan Nginx di Debian 10

  1. Instal Automad CMS dengan Nginx dan Mari Enkripsi SSL di Debian 10

  2. Cara Menginstal WordPress dengan Nginx dan Mengenkripsi SSL di CentOS 8

  3. Cara Menginstal Drupal 9 dengan Nginx dan Mengenkripsi SSL di Debian 10

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

  2. Cara Memasang Forum Wacana dengan Nginx dan Lets Encrypt SSL Gratis di Debian 11

  3. Cara Instal Etherpad dengan Nginx dan SSL di Debian 11