GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat Vanila Forum a zabezpečit jej pomocí Lets Encrypt na CentOS 8

Vanilla je bezplatný, open-source a flexibilní software komunitního fóra, který lze použít k vytvoření vašeho vlastního webu fóra. Jedná se o lehké a vícejazyčné řešení fóra, které vám pomůže vytvořit online komunitu během několika minut. Je napsán v PHP a přichází se spoustou doplňků a témat. Je nabitý prémiovými funkcemi a používají ho špičkové značky k zapojení zákazníků, zvýšení loajality a snížení nákladů na podporu.

V tomto tutoriálu se naučíme, jak nainstalovat Vanilla forum na CentOS 8 a zabezpečit jej pomocí Let's Encrypt SSL.

Předpoklady

  • Server se systémem CentOS 8.
  • Na vašem serveru je nastaveno heslo uživatele root.

Instalovat LEMP Server

Nejprve budete muset do svého systému nainstalovat webový server Nginx, databázový server MariaDB, PHP a další požadovaná rozšíření PHP. Všechny je můžete nainstalovat spuštěním následujícího příkazu:

dnf install nginx mariadb-server php php php-mysqlnd php-opcache php-xml php-xmlrpc php-gd php-mbstring php-json php-fpm php-curl php-pear php-openssl php-intl unzip -y

Po instalaci všech balíčků spusťte Nginx, PHP-FPM a službu MariaDB a povolte jejich spuštění po restartu systému pomocí následujícího příkazu:

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

Konfigurace databáze MariaDB

Než začnete, je dobré zabezpečit MariaDB. Můžete jej zabezpečit pomocí následujícího skriptu:

mysql_secure_installation

Odpovězte na všechny otázky, jak je uvedeno níže:

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

Po zabezpečení MariaDB se přihlaste do prostředí MariaDB pomocí následujícího příkazu:

mysql -u root -p

Zadejte své root heslo MariaDB a vytvořte databázi a uživatele pro Vanilla pomocí následujícího příkazu:

MariaDB [(none)]> CREATE DATABASE vanilladb CHARACTER SET utf8 COLLATE utf8_general_ci;
MariaDB [(none)]> CREATE USER 'vanilla'@'localhost' IDENTIFIED BY 'password';

Dále udělte všechna oprávnění databázi Vanilla pomocí následujícího příkazu:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON vanilladb.* TO 'vanilla'@'localhost';

Dále vyprázdněte oprávnění a ukončete prostředí MariaDB pomocí následujícího příkazu:

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

Stáhnout fórum Vanilla

Nejnovější stabilní verzi fóra Vanilla si můžete stáhnout z jeho oficiálních stránek pomocí následujícího příkazu:

wget https://open.vanillaforums.com/get/vanilla-core-3.3.zip

Po stažení stažený soubor rozbalte pomocí následujícího příkazu:

unzip vanilla-core-3.3.zip

Dále přesuňte extrahovaný adresář do kořenového webového adresáře Nginx pomocí následujícího příkazu:

mv package /var/www/html/vanilla

Dále změňte vlastnictví adresáře vanilla na Nginx:

chown -R nginx:nginx /var/www/html/vanilla

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Konfigurovat fond PHP-FPM

Ve výchozím nastavení je PHP-FPM nakonfigurováno pro Apache. Zde použijeme Nginx jako webový server. Takže budete muset nakonfigurovat PHP-FPM pro Nginx. Můžete to udělat úpravou souboru /etc/php-fpm.d/www.conf:

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

Změňte následující řádky:

user = nginx
group = nginx

Po dokončení uložte a zavřete soubor. Poté vytvořte adresář relace pro PHP a změňte jeho vlastnictví:

mkdir -p /var/lib/php/session
chown -R nginx:nginx /var/lib/php/session

Poté restartujte službu PHP-FPM, aby se změny projevily:

systemctl restart php-fpm

Konfigurovat Nginx pro Vanilla

Dále vytvořte nový soubor virtuálního hostitele Nginx, který bude sloužit fóru Vanilla.

nano /etc/nginx/conf.d/vanilla.conf

Přidejte následující řádky:

