Drupal je bezplatný a open-source systém pro správu obsahu založený na zásobníku LAMP. Drupal má skvělé standardní funkce, které vám umožní vytvářet výkonné webové stránky a blogy. Dodává se se spoustou témat, pluginů a widgetů, které vám pomohou vytvořit web bez jakýchkoli znalostí programování. Poskytuje mnoho funkcí, jako je podpora více stránek, podpora více jazyků, systém komentářů, RSS kanál, registrace uživatele a další.
V tomto příspěvku vám ukážeme, jak nainstalovat Drupal CMS s Apache a Let's Encrypt SSL na Debian 11.
Předpoklady
- Server se systémem Debian 11.
- Platný název domény s adresou IP vašeho serveru.
- Na serveru je nakonfigurováno heslo uživatele root.
Instalovat sadu LAMP
Drupal je založen na zásobníku LAMP. Zásobník LAMP tedy musí být nainstalován na vašem serveru. Pokud není nainstalován, můžete jej nainstalovat spuštěním následujícího příkazu:
apt-get install apache2 mariadb-server mariadb-client php libapache2-mod-php php-cli php-mysql php-zip php-gd php-fpm php-json php-common php-intl php-mbstring php-curl php-xml php-pear php-tidy php-soap php-bcmath php-xmlrpc -y
Jakmile je zásobník LAMP nainstalován, upravte soubor php.ini a změňte některá výchozí nastavení:
nano /etc/php/7.4/apache2/php.ini
Změňte následující řádky:
memory_limit = 256M upload_max_filesize = 32M max_execution_time = 300 date.timezone = Asia/Kolkata
Po dokončení uložte a zavřete soubor.
Vytvoření databáze Drupal
Drupal používá MariaDB jako backend databáze. Takže budete muset vytvořit databázi a uživatele pro Drupal.
Nejprve se přihlaste do MariaDB pomocí následujícího příkazu:
mysql
Jakmile se přihlásíte, vytvořte databázi a uživatele pomocí následujícího příkazu:
MariaDB [(none)]> CREATE DATABASE drupaldb;
MariaDB [(none)]> CREATE USER 'drupaluser'@'localhost' IDENTIFIED BY "securepassword";
Dále udělte všechna oprávnění databázi Drupal pomocí následujícího příkazu:
MariaDB [(none)]> GRANT ALL ON drupaldb.* TO 'drupaluser'@'localhost' IDENTIFIED BY "securepassword";
Dále vyprázdněte oprávnění a ukončete MariaDB pomocí následujícího příkazu:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Stáhnout Drupal
Nejprve přejděte na web Drupal, vyberte nejnovější verzi Drupalu a stáhněte si ji pomocí následujícího příkazu:
wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz
Jakmile je Drupal stažen, extrahujte stažený soubor pomocí následujícího příkazu:
tar -xvf drupal.tar.gz
Dále přesuňte extrahovaný adresář do výchozího kořenového adresáře Apache:
mv drupal-* /var/www/html/drupal
Dále změňte vlastnictví a oprávnění adresáře Drupal pomocí následujícího příkazu:
chown -R www-data:www-data /var/www/html/drupal/
chmod -R 755 /var/www/html/drupal/
Vytvoření virtuálního hostitele Apache pro Drupal
Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Apache pro hostování Drupalu. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/apache2/sites-available/drupal.conf
Přidejte následující řádky:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/drupal/ ServerName drupal.example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/html/drupal/> Options FollowSymlinks AllowOverride All Require all granted </Directory> <Directory /var/www/html/> RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] </Directory> </VirtualHost>
Uložte a zavřete soubor a poté povolte virtuální hostitele Drupal a modul pro přepis Apache pomocí následujícího příkazu:
a2ensite drupal.conf
a2enmod rewrite
Poté restartujte službu Apache, aby se změny projevily:
systemctl restart apache2
Chcete-li zkontrolovat stav Apache, spusťte následující příkaz:
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-09-18 14:59:40 UTC; 5s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 19698 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 19703 (apache2) Tasks: 6 (limit: 2341) Memory: 15.3M CPU: 78ms CGroup: /system.slice/apache2.service ??19703 /usr/sbin/apache2 -k start ??19704 /usr/sbin/apache2 -k start ??19705 /usr/sbin/apache2 -k start ??19706 /usr/sbin/apache2 -k start ??19707 /usr/sbin/apache2 -k start ??19708 /usr/sbin/apache2 -k start
V tomto okamžiku je webový server Apache nakonfigurován tak, aby obsluhoval Drupal. Nyní můžete přejít k dalšímu kroku.
Přístup k webu Drupal
Nyní otevřete webový prohlížeč a otevřete Drupal pomocí adresy URL http://drupal.example.com . Budete přesměrováni na následující stránku:
Vyberte anglický jazyk a klikněte na Uložit a pokračovat tlačítko, měli byste vidět následující obrázek:
Vyberte instalační profil a klikněte na tlačítko Uložit a pokračovat knoflík. Měli byste vidět následující stránku:
Na stránce Konfigurace databáze zadejte všechny požadované údaje o databázi, jako je název databáze, uživatelské jméno a heslo databáze, hostitel databáze a poté klikněte na Uložit a pokračovat tlačítko, měli byste vidět následující obrázek:
Na stránce Konfigurace webu Drupal zadejte název webu, uživatelské jméno správce a heslo a poté klikněte na Uložit a pokračovat tlačítko pro zahájení instalace Drupalu. Jakmile je Drupal nainstalován, měli byste vidět řídicí panel Drupal na následujícím obrázku:
Povolit podporu Let's Encrypt SSL na webu Drupal
Vždy je dobré zabezpečit svůj web pomocí Let's Encrypt SSL. Nejprve budete muset nainstalovat klienta Certbot, abyste mohli nainstalovat a spravovat SSL. Ve výchozím nastavení je balíček Certbot součástí výchozího úložiště Debian 11, takže jej můžete nainstalovat pomocí následujícího příkazu:
apt-get install python3-certbot-apache -y
Jakmile je Certbot nainstalován, spusťte následující příkaz k zabezpečení svého webu pomocí Let's Encrypt SSL:
certbot --apache -d drupal.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 drupal.example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/drupal-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/drupal-le-ssl.conf Enabling available site: /etc/apache2/sites-available/drupal-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/drupal.conf to ssl vhost in /etc/apache2/sites-available/drupal-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://drupal.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=drupal.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/drupal.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/drupal.example.com/privkey.pem Your cert will expire on 2021-04-20. 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
Závěr
To je prozatím vše. Úspěšně jste nainstalovali Drupal s Let's Encrypt SSL na Debian 11. Nyní můžete začít vytvářet svůj vlastní blog nebo web bez jakýchkoli znalostí programování. Pokud máte nějaké dotazy, neváhejte se mě zeptat.