Правильно настроить виртуальные хосты Apache для нескольких пользователей.

Заранее благодарим за любую помощь, которую вы можете оказать. Я сам учил себя, используя linux (ubuntu), apache, виртуальные хосты и некоторые аспекты безопасности, хотя мне еще предстоит собрать все это без проблем.

Я также усвоил трудный путь из ошибок, допущенных в прошлом, в отношении неправильной настройки учетных записей пользователей и сайтов / виртуальных хостов. Я подключился к серверу с правами суперпользователя (я знаю, что это очень плохо) и создал все виртуальные хосты и файлы вручную, поэтому все они принадлежат пользователю root. Я использовал старую версию joomla, эксплуатируемую и вредоносный спам-код, вставленный во все мои другие виртуальные хосты.

Я нахожусь в процессе перехода на новый сервер и ищу правильные шаги в отношении настройки виртуальных хостов и учетных записей пользователей, которые могут получить к ним доступ. Поскольку мы используем стороннее программное обеспечение, нам иногда нужно, чтобы кто-то другой зашел на сайт, чтобы проверить файлы их веб-сайта.

Наш текущий сервер - версия 10.04, однако новый сервер - версия 12.04. Все файлы сайта настроены в

/home/www/site1.com

/home/www/site2.com

/home/www/site3.com

и т. Д.

Короче, я думаю, это то, что я хочу.

  1. Как правильно настроить виртуальный хост и пользователя, чтобы он имел доступ только к своим файлам, а не к любому другому виртуальному хосту на сервере. Например, если этот сайт будет эксплуатироваться вредоносным кодом, он не сможет заразить другие сайты на сервере.

  2. Как настроить пользователей так, чтобы они могли только использовать ftp в свои файлы и не иметь доступа ни к одному из других сайтов.

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

1115 Очень ценю помощь, которую может предложить каждый. Пожалуйста, не стесняйтесь спрашивать любую дополнительную информацию, которая может вам понадобиться, чтобы дать совет. В настоящее время я следую инструкциям по настройке chroot, однако, боюсь, что я делаю это неправильно, так как я обнаружил несколько несоответствий по пути. Также занимаюсь джейлкитом.

14
задан 19 February 2014 в 02:31

2 ответа

Поскольку вопрос является главным результатом поиска в Google, когда его спрашивают «отдельный пользователь виртуального хоста apache», я хотел бы дать более подробный ответ, основанный на этом ответе . Мой ответ не охватывает сценарий использования PHP и GCI (вы бы использовали suPHP). Он фокусируется на PHP при использовании в качестве модуля apache.

Вы можете использовать модуль apache apache2-mpm-itk . Он доступен для текущей версии apache 2.4. Он поставляется с директивой AssignUserID. Эта директива определяет пользователя и группу, с которой обрабатывается запрос виртуального хоста. Это пример конфигурации сайта Apache, с которой я закончил:

<VirtualHost *:80>
ServerName www.site1.com
DocumentRoot /home/www/site1.com
AssignUserID site1 www-data
php_admin_value open_basedir /home/www/site1.com
...
</VirtualHost>

Конечно, это только повышает безопасность, пока отдельные DocumentRoots принадлежат их соответствующим пользователям и не доступны для группы. Для дальнейшей безопасности, связанной с PHP, скрипты заключены в тюрьму в DocumentRoot с ограничением open_basedir. Что касается доступа к внутреннему файлу, я предпочитаю SFTP с chroot .

Примечание. В настоящее время apache2-mpm-itk несовместим с модулем Apache http2.

0
ответ дан 19 February 2014 в 02:31
  • 1
    найти. - тип f - называют " *.jpg"-mtime-7 - должностное лицо mv " {} " newfolder \; что означает эта команда? и спасибо за Ваш ответ, но немного сбивающий с толку – Qaisar Khan 7 August 2015 в 21:21

Я не считаю, что это ответ на ваш вопрос сам. Но так как я пока не могу комментировать, я должен написать в поле «ответ». Я сезонно занимаюсь веб-менеджментом, и один из способов, с помощью которого я могу протестировать и испытать все в безопасности, - это настроить тестовую среду на виртуальной машине (например, VirtualBox) или «старом» настольном компьютере. Одна из самых распространенных проблем начинающих администраторов веб-хостинга - понять, как работают программы веб-сервера. В этом случае я предполагаю, что вам нужно понять, как работает Apache, и хотя бы понять файлы конфигурации. Я считаю, что Webmin - очень полезный инструмент - для новичка - для управления Apache и другими сервисами. Вы должны потратить некоторое время, чтобы попробовать что-то в своей тестовой среде, чтобы вам стало понятнее.

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

https://www.digitalocean.com/community/articles/how-to-set-up-apache-virtual-hosts-on-ubuntu-12 -04-лтс

http://www.servermom.org/build-ubuntu-server-a-complete-guide/

0
ответ дан 19 February 2014 в 02:31
  • 1
    Вместо того, чтобы писать "Спасибо! " узнайте, как этот сайт работает путем выполнения 2 минут тур . Вы узнаете, что на этом сайте, необходимо принять ответ, если он решает проблему. Это дает и мне и Вам немного премии репутации (хотя мой будет больше; D). Для принятия ответа необходимо нажать на серый символ галочки слева от вопроса ниже его счетчика голосования, так, чтобы это стало зеленым. Спасибо и приветствие на AskUbuntu. – Byte Commander♦ 7 August 2015 в 16:32

Другие вопросы по тегам:

Похожие вопросы: