GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menginstal WordPress dengan Nginx dan Mengenkripsi SSL di CentOS 8

WordPress adalah sistem manajemen konten gratis, sumber terbuka, dan paling banyak digunakan di dunia. Ini adalah platform blogging yang sangat kuat yang dapat digunakan untuk menghosting Blog, Situs Portofolio, dan platform eCommerce. WordPress menggunakan Apache/Nginx sebagai server web, MariaDB/MySQL sebagai database, dan pemrosesan PHP. WordPress menyediakan banyak sekali tema dan plugin yang dapat digunakan untuk menyesuaikan fungsinya.

Dalam tutorial ini, kami akan menjelaskan cara menginstal WordPress dengan Nginx di server CentOS 8 dan kemudian kami mengamankan server dengan menggunakan sertifikat SSL Let's Encrypt gratis.

Prasyarat

  • Server yang menjalankan CentOS 8.
  • Kata sandi root dikonfigurasi di server Anda.
  • Nama domain yang valid diarahkan ke alamat IP server Anda.

Memulai

Secara default, SELinux diaktifkan di server CentOS 8. Jadi, Anda harus menonaktifkannya terlebih dahulu.

Anda dapat melakukannya dengan mengedit file /etc/selinux/config:

nano /etc/selinux/config

Lakukan perubahan berikut:

SELINUX=disabled

Simpan dan tutup file. Kemudian, restart server Anda untuk menerapkan perubahan.

Instal Server LEMP

Sebelum memulai, Anda perlu menginstal Nginx, MariaDB, PHP dan paket lain yang diperlukan di server Anda. Anda dapat menginstal semuanya dengan menjalankan perintah berikut:

yum install nginx php php-cli php-curl php-zip php-mbstring php-mysqlnd php-fpm curl unzip mariadb-server -y

Setelah semua paket diinstal, mulai layanan Nginx, PHP-FPM, MariaDB dan aktifkan untuk memulai setelah sistem reboot:

systemctl start nginx
systemctl enable nginx
systemctl start mariadb
systemctl enable mariadb
systemctl start php-fpm
systemctl enable php-fpm

Anda juga dapat memeriksa status layanan PHP-FPM dengan perintah berikut:

systemctl status php-fpm

Anda akan mendapatkan output berikut:

? php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-10-17 05:39:11 EDT; 4min 40s ago
 Main PID: 1475 (php-fpm)
   Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
    Tasks: 6 (limit: 5060)
   Memory: 28.5M
   CGroup: /system.slice/php-fpm.service
           ??1475 php-fpm: master process (/etc/php-fpm.conf)
           ??1478 php-fpm: pool www
           ??1479 php-fpm: pool www
           ??1480 php-fpm: pool www
           ??1481 php-fpm: pool www
           ??1482 php-fpm: pool www

Oct 17 05:39:10 centos8 systemd[1]: Starting The PHP FastCGI Process Manager...
Oct 17 05:39:11 centos8 systemd[1]: Started The PHP FastCGI Process Manager.

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi Database WordPress

Secara default, server MariaDB tidak diamankan. Jadi, Anda harus mengamankannya terlebih dahulu. Anda dapat mengamankannya dengan perintah berikut:

mysql_secure_installation

Jawab semua pertanyaan seperti yang ditunjukkan di bawah ini:

Enter current password for root (enter for none):
Set root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Setelah diamankan, Anda akan mendapatkan output berikut:

Cleaning up...

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

Thanks for using MariaDB!

Selanjutnya, masuk ke shell MariaDB dengan perintah berikut:

mysql -u root -p

Berikan kata sandi root Anda saat diminta kemudian buat database dan pengguna untuk WordPress dengan perintah berikut:

MariaDB [(none)]> CREATE DATABASE wpdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES on wpdb.* to 'wpuser'@'localhost' identified by 'password';

Selanjutnya, flush hak istimewa dan keluar dari shell MariaDB dengan perintah berikut:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Setelah database Anda dikonfigurasi, Anda dapat melanjutkan ke langkah berikutnya.

Unduh WordPress

Anda dapat mengunduh WordPress versi terbaru dengan perintah berikut:

cd /var/www/html
wget https://wordpress.org/latest.tar.gz

Setelah diunduh, ekstrak file yang diunduh dengan perintah berikut:

tar -xvzf latest.tar.gz

Selanjutnya, ubah kepemilikan direktori wordpress menjadi nginx:

chown -R nginx: /var/www/html/wordpress/

Selanjutnya, ubah direktori menjadi wordpress dan ganti nama file konfigurasi default wordpress:

cd /var/www/html/wordpress
cp wp-config-sample.php wp-config.php

Selanjutnya, edit file wp-config.php di editor teks favorit Anda:

