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

Cara Memasang Forum Vanila dan Mengamankannya dengan Lets Encrypt di CentOS 8

Vanilla adalah perangkat lunak forum komunitas gratis, sumber terbuka, dan fleksibel yang dapat digunakan untuk membangun situs forum Anda sendiri. Ini adalah solusi forum ringan dan multi-bahasa yang membantu Anda membuat komunitas online dalam beberapa menit. Itu ditulis dalam PHP dan dilengkapi dengan banyak add-on dan tema. Itu dikemas dengan fitur premium dan digunakan oleh merek teratas untuk melibatkan pelanggan, mendorong loyalitas, dan mengurangi biaya dukungan.

Dalam tutorial ini, kita akan mempelajari cara menginstal forum Vanilla di CentOS 8 dan mengamankannya dengan Let's Encrypt SSL.

Prasyarat

  • Server yang menjalankan CentOS 8.
  • Kata sandi root telah disiapkan di server Anda.

Instal Server LEMP

Pertama, Anda perlu menginstal server web Nginx, server database MariaDB, PHP, dan ekstensi PHP lain yang diperlukan di sistem Anda. Anda dapat menjalankan perintah berikut untuk menginstal semuanya:

dnf install nginx mariadb-server php php php-mysqlnd php-opcache php-xml php-xmlrpc php-gd php-mbstring php-json php-fpm php-curl php-pear php-openssl php-intl unzip -y

Setelah menginstal semua paket, mulai layanan Nginx, PHP-FPM dan MariaDB dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:

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

Konfigurasi Database MariaDB

Sebelum memulai, ada baiknya Anda mengamankan MariaDB Anda. Anda dapat mengamankannya dengan skrip 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] Y
New password:
Re-enter new password:
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 mengamankan MariaDB, masuk ke shell MariaDB dengan perintah berikut:

mysql -u root -p

Berikan kata sandi root MariaDB Anda dan buat database dan pengguna untuk Vanilla dengan perintah berikut:

MariaDB [(none)]> CREATE DATABASE vanilladb CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB [(none)]> CREATE USER 'vanilla'@'localhost' IDENTIFIED BY 'password';

Selanjutnya, berikan semua hak istimewa ke database Vanilla dengan perintah berikut:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON vanilladb.* TO 'vanilla'@'localhost';

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

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

Unduh Forum Vanila

Anda dapat mengunduh versi stabil terbaru dari forum Vanilla dari situs resminya dengan perintah berikut:

wget https://open.vanillaforums.com/get/vanilla-core-3.3.zip

Setelah diunduh, unzip file yang diunduh dengan perintah berikut:

unzip vanilla-core-3.3.zip

Selanjutnya, pindahkan direktori hasil ekstrak ke direktori root web Nginx dengan perintah berikut:

mv package /var/www/html/vanilla

Selanjutnya, ubah kepemilikan direktori vanilla menjadi Nginx:

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

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi Kumpulan PHP-FPM

Secara default, PHP-FPM dikonfigurasi untuk Apache. Di sini, kita akan menggunakan Nginx sebagai server web. Jadi, Anda perlu mengonfigurasi PHP-FPM untuk Nginx. Anda dapat melakukannya dengan mengedit file /etc/php-fpm.d/www.conf:

nano /etc/php-fpm.d/www.conf

Ubah baris berikut:

user = nginx
group = nginx

Simpan dan tutup file setelah Anda selesai. Kemudian, buat direktori sesi untuk PHP dan ubah kepemilikannya:

mkdir -p /var/lib/php/session
chown -R nginx:nginx /var/lib/php/session

Selanjutnya, restart layanan PHP-FPM untuk menerapkan perubahan:

systemctl restart php-fpm

Konfigurasi Nginx untuk Vanilla

Selanjutnya, buat file host virtual Nginx baru untuk melayani forum Vanilla.

nano /etc/nginx/conf.d/vanilla.conf

Tambahkan baris berikut:

