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

Это мощный, многоязычный, бесплатный и открытый движок, который можно расширять и настраивать под свои нужды и желания, он очень надежный и бесплатный.
Здесь я покажу как настроить сервер под MediaWiki, и небольшие тонкости в ее настройке.

Контроллер домена — 192.168.77.160 — dc.acme.com

Сервер mediawiki — 192.168.77.5 — mediawiki.acme.com.

INFO — Версия системы и ip
$ uname -a
$ sudo lsb_release -a
$ ip a

Временные адреса, если не присвоились..
динамический адрес
$ sudo dhclient eth0
статика до перезагрузки
$ sudo ip addr add 192.168.77.5/24 dev eth0

Отключаем IPV6
$ sudo nano /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

 

$ sudo nano /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.77.5
netmask 255.255.255.0
gateway 192.168.77.1
dns-domain acme.com
dns-nameservers 192.168.77.160

————
ip address show dev eth0
очистить все сетевые адреса, назначенные сетевому интерфейсу:
sudo ip address flush dev eth0
——————

$ sudo nano /etc/hostname
mediawiki.acme.com

$ sudo nano /etc/hosts
192.168.77.5 mediawiki.acme.com mediawiki

$ sudo nano /etc/resolv.conf
search acme.com
nameserver 192.168.77.160

reboot

 

Правим если необходимо репозиторий..

$ sudo nano /etc/apt/sources.list

Проверяем доступное место на сервере:

$ sudo df -h
$ sudo apt clean

Обновляем пакеты и систему:

$ sudo apt update
$ sudo apt upgrade

 

Остановим NTP сервер
$ sudo systemctl stop ntp

$ nano /etc/ntp.conf
Комментируем лишние сервера и пулы ntp.conf, Дописываем свое
#— пример:
#pool 0.debian.pool.ntp.org iburst
#pool 1.debian.pool.ntp.org iburst
#pool 2.debian.pool.ntp.org iburst
#pool 3.debian.pool.ntp.org iburst

#— replace with
server dc.acme.com

Синхронизируйте один раз вручную для начальной синхронизации по времени.
$ apt install ntpdate
$ ntpdate dc.acme.com

$ systemctl start ntp
$ systemctl status ntp

Ставим wget, net-tools, dnsutils.
$ apt install wget
$ apt install net-tools
$ apt install dnsutils

$ dig -t SRV _ldap._tcp.dc._msdcs.acme.com

Устанавливаем LAMP и все необходимые пакеты для комфортной работы Mediawiki.

$ apt install php php-apcu php-intl php-mbstring php-xml php-mysql php-calendar mariadb-server apache2

$ apt install imagemagick inkscape php-gd php-cli php-curl php-bcmath git

$ cd /tmp/

$ wget https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.8.tar.gz

$ tar -zxvf mediawiki*.tar.gz
$ mkdir -p /var/www/html/mediawiki
$ mv mediawiki-1.35.8/* /var/www/html/mediawiki

$ chown -R www-data:www-data /var/www/html/mediawiki/
$ chmod -R 755 /var/www/html/mediawiki/

Если есть путаница с правами и разрешениями.

$ find /var/www/html/mediawiki -type d -exec chmod 750 {} \;
$ find /var/www/html/mediawiki -type f -exec chmod 640 {} \;

$ touch /etc/apache2/sites-available/mediawiki.conf
$ nano /etc/apache2/sites-available/mediawiki.conf

<VirtualHost *:80>
ServerAdmin admin@acme.com
DocumentRoot /var/www/html/mediawiki/
ServerName mediawiki.acme.com
ServerAlias www.mediawiki.acme.com
<Directory /var/www/html/mediawiki/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/mediawiki.acme.com-error_log
CustomLog /var/log/apache2/mediawiki.acme.com-access_log common
</VirtualHost>

$ a2enmod rewrite
$ a2ensite mediawiki.conf
$ systemctl restart apache2.service
$ systemctl status apache2.service
$ a2dissite 000-default.conf

 

Правим под свои нужды.

$ nano /etc/apache2/apache2.conf

Настраиваем базу данных для работы mediawiki.

$ mysql
> CREATE DATABASE base_wiki;
> CREATE USER ‘wikiuser’@’localhost’ IDENTIFIED BY ‘database_password’;
> GRANT ALL PRIVILEGES ON my_wiki.* TO ‘wikiuser’@’localhost’ WITH GRANT OPTION;
> use my_wiki;
> GRANT ALL PRIVILEGES ON my_wiki.* TO ‘wikiuser’@’localhost’ IDENTIFIED BY ‘database_password’ WITH GRANT OPTION;
> FLUSH PRIVILEGES;
> quit;

Настраиваем PHP.
Отредактировать файл PHP, php.ini.
$ nano /etc/php/7.3/apache2/php.ini
upload_max_filesize = 50M
memory_limit = 128M

$ systemctl restart apache2.service
$ systemctl status apache2.service

Настройка MediaWiki
Перейдите в браузере по ссылке http://mediawiki.acme.com
Обратите внимание на раздел «Проверка среды…» в скрипте установки MediaWiki.

$ nano /var/www/html/mediawiki/LocalSettings.php
вставить его содержимое и сохранить.

Можно изменить редактор. Для этого правим LocalSettings.php
$ nano /var/www/html/mediawiki/LocalSettings.php

//TinyMCE
wfLoadExtension( ‘TinyMCE’ );
$wgTinyMCEEnabled = true;

Применить патч!
Внести изменения в /var/www/html/mediawiki/extensions/TinyMCE/TinyMCEAction.php
После 32 строки — $editPage = new EditPage( $article );
Добавить строку — $editPage->setContextTitle( $title );

 

Продолжение следует..