Установка и настройка WEB сервера NGINX + Apache (httpd) + MariaDB (MySQL) + PHP + PHP-FPM (fastCGI) + FTP + PHPMyAdmin + Memcached + Postfix на CentOS 7

Материал из Шпаргалка знаний
Версия от 13:29, 10 октября 2024; Admin (обсуждение | вклад) (Новая страница: «Веб-сервер, настроенный по данной инструкции можно будет использовать для размещения собственных сайтов в локальной сети или сети Интернет. После установки на сервер CentOS 7 (Minimal) (x86_64) 4Gb RAM, 4 CPU, 50Gb SSD, приступаем к подготовке сервера. === Подготовка сервера...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Веб-сервер, настроенный по данной инструкции можно будет использовать для размещения собственных сайтов в локальной сети или сети Интернет.

После установки на сервер CentOS 7 (Minimal) (x86_64) 4Gb RAM, 4 CPU, 50Gb SSD, приступаем к подготовке сервера.

Подготовка сервера

yum update -y
yum install wget nano mc net-tools htop open-vm-tools diffutils -y
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum install epel-release -y

Настройка времени

Устанавливаем корректный часовой пояс:

timedatectl set-timezone Europe/Moscow

Теперь установим утилиту для синхронизации времени и запустим ее.

yum install chrony -y
systemctl enable chronyd --now

Безопасность

Отключение SELinux:

setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config

Брандмауэр

Для нормальной работы WEB сервера нужно открыть порты:

  • 80 — основной порт (http).
  • 8080 — дополнительный порт (http).
  • 443 — SSL порт (https).
  • 20, 21 порты для работы FTP.
  • 60000 - 65535 порты необходимы для работы FTP (динамические порты для пассивного режима).
firewall-cmd --permanent --add-port={80,8080,443}/tcp
firewall-cmd --permanent --add-port={20,21,60000-65535}/tcp
firewall-cmd --reload

Установка NGINX

Для установки самой свежей стабильной версии nginx создаем конфиг:

nano /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

Устанавливаем NGINX:

yum install nginx -y

Внесем небольшую корректировку в файл nginx.conf:

nano /etc/nginx/nginx.conf
http {
    ...
    server_names_hash_bucket_size 64;
    ....
}

Разрешаем автозапуск сервиса и запустим его:

systemctl enable nginx --now

Проверим, что веб-сервер работает. Для этого открываем браузер на другом компьютере, который находится в одной сети и вводим в адресной строке IP-адрес сервера. В итоге мы должны увидеть заголовок «Welcome to nginx!»:

  • обратите внимание, что данное приветствие может иметь и другой вид.

Установка PHP и PHP-FPM

Если мы введем команду: yum install php php-fpm , то у нас репозитария установиться php версии 5.4, но нам нужно php версии 8.2. Добавляем репозиторий:

yum install epel-release -y
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

И устанавливаем php и PHP-FPM версии 8.2:

yum --enablerepo=remi-php82 install php php-fpm -y

Проверяем:

php -r "phpinfo();" | grep "PHP Version"

Установим наиболее популярные модули, которые могут пригодится в процессе эксплуатации веб сервера.

yum --enablerepo=remi-php82 install php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-opcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-zip php-intl libicu-devel php-apcu php-igbinary -y

Запускаем php-fpm и разрешаем его автозапуск:

systemctl enable php-fpm --now

Проверяем, запустился ли он.

netstat -tulpn | grep php-fpm

Должны увидеть следующее:

tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 9084/php-fpm: maste

Настройка связки NGINX + PHP

Открываем файл для настройки виртуального домена по умолчанию. В зависимости от версии CentOS 7 пути могут различаться:

1) nano /etc/nginx/conf.d/default.conf

2) nano /etc/nginx/nginx.conf
3) nano /etc/nginx/nginx.conf.default

В секции location редактируем параметр index на следующее значение:

