Настройка прав на сервере
Настройка прав на сервере
Всех приветствую!
Есть сервер, на котором нужно развернуть окружение для разработчиков. Загвоздка в том, что каждый разработчик должен видеть только свои проекты(файлы и папки внутри своей рабочей директории). В целом по типу обычного хостинга.
Должно быть так:
я захожу по ssh, попадаю в свою папку, в ней проекты с кодами, php.ini(не обязательно), логи моих проектов. Ни php-скриптами, ни через консоль я даже не вижу какие еще есть пользователи и проекты.
Инструментарий:
nginx,
php-fpm,
mariadb.
Подскажите, пожалуйста, хотя бы в общем схему организации всего этого, но только не частями, а именно комплексную. Знаю про chroot, acl, пулы php-fpm'a и т.д., но в общую картину это у меня не складывается. Гуглил, всё завалено каким-то мусором, типа "Как настроить виртуальный хост в nginx" ... А толкового по делу - не нашел.
Заранее спасибо всем, кто поделится этим бесценным опытом
Есть сервер, на котором нужно развернуть окружение для разработчиков. Загвоздка в том, что каждый разработчик должен видеть только свои проекты(файлы и папки внутри своей рабочей директории). В целом по типу обычного хостинга.
Должно быть так:
я захожу по ssh, попадаю в свою папку, в ней проекты с кодами, php.ini(не обязательно), логи моих проектов. Ни php-скриптами, ни через консоль я даже не вижу какие еще есть пользователи и проекты.
Инструментарий:
nginx,
php-fpm,
mariadb.
Подскажите, пожалуйста, хотя бы в общем схему организации всего этого, но только не частями, а именно комплексную. Знаю про chroot, acl, пулы php-fpm'a и т.д., но в общую картину это у меня не складывается. Гуглил, всё завалено каким-то мусором, типа "Как настроить виртуальный хост в nginx" ... А толкового по делу - не нашел.
Заранее спасибо всем, кто поделится этим бесценным опытом
Последний раз редактировалось IvanChe 2014.08.07, 12:59, всего редактировалось 1 раз.
Re: Настройка прав на сервере
>Знаю про chroot, acl, пулы php-fpm'a и т.д.,
что это?))) че за дистр?
путь /etc/nginx/sites-avaliabel/ оно ссылками должно в ../sites-enabled/ в /etc/hosts указываешь "алиасы" в системд управлять # systemctl start|restart|stop , journald намекает на логи
что это?))) че за дистр?
путь /etc/nginx/sites-avaliabel/ оно ссылками должно в ../sites-enabled/ в /etc/hosts указываешь "алиасы" в системд управлять # systemctl start|restart|stop , journald намекает на логи
Re: Настройка прав на сервере
chroot - это запертая зона для ssh или для php её можно устанавливать, чтобы скрипты и пользователь видел директорию, которая является его "песочницей"(например домашняя директория) корнем файловой системы для себя, хотя по факту он может находиться не в корне, а в /home/username.lynicidn писал(а):>Знаю про chroot, acl, пулы php-fpm'a и т.д.,
что это?)))
acl - это расширенная система управления правами на сервере, которая дает возможность выставлять права не только на основе привычных нам rwx для владельца файла, группы и остальных, а также и для для конкретных пользователей/групп и т.д.
пулы php-fpm - это пулы )) С их помощью можно, например, выполнять пхп код для рызных хостов/файлов от разных пользователя/группы. Так же для каждого пула можно указывать свой chroot.
Я использую Centos 6.5, но схему готов услышать о любом униксовом дистрибутиве. Аналогию на свой дистр, думаю, хватит знаний сделать.lynicidn писал(а):че за дистр?
Как прописать виртуальные хосты nginx и настроить для него логи - итак понятно.lynicidn писал(а):путь /etc/nginx/sites-avaliabel/ оно ссылками должно в ../sites-enabled/ в /etc/hosts указываешь "алиасы" в системд управлять # systemctl start|restart|stop , journald намекает на логи
Вопрос как организовать в комплексе систему разделения "песочниц" для разработчиков.
Из газообразного состояния мыслей на этот счет в моей голове витает какая-то такая схема:
- При заходе по ssh пользователь попадает в свою домашнюю директорию, которая является для него chroot'ом и её он видет, как корень файловой системы.
- В домашей директории лежат основые команды , типа bash, ls, vim и т.д.
- хосты nginx'а для разработчиков настраиваю я вместе с отдельным php-fpm пулом для каждого разработчика, тем самым пхп скрипты выполняются от имени и группы пользователя и php имеет chroot его дом. директорию.
- логи nginx и php-fpm по его проекту складывает в его домашнюю директорию.
Хотелось бы услышать еще какие-то варианты, может и без chroot'ов всё это можно сделать и без отдельных пулов для каждого.
Re: Настройка прав на сервере
gitolite для управления и настройки кто куда что может, gitlab = свой гитхаб, ссш думаю не стоит давать, ну разве что на запуск скриптов, не более
Re: Настройка прав на сервере
какой девелоперский сервер без ссш?
Re: Настройка прав на сервере
если ты поднимаешь там свой репозиторий, то лучше не надо туда давать доступ
Re: Настройка прав на сервере
как минимум - как миграцию запустить?
Re: Настройка прав на сервере
хуки есть, есть в композере события, на апдейт и интерактивный режим
Re: Настройка прав на сервере
а обычную консольную комманду?
Re: Настройка прав на сервере
а причем тут это?
Re: Настройка прав на сервере
автоматизация процесса деплоя сборок, ты же не будешь каждый раз вручную миграции накатывать7
Re: Настройка прав на сервере
Ну миграции в любом случае придется вручную натягивать. Для многих расширений и модулей, миграция лежит не в стандартной папке.
Да и смысл этого сервера в том, что девелоперы, для которых этот серв, разрабатывают в том числе и на cms, которые в гит загнать просто не реально.
Да и смысл этого сервера в том, что девелоперы, для которых этот серв, разрабатывают в том числе и на cms, которые в гит загнать просто не реально.
Re: Настройка прав на сервере
лолчто?IvanChe писал(а): которые в гит загнать просто не реально.
Re: Настройка прав на сервере
вот ниче так каменты https://github.com/yiisoft/yii2/issues/1772
Re: Настройка прав на сервере
Согласен, про невозможно я погорячился. Конечно возможно, но не вижу в этом нужды. Усложнять простую задачу для cms'ника всякими гитами и прочим ? Некоторые из них понятия не имеют, что такое гит и зачем всё это нужно. Да и задачи на цмс, как правило, слепил - выкатил - забыл. Но есть и противоположные, сложные и крупные проекты, которые этим цмсникам видеть вообще ни к чему. Поэтому вопрос больше к организации хостинга.lynicidn писал(а):лолчто?
Да, занимательные комментарии, но проблемы с дампом и миграциями у меня пока нет.lynicidn писал(а):вот ниче так каменты https://github.com/yiisoft/yii2/issues/1772
Всё же хочется услышать именно - "Как организовать хостинг, чтобы пользователь не мог видеть выше своей песочницы. Но при этом приложение/сайты должны нормально обрабатываться nginx'ом и php-fpm'ом."
Re: Настройка прав на сервере
гит это в первую очередь безопасность и откат на любое состояние при разработке, плюс введение нескольких задач одновременно
Re: Настройка прав на сервере
Не о гите разговор. При настройке правильной хостинга можно его использовать, где он действительно нужен. Но для мелких работ он избыточен.