DokuWiki — это простая и универсальная вики-программа с открытым исходным кодом, не требующая базы данных. Она известна своей простотой в обслуживании, удобством чтения и управления пользователями, что делает ее идеальной для создания и управления документацией в корпоративной или совместной среде. Работает на PHP, универсальное вики-программное обеспечение и встроенные средства контроля доступа (ACL) поддерживают основные средства аутентификации. DokuWiki обеспечивает простое администрирование, его легко установить, поддерживать и создавать резервные копии с одного хоста на другой.
Необходимые условия
Чтобы приступить к выполнению этого руководства, убедитесь, что у вас есть следующее:
- Сервер Debian 12.
- Пользователь, не являющийся root, с правами администратора.
- Доменное имя, указывающее на IP-адрес сервера.
Установка зависимостей
По умолчанию пакет DokuWiki доступен в репозитории Debian. Но чтобы убедиться, что у вас установлена последняя версия DokuWiki, вы будете устанавливать DokuWiki вручную на ваш сервер Debian.
В этом разделе вы установите зависимости для DokuWiki, включая пакеты LAMP STack (Apache2, MariaDB и PHP), UFW и Certbot.
Прежде чем начать, обновите репозиторий Debian с помощью команды ниже.
sudo apt update
Установите пакеты LAMP Stack, UFW и Certbot с помощью следующей команды apt install. Введите Y и нажмите ENTER, когда появится запрос.
sudo apt install apache2 mariadb-server php libapache2-mod-php php-xml php-mbstring php-zip php-intl php-gd ufw certbot python3-certbot-apache
После завершения установки проверьте состояние служб Apache и MariaDB, чтобы убедиться, что они запущены.
Выполните следующую команду, чтобы проверить службу apache2.
sudo systemctl is-enabled apache2
sudo systemctl status apache2
Когда apache2 запущен, вы должны получить вывод ‘active (running)’. А вывод ‘enabled’ подтверждает, что apache2 будет запущен при загрузке системы.
Теперь выполните следующую команду для проверки службы mariadb.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Убедитесь, что служба mariadb «включена» и «активна (запущена)» на вашей машине Debian.
Настройка UFW
В этом руководстве вы защитите свой сервер Debian с помощью UFW (Uncomplicated Firewall). В этом случае вы должны открыть порт SSH для удалённого доступа, а также порты для протоколов HTTP и HTTPS, чтобы запустить установку DokuWiki.
Выполните следующую команду, чтобы добавить профили OpenSSH и ‘WWW Full’ в UFW.
Профиль OpenSSH откроет стандартный SSh-порт 22, а профиль ‘WWW Full’ откроет порты HTTP и HTTPS.
sudo ufw allow OpenSSH
sudo ufw allow 'WWW Full'
Теперь выполните следующую команду, чтобы запустить и включить UFW на вашей машине Debian.
sudo ufw enable
Введите y, когда вас попросят подтвердить, и вы получите сообщение типа «Брандмауэр активен и включен при загрузке системы». UFW будет запускаться автоматически при загрузке системы.
Наконец, выполните следующую команду, чтобы проверить состояние UFW. Убедитесь, что профили OpenSSH и ‘WWW Full’ указаны в правилах с поддержкой UFW.
sudo ufw status
Настройка php.ini
В следующем разделе вы настроите PHP, изменив стандартный файл php.ini и настроив некоторые параметры для установки DokuWiki.
Выполните следующую команду редактора nano, чтобы открыть файл конфигурации PHP ‘/etc/php/8.2/apache2/php.ini’.
sudo nano /etc/php/8.2/apache2/php.ini
Измените конфигурацию по умолчанию следующим образом. не забудьте настроить параметр memory_limit в соответствии с текущей оперативной памятью сервера.
memory_limit=256M
upload_max_filesize=32M
post_max_size=32M
max_execution_time=60
После завершения работы сохраните и закройте файл.
Теперь выполните приведенную ниже команду systemctl, чтобы перезапустить службу apache2 и воспользоваться эффектом от внесенных изменений.
sudo systemctl restart apache2
Настройка сервера MariaDB
Теперь, когда вы настроили PHP, следующим шагом будет настройка установки сервера MariaDB, а затем создание новой базы данных и пользователя, который будет использовать DokuWiki.
Начните процесс настройки MariaDB, выполнив команду mariadb-secure-installation, приведенную ниже.
sudo mariadb-secure-installation
Введите Y, когда вам будет предложено применить новую конфигурацию к MariaDB, или вы можете также ввести n для No, чтобы отклонить ее. Ниже приведены некоторые из конфигураций MariaDB, которые вам будут предложены:
- По умолчанию MariaDB устанавливается без пароля, нажмите ENTER, когда вам будет предложено ввести пароль.
- Теперь введите Y, чтобы установить пароль корня MariaDB. Затем введите новый пароль для MariaDB и повторите его.
- Введите Y, чтобы удалить анонимного пользователя из вашей установки MariaDB.
- Введите Y еще раз, когда появится запрос, чтобы отключить удаленный вход для корневого пользователя MariaDB.
- Введите Y, чтобы удалить из MariaDB тест базы данных по умолчанию.
- И наконец, введите Y, чтобы перезагрузить привилегии таблиц и применить новые изменения.
- После завершения настройки MariaDB вам нужно создать новую базу данных и пользователя, которые будут использоваться DokuWiki.
Войдите на сервер MariaDB, выполнив команду mariadb, приведенную ниже. При появлении запроса введите пароль пользователя MariaDB root.
sudo mariadb -u root -p
Теперь выполните следующие запросы, чтобы создать новую базу данных dokuwikidb, пользователя dokuwiki с паролем ‘p4ssword’. Не забудьте изменить пароль на новый.
CREATE DATABASE dokuwikidb;
CREATE USER dokuwiki@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL PRIVILEGES ON dokuwikidb.* TO dokuwiki@localhost;
FLUSH PRIVILEGES;
Затем проверьте пользователя dokuwiki на наличие привилегий к базе данных dokuwikidb.
SHOW GRANTS FOR dokuwiki@localhost;
В следующем выводе вы настроили пользователя dokuwiki с полными привилегиями для базы данных dokuwikidb.
И наконец, введите quit, чтобы выйти из сервера MariaDB и перейти к следующему шагу.
Загрузка исходного кода DokuWiki
В этом разделе вы загрузите исходный код DokuWiki и установите каталог установки с соответствующим разрешением.
Перейдите в каталог /var/www/ и загрузите последнюю стабильную версию DokuWiki с помощью команды wget, приведенной ниже.
cd /var/www/
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
Теперь извлеките файл dokuwiki-stable.tgz и переименуйте извлеченную директорию в dokuwiki. Это означает, что каталог установки DokuWiki будет находиться по адресу /var/www/dokuwiki.
tar xzvf dokuwiki-stable.tgz
sudo mv dokuwiki-*a dokuwiki
И наконец, выполните приведенную ниже команду, чтобы изменить права собственности на каталог /var/www/dokuwiki на пользователя www-data и пользователя www-data. Таким образом, ваш веб-сервер Apache2 сможет читать исходный код DokuWiki.
sudo chown -R www-data:www-data /var/www/dokuwiki
Настройка виртуального хоста Apache2
После загрузки DokuWiki вам предстоит создать новый файл виртуального хоста Apache2 для запуска DokuWiki. Перед началом работы убедитесь, что у вас готово доменное имя. В этом примере мы будем использовать домен wiki.hwdomain.io.
Теперь выполните приведенную ниже команду редактора nano, чтобы создать новую конфигурацию виртуального хоста Apache2 /etc/apache2/sites-available/dokuwiki.conf.
sudo nano /etc/apache2/sites-available/dokuwiki.conf
Вставьте следующую конфигурацию и не забудьте заменить доменное имя wiki.hwdomain.io на свой домен.
<VirtualHost *:80>
ServerName wiki.hwdomain.io
DocumentRoot /var/www/dokuwiki
<Directory ~ "/var/www/dokuwiki/(bin/|conf/|data/|inc/)">
<IfModule mod_authz_core.c>
AllowOverride All
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
</IfModule>
</Directory>
ErrorLog /var/log/apache2/wiki.hwdomain.io_error.log
CustomLog /var/log/apache2/wiki.hwdomain.io_access.log combined
</VirtualHost>
После завершения сохраните и закройте файл.
Далее выполните следующую команду, чтобы включить виртуальный хост dokuwiki.conf, и проверьте синтаксис Apache, чтобы убедиться в отсутствии ошибок.
sudo a2ensite dokuwiki.conf
sudo apachectl configtest
Если у вас правильный синтаксис и нет ошибок, вы увидите сообщение ‘Syntax OK’.
Наконец, выполните приведенную ниже команду, чтобы перезапустить сервер Apache2 и применить модификацию.
sudo systemctl restart apache2
Защита DokuWiki с помощью сертификатов SSL/TLS
На данный момент ваша DokuWiki запущена и доступна. Но чтобы убедиться в безопасности вашей установки, вам нужно установить SSl/TLS сертификаты через Letsencrypt.
Выполните приведенную ниже команду certbot, чтобы сгенерировать SSL/TLS сертификаты для вашего доменного имени DokuWiki. Не забудьте изменить адрес электронной почты и имя домена на свои данные.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d wiki.hwdomain.io
После завершения процесса ваша установка DokuWiki должна быть автоматически настроена на HTTPS. А ваши сертификаты SSL/TLS должны быть доступны в каталоге /etc/letsencrypt/live/yourdomain.com.
Установка DokuWiki через веб-установщик
Откройте веб-браузер и зайдите на доменное имя для установки DokuWiki, например https:/wiki.hwdomain.io/install.php. Вы должны увидеть веб-установщик DokuWiki.
Выберите опцию Включить ACL, введите пользователя-администратора, электронную почту и пароль для DokuWiki, а затем нажмите Сохранить.
После успешной установки вы должны получить сообщение ‘Конфигурация была успешно завершена…’.
Теперь вернитесь в терминал и удалите скрипт install.php с помощью следующей команды.
sudo rm /var/www/dokuwiki/install.php
Далее нажмите на ссылку «Ваша новая DokuWiki», чтобы продолжить. У вас должна появиться домашняя страница DokuWiki, как показано ниже.
Теперь нажмите на кнопку Вход, и у вас должна появиться страница входа в DokuWiki, как показано ниже.
Введите свой логин и пароль администратора, затем нажмите кнопку Войти. После успешного входа у вас откроется панель DokuWiki.
Заключение
Поздравляем! Вы завершили установку DokuWiki на сервер Debian 12. Вы установили DokuWiki с помощью стека LAMP (Apache2, MariaDB и PHP). Вы также защитили свою установку DokuWiki с помощью UFW (Uncomplicated Firewall) и SSL/TLS сертификатов от Letsencrypt.