location / {
        index  index.php index.html index.htm;
    }
  • добавляем index.php в начало списка. Если параметра index нет, создаем его.

А внутри секции server добавим следующее:

    location ~ \.php$ {
        set $root_path /usr/share/nginx/html;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_param DOCUMENT_ROOT $root_path;
    }
  • где /usr/share/nginx/html — корневой путь хранения скриптов; unix:/run/php-fpm/www.sock — файл для взаимодействия с php-fpm.

Открываем настройки php-fpm:

nano /etc/php-fpm.d/www.conf

Проверяем, настройки параметров:

listen = /run/php-fpm/www.sock
...
listen.group = nginx
  • listen должен иметь значение /run/php-fpm/www.sock (путь до сокетного файла, который мы указали в конфигурационном файле nginx); listen.group указывает, какую группу назначить сокетному файлу.

... иначе, меняем значение. После перезагружаем php-fpm:

systemctl restart php-fpm
  • в данном примере мы указываем, что php-fpm будет использовать сокетный файл /run/php-fpm/www.sock для взаимодействия. Этот файл мы указали выше в настройке NGINX.

Проверяем правильность настроек nginx:

nginx -t

И перезагружаем его:

systemctl restart nginx

Создаем index.php в каталоге сайта по умолчанию со следующим содержимым:

nano /usr/share/nginx/html/index.php
<?php phpinfo(); ?>

Открываем в браузере IP-адрес нашего сервера. Теперь мы должны увидеть сводную информацию по PHP и его настройкам, например:

Установка MariaDB или MySQL

Подключение актуального репозитория: В примерах выше мы установили СУБД из репозиториев операционных систем. А значит — нет гарантии, что будет установлена последняя версия MariaDB. Для решения задачи мы можем подключить официальный репозиторий самого разработчика. Для этого переходим по ссылке: https://mariadb.org/download/?t=repo-config и выбираем нашу версию операционной системы, последний стабильный релиз mariadb и геолокацию репозитория.

nano /etc/yum.repos.d/mariadb.repo

Вставляем строки, которые мы увидели в инструкции на сайте:

[mariadb]
name = MariaDB
baseurl = https://mirror.docker.ru/mariadb/yum/11.2/centos/$releasever/$basearch
module_hotfixes = 1
gpgkey = https://mirror.docker.ru/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1

Обновляем список пакетов и устанавливаем СУБД.

yum makecache
yum install MariaDB-server MariaDB-client -y

Разрешаем автозапуск и запускаем СУБД:

systemctl enable mariadb --now
  • для работы с mysql меняем mariadb на mysql.

Сразу создаем пароль для учетной записи root:

mysqladmin -u root password

Установка phpMyAdmin

Для установки phpMyAdmin вводим следующую команду:

yum --enablerepo=remi-php82 install phpmyadmin -y

Теперь создадим для него отдельный виртуальный домен в NGINX:

nano /etc/nginx/conf.d/phpMyAdmin.conf

И добавим в него следующее содержимое:

server {
        listen       80;
        server_name  phpmyadmin.putyato.ru;
        set $root_path /usr/share/phpMyAdmin;

        location / {
                root $root_path;
                index index.php;
        }

        location ~ \.php$ {
                fastcgi_pass unix:/run/php-fpm/www.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_param DOCUMENT_ROOT $root_path;
                fastcgi_read_timeout 300;
        }
}
  • где phpmyadmin.putyato.ru — адрес для виртуального домена, именно этот адрес должен быть введен в адресную строку браузера, чтобы открылся нужный сайт. Поэтому есть нет возможность зарегистрировать домен и имя узла в DNS, можно воспользоваться локальным файлом hosts. /usr/share/phpMyAdmin — это каталог, в который по умолчанию устанавливается phpMyAdmin.

После перезапускаем NGINX и php-fpm, так как в процессе установки был добавлен модуль mbstring:

systemctl reload nginx
systemctl restart php-fpm

