AVE!ML
  • Главная
  • Моды
  • Гайды
  • Новости
  • Блог
  • Самые честные казино
  • Контакты
  • Вход / Регистрация

Установка DLE на CentOS 7 (LEMP)

Блог LEMP, DLE, CentOS 7

Доброго времени суток, в этой статье я вам расскажу, как же я установил DLE 13.0 на CentOS 7 с LEMP. Все модули при установке очень свежие. Инструкция была взята с разных сайтов, но соединена и сделана под DLE.  
Первым делом нам необходимо обновить систему командой:
yum update
Для установки самой стабильной и свежей версии NGINX нам необходимо подключить репозиторий.
 rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
Устанавливаем NGINX
yum install nginx
Примечание: на момент написания данной статьи - версия NGINX 1.14. Поэтому сейчас на нашем сервере стоит версия 1.14.

Запускаем NGINX и добавляем в автозагрузку
systemctl start nginx
systemctl enable nginx
Нам необходимо проверить, запустился ли наш сервер или нет. Переходим по IP адресу вашего сервера. 
Далее настраиваем файл default.conf по адресу /etc/nginx/conf.d (настраивать я советую через WinSCP, а редактировать через notepad++.

Заменяем содержимое файла default.conf на это и сохраняем:
server {
    listen   80;
    server_name  ваш_ip_или_домен;

    root   /usr/share/nginx/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }


    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }
    
    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt { log_not_found off; access_log off; allow all; }
    location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
        expires max;
        log_not_found off;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    
    #DLE
    
    location ~* (uploads|uploads/fotos|uploads/files|templates)/.+\.php {
        deny all;
    }

    location ~* /templates/.+\.tpl {
        deny all;
    }

    location ~* ^/(engine/data|engine/cache|engine/cache/system|language).+\.(php|tmp) {
        deny all;
    }
    
    # Редиректы
    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;
        }       
}

Теперь нам необходимо установить PHP-FPM версии 7.1, для этого подключаем репозитории:
rpm -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Активируем выбранный репозиторий:
 yum-config-manager --enable remi-php71
Устанавливаем PHP7.1
yum install php71
Далее установим расширения для PHP7.1, которых достаточно для DLE.
yum install php-fpm php-cli php-mysql php-gd php-xml php-mbstring
Запускаем PHP-FPM!
systemctl start php-fpm
systemctl enable php-fpm
Делаем проверку:
netstat -tulpn | grep php-fpm
Нам должно выдать:
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 9084/php-fpm: maste
Далее нам необходимо запустить php-fpm через unix сокет. Для этого идем через FTP менеджер в папку /etc/php-fpm.d/ и редактируем файл www.conf.

Комментируем данную строку: 
;listen = 127.0.0.1:9000
Под этой строкой вставляем следующее:
listen = /var/run/php-fpm/php-fpm.sock
listen.mode = 0660 
listen.owner = nginx 
listen.group = nginx
Ищем (они будут не вместе, а через одну вроде бы строчку)
user = apache
group = apache
Заменяем apache на nginx в обеих вариантах.

Затем изменяем разрешение для сессий на PHP (Без этого вы получите при установке DLE "ВЫ устанавливаете DLE не сначала, попробуйте начать сначала." И вы снова начинаете установку, но опять же получаете эту ошибку).

chown -R root:nginx /var/lib/php/session/
Проверяем стартовал наш сокет, или нет.
ll /var/run/php-fpm/php-fpm.sock 
Выдать должно:
srw-rw----. 1 nginx nginx 0 Sep 19 21:50 /var/run/php-fpm/php-fpm.sock

Теперь нам необходимо установить базу данных, выбор ваш, но я обычно ставлю MariaDB.

В репозитории CentOS 7 очень старая версия MariaDB, поэтому идем в FTP менеджер WinSCP и идем по адресу  /etc/yum.repos.d/
Создаем файл: mariadb.repo
Добавляем следующее содержимое:

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Далее устанавливаем MariaDB:
 yum install MariaDB-server MariaDB-client
Запускаем MariaDB и добавляем в автозагрузку:
systemctl start mariadb
systemctl enable mariadb
Далее запускаем скрипт установки безопасности нашей базы данных:
mysql_secure_installation
Первый раз жмём Enter, после жмём Y, и делаем пароль, повторяем пароль ещё раз и далее жмем Enter, следующие запросы тоже нажимаем Y.
Создаем базу данных в MariaDB!
Подключаемся к нашей базе данных:
mysql -u root -p
Жмём Enter, дальше вводим ваш пароль, придуманный к защите базы данных и снова Enter.
Приступаем к созданию базы данных:
CREATE DATABASE имя_базы;
Даём права управления базой данных пользователю root:
GRANT ALL PRIVILEGES ON имя_базы .* TO root@localhost IDENTIFIED BY 'пароль от root';
Применяем новые привилегии:
  FLUSH PRIVILEGES;
