Назад | Перейти на главную страницу

Отдельные домены против одного домена с псевдонимами

Я установил LAMP-сервер, используя ISPConfig 3 для администрирования. PHP работает поверх Fast-CGI.

У меня несколько доменов, например my_site.com, my_site.net и my_site.org, но все они указывают на одно и то же приложение / веб-сайт. Каждый домен имеет свою собственную корневую веб-папку и работает под своим собственным пользователем. Само приложение находится в общем каталоге, которым владеет другой пользователь, например:

# path to my_application (owned by web1)
/var/www/clients/client1/web1/web/my_application/

# sym-link to my_application from my_site.com-web-root (owned by web5) 
/var/www/my_site.com/web -> /var/www/clients/client1/web1/web/ 

# sym-link to my_application from my_site.net (owned by web4) 
/var/www/my_site.net/web -> /var/www/clients/client1/web1/web/ 

При такой настройке я столкнулся с несколькими проблемами, связанными с разрешениями при выполнении операций файловой системы с PHP. Например, если приложение вызывается через my_site.com, пользователь web5 пытается что-то записать в папку-приложение. Но папка приложения принадлежит пользователю web1, так web5 не разрешено писать там.

Насколько я понимаю, так работает Fast-CGI.

После некоторого исследования и опроса нескольких человек, кажется, решение состоит в том, чтобы разбить все это на один домен (например, my_site.com) и определить другие домены (my_site.org, my_site.net) в качестве псевдонима для этого одного домена. Таким образом, будет только один пользователь, у которого есть все необходимые разрешения.

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

Итак, если это было возможно, мне интересно: правильным ли подходом в данном случае является объединение всех доменов в один v-host с одним основным и несколькими псевдонимами? Или я что-то неправильно понял?

Превращаю мой комментарий в ответ.

Я бы стремился к один Процесс Apache работает как один пользователь системы, но обслуживающий несколько IP-адреса, соответствующие несколько доменные имена, каждое со своим собственным сертификатом SSL. Если явно не настроено иное (например, с помощью suEXEC или -user возможность FastCgiServer), Apache будет запускать все дочерние процессы от имени того же пользователя, которого он использует для собственного доступа к данным, независимо от виртуальный хост запрос принадлежит. Сколько будет процессов, зависит от конфигурации сервера, ist MPM в частности, но до тех пор, пока все процессы принадлежат одному пользователю, вам не нужно беспокоиться об этой проблеме здесь. Использовать на основе IP виртуальные хосты в конфигурации apache, как именной Для выбора сертификата SSL требуется SNI который по-прежнему поддерживается не всеми клиентами.

Я не знаю, справятся ли с этим ваши инструменты управления. Не стесняйтесь редактировать этот ответ и предоставлять подробности, как только вы узнаете.