И открываем в браузере наш домен, в данном примере, http://phpmyadmin.putyato.ru. Откроется форма для авторизации — вводим логин root и пароль, который мы указали после установки и запуска mariadb. Чтобы это произошло, нужно либо в DNS прописать phpmyadmin.putyato.ru либо в файле hosts.

Установка Memcached

Сервис memcached

yum --enablerepo=remi-php82 install memcached -y

После разрешаем автозапуск и запускаем сервис кэширования:

systemctl enable memcached --now

Модуль для php

yum --enablerepo=remi-php82 install php-pecl-memcached -y

После установки модуля перезапускаем php-fpm:

systemctl restart php-fpm

Проверяем:

php -m | grep memcached

Установка и настройка FTP-сервера

В качестве FTP-сервера будем использовать ProFTPd, так как он позволяет авторизовываться под uid системных учетных записей.

ProFTPd можно устанавливать командой:

yum install proftpd proftpd-utils -y

Создаем каталог для хранения настроек:

mkdir /etc/proftpd.d

Создаем виртуального пользователя:

ftpasswd --passwd --file=/etc/proftpd.d/ftpd.passwd --name=ftpwww --uid=48 --gid=48 --home=/var/www --shell=/sbin/nologin
  • где

/etc/proftpd/ftpd.passwd — путь до файла, в котором хранятся пользователи;

ftpwww — имя пользователя (логин);

uid и gid — идентификаторы пользователя и группы системной учетной записи (apache);

/var/www — домашний каталог пользователя;

/sbin/nologin — оболочка, запрещающая локальный вход пользователя в систему.

Открываем на редактирование конфигурационный файл proftpd:

nano /etc/proftpd.conf

И редактируем следующее (комментируем):

#AuthOrder ...

В конце файла добавим следующее:

UseIPv6 off
IdentLookups off
PassivePorts 60000 65535

RequireValidShell off
AuthUserFile /etc/proftpd.d/ftpd.passwd
AuthPAM off
LoadModule mod_auth_file.c
AuthOrder mod_auth_file.c

* где 60000 - 65535 — диапазон динамических портов для пассивного режима.

Разрешаем автозапуск FTP-серверу и запускаем его:

systemctl enable proftpd --now

Пробуем подключиться к серверу, использую любые FTP-клиенты, например, FileZilla, Total Commander или тот же браузер.

Это базовая и самая простая настройка ProFTPd, но если необходимо настроить TLS или хранить виртуальных пользователей в базе MySQL, читайте подробнее инструкцию по настройке ProFTPd на CentOS.

Apache (httpd)

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

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

И так, устанавливаем httpd:

yum install httpd -y

Заходим в настройки:

nano /etc/httpd/conf/httpd.conf

И редактируем следующее:

Listen 8080
  • наш веб-сервер будет слушать на порту 8080, так как на 80 уже работает NGINX.
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>
  • если не указан конкретный скрипт, сначала веб-сервер пытается найти и запустить index.php, затем index.html

Добавляем:

<Directory /var/www/*/www>
    AllowOverride All
    Options Indexes ExecCGI FollowSymLinks
    Require all granted
</Directory>
  • где Directory — разрешенные каталоги для запуска из apache; Options — разрешенные опции; Require — с каких IP-адресов можно открывать сайты, определенные в данном каталоге. Итого, мы разрешаем все каталоги в /var/www, но только если следующий каталог будет www; разрешаем опции Indexes (возвращает список файлов, если нет индексного файла, например, index.php), ExecCGI (разрешены сценарии CGI), FollowSymLinks (включены символические ссылки в этом каталоге); доступ для данных каталогов разрешен со всех адресов (all granted).

Проверяем синтаксис конфигурационного файла httpd:

apachectl configtest

Разрешаем автозапуск и запускаем службу:

systemctl enable httpd --now

Создаем php-файл со следующим содержимым:

nano /var/www/html/index.php
<?php phpinfo(); ?>

Открываем браузер и вводим в адресную строку IP-адрес нашего сервера и добавляем :8080. Мы должны увидеть привычную страницу:

NGINX + Apache

Ранее нами была настроена связка nginx + php-fpm. Теперь проверяем совместную работу первого с apache.

Открываем конфигурационный файл nginx:

nano /etc/nginx/conf.d/default.conf
  • если при настройке nginx мы редактировали файл /etc/nginx/nginx.conf, то необходимо открыть его.

Находим наш настроенный location для php-fpm:

...
    location ~ \.php$ {
            fastcgi_pass unix:/run/php-fpm/www.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_param DOCUMENT_ROOT $root_path;
    }
...

и меняем на:

...
    location ~ \.php$ {
        proxy_pass http://127.0.0.1:8080;
        proxy_redirect     off;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
...

Проверяем и перезапускаем nginx:

nginx -t
systemctl restart nginx

Пробуем открыть в браузере IP-адрес нашего сервера — должна открыться та же страница, что при проверке Apache (с добавлением 8080):

Apache Real IP

Так как все запросы на httpd приходят от NGINX, они воспринимаются как от IP-адреса 127.0.0.1. На практике, это может привести к проблемам, так как некоторым сайтам необходимы реальные адреса посетителей.

Для решения проблемы будем использовать модуль mod_rpaf. Устанавливаем набор разработчика для apache:

yum install httpd-devel gcc unzip -y

Переходим в каталог /usr/local/src, Скачиваем модуль, Распаковываем его, Переходим в распакованный каталог, Собираем модуль и устанавливаем его:

cd /usr/local/src
wget https://github.com/gnif/mod_rpaf/archive/stable.zip
unzip stable.zip
cd mod_rpaf-stable/
make
make install
  • при возникновении ошибки ./apxs.sh: line 15: -c: command not found, необходимо поставить which командой yum install which.

Создаем конфигурационный файл со следующим содержимым:

nano /etc/httpd/conf.d/mod_rpaf.conf
LoadModule              rpaf_module modules/mod_rpaf.so
RPAF_Enable             On
RPAF_ProxyIPs           127.0.0.1
RPAF_SetHostName        On
RPAF_SetHTTPS           On
RPAF_SetPort            On
RPAF_ForbidIfNotProxy   Off

Перезапускаем httpd:

systemctl restart httpd

Для проверки настройки открываем на редактирование созданный index-файл для httpd:

nano /var/www/html/index.php
<?php echo $_SERVER['REMOTE_ADDR'] ?>

Открываем браузер и вводим в адресную строку IP-адрес нашего сервера. Мы должны увидеть внешний адрес компьютера, с которого обращаемся к серверу.

Postfix

В CentOS postfix уже установлен и запущен. Нам необходимо сделать несколько простых настроек:

nano /etc/postfix/main.cf
myorigin = $mydomain
smtp_generic_maps = hash:/etc/postfix/generic_map
  • где myhostname — имя узла для почтового сервера (его он будет использовать в представлениях другим почтовым серверам); mydomain — домен сервера; myorigin — имя домена, которое будет подставляться всем отправляемым сообщениям без явного указания оного; smtp_generic_maps указывает на карту с общими правилами пересылки.
nano /etc/postfix/generic_map

И добавляем:

@putyato.ru    no-reply@putyato.ru
  • данной настройкой мы будем подставлять всем отправляемым письмам без поля FROM адрес no-reply@putyato.ru.

Создаем карту: Открываем карту пересылки:

postmap /etc/postfix/generic_map

Для применения настроек перезагружаем почтовый сервер:

systemctl restart postfix

Тюнинг веб-сервера

PHP

Открываем на редактирование следующий файл:

nano /etc/php.ini

И правим следующее:

upload_max_filesize = 256M
post_max_size = 256M
short_open_tag = On
date.timezone = "Europe/Moscow"

Перезапускаем php-fpm и httpd:

systemctl restart php-fpm
systemctl restart httpd

NGINX

Открываем на редактирование следующий файл:

nano /etc/nginx/nginx.conf

И правим следующее:

worker_processes  auto;

И внутри секции http добавляем:

client_max_body_size 256M;

После перезапускаем nginx:

systemctl restart nginx

Создание первого сайта

Задаем переменную, значение которой будет домен сайта:

TMP_SITE=putyato.ru
  • где putyato.ru — имя домена. Нам будет намного удобнее копировать и вставлять команды с переменной (не придется править после копипасты).

Создаем новый файл виртуального домена NGINX:

nano /etc/nginx/conf.d/$TMP_SITE.conf
  • обязательно на конце должен быть .conf, так как только такие файлы веб-сервер подгружает в конфигурацию.

И добавляем следующее содержимое. Для HTTP:

server {
    listen       80;
    server_name  putyato.ru www.putyato.ru;
    set $root_path /var/www/putyato.ru/www;

    access_log /var/www/putyato.ru/log/nginx/access_log;
    error_log /var/www/putyato.ru/log/nginx/error_log;
    
    gzip  on;
    gzip_disable "msie6";
    gzip_min_length 1000;
    gzip_vary on;
    gzip_proxied    expired no-cache no-store private auth;
    gzip_types      text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;

    root   $root_path;

    location / {
        proxy_pass http://127.0.0.1:8080/;
        proxy_redirect     off;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
    
    location ~* ^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|docx|xls|xlsx|exe|pdf|ppt|tar|wav|bmp|rtf|js)$ {
            expires modified +1w;
    }
}
  • где putyato.ru — домен, для которого создается виртуальный домен; /var/www/putyato.ru — каталог, в котором будет размещаться сайт.
    • все запросы будут переводиться на локальный сервер, порт 8080, на котором работает apache, кроме обращений к статическим файла (jpg, png, css и так далее).
      • обратите внимание на выделения полужирным — здесь нужно подставить свои данные.

Для HTTPS:

server {
    listen 80;
    server_name putyato.ru www.putyato.ru;
    location ~ /.well-known {
        root /usr/share/nginx/html;
        allow all;
    }
    if ($uri !~ /.well-known){
        return 301 https://$host$request_uri;
    }
}

server {
    listen       443 ssl;
    ssl on;  #Если возникнет ошибка, то закомментировать эту строку.
    ssl_certificate /etc/nginx/ssl/putyato.ru/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/putyato.ru/privkey.pem;

    server_name  putyato.ru www.putyato.ru;
    set $root_path /var/www/putyato.ru/www;

    access_log /var/www/putyato.ru/log/nginx/access_log;
    error_log /var/www/putyato.ru/log/nginx/error_log;
    
    gzip  on;
    gzip_disable "msie6";
    gzip_min_length 1000;
    gzip_vary on;
    gzip_proxied    expired no-cache no-store private auth;
    gzip_types      text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;

    root   $root_path;

    location ~ /.well-known {
        root /usr/share/nginx/html;
        allow all;
    }

    location / {
        proxy_pass http://127.0.0.1:8080/;
        proxy_redirect     off;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
    
    location ~* ^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|docx|xls|xlsx|exe|pdf|ppt|tar|wav|bmp|rtf|js)$ {
            expires modified +1w;
    }
}
  • в первой секции server мы перенаправляем все запросы по незащищенному http на https.
    • ssl_certificate и ssl_certificate_key — пути к публичному и приватному ключам соответственно.
      • для получения бесплатного сертификата читайте статью Получение бесплатного SSL сертификата Let's Encrypt.

Теперь создаем виртуальный домен в Apache:

nano /etc/httpd/conf.d/$TMP_SITE.conf
<VirtualHost *:8080>
    Define root_domain putyato.ru
    Define root_path /var/www/putyato.ru

    ServerName ${root_domain}
    ServerAlias www.${root_domain}
    DocumentRoot ${root_path}/www

    ErrorLog     ${root_path}/log/apache/error_log
    TransferLog  ${root_path}/log/apache/access_log

    php_admin_value upload_tmp_dir ${root_path}/tmp
    php_admin_value doc_root ${root_path}
    php_admin_value open_basedir    ${root_path}:/usr/local/share/smarty:/usr/local/share/pear
    php_admin_value session.save_path 0;0660;${root_path}/tmp
</VirtualHost>

Создаем каталоги для сайта:

mkdir -p /var/www/$TMP_SITE/{www,tmp}
mkdir -p /var/www/$TMP_SITE/log/{nginx,apache}

Создаем индексный файл со следующим содержимым:

nano /var/www/$TMP_SITE/www/index.php
<?php echo "<h1>Hello from putyato.ru</h1>"; ?>

Задаем права на папки:

chown -R apache:apache /var/www/$TMP_SITE
chmod -R 775 /var/www/$TMP_SITE

Проверяем корректность настроек конфигурационных файлов:

nginx -t
apachectl configtest

Перезапускаем веб-сервер:

systemctl reload nginx
systemctl reload httpd

Открываем сайт в браузере.


При необходимости, создаем базу данных.

mysql -uroot -p
> CREATE DATABASE site1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
> GRANT ALL PRIVILEGES ON site1.* TO dbuser@localhost IDENTIFIED BY 'password' WITH GRANT OPTION;
  • данными sql-командами мы создаем базу данных site1 и предоставляем к ней доступ для учетной записи dbuser с паролем password. При желании сделать соединение более безопасным, можно убрать WITH GRANT OPTION.

Установка MediaWiki

Убедитесь, что ваша система соответствует требованиям к установке:

https://www.mediawiki.org/wiki/Manual:Installation_requirements/ru

Загрузите tar-файл MediaWiki с официальной страницы загрузки:

https://www.mediawiki.org/wiki/Download/ru

Распаковываем скаченный архив, на сегодняшний день последняя версия архива: mediawiki-1.40.0.zip И переносим содержимое архива на сервер в папку:

/var/www/wiki.putyato.ru/www

Настройка базы данных если требуется, но скрипт LocalSettings при первом запуске MediaWIKIэто делает автоматически.

Следующие команды создают базу данных с именем my_wiki, пользователя с именем wikiuser, и установят разрешения для пользователя в этой базе данных.

CREATE DATABASE my_wiki;
CREATE USER 'wikiuser'@'localhost' IDENTIFIED BY 'database_password';
GRANT ALL PRIVILEGES ON my_wiki.* TO 'wikiuser'@'localhost' WITH GRANT OPTION;

Запуск установочного скрипта

Далее, завершите установку MediaWiki, перейдя по URL вашей установленной MediaWiki в вашем веб-браузере: Следуйте инструкциям в Manual:Настройка скрипта.

https://www.mediawiki.org/wiki/Manual:Config_script/ru

Полученный файл LocalSettings.php переносим в корневую папку с MediaWiki:

/var/www/wiki.putyato.ru/www

Расширенные настройки файла LocalSettings.php и частые вопросы:

https://www.mediawiki.org/wiki/Manual:FAQ/ru

Можно скачать файл LocalSettings.php с моими настройками и заменить старый. Но после скачивания файла, следует в этом файле установить свой пароль на БД.

$wgDBpassword = "Указываем свой пароль на БД";
cd /var/www/wiki.putyato.ru/www
wget "https://cloud.putyato.ru/index.php/s/pSRkwEXBffXH7iQ/download/LocalSettings.php" --no-check-certificate -O LocalSettings.php

Как убрать : Заглавная страница.

Запускаем наш сайт с префиксом: ?title=MediaWiki:Mainpage

http://wiki.putyato.ru?title=MediaWiki:Mainpage

Вместо Заглавная страница, вписываем свое название.- Шпаргалка знаний.

Так же можно править и меню слева: ?title=MediaWiki:Sidebar