Меню Рубрики

Установка dle в nginx

Установка dle в nginx

Добрый день. Возникла небольшая трудность при установке движка DLE 8.3 на связку nginx+spawn-cgi (apache отсутствует). Все установилось нормально, но захотелось использовать ЧПУ, который в свою очередь использует модуль rewrite. Были найдены rewrite-правила движка dle, адаптированные для использования в моем случае.

server <
listen 8282 ;
server_name mysite . ru ;
# charset utf-8;

set_real_ip_from 192.168.1.1 ;
real_ip_header X — Real — IP ;

access_log /var/ log / nginx / access . log main ;
error_log /var/ log / nginx / error . log error ;

location / <
root /var/ www ;
index index . html index . php ;
>

\. php $ <
rewrite ^/ page /(.*)$ / index . php ? cstart =$ 1 last ;
дальше идет куча правила rewrite .

if (!- f $request_filename ) <^ M
rewrite ^/(***91;^/***93;+). html $ / index . php ?do=static& page =$ 1 last ;^ M
> fastcgi_pass unix :/var/ run / fastcgi_sock ;
fastcgi_index index . php ;
fastcgi_param SCRIPT_FILENAME /var/ www$fastcgi_script_name ;
include fastcgi_params ;
>

Пытаюсь зайти на урл http://mysite.ru/rules.html и в ответ получаю not found, т.е. правила rewrite не работают.

Прошу помощи в решении этого вопроса, благодарен за внимание

rewrite ^/ page /(.*)$ / index . php ? cstart =$ 1 last ;

rewrite ^/(***91;^.***93;+)/ page ,(***91; 0 — 9 ***93;+),(***91; 0 — 9 ***93;+),(***91; 0 — 9 ***93;+)-(.*). html (/?)+$ / index . php ? newsid =$ 4 & news_page =$ 2 & cstart =$ 3
last ;
rewrite ^/(***91;^.***93;+)/ page ,(***91; 0 — 9 ***93;+),(***91; 0 — 9 ***93;+)-(.*). html (/?)+$ / index . php ? newsid =$ 3 & news_page =$ 2 last ;
rewrite ^/(***91;^.***93;+)/print: page ,(***91; 0 — 9 ***93;+),(***91; 0 — 9 ***93;+)-(.*). html (/?)+$ / engine /print. php ? news_page =$ 2 & newsid =$ 3 last ;
rewrite ^/(***91;^.***93;+)/(***91; 0 — 9 ***93;+)-(.*). html (/?)+$ / index . php ? newsid =$ 2 last ;

rewrite ^/ page ,(***91; 0 — 9 ***93;+),(***91; 0 — 9 ***93;+),(***91; 0 — 9 ***93;+)-(.*). html (/?)+$ / index . php ? newsid =$ 3 & news_page =$ 1 & cstart =$ 2 last ;
rewrite ^/ page ,(***91; 0 — 9 ***93;+),(***91; 0 — 9 ***93;+)-(.*). html (/?)+$ / index . php ? newsid =$ 2 & news_page =$ 1 last ;
rewrite ^/print: page ,(***91; 0 — 9 ***93;+),(***91; 0 — 9 ***93;+)-(.*). html (/?)+$ / engine /print. php ? news_page =$ 1 & newsid =$ 2 last ;
rewrite ^/(***91; 0 — 9 ***93;+)-(.*). html (/?)+$ / index . php ? newsid =$ 1 last ;

rewrite ^/(***91; 0 — 9 ***93;+)/(***91; 0 — 9 ***93;+)/(***91; 0 — 9 ***93;+)(/?)+$ / index . php ? year =$ 1 & month =$ 2 & day =$ 3 last ;
rewrite ^/(***91; 0 — 9 ***93;+)/(***91; 0 — 9 ***93;+)/(***91; 0 — 9 ***93;+)/ page /(***91; 0 — 9 ***93;+)(/?)+$ / index . php ? year =$ 1 & month =$ 2 & day =$ 3 & cstart =$ 4 last ;
rewrite ^/(***91; 0 — 9 ***93;+)/(***91; 0 — 9 ***93;+)(/?)+$ / index . php ? year =$ 1 & month =$ 2 last ;
rewrite ^/(***91; 0 — 9 ***93;+)/(***91; 0 — 9 ***93;+)/ page /(***91; 0 — 9 ***93;+)(/?)+$ / index . php ? year =$ 1 & month =$ 2 & cstart =$ 3 last ;
rewrite ^/(***91; 0 — 9 ***93;+)(/?)+$ / index . php ? year =$ 1 last ;
rewrite ^/(***91; 0 — 9 ***93;+)/ page /(***91; 0 — 9 ***93;+)(/?)+$ / index . php ? year =$ 1 & cstart =$ 2 last ;
rewrite ^/ tags /(***91;^/***93;*)(/?)+$ / index . php ?do= tags & tag =$ 1 last ;
rewrite ^/ tags /(***91;^/***93;*)/ page /(***91; 0 — 9 ***93;+)(/?)+$ / index . php ?do= tags & tag =$ 1 & cstart =$ 2 last ;
rewrite ^/ user /(***91;^/***93;*)/ rss . xml $ / engine / rss . php ? subaction = allnews & user =$ 1 last ;
rewrite ^/ user /(***91;^/***93;*)(/?)+$ / index . php ? subaction = userinfo & user =$ 1 last ;
rewrite ^/ user /(***91;^/***93;*)/ page /(***91; 0 — 9 ***93;+)(/?)+$ / index . php ? subaction = userinfo & user =$ 1 & cstart =$ 2 last ;
rewrite ^/ user /(***91;^/***93;*)/ news (/?)+$ / index . php ? subaction = allnews & user =$ 1 last ;
rewrite ^/ user /(***91;^/***93;*)/ news / page /(***91; 0 — 9 ***93;+)(/?)+$ / index . php ? subaction = allnews & user =$ 1 & cstart =$ 2 last ;
rewrite ^/ user /(***91;^/***93;*)/ news / rss . xml (/?)+$ / engine / rss . php ? subaction = allnews & user =$ 1 last ;
rewrite ^/ lastnews /(/?)+$ / index . php ?do= lastnews last ;
rewrite ^/ lastnews / page /(***91; 0 — 9 ***93;+)(/?)+$ / index . php ?do= lastnews & cstart =$ 1 last ;
rewrite ^/ catalog /(***91;^/***93;*)(/?)+$ / index . php ? catalog =$ 1 last ;
rewrite ^/ catalog /(***91;^/***93;*)/ page /(***91; 0 — 9 ***93;+)(/?)+$ / index . php ? catalog =$ 1 & cstart =$ 2 last ;
rewrite ^/ newposts (/?)+$ / index . php ? subaction = newposts last ;
rewrite ^/ newposts / page /(***91; 0 — 9 ***93;+)(/?)+$ / index . php ? subaction = newposts & cstart =$ 1 last ;
rewrite ^/static/(.*). html (/?)+$ / index . php ?do=static& page =$ 1 last ;
rewrite ^/ favorites (/?)+$ / index . php ?do= favorites last ;
rewrite ^/ favorites / page /(***91; 0 — 9 ***93;+)(/?)+$ / 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 $ / engine / rss . php last ;
rewrite ^/ sitemap . xml $ / uploads / sitemap . xml last ;

rewrite ^/ category /(***91;^.***93;+)/(.*). html (/?)+$ / index . php ? subaction = showfull & news_name =$ 2 last ;
rewrite ^/ category /(***91;^.***93;+)/ page /(***91; 0 — 9 ***93;+)(/?)+$ / index . php ?do= cat & category =$ 1 & cstart =$ 2 last ;
rewrite ^/ category /(***91;^.***93;+)(/?)+$ / index . php ?do= cat & category =$ 1 last ;

if (!- f $request_filename ) <
rewrite ^/(***91;^ rss . xml $ / engine / rss . php ?do= cat & category =$ 1 last ;
rewrite ^/ page ,(***91; 0 — 9 ***93;+),(***91;^/***93;+). html $ / index . php ?do=static& page =$ 2 & news_page =$ 1 last ;
rewrite ^/print:(***91;^/***93;+). html $ / engine /print. php ?do=static& page =$ 1 last ;
>

if (!- f $request_filename ) <
rewrite ^/(***91;^/***93;+). html $ / index . php ?do=static& page =$ 1 last ;
>

источник

Nginx RewriteRules для движка DLE

Комментарии

Hi,
Its not working few things, like- CAT, TAG 🙁

Большое спасибо вам, заработал ЧПУ на DLE 9.3

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

а как выглядят рерайты из htaccess ?

А как быть с запретом запуска PHP в папке uploads и всё, что в ней вложено?
Нормального решения я найти не могу. Можете помочь?
Готов даже материально отблагодарить за хороший вариант 🙂

закрыть все лишнее довольно просто:

Забываю в статью дописать

Спасибо огромное.
А поясните пожалуйста зачем перечислено uploads и uploads/fotos у меня все папки с именем uploads получаются уже закрыты.
И что делать с папками /engine/cache, /engine/cache/system и /engine/data там по моему тоже 777 стоит.
Сегодня просто нашел гору шелов почти во всех папках на которых 777.
Озадачился срочным решением вопроса 🙂

ну это я из одного из своих конфигов выдернул)
просто пройдитесь по папкам, и закройте все, что закрыто через .htaccess
то есть например в файлах
engine/cache/.htaccess
engine/cache/system/.htaccess
прописано:

соответственно в nginx можно прописать так:

Проверить можно так, создаете например PHP файл

кидаете его в папку и пробуете запросить через веб, все что должно быть закрыто, должно выдавать 403 ошибку

Ну я так и проверял.
Мне просто кажется, что что-то не так :))
Например:
location

* (engine/cache) <
deny all;
>
Закроет полностью все папки с названием engine/cache , неважно какой они вложенности. А не только /engine/cache (от корня сайта)
Тоесть папка engine/cache/system уже будет закрыта и как бы нет необходимости описывать два раза как мы сделали:
location

Более того будет закрыт даже такой путь /xxxx/yyyy/engine/cache и т.д.

закроет, но это уже я не подумавши вклеил, суть от этого не меняется, поскольку это регулярные выражения, можно вырулить все что угодно
/xxxx/yyyy/engine/cache — это опять-же смотря что прописать в регулярное выражение

Понятно.
А как правильно написать то? :)))))
Чтоб например закрывало /engine/cache (от корня) и всё что в него вложено.

Понятно.
Благодарю Вас, за быстрые ответы.

Вот с папкой /engine/data не всё так хорошо как хотелось бы.
Код:

Закрывает доступ и к папке /engine/data и к вложенной в неё папке /engine/data/emoticons
А этого делать нельзя, ибо тогда не работают смайлы. 🙁
Как же тогда быть, чтобы закрывалась только папка data и не трогались вложения?

Читайте также:  Установка вебасто фольксваген тигуан

А можно как то запретить скачивание файла по ссылке, к примеру, http://www.site.ru/engine/download.php? > Что бы файл качался только по нажатию по атачу на сайте?

Народ а как изменить такие ошибки как: 401 /403 /404 /500 /и.т.п на свои, так как в .htaccess ErrorDocument не проходит

есть проблема. Даже несколько, на мой взгляд:

  1. Пути прописаны не от корня.
  2. Из-за куска .+\.php (т.е. файл должен содержать хотя бы 1 символ и .php) возможно выполнение файлов .php (только расширение)
  3. Смысла пимать uploads/fotos нет т.к. закрыта родительская дира

Ещё локейшен location

\.php$ допускает исполнение отличных от .php файлов, при условии, что в php-fpm cgi.fix_pathinfo=1 и нет security.limit_extensions. Мне кажется об этом стоит упомянуть.

А! Действительно смысл указывать uploads/fotos есть т.к. после вариантов стоит слеш: на дочерние диры распорстроняться не будет.

Таким образом ваш локейшен (и тот что я привел выше) не защитит от выполнения скриптов в, например, директории /uploads/fotos/test/ или /templates/Default/

Т.е. должно получится что-то типа:

How to enable gzip for css and js in «template»?

* \.(jpg|jpeg|gif|png|ico|swf|css|js)$ <
gzip_types application/x-javascript text/css;
expires 30d;
add_header Cache-Control public;
>

Всем добрый день у меня вот такая промблема при скачивания файла пример! http://www.css-mod.ru/engine/download.php? >

просто открывается страница вот такая

ломаю голову уже 3 неделю помогите пожалуйста!

проверяйте скрипты
http://cannot-modify-header-information.ru/

Я в этом еще не понимаю!)
это мой первый сайт на php dle!
хотелось бы по подробней узнать может кто знает как исправить, может кто и сам сталкивался с такой ситуацией.

источник

IT Area

вторник, 12 мая 2015 г.

Развёртывание DLE 10.4 на NGINX на CentOS 7.0

Установка и подготовка операционной системы:

Отключаем SElinux:
$ setenforce 0
$ vi /etc/sysconfig/selinux
SELINUX=disabled

Установить Net-Tools:
yum -y install net-tools
(чтобы можно было выполнить ifconfig и прочие команды по сети)

Установить VMware Tools (опционально, для виртуальной машины):

Отключаем FirewallD:
systemctl stop firewalld
systemctl disable firewalld

Устанавливаем и настраиваем IPtables:
yum -y install iptables-services

Добавляем IPtables в автозагрузку и запускаем:
systemctl enable iptables
systemctl start iptables

Прописываем нужные правила в IPtables:

# SSH
-A INPUT -m state —state NEW -m tcp -p tcp —dport 22 -j ACCEPT
# HTTP
-A INPUT -m state —state NEW -m tcp -p tcp —dport 80 -j ACCEPT
# HTTPs
-A INPUT -m state —state NEW -m tcp -p tcp —dport 443 -j ACCEPT

Установка и настройка NGINX

Подключаем нужные репозитории:
yum -y install epel-release wget

Устанавливаем, запускаем и добавляем в автозагрузку nginx:
yum install nginx
systemctl start nginx.service
systemctl enable nginx.service

Выключаем «Буферизация вывода» NGINX для DataLife Engine (DLE)
$ echo ‘fastcgi_param PHP_VALUE output_buffering=Off;’ >> /etc/nginx/fastcgi_params

Создаём 2 рабочие директории для конфигураций
$ mkdir /etc/nginx/off (для всего конфигураций)
$ mkdir /etc/nginx/sites (для включенных конфигураций)

Указываем nginx откуда подгружать конфиги
$ vi /etc/nginx/nginx.conf
вставляем в конце include /etc/nginx/sites/*.conf;
должно выйглядеть так:
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites/*.conf;
>

Создаём VirtualHost
$ vi /etc/nginx/off/river.ru

server <
listen 80;
server_name river.ru www.river.ru;
root /var/www/river;

access_log /var/www/river/logs/access.log main;
error_log /var/www/river/logs/error.log;

\.php$ <
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
>

Включаем конфиг river.conf:
$ ln -s /etc/nginx/off/river.conf /etc/nginx/sites/river.conf

Добавляем «реврайты» (rewrite) в конфиг файл (чтобы работал ЧПУ)
Должно получиться так:

источник

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

Razilator
Категория
Комментарии
Просмотры
Дата добавления
Не рабочая ссылка?

Нарушение авторских прав? Сообщите нам!

Описание к материалу

Доброго времени суток, в этой статье я вам расскажу, как же я установил DLE 13.0 на CentOS 7 с LEMP. Все модули при установке очень свежие. Инструкция была взята с разных сайтов, но соединена и сделана под DLE. Первым делом нам необходимо обновить систему командой:Для установки самой стабильной и свежей версии NGINX нам необходимо подключить репозиторий.Устанавливаем NGINXПримечание: на момент написания данной статьи — версия NGINX 1.14. Поэтому сейчас на нашем сервере стоит версия 1.14.

Читайте также:  Установка времени атол 11ф

Запускаем NGINX и добавляем в автозагрузку

Далее настраиваем файл default.conf по адресу /etc/nginx/conf.d (настраивать я советую через WinSCP, а редактировать через notepad++.

Заменяем содержимое файла default.conf на это и сохраняем:Теперь нам необходимо установить PHP-FPM версии 7.1, для этого подключаем репозитории:Активируем выбранный репозиторий:Устанавливаем PHP7.1Далее установим расширения для PHP7.1, которых достаточно для DLE.Запускаем PHP-FPM!Делаем проверку:Нам должно выдать:Далее нам необходимо запустить php-fpm через unix сокет. Для этого идем через FTP менеджер в папку /etc/php-fpm.d/ и редактируем файл www.conf.

Комментируем данную строку: Под этой строкой вставляем следующее:Ищем (они будут не вместе, а через одну вроде бы строчку)Заменяем apache на nginx в обеих вариантах.

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

Проверяем стартовал наш сокет, или нет.Выдать должно:

Создаем файл: mariadb.repo
Добавляем следующее содержимое:

Далее устанавливаем MariaDB:Запускаем MariaDB и добавляем в автозагрузку:Далее запускаем скрипт установки безопасности нашей базы данных:Первый раз жмём Enter, после жмём Y, и делаем пароль, повторяем пароль ещё раз и далее жмем Enter, следующие запросы тоже нажимаем Y.

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

источник

DLE 13.2 или другая CMS на VPS (LEMP)

Razilator
Категория
Комментарии
Просмотры
Дата добавления
Не рабочая ссылка?

Нарушение авторских прав? Сообщите нам!

Описание к материалу

Всем привет, я выкладываю инструкцию, как я получил рабочую схему быстродействующего сервера с рабочим 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
Добавляем самые последние стабильные версии
Устанавливаем модули для php-fpm 7.2

4. Настраиваем PHP-FPM
Я пользуюсь FTP менеджером и Notepad++, поэтому идите по пути или редактируйте через редактор nano:
Находим в файле: ;cgi.fix_pathinfo=1
Меняем на: cgi.fix_pathinfo=0

5. Настраиваем NGINX
Идём по пути и редактируем через notepad++ или редактор nano:
И заменяем содержимое этого файла на следующее:

6. Тест системы

Далее создадим файлик index.php:
Содержимое:
Перезапускаем php и nginx:

7. Установка базы данных MariaDB
Получаем её репозиторий:
Не забывайте, вам нужно будет нажимать да и вводить пароль.
Перезапускаем MariaDB
Для проверки входим в нашу бд:
Вошли? Замечательно.
Может сразу создадим базу для будущего сайта?

8. Установка рабочей PHPMYADMIN.

Перейдём в tmp
В нашем случае последняя версия phpmyadmin 4.8.5
Перемещаем в рабочую среду
Настраиваем конфиг:
Редактируем конфиг по пути через notepad++ или через редактор nano:
Задаем любые символы в файле:
(пример)
Не спешите закрывать, мы также решаем проблему в этом файле:
$Cfg[‘TempDir’] (./tmp/) недоступен. Из-за этого phpMyAdmin не может кэшировать шаблоны и будет медленным
Открываем снова конфиг nano /var/www/html/phpmyadmin/config.inc.php (если закрыли)
В самый низ добавляем:
Создаем в каталоге /var/www/html/phpmyadmin/ папку tmp и даем ей права 777 на запись.
Всё, ошибка не будет больше беспокоить.

Также не забываем проверить (чтоб попасть в phpmyadmin — site.ru/phpmyadmin/)
Вводим логин и пароль от MariaDB.

9. Для удобства работы с загрузкой файлов мы меняем допустимый размер при загрузке данных на сервер.
Идём по пути и редактируем через notepad++ или редактор nano.
Ищем
Меняем на
Ищем
Меняем на
Далее идём по пути и редактируем через notepad++ или nano
Добавляем строчку после types_hash_max_size 2048; ну или в любое место в пределах http
Перезапускаемся:

10. Установка CMS DLE или другой CMS.

источник

Популярные записи

Добавить комментарий

Adblock
detector