Concrete5 je open-source redakční systém používaný k publikování obsahu na internetu. Je napsán v PHP a používá MariaDB jako databázový backend. Poskytuje snadno použitelný nástroj pro tvorbu, který vám pomůže vytvářet stránky a obsah prostřednictvím webového prohlížeče. Je flexibilní, bezpečný, mobilní a založený na architektuře Model-View-Controller. Nabízí bohatou sadu funkcí včetně WYSIWYG editoru obsahu, Media Manageru, Drag and Drop Content, In-context editing a mnoha dalších.
V tomto příspěvku vám ukážeme, jak nainstalovat Concrete5 CMS s Apache a Let's Encrypt SSL na serveru Ubuntu 20.04.
Požadavky
- Server se systémem Ubuntu 20.04.
- Platný název domény odkazující na IP serveru.
- Na vašem serveru je nakonfigurováno heslo uživatele root.
Začínáme
Nejprve budete muset aktualizovat index balíčků APT na nejnovější verzi. Můžete jej aktualizovat pomocí následujícího příkazu:
apt-get update -y
Jakmile je index APT aktualizován, můžete přejít k dalšímu kroku.
Instalovat Apache, MariaDB a PHP
Dále budete muset na svůj server nainstalovat webový server Apache, databázový server MariaDB, PHP a další rozšíření PHP. Všechny je můžete nainstalovat pomocí následujícího příkazu:
apt-get install apache2 mariadb-server php libapache2-mod-php libapache2-mod-php php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-ldap php-zip php-curl -y
Jakmile jsou všechny balíčky nainstalovány, upravte soubor php.ini a nastavte požadované hodnoty:
nano /etc/php/7.4/apache2/php.ini
Změňte následující řádky:
file_uploads = On allow_url_fopen = On memory_limit = 256M upload_max_filesize = 64M date.timezone = Asia/Kolkata
Po dokončení uložte a zavřete soubor a poté restartujte službu Apache, aby se změny projevily:
systemctl restart apache2
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Vytvoření databáze Concrete5
Dále budete muset vytvořit databázi a uživatele pro Concrete5. Nejprve se přihlaste do MariaDB pomocí následujícího příkazu:
mysql
Po přihlášení vytvořte databázi a uživatele pomocí následujícího příkazu:
MariaDB [(none)]> CREATE DATABASE concrete5;
MariaDB [(none)]> CREATE USER 'concrete5user'@'localhost' IDENTIFIED BY 'password';
Dále udělte všechna privilegia databázi Concrete5 pomocí následujícího příkazu:
MariaDB [(none)]> GRANT ALL ON concrete5.* TO 'concrete5user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Dále vyprázdněte oprávnění a ukončete konzolu 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 Concrete5 CMS
Nejprve přejděte na web Concrete5 CMS, zkopírujte adresu URL nejnovější verze Concrete5 a stáhněte si ji pomocí následujícího příkazu:
wget --trust-server-names https://www.concrete5.org/download_file/-/view/115589/ -O concrete5.zip
Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:
unzip concrete5.zip
Dále přesuňte extrahovaný adresář do webového kořenového adresáře Apache pomocí následujícího příkazu:
mv concrete5-* /var/www/html/concrete5
Dále nastavte správná oprávnění a vlastnictví adresáře concrete5 pomocí následujícího příkazu:
chown -R www-data:www-data /var/www/html/concrete5/
chmod -R 755 /var/www/html/concrete5/
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Konfigurace Apache pro Concrete5 CMS
Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Apache pro Concrete5 CMS. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/apache2/sites-available/concrete5.conf
Přidejte následující řádky:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/concrete5/ ServerName concrete5.example.com <Directory /var/www/html/concrete5/> Options +FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Uložte a zavřete soubor a poté povolte modul virtuálního hostitele Apache a přepis pomocí následujícího příkazu:
a2ensite concrete5.conf
a2enmod rewrite
Poté restartujte službu Apache, aby se změny projevily:
systemctl restart apache2
Stav služby Apache můžete také zkontrolovat pomocí následujícího příkazu:
systemctl status apache2
Měli byste získat následující výstup:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-05-15 15:00:03 UTC; 4s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 15566 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 15585 (apache2) Tasks: 6 (limit: 2353) Memory: 13.5M CGroup: /system.slice/apache2.service ??15585 /usr/sbin/apache2 -k start ??15586 /usr/sbin/apache2 -k start ??15587 /usr/sbin/apache2 -k start ??15588 /usr/sbin/apache2 -k start ??15589 /usr/sbin/apache2 -k start ??15590 /usr/sbin/apache2 -k start May 15 15:00:03 ubuntu2004 systemd[1]: Starting The Apache HTTP Server...
V tomto okamžiku je webový server Apache nakonfigurován tak, aby hostoval Concrete5 CMS. Nyní můžete přejít k dalšímu kroku.
Přístup k webovému rozhraní CMS Concrete5
Nyní otevřete webový prohlížeč a přejděte do webového rozhraní Concrete5 CMS pomocí adresy URL http://concrete5.example.com . Budete přesměrováni na následující stránku:
Vyberte jazyk a klikněte na šipku knoflík. Měli byste vidět následující stránku:
Ujistěte se, že jsou nainstalovány všechny požadované knihovny, a poté klikněte na Pokračovat k instalaci tlačítko, měli byste vidět následující stránku:
Zde zadejte uživatelské jméno správce, heslo, uživatelské jméno databáze, heslo a název databáze a poté klikněte na tlačítko Instalovat Beton5 tlačítko pro spuštění instalace. Po dokončení instalace byste měli vidět následující stránku:
Nyní klikněte na Upravit svůj web tlačítko, měli byste vidět řídicí panel Concrete5 na následující stránce:
Secure Concrete5 s Let's Encrypt SSL
Dále se doporučuje zabezpečit web pomocí Let's Encrypt SSL. Nejprve nainstalujte klienta Certbot pomocí následujícího příkazu:
apt-get install python3-certbot-apache -y
Po instalaci spusťte následující příkaz k zabezpečení webu pomocí Let's Encrypt SSL:
certbot --apache -d concrete5.example.com
Budete požádáni, abyste poskytli svůj e-mail a přijali podmínky služby, jak je uvedeno níže:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None 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 Plugins selected: Authenticator apache, Installer apache Obtaining a new certificate Performing the following challenges: http-01 challenge for concrete5.example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/concrete5-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/concrete5-le-ssl.conf Enabling available site: /etc/apache2/sites-available/concrete5-le-ssl.conf
Dále vyberte, zda chcete přesměrovat provoz HTTP na HTTPS, 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
Napište 2 a stiskněte Enter pro instalaci Let's Encrypt SSL pro váš web:
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/concrete5.conf to ssl vhost in /etc/apache2/sites-available/concrete5-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://concrete5.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=concrete5.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/concrete5.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/concrete5.example.com/privkey.pem Your cert will expire on 2020-10-23. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot 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
Nyní můžete přistupovat k Concrete 5 bezpečně pomocí adresy URL https://concrete5.example.com .
Závěr
Ve výše uvedené příručce jste se naučili, jak nainstalovat Concrete5 CMS s Apache a Let's Encrypt SSL na Ubuntu 20.04. Nyní můžete svůj obsah snadno publikovat na internetu pomocí CMS Concrete5. Neváhejte se mě zeptat, pokud máte nějaké otázky.