Настройка прав на сервере

Различные вопросы по установке и настройке фреймворка, конфигурции веб-сервера и IDE.
Ответить
IvanChe
Сообщения: 89
Зарегистрирован: 2012.11.25, 18:55

Настройка прав на сервере

Сообщение IvanChe » 2014.08.05, 22:19

Всех приветствую!
Есть сервер, на котором нужно развернуть окружение для разработчиков. Загвоздка в том, что каждый разработчик должен видеть только свои проекты(файлы и папки внутри своей рабочей директории). В целом по типу обычного хостинга.
Должно быть так:
я захожу по ssh, попадаю в свою папку, в ней проекты с кодами, php.ini(не обязательно), логи моих проектов. Ни php-скриптами, ни через консоль я даже не вижу какие еще есть пользователи и проекты.
Инструментарий:
nginx,
php-fpm,
mariadb.
Подскажите, пожалуйста, хотя бы в общем схему организации всего этого, но только не частями, а именно комплексную. Знаю про chroot, acl, пулы php-fpm'a и т.д., но в общую картину это у меня не складывается. Гуглил, всё завалено каким-то мусором, типа "Как настроить виртуальный хост в nginx" ... А толкового по делу - не нашел.
Заранее спасибо всем, кто поделится этим бесценным опытом :)
Последний раз редактировалось IvanChe 2014.08.07, 12:59, всего редактировалось 1 раз.

lynicidn
Сообщения: 2221
Зарегистрирован: 2014.05.24, 15:12

Re: Настройка прав на сервере

Сообщение lynicidn » 2014.08.06, 02:28

>Знаю про chroot, acl, пулы php-fpm'a и т.д.,
что это?))) че за дистр?
путь /etc/nginx/sites-avaliabel/ оно ссылками должно в ../sites-enabled/ в /etc/hosts указываешь "алиасы" в системд управлять # systemctl start|restart|stop , journald намекает на логи

IvanChe
Сообщения: 89
Зарегистрирован: 2012.11.25, 18:55

Re: Настройка прав на сервере

Сообщение IvanChe » 2014.08.06, 08:50

lynicidn писал(а):>Знаю про chroot, acl, пулы php-fpm'a и т.д.,
что это?)))
chroot - это запертая зона для ssh или для php её можно устанавливать, чтобы скрипты и пользователь видел директорию, которая является его "песочницей"(например домашняя директория) корнем файловой системы для себя, хотя по факту он может находиться не в корне, а в /home/username.
acl - это расширенная система управления правами на сервере, которая дает возможность выставлять права не только на основе привычных нам rwx для владельца файла, группы и остальных, а также и для для конкретных пользователей/групп и т.д.
пулы php-fpm - это пулы )) С их помощью можно, например, выполнять пхп код для рызных хостов/файлов от разных пользователя/группы. Так же для каждого пула можно указывать свой chroot.
lynicidn писал(а):че за дистр?
Я использую Centos 6.5, но схему готов услышать о любом униксовом дистрибутиве. Аналогию на свой дистр, думаю, хватит знаний сделать.
lynicidn писал(а):путь /etc/nginx/sites-avaliabel/ оно ссылками должно в ../sites-enabled/ в /etc/hosts указываешь "алиасы" в системд управлять # systemctl start|restart|stop , journald намекает на логи
Как прописать виртуальные хосты nginx и настроить для него логи - итак понятно.
Вопрос как организовать в комплексе систему разделения "песочниц" для разработчиков.
Из газообразного состояния мыслей на этот счет в моей голове витает какая-то такая схема:
- При заходе по ssh пользователь попадает в свою домашнюю директорию, которая является для него chroot'ом и её он видет, как корень файловой системы.
- В домашей директории лежат основые команды , типа bash, ls, vim и т.д.
- хосты nginx'а для разработчиков настраиваю я вместе с отдельным php-fpm пулом для каждого разработчика, тем самым пхп скрипты выполняются от имени и группы пользователя и php имеет chroot его дом. директорию.
- логи nginx и php-fpm по его проекту складывает в его домашнюю директорию.

