GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Flarum Forum con Nginx e LE SSL su CentOS 8

Flarum è un software per forum gratuito, open source e di nuova generazione che ti semplifica l'avvio e la crescita di una community online di successo. È un software semplice, leggero, veloce e ottimizzato per dispositivi mobili basato su PHP. Viene fornito con un ricco set di funzionalità tra cui interfaccia utente elegante, interfaccia a due riquadri, scorrimento infinito, compositore mobile, completamente reattivo e molti altri.

In questo tutorial spiegheremo come installare il forum Flarum sul server CentOS 8.

Requisiti

  • Un server che esegue CentOS 8.
  • Un nome di dominio valido puntato all'IP del tuo server
  • Sul server è configurata una password di root.

Per iniziare

Prima di iniziare, dovrai installare il repository EPEL e Remi nel tuo sistema. Innanzitutto, installa il repository EPEL con il seguente comando:

dnf install epel-release -y

Quindi, scarica e installa il repository Remi con il seguente comando:

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

Installa Nginx, MariaDB e PHP

Innanzitutto, installa il server web Nginx e il server MariaDB con il seguente comando:

dnf install nginx mariadb-server -y

Una volta installati entrambi i pacchetti, sarà necessario abilitare il modulo php:remi-7.3 per installare PHP 7.3. Puoi abilitarlo con il seguente comando:

dnf module enable php:remi-7.3

Quindi, installa PHP con le altre dipendenze richieste con il seguente comando:

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

Una volta installati tutti i pacchetti, avviare il servizio Nginx, MariaDB e PHP-FPM e abilitarli all'avvio dopo il riavvio del sistema con il seguente comando:

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

Una volta terminato, puoi procedere al passaggio successivo.

Configura il database MariaDB

Per impostazione predefinita, MariaDB non è protetta. Puoi proteggerlo con il seguente script:

mysql_secure_installation

Rispondi a tutte le domande come mostrato di seguito:

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

Una volta terminato, accedi alla shell di MariaDB con il seguente comando:

mysql -u root -p

Fornisci la tua password di root quando richiesto, quindi crea un database e un utente per Flarum con il seguente comando:

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

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.

Configura PHP-FPM per Nginx

Successivamente, dovrai configurare PHP-FPM per funzionare con Nginx. Puoi farlo modificando il file www.conf:

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

Cambia il nome dell'utente e del gruppo da apache a nginx come mostrato di seguito:

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

Quindi, trova la seguente riga:

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

E sostituiscilo con la seguente riga:

listen = 127.0.0.1:9000

Salva e chiudi il file quando hai finito. Quindi, riavvia il servizio PHP-FPM per applicare le modifiche:

systemctl restart php-fpm

Installa Flarum

Prima di installare Flarum, dovrai installare Composer nel tuo sistema.

Puoi installarlo con il seguente comando:

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

Una volta installato, dovresti ottenere il seguente output:

All settings correct for using Composer
Downloading...

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

Quindi, sposta il file binario di Composer nella directory /usr/local/bin e dai il permesso appropriato:

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

Quindi, cambia la directory nella root del documento Nginx e crea un progetto Flarum con il seguente comando:

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

Quindi, dai i permessi appropriati sulla directory principale web di Nginx con il seguente comando:

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

Una volta terminato, puoi procedere al passaggio successivo.

Configura Nginx per Flarum

Successivamente, dovrai creare un file di configurazione dell'host virtuale Nginx per Nginx. Puoi crearlo con il seguente comando:

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

Aggiungi le seguenti righe:

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)";
   }

Salva e chiudi il file quando hai finito. Successivamente, dovrai aumentare la dimensione hash_bucket nel file nginx.conf.

Puoi farlo modificando il file /etc/nginx/nginx.conf:

nano /etc/nginx/nginx.conf

Aggiungi la seguente riga esattamente sopra l'ultima riga:

server_names_hash_bucket_size 64;

Salva e chiudi il file. Quindi, controlla Nginx per eventuali errori di sintassi con il seguente comando:

nginx -t

Dovresti vedere il seguente output:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Infine, riavvia il servizio Nginx e PHP-FPM per applicare le modifiche:

systemctl restart php-fpm
systemctl restart nginx

Configura SELinux e Firewall

Innanzitutto, dovrai creare una regola firewall per consentire il servizio HTTP e HTTPS da reti esterne. Puoi consentirlo con il seguente comando:

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

Per impostazione predefinita, SELinux è abilitato in CentOS 8. Quindi dovrai configurare SELinux affinché Flarum funzioni correttamente. Puoi configurare SELinux usando il seguente comando:

setsebool httpd_can_network_connect on -P

Una volta terminato, puoi procedere al passaggio successivo.

Accedi all'interfaccia utente Web di Flarum

Ora apri il tuo browser web e digita l'URL http://flarum.example.com. Verrai reindirizzato alla seguente pagina:

Fornisci il nome del forum, i dettagli del database, il nome utente e la password dell'amministratore e fai clic su Installa Flarum pulsante. Una volta completata l'installazione, dovresti vedere la dashboard di Flarum nella pagina seguente:

Proteggi Flarum con Let's Encrypt SSL

Flarum è ora installato e configurato. È ora di proteggerlo con Let's Encrypt SSL gratuito.

Per fare ciò, dovrai scaricare il client certbot sul tuo server. Puoi scaricare e impostare l'autorizzazione corretta eseguendo il comando seguente:

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 comando seguente per ottenere e installare un certificato SSL per il tuo sito Web flarum.

certbot-auto --nginx -d flarum.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:

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

Successivamente, dovrai scegliere se reindirizzare o meno il traffico HTTP su HTTPS come mostrato di seguito:

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

Digita 2 e premi Invio per continuare. Al termine dell'installazione, dovresti vedere il seguente output:

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

Questo è tutto! Ora puoi accedere al tuo sito Web Flarum utilizzando l'URL protetto https://flarum.example.com.


Cent OS
  1. Come installare Nextcloud con Nginx e PHP 7.3 su CentOS 8

  2. Come installare ownCloud 9.1 con Nginx e MariaDB su CentOS 7

  3. Come installare WordPress con HHVM e Nginx su CentOS 7

  4. Come installare Nextcloud con Nginx e PHP7-FPM su CentOS 7

  5. Come installare e configurare Varnish Cache 6 con Nginx su CentOS 8

Come installare WonderCMS con Apache e Lets Encrypt SSL su CentOS 8

Come installare Askbot con Nginx e proteggere con Lets Encrypt su CentOS 8

Come installare ElkArte Forum con Apache e Lets Encrypt SSL su CentOS 8

Come installare PrestaShop con Apache e Lets Encrypt SSL su CentOS 8

Come installare OwnCloud 8 con Nginx e PHP-FPM su CentOS 6

Come installare Let's Encrypt SSL con Nginx su CentOS 7