Я в грязной ситуации, в которой участвуют Apache и Tomcat 6. Я работаю над PHP проектами с Apache.
Я использую Tomcat для запуска Solr, RESTful-интерфейса для поиска. Я помещаю индекс Solr в приложение PHP. Это полезно, поскольку весь код и данные, связанные с проектом, хранятся в одном каталоге. И это работает без проблем на наших машинах для разработки Windows.
Но это становится сложно в моем Linode Ubuntu VPS. Я вхожу в систему как root, используя SSH, и все файлы, которые я пишу в этом сеансе, принадлежат root. Но потом,
- все каталоги PHP должны быть доступны для чтения и записи с помощью www-данных, которые использует Apache.
- индексы Solr должны быть доступны для чтения и записи с помощью tomcat6, от которого Tomcat работает.
Отсюда мой поток для развертывания нового проекта:
- Войдите в систему как root с SSH и скопируйте файлы на www
- используйте chown, чтобы сделать проект владельцем www-data
- используйте chown для создания подкаталога индекса Solr, принадлежащего tomcat6
Очевидный способ сделать это простым - создать нового пользователя xx, запустить Apache и Tomcat как xx и загрузить в SSH как xx. Что такое хорошее решение, чтобы я мог просто загрузить файлы, чтобы и Apache, и Tomcat могли использовать его без каких-либо дополнительных настроек?