Сегодня я хочу вновь вернуться к еще одной CMS
системе с которой мне как-то не особо удалось практически поработать в качестве информационного портала для моих заметок. Имя этой CMS
системы — Drupal
. По сути это такой же конструктор, как WordPress
— по крайней мере это мое видение. Просто планирую запустить еще пару блогов чтобы свои наработки не держать в закрытом виде (не оформленными), а все также сделать как отдельные поддомены своего основного домена *.ekzorchik.ru
План:
- Использую свой тестовый полигон на базе связки
Debian 10 + Proxmox 6
- Создаю виртуальную машину с осью
Ubuntu 22.04 Server
на борту(CPU =1 (2 cores),RAM = 4Gb, HDD = 50Gb)
Шаг №1:
Подключаюсь по SSH
к системе Ubuntu 22.04 Server
root@ekzorchik:~# ssh -l ekzorchik 172.35.35.15
Шаг №2:
Обновляю информацию об установленных пакетах и обновляю систему в рамках текущего релиза посредством дефолтных репозитариев:
ekzorchik@srv-us2204a:~$ sudo rm -Rf /var/lib/apt/lists ekzorchik@srv-us2204a:~$ cat /etc/update-manager/release-upgrades | grep Prompt Prompt=lts ekzorchik@srv-us2204a:~$ ekzorchik@srv-us2204a:~$ sudo sed -i '/Prompt/s/lts/never/' /etc/update-manager/release-upgrades ekzorchik@srv-us2204a:~$ cat /etc/update-manager/release-upgrades | grep Prompt Prompt=never ekzorchik@srv-us2204a:~$ ekzorchik@srv-us2204a:~$ sudo apt-get update && sudo apt upgrade -y && sudo apt dist-upgrade -y ekzorchik@srv-us2204a:~$ sudo reboot ekzorchik@srv-us2204a:~$ uname -a && lsb_release -a Linux srv-us2204a 5.15.0-53-generic #59-Ubuntu SMP Mon Oct 17 18:53:30 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.1 LTS Release: 22.04 Codename: jammy ekzorchik@srv-us2204a:~$
Шаг №3:
Устанавливаю в систему пакеты, которые считаю нужными чтобы были в системах, которые я обслуживаю:
ekzorchik@srv-us2204a:~$ sudo apt-get install -y unzip htop net-tools
Шаг №4:
Выполняю базовую настройки системы Ubuntu 22.04 Server
перед дальнейшим использованием:
ekzorchik@srv-us2204a:~$ sudo rm -f /etc/localtime ekzorchik@srv-us2204a:~$ sudo ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime ekzorchik@srv-us2204a:~$ sudo locale-gen en_US.UTF-8 Generating locales (this might take a while)... en_US.UTF-8... done Generation complete. ekzorchik@srv-us2204a:~$ ekzorchik@srv-us2204a:~$ echo "LC_ALL="en_US.UTF-8"" | sudo -s tee /etc/default/locale LC_ALL=en_US.UTF-8 ekzorchik@srv-us2204a:~$ echo "LANG="en_US.UTF-8"" | sudo tee -a /etc/default/locale LANG=en_US.UTF-8 ekzorchik@srv-us2204a:~$ echo "LANGUAGE="en.US.UTF-8"" | sudo tee -a /etc/default/locale LANGUAGE=en.US.UTF-8 ekzorchik@srv-us2204a:~$ ekzorchik@srv-us2204a:~$ locale LANG=en_US.UTF-8 LANGUAGE=en.US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=en_US.UTF-8 ekzorchik@srv-us2204a:~$
Шаг №5:
Устанавливаю комбайн связки Apache2 + PHP + MySQL:
ekzorchik@srv-us2204a:~$ sudo apt-get install -y apache2 php mysql-server mysql-client
Шаг №6:
Изменяю схему авторизации и назначаю пароль на системную учетной запись root
сервиса MySQL:
ekzorchik@srv-us2204a:~$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf [mysqld] default-authentication-plugin=mysql_native_password ekzorchik@srv-us2204a:~$ sudo mysql -u root -e " use mysql;SELECT user,authentication_string,plugin,host FROM mysql.user;" +------------------+------------------------------------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+------------------------------------------------------------------------+-----------------------+-----------+ | debian-sys-maint | $A$005$v>y5M+pPbw<6!UEkI7ErOnYo5RLZCu7XDrVHkUpQcP2b9l2wcgEfe6CP0 | caching_sha2_password | localhost | | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost | | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost | | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost | | root | | auth_socket | localhost | +------------------+------------------------------------------------------------------------+-----------------------+-----------+ ekzorchik@srv-us2204a:~$ ekzorchik@srv-us2204a:~$ sudo mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '712mbddr@';" ekzorchik@srv-us2204a:~$ sudo mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) ekzorchik@srv-us2204a:~$ sudo mysql -u root -p712mbddr@ mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 15 Server version: 8.0.31-0ubuntu0.22.04.1 (Ubuntu) Copyright (c) 2000, 2022, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> quit Bye ekzorchik@srv-us2204a:~$
Шаг №7:
Устанавливаю Web
—сервер Apache2:
ekzorchik@srv-us2204a:~$ sudo apt install -y apache2 ekzorchik@srv-us2204a:~$ echo "ServerName localhost" | sudo tee -a /etc/apache2/apache2.conf ServerName localhost ekzorchik@srv-us2204a:~$
Шаг №8:
Отключаю дефолтные сайты Apache2:
ekzorchik@srv-us2204a:~$ sudo unlink /etc/apache2/sites-enabled/000-default.conf ekzorchik@srv-us2204a:~$ sudo rm /etc/apache2/sites-available/000-default.conf ekzorchik@srv-us2204a:~$ sudo rm /etc/apache2/sites-available/default-ssl.conf ekzorchik@srv-us2204a:~$ sudo rm -f /var/www/html/index.html
Шаг №9:
Устанавливаю поддержку выполнения PHP
скриптов:
ekzorchik@srv-us2204a:~$ sudo apt install -y php libapache2-mod-php php-{cli,fpm,json,common,mysql,zip,gd,intl,mbstring,curl,xml,pear,tidy,soap,bcmath,xmlrpc,dev,bcmath,mbstring} ekzorchik@srv-us2204a:~$ php -v PHP 8.1.2-1ubuntu2.9 (cli) (built: Oct 19 2022 14:58:09) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.2, Copyright (c) Zend Technologies with Zend OPcache v8.1.2-1ubuntu2.9, Copyright (c), by Zend Technologies ekzorchik@srv-us2204a:~$
Шаг №10:
Под работы CMS
системы Drupal
создаю базу данных, пользователя и пароль, после даю полные права пользователю на базу данных:
ekzorchik@srv-us2204a:~$ sudo mysql -u root -p712mbddr@ -e "create database db_drupal" mysql: [Warning] Using a password on the command line interface can be insecure. ekzorchik@srv-us2204a:~$ sudo mysql -u root -p712mbddr@ -e "create user 'us_drupal'@localhost identified by '612mbddr@';" mysql: [Warning] Using a password on the command line interface can be insecure. ekzorchik@srv-us2204a:~$ sudo mysql -u root -p712mbddr@ -e "grant all on db_drupal.* to 'us_drupal'@'localhost';" mysql: [Warning] Using a password on the command line interface can be insecure. ekzorchik@srv-us2204a:~$ sudo mysql -u root -p712mbddr@ -e "flush privileges;" mysql: [Warning] Using a password on the command line interface can be insecure. ekzorchik@srv-us2204a:~$
Шаг №11:
Скачиваю с официального сайта CMS
систему Drupal:
ekzorchik@srv-us2204a:~$ wget https://ftp.drupal.org/files/projects/drupal-9.4.8.zip
Шаг №12:
Распаковываю скачанный пакет CMS
системы Drupal:
ekzorchik@srv-us2204a:~$ sudo unzip drupal-9.4.8.zip -d /var/www/html/ ekzorchik@srv-us2204a:~$ sudo mv /var/www/html/drupal-9.4.8/ /var/www/html/drupal/ ekzorchik@srv-us2204a:~$ sudo chown -R www-data:www-data /var/www/html/
Шаг №13:
Создаю конфигурационный файл сайта для работы с Drupal
файлами:
ekzorchik@srv-us2204a:~$ sudo nano /etc/apache2/sites-available/drupal.conf <VirtualHost *:80> ServerAdmin support@ekzorchik.ru ServerName 172.35.35.15 #ServerAlias www.your-domain.com DocumentRoot /var/www/html/drupal <Directory /var/www/html/drupal/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/drupal_error.log CustomLog ${APACHE_LOG_DIR}/drupal_access.log combined </VirtualHost>
Шаг №14:
Проверяю конфигурационный файл сайта на ошибки, если все OK
, то активируем конфигурационный файл сайта и перезапускаем Web
—сервис Apache2
для активации внесенных изменений:
ekzorchik@srv-us2204a:~$ sudo apache2ctl configtest Syntax OK ekzorchik@srv-us2204a:~$ sudo a2ensite drupal.conf Enabling site drupal. To activate the new configuration, you need to run: systemctl reload apache2 ekzorchik@srv-us2204a:~$ sudo systemctl restart apache2
Шаг №15:
Устанавливаем необходимые модули применительно к Apache2:
ekzorchik@srv-us2204a:~$ sudo a2enmod rewrite Enabling module rewrite. To activate the new configuration, you need to run: systemctl restart apache2 ekzorchik@srv-us2204a:~$ ekzorchik@srv-us2204a:~$ sudo systemctl reload apache2
Шаг №16:
Переходим к Web
—установке CMS
системы Drupal 9
через браузер. Для этого обращаемся через браузер к URL
строке системы Ubuntu 22.04 Server
на которой разворачиваем Drupal:
ekzorchik@srv-us2204a:~$ ip r | awk '{print $9}' | head -n1 172.35.35.15 ekzorchik@srv-us2204a:~$
Google Chrome - URL: http://172.35.35.15
— запускается мастер первоначальной настройки
(Choose language)
Choose language: оставляю по дефолту используемый язык English
и нажимаю Save and continue
(Choose profile)
Select an installation profiles:
выбираю профиль установки, оставляюStandard
(как-нибудь можно попробоватьMinimal
для подстройки всего и вся под себя)
и нажимаю Save and continue
(Verify requirements)
Requirements review (системные требования)
у меня Warning found, Clean URLs
в Disabled
. В этом случае Вы пропустил установку модуля для Apache2:
ekzorchik@srv-us2204a:~$ sudo a2enmod rewrite ekzorchik@srv-us2204a:~$ sudo systemctl reload apache2
после возвращаемся на страницу Verify requirements
и нажимаем Retry.
(Set up database)
Database type: MySQL
Database name: db_drupal
Database username: us_drupal
Database password: 612mbddr@
нажимаем на Advanced Options
Host: localhost
Port number: 3306
Table name prefix: к примеру ekzdp_
и нажимаю Save and continue
ожидаю покуда установка по предопределенным шагам мастера завершится
успешно и вот еще один шаг от мастера установки
(Configure site)
Site name: tips_db_home
Site email address: support@ekzorchik.ru
Username: ekzorchik
Password: 712mbddr@
Confirm password: 712mbddr@
Email address: support@ekzorchik.ru
Default country: Russia
Default time zone: Moscow
Check for updates automatically: снимаю галочку
Receive email notifications: снимаю галочку
и нажимаю Save and continue
и после перекидываем на Web
-страницу администрирования установленной CMS
системы:
Итого я собственноручно разобрал процесс установки CMS
системы Drupal 9
на Ubuntu 22.04 Server
в шагах от и до. Теперь остается дело за малым познакомиться с этой системой по ближе с целью стать как можно своим также как у меня с CMS
системой WordPress
. На этом я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.