Выходим из бд:
exit

Установка DLE 13.0!

Снова открываем наш FTP менеджер, и переходим по адресу /usr/share/nginx/html
Заливаем zip архив с нашим движком DLE. (zip архив собрать из папки upload как на скрине)


Далее переходим к этой папке в консоле:
cd /usr/share/nginx/html
Установим unzip, для этого вводим в консоле:
yum install unzip
И теперь, пока мы в папке html через консоль, пишем 
unzip dle.zip
Всё, архив распакован. Далее создаем скрипт для упрощения настройки прав доступа к папкам DLE на сервере в этой же папке html.
Назовем его dle.sh, содержимое:
    find ./templates/ -type d -exec chmod 777 {} + 
    find ./templates/ -type f -exec chmod 666 {} +
    find ./backup -type d -exec chmod 777 {} + 
    find ./uploads -type d -exec chmod 777 {} +
    find ./engine/data -type d -exec chmod 777 {} + 
    find ./engine/cache -type d -exec chmod 777 {} +
    find ./engine/cache/system -type d -exec chmod 777 {} +
Сохраняем, теперь в консоле вводим:
sh dle.sh
Всё, права доступа установлены. Теперь вы можете переходить по IP адресу, или вашему домену и приступать к установке DLE.

  Вперед


  • Admin
  • 19.09.2018
  • 23 649
  • 1
Похожие материалы
DLE 13.2 или другая CMS на VPS (LEMP)
DLE 13.2 или другая CMS на VPS (LEMP)
13-04-2019, 09:48, Блог
Получение сертификата SSL/HTTPS на DLE (CentOS 7 LEMP)
Получение сертификата SSL/HTTPS на DLE (CentOS 7 LEMP)
25-09-2018, 13:27, Блог
BetterServerConfig / Улучшенные настройки сервера
BetterServerConfig / Улучшенные настройки сервера
26-02-2021, 23:32, Valheim
Русификатор для Anomaly 1.5 (beta)
Русификатор для Anomaly 1.5 (beta)
21-01-2019, 15:20, S.T.A.L.K.E.R. Call of Chernobyl

Соблюдай правила, не стесняйся спрашивать и комментировать. Вступай в дисскусию нашего королевства Модляндия.

  1. Rockstar Друзья сайта 19 сентября 2018 22:10  0 
    Блин круто спасибо помог!
    жалоба
Информация Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
  • Файлы
    • Kenshi
    • Project Zomboid
    • Factorio
    • The binding of isaac
    • The Witcher 3
    • Minecraft
    • TESO
    • People playground
    • Days Gone
    • M&B: Bannerlord
      • Войска, Юниты
    • Rimworld
    • Valheim
    • Hearts of Iron 4
    • Total War: Warhammer II
    • AtomRPG
    • Satisfactory
    • Crusader Kings III
    • Battle Brothers
    • Terraria
    • 7 Days To Die
    • Cyberpunk 2077
    • The Sims 3
    • The Sims 4
    • S.T.A.L.K.E.R
      • S.T.A.L.K.E.R Shadow of Chernobyl
      • S.T.A.L.K.E.R. Clear Sky
      • S.T.A.L.K.E.R. Call of Pripyat
      • S.T.A.L.K.E.R. Call of Chernobyl
    • S.T.A.L.K.E.R. 2
    • Fallout 4
    • TES 5: Skyrim
    • Garry's Mod
    • SnowRunner
    • Другие игры
    • Программы
  • Статьи
  • Игровые новости
  • Аксессуары и железо
  • Aliexpress
  • Лайфхаки
  • Халява
  • Блог
Лента комментариев
more building(Bridge only) / Больше зданий (только мосты)
Мод офигенный, без этих мостов вообще не играю. Дают массу возможностей
Dread Limbs / Новые протезы (RU)
Вроде красиво, но не логично. Присоединение протеза это целое искусство.
Medical Beds / Медицинские кровати (RU)
Отличный мод. Все пашет, изучается, хп восстанавливается как заявлено. 
Equipment - Hi-Kers Backpack / Снаряжение - Hi-Kers рюкзаки (RU)
Пробовал мод. Рюкзаки красивые, особенно порадовал поясной со спины висит
UI D cursor
Мод отображается в списке, но никаких изменений нет. Стандартный курсор
Все комментарии
Вам нравится Kenshi?
Полезно
Добавить ссылку
ModeLand.ru © 2018-2024. Страна модификаций.

Мы не несем ответственности за установленные вами модификации. Если пошло что-то не так, напишите в комментариях к неработающему материалу. Мы попытаемся решить проблему.

Политика конфиденциальности Обратная связь О проекте Стать автором Опубликовать материал Разместить рекламу
Авторство. Все права соблюдены.

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

Быстрый вход

Используйте социальные сети для быстрого входа

Создать аккаунт / Регистрация
Авторизация

Восстановить пароль