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

Cara Install Flarum Forum dengan Nginx dan LE SSL di CentOS 8

Flarum adalah perangkat lunak forum gratis, sumber terbuka, dan generasi berikutnya yang memudahkan Anda untuk memulai dan mengembangkan komunitas online yang sukses. Ini adalah perangkat lunak yang sederhana, ringan, cepat dan ramah seluler berdasarkan PHP. Muncul dengan serangkaian fitur yang kaya termasuk, UI Elegan, Antarmuka Dua Panel, Pengguliran Tak Terbatas, Komposer Mengambang, Responsif penuh, dan banyak lagi.

Dalam tutorial ini, kami akan menjelaskan cara menginstal forum Flarum di server CentOS 8.

Persyaratan

  • Server yang menjalankan CentOS 8.
  • Nama domain valid yang ditunjukkan dengan IP server Anda
  • Kata sandi root dikonfigurasi di server.

Memulai

Sebelum memulai, Anda perlu menginstal repositori EPEL dan Remi di sistem Anda. Pertama, instal repositori EPEL dengan perintah berikut:

dnf install epel-release -y

Selanjutnya, unduh dan instal repositori Remi dengan perintah berikut:

wget http://rpms.remirepo.net/enterprise/remi-release-8.rpm
rpm -Uvh remi-release-8.rpm

Instal Nginx, MariaDB dan PHP

Pertama, instal server web Nginx dan server MariaDB dengan perintah berikut:

dnf install nginx mariadb-server -y

Setelah kedua paket diinstal, Anda harus mengaktifkan modul php:remi-7.3 untuk menginstal PHP 7.3. Anda dapat mengaktifkannya dengan perintah berikut:

dnf module enable php:remi-7.3

Selanjutnya, instal PHP dengan dependensi lain yang diperlukan dengan perintah berikut:

dnf install php php-fpm php-common php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml -y

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

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

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi Database MariaDB

Secara default, MariaDB tidak diamankan. 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 selesai, masuk ke shell MariaDB dengan perintah berikut:

mysql -u root -p

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

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

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

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

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi PHP-FPM untuk Nginx

Selanjutnya, Anda perlu mengonfigurasi PHP-FPM agar berfungsi dengan Nginx. Anda dapat melakukannya dengan mengedit file www.conf:

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

Ubah nama pengguna dan grup dari apache menjadi nginx seperti gambar di bawah ini:

user = nginx
group = nginx
listen.owner = nginx
listen.group = nginx

Selanjutnya, cari baris berikut:

;listen = /run/php-fpm/www.sock

Dan ganti dengan baris berikut:

listen = 127.0.0.1:9000

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

systemctl restart php-fpm

Instal Flarum

Sebelum menginstal Flarum, Anda perlu menginstal Composer di sistem Anda.

Anda dapat menginstalnya dengan perintah berikut:

curl -sS https://getcomposer.org/installer | php

Setelah diinstal, Anda akan mendapatkan output berikut:

All settings correct for using Composer
Downloading...

Composer (version 1.9.2) successfully installed to: /root/composer.phar
Use it: php composer.phar

Selanjutnya, pindahkan file biner Composer ke direktori /usr/local/bin dan berikan izin yang sesuai:

mv composer.phar /usr/local/bin/composer
chmod 755 /usr/local/bin/composer

Selanjutnya, ubah direktori ke root dokumen Nginx dan buat proyek Flarum dengan perintah berikut:

cd /var/www/html
composer create-project flarum/flarum . --stability=beta

Selanjutnya, berikan izin yang tepat pada direktori root web Nginx dengan perintah berikut:

chown -R nginx:nginx /var/www/html
chmod -R 755 /var/www/html
chown -R nginx:nginx /var/lib/php

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi Nginx untuk Flarum

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

nano /etc/nginx/conf.d/flarum.conf

Tambahkan baris berikut:

