RayMefise
@RayMefise
Java, PHP, C, C++, C#, .NET, QT

Полноценный web сервер на ubuntu: нужны мануалы, советы и ответы на вопросы?

Всем привет, знаю, что вопросов насчет поднятия web сервера и настройки домашнего сервера задают много. Большую часть из них я читал и сам вполне неплохо справляюсь с тривиальными задачами по установке и настройки серверов, но возникла потребность настроить web сервер на котором будут работать несколько сайтов доступных через интернет. Сейчас он у меня работает под Debian но к сожалению первый мой опыт был не столь удачным, поэтому я планирую переставить систему на ubuntu server 14.04 и на этот раз сделать все правильно. Здесь я опишу задачи которые надо реализовать и проблемы с которыми я уже сталкивался и надеюсь что вы поможете мне составить пошаговый мануал для настройки и поднятия web сервера на ubuntu. Попрошу сразу, не кидать ссылки на статьи если вы не уверены в актуальности информации, потому как 95% статей сейчас не совсем актуальны, в связи с изменениями в работе apache2 сервера ftp клиента да и вообще системы прав в ubuntu.

Что имеется из оборудования и иерархии сети:
Есть белый IP адрес к которому привязаны 4 доменных имени.
Интернет приходит на роутер (белый IP) который все входящие по белому IP запросы передает на сервер в локальной сети со статическим IP 192.168.0.50, который ему выдает роутер по имени машины. В качестве сервера используется компьютер с 4х ядерным процессором AMD, жестким диском на 1тб и скоростью чтения и записи 6мб/с и оперативной памятью 8гб

Основные задачи:
1) Установить ubuntu server 14.04 (это не нуждается в описании)
2) Установить SSH сервер работающий через ключ доступа ssh (поставить сервер не проблема, а вот настроить сервер под работу с ключами я не знаю как)
3) Установить и настроить LAMP, FTP, MAIL сервера
4) Установить систему управления сервером через веб морду с удаленного компьютера

Казалось бы задачи вполне себе тривиальные, но есть пара но:
Необходимо сделать так, чтобы пользователь подключаясь через FTP попадал в папку с одним из виртуальных хостов привязанных к этому пользователю. Желательно, чтобы можно было делать отдельные настройки PHP для каждого виртуального хоста. Для каждого виртуального хоста необходимо обеспечить работу своего mail сервера с доменным именем этого хоста. Каждому хосту должна создаваться база данных с именем хоста. У пользователя владельца этой базы должны быть полные права (кроме удаления базы) на работу с этой базой, но при этом не должно быть прав на другие базы данных.
Соответственно стает вопрос как организовать подобную работу. В свое время я делал просто, создавал пользователей в системе LINUX а виртуальные хосту помещал в их домашние каталоги. Ставил FTP сервер, настраивал подключение через пользователей linux и запирал пользователей в своем домашнем каталоге, но этот способ по моему далек от совершенства, да и сейчас потерял актуальность, так как при размещении виртуального хоста в домашнем каталоге, сервер попросту возвращает ошибку что нет доступа, причем добавление пользователя в группу www-data или добавление пользователя www-data в группу user не приносят результатов. Сейчас точно не помню что я делал но помогло выставление прав 777 на домашний каталог пользователя, добавления пользователя в группу www-data и какое-то шаманство с конфигами виртуального хоста. После этих манипуляций сервер вроде как стал доступным но права 777 на все файлы сильно смущают, а если ставить другие права, то файл становится недоступным. Кроме этого появилась проблема с ftp сервером (по моему vsftpd), если мы запиарем пользователя в его домашнем каталоге, то к серверу становится невозможно подключиться, но как только мы разрешаем запирать пользователя в домашнем каталоге, то проблема сразу отпадает, вот только подключившись через ftp таким образом он получает полный доступ к всему серверу как минимум на закачку файлов.

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

Кроме этого выслушаю в подробностях как нормально сделать работу сервера через доменные имена, а то я уже раз ошибся, и не указал адрес у провайдера список доменов привязанных к IP адресу в связи с чем мой IP занесли в черный список почтовые сервера. Сейчас вот как раз буду менять у провайдера белый IP на новый. В общем расскажите что еще надо сделать чтобы все сервисы нормально работали.
  • Вопрос задан
  • 7471 просмотр
Решения вопроса 1
kotomyava
@kotomyava
Системный администратор
Не стоит вообще читать пошаговые мануалы. Надо читать документацию на конкретные программы и понимать, что делаешь и учиться...

2. "Из коробки" работает с ключами. Настройки не требует для этого, только ключи сгенерить (man ssh-keygen)

3. Документация и примеры есть на соответствующих сайтах, например для postfix www.postfix.org/docs.html, или apache www.apache.org/. Если вы не можете настроить соответствующие приложения используя такую информацию, вам просто не нужно в принципе этим заниматься.

4. Если у вас там будет несколько своих сайтов, панелька вам не нужна - будет только мешать. А если вы про всякие вебмины и прочие примочки для управления именно сервером, это не нужно в принципе.

5. У вас многое пропущено. Например, работу сервера надо мониторить. Логи надо, как минимум просматривать, но лучше анализировать. С простейшими атаками бороться автоматически, и многое другое. Подумайте 10 раз, стоит-ли вам настраивать сервер вообще, если у вас возникают вопросы даже по элементарным вещам?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
dmitryrublev
@dmitryrublev
Веб-разработчик, зануда
По-моему, вы усложняете себе задачу.
Рассмотрите вариант с использованием ISPConfig, его может хватить для решения основных задач.
Вы получите веб-интерфейс, раздельный доступ по FTP, электронную почту для доменов, и т.д.
По поводу попадания в блеклист - не очень понял, что произошло. По электронной почте, рекомендую прописывать SPF записи в DNS.
Ответ написан
@Polyanappua
Установи vestacp.com, и не будет те горя)
Форум и поддержка активны и отзывчивые, многие вопросы без проблем решаются в Гугл поиске даже на русском
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Demlabs Новосибирск
от 150 000 ₽
AgentApp Санкт-Петербург
от 250 000 ₽
Алибаба Владивосток
от 120 000 ₽