Хотелось бы услышать еще какие-то варианты, может и без chroot'ов всё это можно сделать и без отдельных пулов для каждого.

lynicidn
Сообщения: 2221
Зарегистрирован: 2014.05.24, 15:12

Re: Настройка прав на сервере

Сообщение lynicidn » 2014.08.06, 15:15

gitolite для управления и настройки кто куда что может, gitlab = свой гитхаб, ссш думаю не стоит давать, ну разве что на запуск скриптов, не более

Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Настройка прав на сервере

Сообщение anton44eg » 2014.08.06, 15:51

какой девелоперский сервер без ссш?

lynicidn
Сообщения: 2221
Зарегистрирован: 2014.05.24, 15:12

Re: Настройка прав на сервере

Сообщение lynicidn » 2014.08.06, 16:21

если ты поднимаешь там свой репозиторий, то лучше не надо туда давать доступ :)

Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Настройка прав на сервере

Сообщение anton44eg » 2014.08.06, 16:29

как минимум - как миграцию запустить?

lynicidn
Сообщения: 2221
Зарегистрирован: 2014.05.24, 15:12

Re: Настройка прав на сервере

Сообщение lynicidn » 2014.08.06, 16:46

хуки есть, есть в композере события, на апдейт и интерактивный режим

Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Настройка прав на сервере

Сообщение anton44eg » 2014.08.06, 16:53

а обычную консольную комманду?


Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Настройка прав на сервере

Сообщение anton44eg » 2014.08.06, 19:21

а причем тут это?

lynicidn
Сообщения: 2221
Зарегистрирован: 2014.05.24, 15:12

Re: Настройка прав на сервере

Сообщение lynicidn » 2014.08.06, 19:36

автоматизация процесса деплоя сборок, ты же не будешь каждый раз вручную миграции накатывать7

IvanChe
Сообщения: 89
Зарегистрирован: 2012.11.25, 18:55

Re: Настройка прав на сервере

Сообщение IvanChe » 2014.08.07, 07:25

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

lynicidn
Сообщения: 2221
Зарегистрирован: 2014.05.24, 15:12

Re: Настройка прав на сервере

Сообщение lynicidn » 2014.08.07, 11:09

IvanChe писал(а): которые в гит загнать просто не реально.
лолчто?

lynicidn
Сообщения: 2221
Зарегистрирован: 2014.05.24, 15:12

Re: Настройка прав на сервере

Сообщение lynicidn » 2014.08.07, 12:01

вот ниче так каменты https://github.com/yiisoft/yii2/issues/1772

IvanChe
Сообщения: 89
Зарегистрирован: 2012.11.25, 18:55

Re: Настройка прав на сервере

Сообщение IvanChe » 2014.08.07, 13:05

lynicidn писал(а):лолчто?
Согласен, про невозможно я погорячился. Конечно возможно, но не вижу в этом нужды. Усложнять простую задачу для cms'ника всякими гитами и прочим ? Некоторые из них понятия не имеют, что такое гит и зачем всё это нужно. Да и задачи на цмс, как правило, слепил - выкатил - забыл. Но есть и противоположные, сложные и крупные проекты, которые этим цмсникам видеть вообще ни к чему. Поэтому вопрос больше к организации хостинга.
lynicidn писал(а):вот ниче так каменты https://github.com/yiisoft/yii2/issues/1772
Да, занимательные комментарии, но проблемы с дампом и миграциями у меня пока нет.

Всё же хочется услышать именно - "Как организовать хостинг, чтобы пользователь не мог видеть выше своей песочницы. Но при этом приложение/сайты должны нормально обрабатываться nginx'ом и php-fpm'ом."

lynicidn
Сообщения: 2221
Зарегистрирован: 2014.05.24, 15:12

Re: Настройка прав на сервере

Сообщение lynicidn » 2014.08.07, 13:28

гит это в первую очередь безопасность и откат на любое состояние при разработке, плюс введение нескольких задач одновременно

IvanChe
Сообщения: 89
Зарегистрирован: 2012.11.25, 18:55

Re: Настройка прав на сервере

Сообщение IvanChe » 2014.08.07, 15:58

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

Ответить