Я в грязной ситуации, в которой участвуют Apache и Tomcat 6. Я работаю над PHP проектами с Apache.

Я использую Tomcat для запуска Solr, RESTful-интерфейса для поиска. Я помещаю индекс Solr в приложение PHP. Это полезно, поскольку весь код и данные, связанные с проектом, хранятся в одном каталоге. И это работает без проблем на наших машинах для разработки Windows.


Но это становится сложно в моем Linode Ubuntu VPS. Я вхожу в систему как root, используя SSH, и все файлы, которые я пишу в этом сеансе, принадлежат root. Но потом,

  1. все каталоги PHP должны быть доступны для чтения и записи с помощью www-данных, которые использует Apache.
  2. индексы Solr должны быть доступны для чтения и записи с помощью tomcat6, от которого Tomcat работает.

Отсюда мой поток для развертывания нового проекта:

  1. Войдите в систему как root с SSH и скопируйте файлы на www
  2. используйте chown, чтобы сделать проект владельцем www-data
  3. используйте chown для создания подкаталога индекса Solr, принадлежащего tomcat6

Очевидный способ сделать это простым - создать нового пользователя xx, запустить Apache и Tomcat как xx и загрузить в SSH как xx. Что такое хорошее решение, чтобы я мог просто загрузить файлы, чтобы и Apache, и Tomcat могли использовать его без каких-либо дополнительных настроек?

1 ответ1

2

Поместите www-data и tomcat6 в одну группу и добавьте своего пользователя (или пользователя root) в эту группу. sg и umask поэтому файлы, которые вы копируете, получают правильную группу и имеют g+rw.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .