Поиск по сайту:

Как установить «Докувики» с Apache на Debian 9


Это руководство существует для этих версий ОС

  • Debian 11 (Bullseye)
  • Debian 9 (Stretch)

На этой странице

  1. Требования
  2. Предварительные требования
  3. Установить «ДокуВики»

В этом руководстве я покажу вам, как установить и настроить последнюю версию платформы DokuWiki CMS в выпуске Debian 9.2 для создания веб-сайтов с онлайн-документацией.

DokuWiki — это бесплатное вики-приложение с открытым исходным кодом, полностью написанное на языке программирования PHP. язык и часто развертывается в Linux под веб-серверами Apache/Nginx и PHP.

Программная платформа DokuWiki не требует для запуска базы данных RDBMS SQL. Взамен он использует простые текстовые файлы в качестве серверной части для хранения всех данных. «Докувики» — это простая и гибкая платформа с понятным синтаксисом, которую можно успешно использовать для развертывания мощных веб-сайтов с документацией для совместной работы.

Требования

  • Минимальная установка debian 9 на чистом сервере или на виртуальном частном сервере.
  • привилегии sudo root для локальной или удаленной учетной записи или прямой доступ к учетной записи root.
  • Статический IP-адрес, настроенный для одной из карт сетевых интерфейсов вашей системы.
  • Доменное имя, частное или общедоступное, в зависимости от развертывания, с соответствующими записями DNS, настроенными для веб-служб. Если у вас нет действительного или зарегистрированного доменного имени, вы можете выполнить установку и получить доступ к веб-сайту через IP-адрес вашего сервера.
  • Если вы хотите использовать регистрацию на веб-сайте, подтверждение почтовых заказов и другие функции, у вас должен быть правильно настроен работающий почтовый сервер с удаленным доступом к его службам .IMAP и SMTP.

Предварительно требования

Прежде чем приступить к установке и настройке «ДокуВики» из исходных кодов на вашем собственном сервере, сначала убедитесь, что система соответствует всем требованиям к программному обеспечению для компиляции и установки приложения. На первом этапе обновите системные репозитории и пакеты программного обеспечения, выполнив следующую команду.

apt update
apt upgrade

На следующем шаге выполните следующую команду, чтобы установить некоторые необходимые утилиты, которые будут использоваться для дальнейшего управления вашей системой из командной строки.

apt install wget bash-completion zip unzip curl

После того, как система будет полностью обновлена и установлены необходимые утилиты для управления вашим сервером, настройте имя для вашей системы, выполнив следующую команду (соответственно замените переменную имени хоста).

hostnamectl set-hostname www.mywiki.com

Проверьте имя хоста компьютера и файл hosts, введя приведенные ниже команды.

hostnamectl 
cat /etc/hostname 
hostname –s
hostname –f

 Затем установите программное обеспечение ImageMagick, которое требуется «ДокуВики» для создания миниатюр изображений, введя следующую команду.

apt install imagemagick 

Наконец, перезагрузите сервер Debian, чтобы применить обновления ядра и правильно изменить имя хоста.

init 6

DokuWiki — это вики-платформа CMS, написанная на языке серверного программирования PHP. Для выполнения файловых сценариев PHP приложения в системе должны быть установлены и работать веб-сервер, например HTTP-сервер Apache, и шлюз обработки PHP. Чтобы установить веб-сервер Apache и интерпретатор PHP вместе со всеми необходимыми модулями PHP, необходимыми для правильной работы приложения, введите следующую команду в консоли сервера.

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-curl php7.0-gd php7.0-opcache php7.0-json php7.0-mbstring php7.0-intl php-imagick php7.0-xml

После установки Apache и PHP проверьте, запущен ли веб-сервер и прослушивает ли он сетевые подключения через порт 80, выполнив следующую команду с привилегиями root.

netstat –tlpn

Если сетевая утилита netstat не установлена по умолчанию в вашей системе Debian, выполните следующую команду, чтобы установить ее.

apt install net-tools

Изучив выходные данные команды netstat, вы увидите, что веб-сервер Apache прослушивает входящие сетевые подключения через порт 80. Для той же задачи вы также можете использовать команду ss, которая автоматически устанавливается по умолчанию в Debian 9.

ss- tulpn

Если в вашей системе включен брандмауэр, например приложение брандмауэра UFW, вам следует добавить новое правило, разрешающее HTTP-трафику проходить через брандмауэр, введя следующую команду.

ufw allow WWW

или

ufw allow 80/tcp

Если вы используете необработанные правила iptables для управления правилами брандмауэра на сервере Debian, добавьте следующие правила, чтобы разрешить входящий трафик порта 80 на брандмауэре, чтобы посетители могли просматривать ваше вики-приложение.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -I INPUT -p tcp --destination-port 22 -j ACCEPT
netfilter-persistent save
systemctl restart netfilter-persistent
systemctl status netfilter-persistent
systemctl enable netfilter-persistent.service

Затем включите и примените следующий модуль Apache, необходимый веб-приложению для активации файлов weboot .htaccess. Выполните следующие команды:

a2enmod rewrite 
systemctl restart apache2

Наконец, проверьте, может ли веб-страница по умолчанию веб-сервера Apache отображаться в браузерах ваших клиентов, посетив IP-адрес вашего компьютера с Debian или ваше доменное имя или полное доменное имя сервера по протоколу HTTP, как показано на рисунке ниже. Если вы не знаете IP-адрес своего компьютера, выполните команду ifconfig или ip, чтобы узнать IP-адрес вашего сервера.

Чтобы установить и получить доступ к серверной части веб-панели администрирования DowuWiki и внешнему веб-сайту через протокол HTTPS, который будет защищать трафик для ваших клиентов, введите следующую команду, чтобы включить модуль SSL веб-сервера Apache и файл конфигурации сайта SSL.

a2enmod ssl 
a2ensite default-ssl.conf

Затем откройте файл конфигурации SSL-сайта Apache по умолчанию с помощью текстового редактора и включите правила перезаписи URL-адресов, добавив следующие строки кода после директивы DocumentRoot. Выполните следующую команду:

nano /etc/apache2/sites-enabled/default-ssl.conf

Выдержка из файла конфигурации SSL-сайта:

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Кроме того, внесите следующие изменения в строку VirtualHost, чтобы она выглядела так, как показано в отрывке ниже:

<VirtualHost *:443>

Закройте файл SSL Apache и откройте файл /etc/apache2/sites-enabled/000-default.conf для редактирования и добавьте те же правила перезаписи URL-адресов для файла конфигурации SSL. Вставьте строки кода после оператора DocumentRoot, как показано в следующем примере.

<Directory /var/www/html>
  Options +FollowSymlinks
  AllowOverride All
  Require all granted
</Directory>

Наконец, перезапустите демон Apache, чтобы применить все настроенные правила и посетить ваш домен по протоколу HTTP. Поскольку вы используете пары автоматически самозаверяющих сертификатов, выдаваемые Apache при установке, сертификат, которому браузер не доверяет, в браузере должно отображаться предупреждение об ошибке.

systemctl restart apache2

https://вашдомен.tld 

Примите предупреждение, чтобы принять ненадежный сертификат и продолжить перенаправление на веб-страницу Apache по умолчанию, как показано на изображении ниже.

В случае, если приложение брандмауэра UFW блокирует входящие сетевые подключения к порту HTTPS, вам следует добавить новое правило, разрешающее трафику HTTPS проходить через брандмауэр, введя следующую команду.

ufw allow ‘WWW Full’

или

ufw allow 443/tcp

Если iptables является приложением брандмауэра по умолчанию, установленным для защиты вашей системы Debian на сетевом уровне, добавьте следующее правило, чтобы разрешить входящий трафик порта 443 в брандмауэре, чтобы посетители могли просматривать ваше доменное имя.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
netfilter-persistent save
systemctl restart netfilter-persistent
systemctl status netfilter-persistent

На следующем шаге нам нужно внести некоторые дополнительные изменения в файл конфигурации PHP по умолчанию, чтобы убедиться, что следующие переменные PHP включены, а настройка часового пояса PHP правильно настроена и соответствует географическому положению вашей системы. Откройте файл /etc/php/7.0/apache2/php.ini для редактирования и убедитесь, что следующие строки настроены так, как показано. Также изначально сделайте резервную копию конфигурационного файла PHP.

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

  Найдите, отредактируйте и измените следующие переменные в файле конфигурации php.ini:

file_uploads = On
default_charset
= UTF-8
memory_limit = 128M
max_execution_time = 300
upload_max_filesize = 100M
short_open_tag = Off
output_buffering = Off
output_handler =
zlib.output_compression = Off
implicit_flush = Off
max_input_time = 60
max_input_vars = 10000
error_reporting = E_ALL & ~E_NOTICE
display_startup_errors = Off
log_errors = On
variables_order = “EGPCS”
register_argc_argv = Off
session.use_cookies = 1
date.timezone = Europe/London

Увеличьте переменную upload_max_file_size, чтобы она поддерживала вложения больших файлов, и замените переменную time.zone в соответствии с вашим физическим временем, сверившись со списком часовых поясов, предоставленным в документации по PHP по следующей ссылке http://php. net/manual/en/timezones.php

Если вы хотите увеличить скорость загрузки страниц вашего веб-сайта с помощью подключаемого модуля OPCache, доступного для PHP7, добавьте следующие параметры OPCache внизу файла конфигурации интерпретатора PHP, как описано ниже:

[opcache]
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Закройте конфигурацию php.ini и перезапустите демон apache, чтобы применить новые изменения, введя следующую команду.

systemctl restart apache2

Наконец, создайте информационный файл PHP, выполнив следующую команду, и проверьте правильность настройки часового пояса PHP, посетив файл сценария информации PHP из браузера по следующему URL-адресу, как показано на рисунке ниже. Прокрутите вниз до настройки даты, чтобы проверить конфигурацию часового пояса PHP.

echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php

Установите «ДокуВики»

После того, как все системные требования для установки вашей CMS вики-документации выполнены, посетите официальную страницу загрузки «ДокуВики» по адресу https://download.dokuwiki.org/ и скачайте последний сжатый архив стабильного zip-пакета в вашей системе, выполнив следующую команду.

wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz 

После завершения загрузки zip-архива извлеките файл zip-архива «ДокуВики» в текущий рабочий каталог и выведите список извлеченных файлов, выполнив следующие команды. Кроме того, удалите файл index.html по умолчанию, установленный веб-сервером Apache, на корневой путь, а также удалите ранее созданный файл info.php.

tar xzvf dokuwiki-stable.tgz
ls 
rm /var/www/html/index.html 
rm /var/www/html/info.php

Установочные файлы «Докувики» находятся в вашем текущем рабочем каталоге в каталоге dokuwiki-2017-20-19e. Введите команду ls, чтобы получить список извлеченных файлов каталога. Скопируйте все содержимое извлеченного каталога в корневой путь документа вашего веб-сервера, введя команду ниже. Кроме того, убедитесь, что вы скопировали скрытый файл .htaccess в корневой каталог HTTP-сервера.

