34 комментария

Sergey Eremin
27.05.2016 17:32

Здравствуйте! Было бы здорово, если напишите статью о настройке: NGINX + APACHE + mod_php/mod_python.

ООО «ТаймВэб», модератор Community

Сергей, мы обязательно учтем ваше пожелание.
Сейчас рекомендуем вам прочитать недавно опубликованную статью, касающуюся установки и настройки веб-сервера Apache: https://community.timeweb.com/articles/nastroyka-vds-na-ubuntu-14-04-chast-6-ustanovka-i-nastroyka-apache-1

Sergey Eremin
13.06.2016 10:58

Здравствуйте! Пробовал несколько раз установить на чистую ubuntu 14.04 из репозитория разработчика чётко по статье, после установки не работают команды nginx 1.11.1 и не открывается стартовая страница проверки по айпи, работает только проверка версии сервера. Возможно несоответствие версий? Кто сталкивался, подскажите, пожалуйста, как корректно установить.

Андрей
14.06.2016 13:54

Посмотрел на своей VDS, все как написано сделал копированием и вставкой. Вроде нормально все, "Welcome to nginx!" открылось сразу (версия установилась nginx/1.11.1). Может, что то все же не так копировалось? И не включен ли случаем firewall (без правила что 80 порт пропускать)?

Sergey Eremin
14.06.2016 14:02

Дело в том, что при таком способе почему-то не добавляются правила utw для nginx. И как итог: firewall закрывает порт 80. Подскажите, пожалуйста, как их добавить. Не смог найти как это сделать.

Андрей
14.06.2016 14:06

По firewall ufw написано хорошо (с командами что нужны) в данной статье, также видел в цикле статей про 14-04 описание команд.
https://community.timeweb.com/articles/kak-ustanovit-nginx-na-ubuntu-16-04-1.

ООО «ТаймВэб», модератор Community

Сергей, здравствуйте!
Напишите, пожалуйста, какие действия вы конкретно выполняете и при помощи каких команд? Крайне важно понять порядок ваших действий, чтобы можно было дать максимально полезный ответ.

Sergey Eremin
14.06.2016 17:19

В админ-панели timeweb нажимаю переустановка системы. Далее делаю всё по статье №2 первичная настройка.
sudo wget http://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
sudo nano /etc/apt/sources.list
Добавляю в конце две строки:
deb http://nginx.org/packages/mainline/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ trusty nginx
Затем:
sudo apt-get update
sudo apt-get install nginx
Испробованы варианты с отключением ufw, файл с правилами ufw для nginx всё равно отсутствует или пустой.

Sergey Eremin
14.06.2016 14:11

Пробовал, но к сожалению для ubuntu 14 данная настройка и команды не работают.

Sergey Eremin
14.06.2016 14:25

Проблема тупиковая, для ubuntu 16 есть информация как настроить utw, а для 14-ой нет. Считаю, что раз на timeweb нет ubuntu 16.04 то помогла бы статья, а получается она неполная и нет решения для конкретной проблемы. Nginx 1.4 точно пользоваться никто не будет.

Андрей
14.06.2016 14:32

Не знаю, почему у тебя не работает - интереса ради попробовал у себя абсолютно с нуля, благо собирался сервер новый ставить. Только ОС поставилась, ufw не активен был. Работает) А по настройке ufw для 14 ubuntu, нашел тут для себя инфу: https://community.timeweb.com/articles/nastroyka-vds-na-ubuntu-14-04-chast-2-pervichnaya-nastroyka-os.

Sergey Eremin
14.06.2016 14:39

По этим статьям и настраиваю. И когда был на другом хостере, где была 16-я убунту, проблем не знал. А вот тут всё досканально по статьям делаю, переустанавливал ось уже раз 20, результат в связке ubuntu 14.04 и nginx 1.11.1 из репозитория разработчика, один - правила для ufw отсутствуют! И справедливости ради, во всех статьях здесь и digitalocean всегда указана настройка ufw, но не здесь.

Aлексей
14.06.2016 14:55

А просто команда sudo ufw allow 80 у вас работает?

Sergey Eremin
14.06.2016 14:58

Да, но насколько понимаю нужно открыть его только для nginx.

Aлексей
14.06.2016 15:13

А в чем проблема тогда? Установите uwf и откройте 80 порт (можете не для всех, а для себя только по ip - sudo ufw allow from 123.456.789 to port 80). зачем открывать порт только для Nginx?

Sergey Eremin
14.06.2016 14:54

Все эти статьи знаю наизусть уже в бесконечных мучениях подружить ubuntu 14.04 Nginx 1.11.1 и ufw. Во всех них нет команды ufw открытия http для nginx. А все команды из статей для для аналогичной настройки на ubuntu 16 не работают в данном случае.

Андрей
14.06.2016 15:14

Поможем, если не паниковать. Во первых firewall по-умолчанию сам не включается. Если включили сами - выключите его наконец уже, нужно сначала с nginx разобраться. Второе - все настройки прописываются, только что проверил. Вывод команды netstat -lptun укажите вместе с sudo ufw status verbose. Без диагностики просто переустановками проблему не решить - что то делаете не так и это факт.

