ElkArte je bezplatný a open source software fóra založený na Simple Machine Forum. Je napsán v PHP a používá MariaDB jako databázový backend. Poskytuje všechny funkce potřebné k vybudování plnohodnotného komunitního fóra. Je jednoduchý, lehký a využívá responzivní motivy, které jsou vhodné pro jakýkoli moderní prohlížeč, chytrý telefon nebo tablet.
Funkce
- Jednoduché a uživatelsky přívětivé rozhraní
- Přizpůsobitelný a vestavěný správce doplňků
- Vylepšená funkce Anti Spam
- Přetáhněte soubory příloh
- Integrované vkládání videa pro youtube, vimeo a dailymotion
V tomto tutoriálu vám ukážeme, jak nainstalovat ElkArte pomocí Let's Encrypt SSL na CentOS 8.
Předpoklady
- Server se systémem CentOS 8.
- Platný název domény s adresou IP vašeho serveru.
- Na serveru je nakonfigurováno heslo uživatele root.
Instalovat LAMP Server
Nejprve budete muset do systému nainstalovat Apache, MariaDB, PHP a další rozšíření. Všechny je můžete nainstalovat spuštěním následujícího příkazu:
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
Jakmile jsou všechny balíčky nainstalovány, upravte soubor php.ini a proveďte požadované změny:
nano /etc/php.ini
Změňte následující hodnoty:
memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 date.timezone = America/Chicago
Uložte a zavřete soubor, poté spusťte službu Apache a MariaDB a povolte jim spuštění při restartu systému pomocí následujícího příkazu:
systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Nakonfigurujte MariaDB
Ve výchozím nastavení není nastaveno root heslo MariaDB. Takže to budete muset nastavit ve svém systému. Můžete to udělat spuštěním následujícího skriptu:
mysql_secure_installation
Chcete-li nastavit heslo uživatele root, odpovězte na všechny níže uvedené otázky:
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
Jakmile je MariaDB zabezpečená, přihlaste se do prostředí MariaDB pomocí následujícího příkazu:
mysql -u root -p
Na výzvu zadejte heslo uživatele root a poté vytvořte databázi a uživatele pomocí následujícího příkazu:
MariaDB [(none)]> CREATE DATABASE elkarte;
MariaDB [(none)]> CREATE USER 'elkarte'@'localhost' IDENTIFIED BY 'password';
Dále udělte všechna oprávnění databázi ElkArte pomocí následujícího příkazu:
MariaDB [(none)]> GRANT ALL ON elkarte.* TO 'elkarte'@'localhost' WITH GRANT OPTION;
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;
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Stáhnout ElkArte
Nejprve si budete muset stáhnout nejnovější verzi ElkArte z úložiště Git. Můžete si jej stáhnout pomocí následujícího příkazu:
wget https://github.com/elkarte/Elkarte/archive/master.zip
Po stažení stažený soubor rozbalte pomocí následujícího příkazu:
unzip master.zip
Dále přesuňte extrahovaný adresář do kořenového adresáře Apache pomocí následujícího příkazu:
mv Elkarte-master /var/www/html/elkarte
Dále změňte vlastnictví a oprávnění pomocí následujícího příkazu:
chown -R apache:apache /var/www/html/elkarte
chmod -R 775 /var/www/html/elkarte
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Konfigurovat Apache pro ElkArte
Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Apache pro ElkArte. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/httpd/conf.d/elkarte.conf
Přidejte následující řádky:
<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
V tomto okamžiku je webový server Apache nakonfigurován pro obsluhu ElkArte. Nyní můžete přejít k dalšímu kroku.
Konfigurace Selinuxu a brány firewall
Ve výchozím nastavení je SELinux povolen v CentOS 8. Budete jej tedy muset nakonfigurovat pro svůj web ElkArte.
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/elkarte
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 ElkArte
Nyní otevřete webový prohlížeč a otevřete ElkArte pomocí adresy URL http://elk.example.com . Budete přesměrováni na následující stránku:
Klikněte na tlačítko Pokračovat tlačítko pro spuštění instalace. Měli byste vidět následující stránku:
Zadejte podrobnosti o databázi a klikněte na Pokračovat knoflík. Měli byste vidět následující stránku:
Zadejte název svého fóra, adresu URL a klikněte na Pokračovat knoflík. Měli byste vidět následující stránku:
Nyní klikněte na Pokračovat tlačítko pro naplnění databáze. Měli byste vidět následující stránku:
Zadejte své uživatelské jméno správce, heslo, e-mail a klikněte na tlačítko Pokračovat knoflík. Měli byste vidět následující stránku:
Klikněte na vaše nově nainstalované fórum knoflík. Měli byste vidět následující stránku:
Zadejte své administrátorské uživatelské jméno, heslo a klikněte na Přihlásit v knoflík. Na následující stránce byste měli vidět řídicí panel ElkArte:
Zabezpečte Elkarte pomocí Let's Encrypt SSL
V tomto okamžiku je ElkArte nainstalován a nakonfigurován. Dále se doporučuje zabezpečit váš web ElkArte pomocí Let's Encrypt SSL. Nejprve budete muset nainstalovat klienta Certbot do vašeho systému. Certbot je klient Let's Encrypt, který lze použít ke stažení SSL z webové stránky Let's Encrypt a konfiguraci webového serveru Apache tak, aby používal stažené SSL.
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
Nyní spusťte následující příkaz, abyste získali a nainstalovali certifikát SSL pro váš web ElkArte.
certbot-auto --apache -d elk.example.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:
Poznámka:Pokud se objeví nějaká chyba související s SSL, restartujte službu httpd a spusťte znovu výše uvedený příkaz.
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
Dále zvolte, zda chcete přesměrovat provoz HTTP na HTTPS a odebrat přístup 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
Zadejte 2 a stiskněte Enter pro zahájení procesu instalace. Po úspěšném dokončení instalace byste měli získat následující výstup:
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
Nyní můžete ke svému ElkArte přistupovat bezpečně pomocí adresy URL https://elk.example.com.
Závěr
Gratulujeme! úspěšně jste nainstalovali ElkArte s Apache a Let's Encrypt SSL na CentOS 8. Nyní můžete začít budovat své vlastní online fórum. Pokud máte nějaké dotazy, neváhejte se mě zeptat.