ls dokuwiki-2017-02-19e/
cp -rf dokuwiki-2017-02-19e/* /var/www/html/
cp dokuwiki-2017-02-19e/.htaccess.dist /var/www/html/

Затем выполните следующие команды, чтобы предоставить пользователю среды выполнения Apache полные права на запись корневого веб-пути. Используйте команду ls, чтобы получить список разрешений для установленных файлов приложения, расположенных в каталоге /var/www/html/.

chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/

Затем перейдите к процессу установки «ДокуВики», открыв браузер и перейдя по IP-адресу вашего сервера, доменному имени или полному доменному имени сервера по протоколу HTTPS и открыв скрипт install.php.

/install.php

В первом скрипте установки добавьте название вашей вики-платформы и установите флажок Включить ACL. Укажите имя учетной записи суперпользователя вики, настоящее имя и адрес электронной почты учетной записи суперпользователя, а также выберите надежный пароль для защиты учетной записи суперпользователя.

Затем выберите Общедоступную вики (чтение для всех, запись и загрузка для зарегистрированных пользователей) в качестве исходной политики ACL и снимите флажок Разрешить пользователям регистрироваться самостоятельно, чтобы отключить процесс регистрации в вики для посетителей. Кроме того, выберите понравившуюся лицензию на контент из представленных вариантов и снимите флажок, чтобы раз в месяц отправлять анонимные данные разработчикам «ДокуВики».

Когда вы закончите, нажмите кнопку «Сохранить», чтобы применить конфигурацию.

На следующем экране установщик сообщит вам, что ваши предыдущие конфигурации были успешно сохранены в файле конфигурации «ДокуВики», расположенном в корневом каталоге документа вашего веб-сервера, и вы можете удалить установочный файл.

Прежде чем войти в панель администрирования серверной части CMS вики, вернитесь в консоль сервера и введите следующие команды, чтобы удалить установочный файл и защитить файлы конфигурации системы «ДокуВики».

rm -rf /var/www/html/install.php
chown -R root:root /var/www/html/
chown -R www-data:root /var/www/html/data/
chown -R www-data:root /var/www/html/lib/plugins/
chown -R www-data:root /var/www/html/lib/tpl/
chown -R www-data:root /var/www/html/conf/local.php*
chown -R www-data:root /var/www/html/conf/users.auth.php
chown -R www-data:root /var/www/html/conf/acl.auth.php
chown -R www-data:root /var/www/html/conf/plugins.local.php*

Чтобы посетить интерфейс вашего вики-приложения, просто перейдите к IP-адресу вашего сервера или доменному имени через протокол HTTPS, и DokuWiki по умолчанию будет отображаться, как показано на снимке экрана ниже.

Чтобы управлять платформой «ДокуВики», щелкните верхнюю ссылку «Войти» и используйте учетные данные, настроенные в процессе установки, чтобы войти в панель администрирования бэкэнда «ДокуВики» — как показано на снимке экрана ниже.

Для дальнейшей настройки вашей вики-платформы нажмите верхнюю кнопку «Администратор» и используйте ссылки «Администрирование» для управления пользователями, ACL, расширениями, настройками стиля шаблона или другими пользовательскими настройками.

Наконец, чтобы заставить посетителей просматривать веб-сайт вики и безопасно получать доступ к внутреннему интерфейсу по протоколу HTTPS для шифрования трафика между браузерами сервера и клиента, вернитесь к терминалу вашего сервера и откройте файл .htaccess, расположенный в корневом каталоге вашего веб-сайта. путь, выполнив следующие команды.

cp /var/www/html/.htaccess.dist /var/www/html/.htaccess
nano /var/www/html/.htaccess

Затем отредактируйте файл .htaccess, и в нижней части файла вы можете изменить собственные настройки сервера PHP с помощью приведенных ниже конфигураций. Измените настройки PHP, чтобы они соответствовали вашим собственным ресурсам и конфигурациям сервера.

Выдержка из файла  .htaccess:

# Modify PHP settings
php_value session.use_trans_sid 0
php_value register_globals 1
php_value upload_max_filesize 100M
php_value post_max_size 100M

Наконец, добавьте следующие правила в файл .htaccess, чтобы автоматически перенаправлять доменный трафик на HTTPS.

# Redirect to HTTPS for all pages including the main web page
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]

Options -Indexes
</IfModule>

 Если вы хотите перенаправить на https только страницы входа, профиля и администрирования, замените приведенные выше правила перенаправления приведенными ниже. В этом случае главная страница вашего вики-сайта не будет перенаправлена на протокол https.

# Switch to HTTPS on login, profile and admin actions
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{QUERY_STRING} do=(log|profile|admin)
RewriteRule ^(.*) https://%{HTTP_HOST}/$1 [R,QSA,L,NE]

Вот и все! Вы успешно установили и настроили платформу «ДокуВики» в Debian 9.2. Однако, поскольку HTTP-сервер Apache использует самозаверяющие сертификаты для шифрования трафика между сервером и браузерами посетителей, в их браузерах всегда будет генерироваться и отображаться предупреждающее сообщение. Это предупреждение плохо для репутации вашего сайта и SEO. В этом случае вам следует купить сертификат, выданный доверенным центром сертификации, или получить пару бесплатных сертификатов от ЦС Let's Encrypt.

Для других пользовательских конфигураций, касающихся «ДокуВики», посетите страницу документации по следующему адресу: https: //www.dokuwiki.org/dokuwiki