Sergey Eremin
14.06.2016 15:21

По статье номер 2 настроил и включил ufw, логично, что фаервол нужен. Когда настраивал убунту 16 и всё работало, в списке показаны были правила ufw открывающие трафик для него, которые добавлялись автоматически при установке nginx. Так и должно быть. Теперь того же пытаюсь добиться на убунту 14, раз 16-ю нет возможности установить. Не могу найти инфу как инициировать те же правила для nginx, только в таком сочетании версий.

Sergey Eremin
14.06.2016 15:28

22 ALLOW IN Anywhere
80 ALLOW IN Anywhere
22 (v6) ALLOW IN Anywhere (v6)
80 (v6) ALLOW IN Anywhere (v6)
Порт открыл командой sudo ufw allow 80. Но я пытаюсь сделать так, чтобы порт был открыт для nginx.

Андрей
14.06.2016 15:50

1. Сначала получаем список "приложений"
sudo ufw app list
У меня он следующий:
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH

2. Командой добавляем приложение:
sudo ufw allow 'Nginx Full'
Порты для работы данного приложения заработают.

3. Проверяем:
sudo ufw status verbose

У меня вышло так:
80,443/tcp (Nginx Full) ALLOW IN Anywhere
80,443/tcp (Nginx Full (v6)) ALLOW IN Anywhere (v6)

Проверь, если не так будет(не поможет) - дальше посмотрим.

Sergey Eremin
14.06.2016 16:02

Список такой:
Available applications:
OpenSSH
sudo ufw allow 'Nginx Full'
ERROR: Could not find a profile matching 'Nginx Full'
Дело в том, что всё по статьям сделано. Возможно, что в данном случае лучше не включать ufw и установить nginx и тогда добавятся эти правила? В иных версиях все списки были как у вас, а ufw включался перед установкой nginx.

Андрей
14.06.2016 16:06

После установок не перезагружал сервер кстати? У меня ufw ругался чего то, я его если что перезагружал. Так да, рекомендую попробовать поставить сначала nginx, а потом активировать ufw.

Sergey Eremin
14.06.2016 16:12

Перезагружал. При многочисленных переустановках системы и перезагрузке сервера выдаёт один и тот же результат, я уже и не знаю, что думать. Попробую установить с отключенным ufw.

Андрей
14.06.2016 16:18

Добавлю, что nginx ставлю full пакетом( sudo apt-get install nginx-full). Файл для ufw создается установщиком следующий: cat /etc/ufw/applications.d/nginx. Если его нет, ufw не будет выводить права.
В файле следующие строки:

[Nginx HTTP]
title=Web Server (Nginx, HTTP)
description=Small, but very powerful and efficient web server
ports=80/tcp

[Nginx HTTPS]
title=Web Server (Nginx, HTTPS)
description=Small, but very powerful and efficient web server
ports=443/tcp

[Nginx Full]
title=Web Server (Nginx, HTTP + HTTPS)
description=Small, but very powerful and efficient web server
ports=80,443/tcp

Если файла нет - советую вручную добавить с данным текстом и после перезагрузки проверить все ли в sudo ufw app list выводит.

Sergey Eremin
14.06.2016 17:00

Попробовал с отключенным ufw, та же история. Файл в котором должны быть правила пуст. Не знаю, что и думать. В ручную добавить записи в файл... Остаётся только догадываться чего ещё не установилось. Это ненормально.

Андрей
14.06.2016 17:39

если использовать установку с репозитория разработчиков, то ставить придется данный файл вручную, так как установщику такие команды не заданы. Так, если ошибок установщик не выводил - установилось все. Добавь файл и все заработает.
Или командой: sudo ufw allow http для открытия порта. Так как что application, что просто открытие порта - они по факту равнозначны, ufw не может только 1 программе все дать а другим нет. Плюс открывать порт 80 при запущенном nginx никто не сможет как факт.

Sergey Eremin
14.06.2016 19:23

Благодарю за помощь, так и сделаю.

Sergey Eremin
15.06.2016 05:56

Скажите, пожалуйста, порт 22 нужно закрыть? Добавил правила как вы описывали ниже, при проверке они есть, но также в них имеется порт 22, но по идее он должен быть отключен?

Андрей
15.06.2016 08:12

Если закрыть 22 порт, то по SSH не подключиться, только из панели управления. Лучше поставить fail2ban и авторизацию по ключу - вполне безопасное решение: не переберут пароль просто так и пароль светиться не будет.

Sergey Eremin
15.06.2016 08:17

Просто интересный момент команда: sudo ufw status выводила:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
И всё работало, включая доступ ssh, а сейчас выдаёт:
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6)

Андрей
15.06.2016 08:22

В этом случае все в порядке, OpenSSH это SSH сервер и порт по-умолчанию 22. Просто не обозначен напрямую, что это openssh и все.

Эти строки из вывода команды говорят, что 22 порт открыт как по IPv4, так и по IPv6(вторая запись) для всех IP адресов:

22 ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)