server {
    listen   80;
    server_name  flarum.example.com;

# note that these lines are originally from the "location /" block
root   /var/www/html/public;
index index.php index.html index.htm;

location / { try_files $uri $uri/ /index.php?$query_string; }
location /api { try_files $uri $uri/ /api.php?$query_string; }
location /admin { try_files $uri $uri/ /admin.php?$query_string; }

location /flarum {
    deny all;
    return 404;
}

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

location ~* \.html$ {
    expires -1;
}

location ~* \.(css|js|gif|jpe?g|png)$ {
    expires 1M;
    add_header Pragma public;
    add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
gzip on;
gzip_http_version 1.1;
gzip_vary on;
gzip_comp_level 6;
gzip_proxied any;
gzip_types application/atom+xml
           application/javascript
           application/json
           application/vnd.ms-fontobject
           application/x-font-ttf
           application/x-web-app-manifest+json
           application/xhtml+xml
           application/xml
           font/opentype
           image/svg+xml
           image/x-icon
           text/css
           #text/html -- text/html is gzipped by default by nginx
           text/plain
           text/xml;
gzip_buffers 16 8k;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
   }

Simpan dan tutup file setelah Anda selesai. Selanjutnya, Anda perlu meningkatkan ukuran hash_bucket di file nginx.conf.

Anda dapat melakukannya dengan mengedit file /etc/nginx/nginx.conf:

nano /etc/nginx/nginx.conf

Tambahkan baris berikut tepat di atas baris terakhir:

server_names_hash_bucket_size 64;

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

nginx -t

Anda akan melihat 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 dan PHP-FPM untuk menerapkan perubahan:

systemctl restart php-fpm
systemctl restart nginx

Konfigurasi SELinux dan Firewall

Pertama, Anda perlu membuat aturan firewall untuk mengizinkan layanan HTTP dan HTTPS dari jaringan eksternal. Anda dapat mengizinkannya dengan perintah berikut:

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

Secara default, SELinux diaktifkan di CentOS 8. Jadi, Anda perlu mengonfigurasi SELinux agar Flarum berfungsi dengan benar. Anda dapat mengkonfigurasi SELinux menggunakan perintah berikut:

setsebool httpd_can_network_connect on -P

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Mengakses UI Web Flarum

Sekarang, buka browser web Anda dan ketik URL http://flarum.example.com. Anda akan diarahkan ke halaman berikut:

Berikan nama forum Anda, detail basis data, nama pengguna admin, kata sandi, dan klik Instal Flarum tombol. Setelah instalasi berhasil diselesaikan, Anda akan melihat dasbor Flarum di halaman berikut:

Amankan Flarum dengan Let's Encrypt SSL

Flarum sekarang diinstal dan dikonfigurasi. Saatnya mengamankannya dengan Let's Encrypt SSL gratis.

Untuk melakukannya, Anda perlu mengunduh klien certbot di server Anda. Anda dapat mengunduh dan mengatur izin yang benar dengan menjalankan 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 web flarum Anda.

certbot-auto --nginx -d flarum.example.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 apache, Installer apache
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 flarum.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/flarum.conf

Selanjutnya, Anda harus memilih apakah akan mengarahkan ulang lalu lintas HTTP ke HTTPS 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 selesai, Anda akan melihat output berikut:

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://flarum.example.com

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/flarum.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/flarum.example.com/privkey.pem
   Your cert will expire on 2020-03-23. 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

Itu dia! Anda sekarang dapat mengakses situs web Flarum Anda menggunakan URL aman https://flarum.example.com.


Cent OS
  1. Cara Menginstal Nextcloud dengan Nginx dan PHP 7.3 di CentOS 8

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

  3. Cara Memasang dan Mengatur Varnish Cache 6 dengan Nginx di CentOS 8

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

  2. Cara Menginstal Nextcloud dengan Nginx dan PHP7-FPM di CentOS 7

  3. Cara Menginstal dan Mengonfigurasi Askbot dengan Nginx di CentOS 7

  1. Cara Memasang Forum Wacana dengan Nginx di CentOS 7

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

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