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.