ElkArte è un software per forum gratuito e open source basato su Simple Machine Forum. È scritto in PHP e utilizza MariaDB come backend del database. Fornisce tutte le funzionalità necessarie per creare un forum della community completo. È semplice, leggero e utilizza temi reattivi adatti a qualsiasi browser, smartphone o tablet moderno.
Caratteristiche
- Interfaccia semplice e intuitiva
- Gestione componenti aggiuntivi personalizzabile e integrato
- Funzionalità anti-spam migliorata
- Trascina e rilascia i file allegati
- Incorporamento di video integrato per youtube, vimeo e dailymotion
In questo tutorial, ti mostreremo come installare ElkArte con Let's Encrypt SSL su CentOS 8.
Prerequisiti
- Un server che esegue CentOS 8.
- Un nome di dominio valido puntato all'IP del tuo server.
- Una password di root è configurata sul server.
Installa il server LAMP
Innanzitutto, dovrai installare Apache, MariaDB, PHP e altre estensioni nel tuo sistema. Puoi installarli tutti eseguendo il seguente comando:
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
Una volta installati tutti i pacchetti, modifica il file php.ini e apporta le modifiche desiderate:
nano /etc/php.ini
Modifica i seguenti valori:
memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 date.timezone = America/Chicago
Salva e chiudi il file, quindi avvia il servizio Apache e MariaDB e abilita l'avvio al riavvio del sistema con il seguente comando:
systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb
Una volta terminato, puoi procedere al passaggio successivo.
Configura MariaDB
Per impostazione predefinita, la password di root di MariaDB non è impostata. Quindi dovrai impostarlo nel tuo sistema. Puoi farlo eseguendo il seguente script:
mysql_secure_installation
Rispondi a tutte le domande come mostrato di seguito per impostare la password di 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
Una volta che MariaDB è protetto, accedi alla shell MariaDB con il seguente comando:
mysql -u root -p
Fornisci la tua password di root quando richiesto, quindi crea un database e un utente con il seguente comando:
MariaDB [(none)]> CREATE DATABASE elkarte;
MariaDB [(none)]> CREATE USER 'elkarte'@'localhost' IDENTIFIED BY 'password';
Successivamente, concedi tutti i privilegi al database ElkArte con il seguente comando:
MariaDB [(none)]> GRANT ALL ON elkarte.* TO 'elkarte'@'localhost' WITH GRANT OPTION;
Quindi, svuota i privilegi ed esci dalla shell MariaDB con il seguente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Una volta terminato, puoi procedere al passaggio successivo.
Scarica ElkArte
Innanzitutto, dovrai scaricare l'ultima versione di ElkArte dal repository Git. Puoi scaricarlo con il seguente comando:
wget https://github.com/elkarte/Elkarte/archive/master.zip
Una volta scaricato, decomprimi il file scaricato con il seguente comando:
unzip master.zip
Quindi, sposta la directory estratta nella directory radice di Apache con il seguente comando:
mv Elkarte-master /var/www/html/elkarte
Quindi, modifica la proprietà e le autorizzazioni con il seguente comando:
chown -R apache:apache /var/www/html/elkarte
chmod -R 775 /var/www/html/elkarte
Una volta terminato, puoi procedere al passaggio successivo.
Configura Apache per ElkArte
Successivamente, dovrai creare un file di configurazione dell'host virtuale apache per ElkArte. Puoi crearlo con il seguente comando:
nano /etc/httpd/conf.d/elkarte.conf
Aggiungi le seguenti righe:
<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
A questo punto, il server web Apache è configurato per servire ElkArte. Ora puoi procedere al passaggio successivo.
Configura Selinux e Firewall
Per impostazione predefinita, SELinux è abilitato in CentOS 8. Quindi dovrai configurarlo per il tuo sito Web ElkArte.
Puoi configurare SELinux con il seguente comando:
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
Quindi, consenti la porta 80 e 443 attraverso il firewall con il seguente comando:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Una volta terminato, puoi procedere al passaggio successivo.
Accedi a ElkArte
Ora apri il tuo browser web e accedi a ElkArte utilizzando l'URL http://elk.example.com . Verrai reindirizzato alla seguente pagina:
Fai clic su Continua pulsante per avviare l'installazione. Dovresti vedere la seguente pagina:
Fornisci i dettagli del tuo database e fai clic su Continua pulsante. Dovresti vedere la seguente pagina:
Fornisci il nome del forum, l'URL e fai clic su Continua pulsante. Dovresti vedere la seguente pagina:
Ora, fai clic su Continua pulsante per popolare il database. Dovresti vedere la seguente pagina:
Fornisci il tuo nome utente amministratore, password, e-mail e fai clic su Continua pulsante. Dovresti vedere la seguente pagina:
Fai clic sul forum appena installato pulsante. Dovresti vedere la seguente pagina:
Fornisci il nome utente e la password dell'amministratore e fai clic sul Registro dentro pulsante. Dovresti vedere la dashboard di ElkArte nella pagina seguente:
Proteggi Elkarte con Let's Encrypt SSL
A questo punto ElkArte è installato e configurato. Successivamente, ti consigliamo di proteggere il tuo sito ElkArte con Let's Encrypt SSL. Innanzitutto, dovrai installare il client Certbot sul tuo sistema. Certbot è un client Let's Encrypt che può essere utilizzato per scaricare SSL dal sito Web Let's Encrypt e configurare il server Web Apache per utilizzare l'SSL scaricato.
Puoi installare Certbot con il seguente comando:
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
Ora, esegui il seguente comando per ottenere e installare un certificato SSL per il tuo sito Web ElkArte.
certbot-auto --apache -d elk.example.com
Il comando precedente installerà prima tutte le dipendenze richieste sul tuo server. Una volta installato, ti verrà chiesto di fornire un indirizzo email e di accettare i termini del servizio come mostrato di seguito:
Nota:se hai riscontrato un errore relativo a SSL, riavvia il servizio httpd ed esegui nuovamente il comando precedente.
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
Quindi, scegli se reindirizzare o meno il traffico HTTP su HTTPS, rimuovendo l'accesso 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
Digita 2 e premi Invio per avviare il processo di installazione. Una volta completata l'installazione, dovresti ottenere il seguente output:
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
Ora puoi accedere a ElkArte in modo sicuro utilizzando l'URL https://elk.example.com.
Conclusione
Congratulazioni! hai installato con successo ElkArte con Apache e Let's Encrypt SSL su CentOS 8. Ora puoi iniziare a creare il tuo forum online. Sentiti libero di chiedermi se hai domande.