nano wp-config.php

Tentukan informasi database Anda seperti yang ditunjukkan di bawah ini:

/** The name of the database for WordPress */
define( 'DB_NAME', 'wpdb' );

/** MySQL database username */
define( 'DB_USER', 'wpuser' );

/** MySQL database password */
define( 'DB_PASSWORD', 'password' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

Simpan dan tutup file, setelah Anda selesai.

Konfigurasi Nginx untuk WordPress

Selanjutnya, Anda perlu membuat file konfigurasi virtual host Nginx untuk melayani WordPress. Anda dapat membuatnya dengan perintah berikut:

nano /etc/nginx/conf.d/wordpress.conf

Tambahkan baris berikut:

server {
    listen 80;
    server_name example.com;
    root /var/www/html/wordpress;
    index index.php;

    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

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

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index   index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires max;
        log_not_found off;
    }

}

Simpan dan tutup file. Kemudian, periksa nginx apakah ada kesalahan sintaks dengan perintah berikut:

nginx -t

Anda akan mendapatkan output berikut:

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

Terakhir, restart layanan Nginx untuk menerapkan perubahan konfigurasi:

systemctl restart nginx

Mengakses Dasbor WordPress

WordPress diinstal dan dikonfigurasi, sekarang saatnya mengakses antarmuka web.

Buka browser web Anda dan ketik URL http://example.com . Anda akan diarahkan ke halaman berikut:

Berikan semua informasi yang diperlukan seperti nama situs, nama pengguna admin, kata sandi, email admin dan klik Instal WordPress tombol. Setelah instalasi selesai. Anda akan melihat halaman berikut:

Klik masuk tombol. Anda akan diarahkan ke halaman login WordPress:

Berikan nama pengguna, kata sandi admin Anda, dan klik tombol Masuk tombol. Anda akan melihat dasbor WordPress di halaman berikut:

Amankan WordPress dengan Let's Encrypt

Untuk mengamankan situs WordPress Anda dengan Let's Encrypt SSL gratis, Anda perlu menginstal klien Certbot Let's Encrypt di sistem Anda. Secara default, Certbot tidak tersedia di repositori default CentOS 8. Jadi, Anda perlu mengunduhnya dari situs web resmi Certbot.

Anda dapat mengunduh dan menginstal Certbot dengan perintah berikut:

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Sekarang, jalankan perintah berikut untuk mendapatkan dan menginstal sertifikat SSL untuk situs WordPress Anda.

certbot-auto --apache -d example.com

Anda akan diminta untuk memberikan alamat email dan menyetujui persyaratan layanan. Anda juga harus memilih apakah akan mengarahkan lalu lintas HTTP ke HTTPS atau tidak. Silakan pilih opsi yang sesuai dan tekan Enter. Setelah instalasi berhasil selesai, Anda akan mendapatkan output berikut:

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2019-08-14. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Siapkan Let's Encrypt Automatic Renewal

Sertifikat Let's Encrypt berlaku selama 90 hari. Jadi disarankan untuk memperbaharui sertifikat sebelum habis masa berlakunya. Anda dapat mengatur tugas Cron untuk memperbarui sertifikat secara otomatis.

Untuk melakukannya, buat crontab dengan perintah berikut:

crontab -e

Tambahkan baris berikut:

0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/bin/certbot-auto renew

Simpan dan tutup file, setelah Anda selesai.

Kesimpulan

Dalam tutorial di atas, kita belajar cara menginstal dan mengkonfigurasi WordPress dengan Nginx di server CentOS. Kami juga telah mempelajari cara mengamankan situs WordPress dengan Let's Encrypt SSL gratis. Saya harap Anda sekarang dapat dengan mudah meng-host situs web WordPress Anda sendiri dengan mudah.


Cent OS
  1. Cara Menginstal ownCloud 9.1 dengan Nginx dan MariaDB di CentOS 7

  2. Instal Magento di CentOS 7, dengan Nginx, PHP-FPM dan MariaDB

  3. Cara Menginstal Let's Encrypt di CentOS 8 Dengan Nginx

  1. Cara Instal WordPress dengan HHVM dan Nginx di CentOS 7

  2. Cara Menginstal Laravel 5.x dengan Nginx dan PHP-FPM 7.1 di CentOS 7

  3. Cara Menginstal Shopware dengan NGINX dan Mengenkripsi di CentOS 7

  1. Cara Menginstal WonderCMS dengan Nginx dan Mengenkripsi SSL di CentOS 7

  2. Cara Instal Pico CMS dengan Nginx dan Lets Encrypt di CentOS 7

  3. Instal Automad CMS dengan Nginx dan Mari Enkripsi SSL di CentOS 7