DLE 13.2 или другая CMS на VPS (LEMP)
Всем привет, я выкладываю инструкцию, как я получил рабочую схему быстродействующего сервера с рабочим DLE 13.2 на Ubuntu 18.04 + Nginx 1.14.2 + PHP-FPM 7.2 + MariaDB 10.3 + phpmyadmin (тоже последняя версия).
И так, начнём с того, что мы уже установили Ubuntu 18.04 и входим в консоль, в моём случае это xshell.
1. Первым делом я решил всё русифицировать. Для этого вводим следующие команды:
2. Обновление системы.
3. Установка NGINX / PHP-FPM
Добавляем самые последние стабильные версии
4. Настраиваем PHP-FPM
Я пользуюсь FTP менеджером и Notepad++, поэтому идите по пути или редактируйте через редактор nano:
Меняем на: cgi.fix_pathinfo=0
5. Настраиваем NGINX
Идём по пути и редактируем через notepad++ или редактор nano:
6. Тест системы
Далее создадим файлик index.php:
7. Установка базы данных MariaDB
Получаем её репозиторий:
Перезапускаем MariaDB
Может сразу создадим базу для будущего сайта?
8. Установка рабочей PHPMYADMIN.
Перейдём в tmp
(пример)
$Cfg[‘TempDir’] (./tmp/) недоступен. Из-за этого phpMyAdmin не может кэшировать шаблоны и будет медленным
Открываем снова конфиг nano /var/www/html/phpmyadmin/config.inc.php (если закрыли)
В самый низ добавляем:
Всё, ошибка не будет больше беспокоить.
Также не забываем проверить (чтоб попасть в phpmyadmin - site.ru/phpmyadmin/)
Вводим логин и пароль от MariaDB.
9. Для удобства работы с загрузкой файлов мы меняем допустимый размер при загрузке данных на сервер.
Идём по пути и редактируем через notepad++ или редактор nano.
10. Установка CMS DLE или другой CMS.
Покупаем CMS DLE, или берем нуллку, или вообще другую любую CMS. (могу посоветовать Xenforo, IPS (Форумы), InstantCMS, WordPress (Сайты).
Качаем, получаем чистый архив zip в нашем случае это движок DLE и названием dle.zip (чтоб сразу при открытии данного zip файла были файлы движка)
Загружаем через FTP менеджер (у меня FileZilla) в /var/www/html наш zip архив.
В консоле переходим
Нам нужны правила для работы nginx с DLE (для других cms не надо)
Вот правила работающие на DLE 13.2
Можем приступать к установке, переходим на site.ru и начинаем установку нашей CMS. Предупреждаю, вы можете использовать любую другую CMS. Тогда реврайты вам не нужно будет вставлять.
Если нужно будет, я могу рассказать как сделать wildcade сертификат на поддомены и основной домен сайта бесплатно и быстро, а также как создать поддомены для сайта на nginx, такие как forum.site.ru и др.
И так, начнём с того, что мы уже установили Ubuntu 18.04 и входим в консоль, в моём случае это xshell.
1. Первым делом я решил всё русифицировать. Для этого вводим следующие команды:
locale -a
sudo apt-get install language-pack-ru
sudo update-locale LANG=ru_RU.UTF-8
2. Обновление системы.
apt update
apt upgrade
3. Установка NGINX / PHP-FPM
Добавляем самые последние стабильные версии
add-apt-repository ppa:ondrej/php
add-apt-repository ppa:nginx/stable
apt update
apt install nginx
Устанавливаем модули для php-fpm 7.2apt install php7.2-cli php7.2-fpm php7.2-curl php7.2-gd php7.2-mysql php7.2-mbstring zip unzip php7.2-xml php7.2-zip
4. Настраиваем PHP-FPM
Я пользуюсь FTP менеджером и Notepad++, поэтому идите по пути или редактируйте через редактор nano:
nano /etc/php/7.2/fpm/php.ini
Находим в файле: ;cgi.fix_pathinfo=1Меняем на: cgi.fix_pathinfo=0
5. Настраиваем NGINX
Идём по пути и редактируем через notepad++ или редактор nano:
nano /etc/nginx/sites-available/default
И заменяем содержимое этого файла на следующее:server {
listen 80;
root /var/www/html;
index index.php index.html index.htm;
server_name site.ru;
location / {
try_files $uri $uri/ /index.html;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html { root /usr/share/nginx/www; }
location ~ .php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
6. Тест системы
Далее создадим файлик index.php:
nano /var/www/html/index.php
Содержимое:<?php phpinfo(); ?>
Перезапускаем php и nginx:/etc/init.d/nginx restart
/etc/init.d/php7.2-fpm restart
7. Установка базы данных MariaDB
Получаем её репозиторий:
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mirror.timeweb.ru/mariadb/repo/10.3/ubuntu bionic main'
apt update
apt install mariadb-server mariadb-client
Не забывайте, вам нужно будет нажимать да и вводить пароль.Перезапускаем MariaDB
/etc/init.d/mysql restart
Для проверки входим в нашу бд:mysql -u root -p
Ваш пароль
Вошли? Замечательно.Может сразу создадим базу для будущего сайта?
CREATE DATABASE название_базы_данных;
GRANT ALL PRIVILEGES ON название_базы_данных .* TO root@localhost IDENTIFIED BY 'пароль';
FLUSH PRIVILEGES;
Exit
8. Установка рабочей PHPMYADMIN.
Перейдём в tmp
cd /tmp
В нашем случае последняя версия phpmyadmin 4.8.5wget https://files.phpmyadmin.net/phpMyAdmin/4.8.5/phpMyAdmin-4.8.5-all-languages.zip
unzip phpMyAdmin-4.8.5-all-languages.zip
Перемещаем в рабочую средуmkdir /var/www/html/phpmyadmin
mv phpMyAdmin-4.8.5-all-languages/* /var/www/html/phpmyadmin/
Настраиваем конфиг:cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php
Редактируем конфиг по пути через notepad++ или через редактор nano:nano /var/www/html/phpmyadmin/config.inc.php
Задаем любые символы в файле:(пример)
$cfg['blowfish_secret'] = '1dafsafsgdhdfhfjfvvbfgfhfhfheregeegerghjflsflsflsflsflalaldadpadpagtlwerwqwqqe';
Не спешите закрывать, мы также решаем проблему в этом файле:$Cfg[‘TempDir’] (./tmp/) недоступен. Из-за этого phpMyAdmin не может кэшировать шаблоны и будет медленным
Открываем снова конфиг nano /var/www/html/phpmyadmin/config.inc.php (если закрыли)
В самый низ добавляем:
$cfg['TempDir'] = './tmp/';
Создаем в каталоге /var/www/html/phpmyadmin/ папку tmp и даем ей права 777 на запись.Всё, ошибка не будет больше беспокоить.
Также не забываем проверить (чтоб попасть в phpmyadmin - site.ru/phpmyadmin/)
Вводим логин и пароль от MariaDB.
9. Для удобства работы с загрузкой файлов мы меняем допустимый размер при загрузке данных на сервер.
Идём по пути и редактируем через notepad++ или редактор nano.
nano etc/php/7.2/fpm/php.ini
Ищемpost_max_size = 8M
Меняем наpost_max_size = 30M
Ищем upload_max_filesize = 2M
Меняем на upload_max_filesize = 30M
Далее идём по пути и редактируем через notepad++ или nanonano /etc/nginx/nginx.conf
Добавляем строчку после types_hash_max_size 2048; ну или в любое место в пределах httpclient_max_body_size 32m;
Перезапускаемся:/etc/init.d/nginx restart
/etc/init.d/php7.2-fpm restart
10. Установка CMS DLE или другой CMS.
Покупаем CMS DLE, или берем нуллку, или вообще другую любую CMS. (могу посоветовать Xenforo, IPS (Форумы), InstantCMS, WordPress (Сайты).
Качаем, получаем чистый архив zip в нашем случае это движок DLE и названием dle.zip (чтоб сразу при открытии данного zip файла были файлы движка)
Загружаем через FTP менеджер (у меня FileZilla) в /var/www/html наш zip архив.
В консоле переходим
cd /var/www/html
и вводим unzip dle
Файлы движка разархивированы. НО!Нам нужны правила для работы nginx с DLE (для других cms не надо)
Вот правила работающие на DLE 13.2
# Редиректы
rewrite "^/page/([0-9]+)(/?)$" /index.php?cstart=$1 last;
# Сам пост
rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html(/?)+$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6&seourl=$6 last;
rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html(/?)+$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 last;
rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html(/?)+$" /index.php?mod=print&subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 last;
rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4&seourl=$4 last;
rewrite "^/([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$4&news_page=$2&cstart=$3&seourl=$5&seocat=$1 last;
rewrite "^/([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$3&news_page=$2&seourl=$4&seocat=$1 last;
rewrite "^/([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?mod=print&news_page=$2&newsid=$3&seourl=$4&seocat=$1 last;
rewrite "^/([^.]+)/([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$2&seourl=$3&seocat=$1 last;
rewrite "^/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$3&news_page=$1&cstart=$2&seourl=$4 last;
rewrite "^/page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$2&news_page=$1&seourl=$3 last;
rewrite "^/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$" /index.php?mod=print&news_page=$1&newsid=$2&seourl=$3 last;
rewrite "^/([0-9]+)-(.*).html(/?)+$" /index.php?newsid=$1&seourl=$2 last;
# За день
rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$" /index.php?year=$1&month=$2&day=$3 last;
rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$" /index.php?year=$1&month=$2&day=$3&cstart=$4 last;
# За весь месяц
rewrite "^/([0-9]{4})/([0-9]{2})(/?)+$" /index.php?year=$1&month=$2 last;
rewrite "^/([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$" /index.php?year=$1&month=$2&cstart=$3 last;
# Вывод за весь год
rewrite "^/([0-9]{4})(/?)+$" /index.php?year=$1 last;
rewrite "^/([0-9]{4})/page/([0-9]+)(/?)+$" /index.php?year=$1&cstart=$2 last;
# вывод отдельному тегу
rewrite "^/tags/([^/]*)(/?)+$" /index.php?do=tags&tag=$1 last;
rewrite "^/tags/([^/]*)/page/([0-9]+)(/?)+$" /index.php?do=tags&tag=$1&cstart=$2 last;
# поиск по доп полям
rewrite "^/xfsearch/(.*)/page/([0-9]+)(/?)+$" /index.php?do=xfsearch&xf=$1&cstart=$2 last;
rewrite "^/xfsearch/(.*)(/?)+$" /index.php?do=xfsearch&xf=$1 last;
# вывод для отдельного юзера
rewrite "^/user/([^/]*)/rss.xml$" /index.php?mod=rss&subaction=allnews&user=$1 last;
rewrite "^/user/([^/]*)(/?)+$" /index.php?subaction=userinfo&user=$1 last;
rewrite "^/user/([^/]*)/page/([0-9]+)(/?)+$" /index.php?subaction=userinfo&user=$1&cstart=$2 last;
rewrite "^/user/([^/]*)/news(/?)+$" /index.php?subaction=allnews&user=$1 last;
rewrite "^/user/([^/]*)/news/page/([0-9]+)(/?)+$" /index.php?subaction=allnews&user=$1&cstart=$2 last;
rewrite "^/user/([^/]*)/news/rss.xml(/?)+$" /index.php?mod=rss&subaction=allnews&user=$1 last;
# вывод всех последних новостей
rewrite "^/lastnews(/?)+$" /index.php?do=lastnews last;
rewrite "^/lastnews/page/([0-9]+)(/?)+$" /index.php?do=lastnews&cstart=$1 last;
# вывод в виде каталога
rewrite "^/catalog/([^/]*)/rss.xml$" /index.php?mod=rss&catalog=$1 last;
rewrite "^/catalog/([^/]*)(/?)+$" /index.php?catalog=$1 last;
rewrite "^/catalog/([^/]*)/page/([0-9]+)(/?)+$" /index.php?catalog=$1&cstart=$2 last;
# вывод непрочитанных статей
rewrite "^/newposts(/?)+$" /index.php?subaction=newposts last;
rewrite "^/newposts/page/([0-9]+)(/?)+$" /index.php?subaction=newposts&cstart=$1 last;
# вывод избранных статей
rewrite "^/favorites(/?)+$" /index.php?do=favorites last;
rewrite "^/favorites/page/([0-9]+)(/?)+$" /index.php?do=favorites&cstart=$1 last;
rewrite "^/rules.html$" /index.php?do=rules last;
rewrite "^/statistics.html$" /index.php?do=stats last;
rewrite "^/addnews.html$" /index.php?do=addnews last;
rewrite "^/rss.xml$" /index.php?mod=rss last;
rewrite "^/sitemap.xml$" /uploads/sitemap.xml last;
if (!-d $request_filename) {
rewrite "^/([^.]+)/page/([0-9]+)(/?)+$" /index.php?do=cat&category=$1&cstart=$2 last;
rewrite "^/([^.]+)/?$" /index.php?do=cat&category=$1 last;
}
if (!-f $request_filename) {
rewrite "^/([^.]+)/rss.xml$" /index.php?mod=rss&do=cat&category=$1 last;
rewrite "^/page,([0-9]+),([^/]+).html$" /index.php?do=static&page=$2&news_page=$1 last;
rewrite "^/print:([^/]+).html$" /index.php?mod=print&do=static&page=$1 last;
}
if (!-f $request_filename) {
rewrite "^/([^/]+).html$" /index.php?do=static&page=$1 last;
}
Копируем и вставляем их в конфиг nginx, я через notepad++, вы можете через nanonano /etc/nginx/sites-available/default
И вставляем после
location / {
try_files $uri $uri/ /index.html;
}
Можем приступать к установке, переходим на site.ru и начинаем установку нашей CMS. Предупреждаю, вы можете использовать любую другую CMS. Тогда реврайты вам не нужно будет вставлять.
Если нужно будет, я могу рассказать как сделать wildcade сертификат на поддомены и основной домен сайта бесплатно и быстро, а также как создать поддомены для сайта на nginx, такие как forum.site.ru и др.
Похожие материалы
19-09-2018, 21:58, Блог
25-09-2018, 13:27, Блог
28-02-2021, 10:42, Valheim
19-05-2019, 09:41, Статьи
Соблюдай правила, не стесняйся спрашивать и комментировать. Вступай в дисскусию нашего королевства Модляндия.
Информация Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Лента комментариев
3 new hostile factions RU
Надеюсь, не ошибся в оформлении. Если есть недоработки -админы ,сильно не
Masks | Маски (RUS)
Просто переименуйте имя папки 2988783702 в Masks - RUS и все заработает. И
Wild Fit (RU)
Чтобы мод был виден ,имя ПАПКИ должно совпадать с именем ФАЙЛА самого
Как качать моды из сервиса STEAM без подписки
Способ конечно замароченый, но он работает. Спасибо большое!🙂👍
Masks | Маски (RUS)
Мод для игры не существует, возможно дело в том что папка имеет цифровое