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

Cara Menginstal Forum ElkArte dengan Apache dan Mengenkripsi SSL di CentOS 8

ElkArte adalah perangkat lunak forum sumber terbuka dan gratis berdasarkan Forum Mesin Sederhana. Itu ditulis dalam PHP dan menggunakan MariaDB sebagai backend database. Ini menyediakan semua fitur yang diperlukan untuk membangun forum komunitas berfitur lengkap. Sederhana, ringan, dan menggunakan tema responsif yang cocok untuk browser, ponsel cerdas, atau tablet modern apa pun.

Fitur

  • Antarmuka yang sederhana dan ramah pengguna
  • Pengelola add-on yang dapat disesuaikan dan terintegrasi
  • Fungsi Anti Spam yang ditingkatkan
  • Tarik dan lepas lampiran file
  • Penyematan video terintegrasi untuk youtube, vimeo, dan dailymotion

Dalam tutorial ini, kami akan menunjukkan cara menginstal ElkArte dengan Let's Encrypt SSL di CentOS 8.

Prasyarat

  • Server yang menjalankan CentOS 8.
  • Nama domain valid yang ditunjukkan dengan IP server Anda.
  • Sandi root dikonfigurasi untuk server.

Instal Server LAMP

Pertama, Anda perlu menginstal Apache, MariaDB, PHP dan ekstensi lainnya di sistem Anda. Anda dapat menginstal semuanya dengan menjalankan perintah berikut:

dnf install httpd mariadb-server php php-common php-json php-curl php-intl php-mbstring php-xmlrpc php-mysqlnd php-gd php-pgsql php-xml php-cli php-bcmath php-gmp php-zip unzip -y

Setelah semua paket terinstal, edit file php.ini dan buat beberapa perubahan yang diinginkan:

nano /etc/php.ini

Ubah nilai berikut:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/Chicago

Simpan dan tutup file kemudian mulai layanan Apache dan MariaDB dan aktifkan mereka untuk memulai saat reboot sistem dengan perintah berikut:

systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi MariaDB

Secara default, kata sandi root MariaDB tidak disetel. Jadi, Anda perlu mengaturnya di sistem Anda. Anda dapat melakukannya dengan menjalankan skrip berikut:

mysql_secure_installation

Jawab semua pertanyaan seperti yang ditunjukkan di bawah ini untuk mengatur kata sandi root:

Enter current password for root (enter for none):
OK, successfully used password, moving on...
Set root password? [Y/n] Y
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 MariaDB diamankan, masuk ke shell MariaDB dengan perintah berikut:

mysql -u root -p

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

MariaDB [(none)]> CREATE DATABASE elkarte;
MariaDB [(none)]> CREATE USER 'elkarte'@'localhost' IDENTIFIED BY 'password';

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

MariaDB [(none)]> GRANT ALL ON elkarte.* TO 'elkarte'@'localhost' WITH GRANT OPTION;

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.

Unduh ElkArte

Pertama, Anda perlu mengunduh ElkArte versi terbaru dari repositori Git. Anda dapat mengunduhnya dengan perintah berikut:

wget https://github.com/elkarte/Elkarte/archive/master.zip

Setelah diunduh, unzip file yang diunduh dengan perintah berikut:

unzip master.zip

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

mv Elkarte-master /var/www/html/elkarte

Selanjutnya, ubah kepemilikan dan izin dengan perintah berikut:

chown -R apache:apache /var/www/html/elkarte
chmod -R 775 /var/www/html/elkarte

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi Apache untuk ElkArte

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

nano /etc/httpd/conf.d/elkarte.conf

Tambahkan baris berikut:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/elkarte
     ServerName elk.example.com

     <Directory /var/www/html/elkarte/>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog /var/log/httpd/error.log
     CustomLog /var/log/httpd//access.log combined

</VirtualHost>
systemctl restart httpd

Pada titik ini, server web Apache dikonfigurasi untuk melayani ElkArte. Sekarang Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi Selinux dan Firewall

Secara default, SELinux diaktifkan di CentOS 8. Jadi, Anda perlu mengonfigurasinya untuk situs web ElkArte 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/elkarte

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 ElkArte

Sekarang, buka browser web Anda dan akses ElkArte menggunakan URL http://elk.example.com . Anda akan diarahkan ke halaman berikut:

Klik Lanjutkan tombol untuk memulai instalasi. Anda akan melihat halaman berikut:

Berikan detail basis data Anda dan klik tombol Lanjutkan tombol. Anda akan melihat halaman berikut:

Berikan nama Forum Anda, URL, dan klik Lanjutkan tombol. Anda akan melihat halaman berikut:

Sekarang, klik tombol Lanjutkan tombol untuk mengisi database. Anda akan melihat halaman berikut:

Berikan nama pengguna, sandi, email admin Anda dan klik tombol Lanjutkan tombol. Anda akan melihat halaman berikut:

Klik forum yang baru Anda pasang tombol. Anda akan melihat halaman berikut:

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

Amankan Elkarte dengan Let's Encrypt SSL

Pada titik ini, ElkArte diinstal dan dikonfigurasi. Selanjutnya, disarankan untuk mengamankan situs ElkArte Anda dengan Let's Encrypt SSL. Pertama, Anda perlu menginstal klien Certbot ke sistem Anda. Certbot adalah klien Let's Encrypt yang dapat digunakan untuk mengunduh SSL dari situs web Let's Encrypt dan mengonfigurasi server web Apache untuk menggunakan SSL yang diunduh.

Anda dapat 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 web ElkArte Anda.

certbot-auto --apache -d elk.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:

Catatan:Jika Anda mendapatkan kesalahan terkait SSL, mulai ulang layanan httpd dan jalankan kembali perintah di atas.

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 elk.example.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/httpd/conf.d/elkarte-le-ssl.conf
Deploying Certificate to VirtualHost /etc/httpd/conf.d/elkarte-le-ssl.conf

Selanjutnya, pilih apakah akan mengarahkan ulang lalu lintas HTTP ke HTTPS, menghapus akses HTTP.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 memulai proses instalasi. Setelah instalasi berhasil diselesaikan, Anda akan mendapatkan output berikut:

Redirecting vhost in /etc/httpd/conf.d/elkarte.conf to ssl vhost in /etc/httpd/conf.d/elkarte-le-ssl.conf

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

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/elk.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/elk.example.com/privkey.pem
   Your cert will expire on 2020-05-10. 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"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - 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

Anda sekarang dapat mengakses ElkArte Anda dengan aman menggunakan URL https://elk.example.com.

Kesimpulan

Selamat! Anda telah berhasil menginstal ElkArte dengan Apache dan Let's Encrypt SSL di CentOS 8. Sekarang Anda dapat mulai membangun forum online Anda sendiri. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.


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

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

  3. Cara Menginstal Forum ElkArte dengan Apache dan Mengenkripsi di Debian 10

  1. Cara Menginstal DokuWiki dengan Nginx dan Mari mengenkripsi SSL di CentOS 8

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

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

  1. Cara Menginstal WonderCMS dengan Apache dan Mengenkripsi SSL di CentOS 8

  2. Cara Menginstal Askbot dengan Nginx dan Mengamankan dengan Lets Encrypt di CentOS 8

  3. Cara Menginstal Shopware 6 dengan NGINX dan Lets Encrypt di CentOS 8