server {

  listen 80;
  server_name vanilla.linuxbuz.com;
  root /var/www/html/vanilla;
  index index.php;

  location ~* /\.git { deny all; return 403; }
  location /build/ { deny all; return 403; }
  location /cache/ { deny all; return 403; }
  location /cgi-bin/ { deny all; return 403; }
  location /uploads/import/ { deny all; return 403; }
  location /conf/ { deny all; return 403; }
  location /tests/ { deny all; return 403; }
  location /vendor/ { deny all; return 403; }

  location ~* ^/index\.php(/|$) {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    try_files $fastcgi_script_name =404;
    set $path_info $fastcgi_path_info;
    fastcgi_param PATH_INFO $path_info;
    fastcgi_index index.php;
    include fastcgi.conf;
    fastcgi_param SCRIPT_NAME /index.php;
    fastcgi_param SCRIPT_FILENAME $realpath_root/index.php;
    fastcgi_param X_REWRITE 1;
    fastcgi_pass unix:/var/run/php-fpm/www.sock;
  }

  location ~* \.php(/|$) {
    rewrite ^ /index.php$uri last;
  }
  location / {
    try_files $uri $uri/ @vanilla;
  }

  location @vanilla {
    rewrite ^ /index.php$uri last;
  }

}

Simpan dan tutup file setelah Anda selesai. Kemudian, restart layanan Nginx untuk menerapkan perubahan:

systemctl restart nginx

Amankan Vanila dengan Let's Encrypt SSL

Selanjutnya, Anda perlu menginstal utilitas Certbot di sistem Anda untuk mengunduh dan menginstal Let's Encrypt SSL untuk situs web Vanilla Anda.

Anda dapat menginstal klien 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

Selanjutnya, dapatkan dan instal sertifikat SSL untuk situs web Vanilla Anda dengan perintah berikut:

certbot-auto --nginx -d vanilla.linuxbuz.com

Perintah di atas pertama-tama akan menginstal semua dependensi yang diperlukan di server Anda. Setelah terinstal, Anda akan diminta untuk memberikan alamat email dan menerima persyaratan layanan seperti yang ditunjukkan di bawah ini:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to

cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for vanilla.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/vanilla.conf

Pilih apakah Anda ingin mengalihkan lalu lintas HTTP ke HTTPS atau tidak seperti yang ditunjukkan di bawah ini:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for

new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Ketik 2 dan tekan Enter untuk melanjutkan. Setelah instalasi berhasil diselesaikan, Anda akan mendapatkan output berikut:

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/vanilla.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://vanilla.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=vanilla.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/vanilla.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/vanilla.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-06-11. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot-auto 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

Konfigurasi SELinux dan Firewall

Secara default, SELinux diaktifkan di CentOS 8. Jadi, Anda perlu mengonfigurasinya untuk situs web forum Vanilla Anda.

Anda dapat mengkonfigurasi SELinux dengan perintah berikut:

setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/vanilla

Selanjutnya, izinkan port 80 dan 443 melalui firewall dengan perintah berikut:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Akses Forum Vanila

Buka browser web Anda dan kunjungi URL https://vanilla.linuxbuz.com. Anda akan diarahkan ke halaman berikut:

Berikan detail Basis Data Anda, Judul Aplikasi, Email, Nama pengguna Admin, Kata Sandi, dan klik tombol Lanjutkan tombol. Setelah instalasi selesai, Anda akan melihat dashboard Vanilla di halaman berikut:

Kesimpulan

Selamat! Anda telah berhasil menginstal forum Vanilla di CentOS 8 dengan Let's Encrypt SSL. Anda sekarang dapat meng-host situs web forum komunitas Anda sendiri dengan mudah. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.


Cent OS
  1. Amankan Nginx dengan Lets Encrypt di CentOS 7

  2. Cara Menginstal ownCloud 9.1 dengan Nginx dan MariaDB di CentOS 7

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

  1. Cara Menginstal OwnCloud 8 dengan Nginx dan MariaDB di CentOS 7

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

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

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

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

  3. Instal dan Konfigurasi Drupal 8 dengan Nginx dan Mari Enkripsi di CentOS 8