server {

  listen 80;
  server_name vanilla.linuxbuz.com;
  root /var/www/html/vanilla;
  index index.php;

  location ~* /\.git { deny all; return 403; }
  location /build/ { deny all; return 403; }
  location /cache/ { deny all; return 403; }
  location /cgi-bin/ { deny all; return 403; }
  location /uploads/import/ { deny all; return 403; }
  location /conf/ { deny all; return 403; }
  location /tests/ { deny all; return 403; }
  location /vendor/ { deny all; return 403; }

  location ~* ^/index\.php(/|$) {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    try_files $fastcgi_script_name =404;
    set $path_info $fastcgi_path_info;
    fastcgi_param PATH_INFO $path_info;
    fastcgi_index index.php;
    include fastcgi.conf;
    fastcgi_param SCRIPT_NAME /index.php;
    fastcgi_param SCRIPT_FILENAME $realpath_root/index.php;
    fastcgi_param X_REWRITE 1;
    fastcgi_pass unix:/var/run/php-fpm/www.sock;
  }

  location ~* \.php(/|$) {
    rewrite ^ /index.php$uri last;
  }
  location / {
    try_files $uri $uri/ @vanilla;
  }

  location @vanilla {
    rewrite ^ /index.php$uri last;
  }

}

Po dokončení uložte a zavřete soubor. Poté restartujte službu Nginx, abyste použili změny:

systemctl restart nginx

Zabezpečte vanilku pomocí Let's Encrypt SSL

Dále budete muset do svého systému nainstalovat nástroj Certbot, abyste si mohli stáhnout a nainstalovat Let's Encrypt SSL pro svůj web Vanilla.

Klienta Certbot můžete nainstalovat pomocí následujícího příkazu:

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

Dále získejte a nainstalujte certifikát SSL pro svůj web Vanilla pomocí následujícího příkazu:

certbot-auto --nginx -d vanilla.linuxbuz.com

Výše uvedený příkaz nejprve nainstaluje všechny požadované závislosti na váš server. Po instalaci budete požádáni o zadání e-mailové adresy a přijetí podmínek služby, jak je uvedeno níže:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
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 vanilla.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/vanilla.conf

Vyberte, zda chcete přesměrovat provoz HTTP na HTTPS nebo ne, jak je uvedeno níže:

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

Zadejte 2 a stiskněte Enter pokračovat. Po úspěšném dokončení instalace byste měli získat následující výstup:

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://vanilla.linuxbuz.com

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

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

Konfigurovat SELinux a bránu firewall

Ve výchozím nastavení je SELinux povolen v CentOS 8. Budete jej tedy muset nakonfigurovat pro webovou stránku fóra Vanilla.

SELinux můžete nakonfigurovat pomocí následujícího příkazu:

setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/vanilla

Dále povolte port 80 a 443 přes bránu firewall pomocí následujícího příkazu:

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

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Přístup k fóru Vanilla

Otevřete webový prohlížeč a navštivte URL https://vanilla.linuxbuz.com. Budete přesměrováni na následující stránku:

Zadejte podrobnosti o databázi, název aplikace, e-mail, uživatelské jméno správce, heslo a klikněte na Pokračovat knoflík. Po dokončení instalace byste měli vidět panel Vanilla na následující stránce:

Závěr

Gratulujeme! úspěšně jste nainstalovali Vanilla forum na CentOS 8 s Let's Encrypt SSL. Nyní můžete snadno hostovat svůj vlastní web komunitního fóra. Pokud máte nějaké dotazy, neváhejte se mě zeptat.


Cent OS
  1. Zabezpečte Nginx pomocí Lets Encrypt na CentOS 7

  2. Jak nainstalovat ownCloud 9.1 s Nginx a MariaDB na CentOS 7

  3. Jak nainstalovat WordPress s HHVM a Nginx na CentOS 7

  1. Jak nainstalovat OwnCloud 8 s Nginx a MariaDB na CentOS 7

  2. Jak nainstalovat Shopware s NGINX a Lets Encrypt na CentOS 7

  3. Jak nainstalovat WonderCMS s Nginx a nechat šifrovat SSL na CentOS 7

  1. Jak nainstalovat Pico CMS s Nginx a Lets Encrypt na CentOS 7

  2. Jak nainstalovat WordPress s Nginx a nechat šifrovat SSL na CentOS 8

  3. Nainstalujte a nakonfigurujte Drupal 8 pomocí Nginx a Lets Encrypt na CentOS 8