Задача: Возможно хочу, чтобы у меня была не только группа Telegram
в которой идет общение, а все-таки старый привычный форум где обсуждаются проблемы, задумки, анализ некорректного поведения настроек на системах, железе. Плюс всегда хотел форум, но как-то раньше не было такой необходимости, все меняется.
По крайней мере хочу попробовать.
Для начала разберу, что мне даст если движок для форума будет всем известным на слуху phpBB
, в качестве операционной системы выступит Ubuntu 22.04 Server.
Руководствуюсь перед началом:
Собираю всю доступную информацию об интересуемом: официальный сайт, различные опубликованные заметки, Youtubu
-ролики.
На тестовой системе обкатываю
Шаг №1:
Обновляем информацию о репозитариях, обновляем установленные пакеты и систему в рамках текущего долговременного релиза:
ekzorchik@srv-us2204a1a:~$ sudo rm -Rf /var/lib/apt/lists ekzorchik@srv-us2204a1a:~$ cat /etc/update-manager/release-upgrades | grep Prompt Prompt=lts ekzorchik@srv-us2204a1a:~$ sudo sed -i '/Prompt/s/lts/never/' /etc/update-manager/release-upgrades ekzorchik@srv-us2204a1a:~$ cat /etc/update-manager/release-upgrades | grep Prompt Prompt=never ekzorchik@srv-us2204a1a:~$ sudo apt-get update && sudo apt-get upgrade -y && sudo apt dist-upgrade -y
Шаг №2:
Настраиваю локаль:
ekzorchik@srv-us2204a1a:~$ sudo rm -f /etc/localtime ekzorchik@srv-us2204a1a:~$ sudo ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime ekzorchik@srv-us2204a1a:~$ sudo locale-gen en_US.UTF-8 Generating locales (this might take a while)... en_US.UTF-8... done Generation complete. ekzorchik@srv-us2204a1a:~$ echo "LC_ALL="en_US.UTF-8"" | sudo -s tee /etc/default/locale LC_ALL=en_US.UTF-8 ekzorchik@srv-us2204a1a:~$ echo "LANG="en_US.UTF-8"" | sudo tee -a /etc/default/locale LANG=en_US.UTF-8 ekzorchik@srv-us2204a1a:~$ echo "LANGUAGE="en.US.UTF-8"" | sudo tee -a /etc/default/locale LANGUAGE=en.US.UTF-8 ekzorchik@srv-us2204a1a:~$
Шаг №3:
Устанавливаю Web
—сервис Apache2, PHP, MariaDB
и необходимые расширения:
ekzorchik@srv-us2204a1a:~$ apt-cache show php | grep Version Version: 2:8.1+92ubuntu1 ekzorchik@srv-us2204a1a:~$ ekzorchik@srv-us2204a1a:~$ sudo apt install -y apache2 mariadb-server libapache2-mod-php php-gd php-curl openssl php-imagick php-intl php-json php-ldap php-common php-mbstring php-mysql php-imap php-sqlite3 php-net-ftp php-zip unzip php-pgsql php-ssh2 php-xml wget unzip ekzorchik@srv-us2204a1a:~$ sudo unlink /etc/apache2/sites-available/000-default.conf ekzorchik@srv-us2204a1a:~$ sudo unlink /etc/apache2/sites-available/default-ssl.conf ekzorchik@srv-us2204a1a:~$ sudo unlink /etc/apache2/sites-enabled/000-default.conf ekzorchik@srv-us2204a1a:~$ echo "ServerName localhost" | sudo tee -a /etc/apache2/apache2.conf ServerName localhost ekzorchik@srv-us2204a1a:~$ ekzorchik@srv-us2204a1a:~$ sudo rm -f /var/www/html/index.html
Шаг №4:
Активирую службы: Apache2 & MariaDB:
ekzorchik@srv-us2204a1a:~$ sudo systemctl enable --now apache2 mariadb Synchronizing state of apache2.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable apache2 Synchronizing state of mariadb.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable mariadb ekzorchik@srv-us2204a1a:~$ sudo systemctl restart apache2 mariadb
Шаг №5:
Под сервис phpBB
на базе которого будет строиться форму создаю: базу данных, пользователя этой базы и пароль на подключение к ней:
ekzorchik@srv-us2204a1a:~$ sudo mysql -u root -e "alter user 'root'@'localhost' identified by '712mbddr@';" ekzorchik@srv-us2204a1a:~$ sudo mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) ekzorchik@srv-us2204a1a:~$ sudo mysql -u root -p712mbddr@ Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 35 Server version: 10.6.11-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> quit Bye ekzorchik@srv-us2204a1a:~$ ekzorchik@srv-us2204a1a:~$ sudo mysql -u root -p712mbddr@ -e "create database db_phpbb" ekzorchik@srv-us2204a1a:~$ sudo mysql -u root -p712mbddr@ -e "grant all on db_phpbb.* to 'us_phpbb'@'localhost' identified by '612mbddr@';" ekzorchik@srv-us2204a1a:~$ sudo mysql -u root -p712mbddr@ -e "flush privileges;"
Шаг №6:
Проверяю, что подключение из-под us_phpbb
с созданным паролем и обозначенными правами проходит:
ekzorchik@srv-us2204a1a:~$ sudo mysql -u root -p712mbddr@ -e "use mysql;select user from mysql.user" +-------------+ | User | +-------------+ | mariadb.sys | | mysql | | root | | us_phpbb | +-------------+ ekzorchik@srv-us2204a1a:~$
Ответ да проходят
Шаг №7:
Скачиваю с официального сайта файлы (на момент написания данной заметки версия 3.3.9
от 28.11.2022
) форума перед последующей установкой:
ekzorchik@srv-us2204a1a:~$ wget https://download.phpbb.com/pub/release/3.3/3.3.9/phpBB-3.3.9.zip ekzorchik@srv-us2204a1a:~$ unzip phpBB-3.3.9.zip ekzorchik@srv-us2204a1a:~$ sudo mv phpBB3 /var/www/html/phpbb ekzorchik@srv-us2204a1a:~$ sudo chown -R www-data:www-data /var/www/html/phpbb/ ekzorchik@srv-us2204a1a:~$ sudo chmod -R 775 /var/www/html/phpbb/
Шаг №8:
Создаем конфигурационный файл, обрабатывая который Web
—сервис Apache2
будет интерпретировать развернутый форум:
ekzorchik@srv-us2204a1a:~$ sudo nano /etc/apache2/sites-available/phpbb.conf <VirtualHost *:80> #ServerAdmin admin@example.com ServerAdmin support@ekzorchik.com DocumentRoot /var/www/html/phpbb #ServerName phpbb.example.com ServerName 172.35.35.22 <Directory /var/www/html/phpbb> Options FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/phpbb_error.log CustomLog ${APACHE_LOG_DIR}/phpbb_access.log combined </VirtualHost> ekzorchik@srv-us2204a1a:~$ sudo apache2ctl configtest Syntax OK ekzorchik@srv-us2204a1a:~$ sudo a2ensite phpbb.conf Enabling site phpbb. To activate the new configuration, you need to run: systemctl reload apache2 ekzorchik@srv-us2204a1a:~$ ekzorchik@srv-us2204a1a:~$ sudo a2enmod rewrite Enabling module rewrite. To activate the new configuration, you need to run: systemctl restart apache2 ekzorchik@srv-us2204a1a:~$ sudo systemctl restart apache2
Шаг №9:
Произвожу настройку форума через Web
—интерфейс путем обращения к нему, как http://IP&DNS, URL
ссылка после обращения трансформируется в http://172.35.35.22/install/app.php
перехожу на вкладку Install
, нажимаю Install
Указываю учетную запись, которая будет администратором
Administrator username: ekzorchik
Contact email address: support@ekzorchik.com
Administrator password: 712mbddr@
Confirm administrator password: 712mbbdr@
и нажимаю Submit
указываю параметры подключения к базе данных
Database type: MySQL with MySQLi Extension
Database server hostname or DNS: 127.0.0.1
Database server port: не заполняю (порт по умолчанию)
Database username: us_phpbb
Database password: 612mbddr@
Database name: db_phpbb
Prefix for tables in database: phpbb_ekzp!hp
и нажимаю Submit
, но инсталлятор не принял мои настройки уведомив что введенный префикс для таблиц не может содержать спецсимволы.
На заметку: The prefix you entered is invalid. It must start with a letter and must only contain letters, numbers and underscores.
а потому
и нажимаю Submit
но вот я получаю ошибку
Access denied for user 'us_phpbb'@'localhost' (using password: NO)
в этом случае нужно просто нажать F5
и процесс инсталляции начинается заново и уже указать префикс для таблиц в базе с учетом требований и все пройдет, будет следующий этап установки
оставляю настройки по умолчанию
и нажимаю Submit
пока настройки почты не указываю (сделаю позже)
и нажимаю Submit
Указываю настройки языка
Default language: по умолчанию British English (потом отдельно скачаю для Русского языка)
Title of the board: forum.ekzorchik.ru
Short description of the board: Обсуждение технических моментов
и нажимаю Submit
Ожидаю завершения процесса развертывания
Развертывание успешно завершено
нажимаю на гиперссылку "the ACP"
и меня перекидывает на URL Web
-интерфейса администрирования развернутым форумом
Шаг №10:
Чтобы русифицировать развернутый форум версии 3.3.9
нужно:
Скачиваем пакет: https://www.phpbb.com/ - Downloads - переходим на Download Language Packs
— переходим в Russian
и скачиваем 2.1.11
для phpBB 3.3.9
ekzorchik@srv-us2204a1a:~$ wget https://www.phpbb.com/customise/db/download/199496 ekzorchik@srv-us2204a1a:~$ unzip 199496 ekzorchik@srv-us2204a1a:~$ ls russian_2_1_11/ ext language styles ekzorchik@srv-us2204a1a:~$
/language - набор языковых файлов (переведённые термины)
/styles - набор переведённых кнопок-изображений для стилей prosilver и subsilver2
ekzorchik@srv-us2204a1a:~$ sudo cp -Rf russian_2_1_11/language/ru/ /var/www/html/phpbb/language/ ekzorchik@srv-us2204a1a:~$ sudo cp -Rf russian_2_1_11/styles/ /var/www/html/phpbb/ ekzorchik@srv-us2204a1a:~$ sudo cp -Rfv russian_2_1_11/ext/ /var/www/html/phpbb/ 'russian_2_1_11/ext/phpbb/viglink/language/ru' -> '/var/www/html/phpbb/ext/phpbb/viglink/language/ru' 'russian_2_1_11/ext/phpbb/viglink/language/ru/viglink_module_acp.php' -> '/var/www/html/phpbb/ext/phpbb/viglink/language/ru/viglink_module_acp.php' 'russian_2_1_11/ext/phpbb/viglink/language/ru/info_acp_viglink.php' -> '/var/www/html/phpbb/ext/phpbb/viglink/language/ru/info_acp_viglink.php' ekzorchik@srv-us2204a1a:~$ ekzorchik@srv-us2204a1a:~$ sudo chown -R www-data:www-data /var/www/html/phpbb/ ekzorchik@srv-us2204a1a:~$ sudo chmod -R 775 /var/www/html/phpbb/ ekzorchik@srv-us2204a1a:~$ sudo systemctl restart apache2
Обновляю страницу доступ в Web
-панель администрирования Вашим форумом, перехожу на вкладку CUSTOMISE - (Language management) Language packs
и вижу, что по умолчанию установлен язык English
и не установлен добавленный Russian
, нажимаю Install
(см скриншот ниже для наглядного понимания)
и буквально сразу же получаю
Шаг №11:
После инсталляции форума нужно удалить каталог инсталляции:
ekzorchik@srv-us2204a1a:~$ sudo rm -Rf /var/www/html/phpbb/install/
Шаг №12:
Далее вы можете сделать русский язык используемым по умолчанию (в том числе для гостей). Для этого перейдите в Администраторский раздел -> ОБЩИЕ -> Конфигурация -> Настройки конференции -> Язык конференции по умолчанию -> Русский.
вкладка GENERAL - Board Configuration - Board settings
— изменяю
Default language: British English
на
Default language: Русский
Guest timezone: Europe/Moscow
и нажимаю Submit
Также
Переключиться (http://172.35.35.22)
на русский язык вы можете в Личном разделе (User Control Panel -> Board preferences -> Edit global settings -> My language
, выбрав Русский в выпадающем меню.
Нажимаю "Вход" -
Имя пользователя: ekzorchik
Пароль: 712mbddr@
после успешной авторизации у Администратора есть элемент "Администрировать"
в котором полные права задействованнные через панель "Администрирования"
Шаг №13:
После всех действий выбора русского языка, как для панели Администрирования, так и профиля — интерфейс становится на привычном русском языке:
Отлично.
Итак, форум успешно развернут на собственном железе в дальнейшем, как я разберу что и как на нем можно делать с учетом различных источников, если мои выводы на его счет окажутся положительными, пользователи увидят форум под доменом https://forum.ekzorchik.ru.
А пока на этом у меня все, с уважением автор блога Олло Александр aka ekzorchik.