@programmer403

Своя панель управления веб-сервером как реализовать связь с файлами системы?

Появилась идея сделать свою панель типа ISP Manager на PHP
суть для начала сделать пару простых вещей:
Создание виртуальных хостов в конфиге Apache и Nginx
Собственно застопорился на этапе как создавать свои файлы(конфиги) в папке /etc/... сохранять и редактировать их если выполнением скрипта занимается www-data - ну то-есть у него прав на все директорию выше сайта.. вот интересно как делает это isp и подскажите куда вообще смотреть по поводу работы с файлами серверами в PHP-скриптах
  • Вопрос задан
  • 575 просмотров
Решения вопроса 1
Singaporian
@Singaporian
Есть три варианта, как это сделать:
1. Создать данные нового виртхоста в нейтральном месте (SQL, MQ, key-val storage или временный файл).
По крону или через судо-скрипт запустить импорт этих данных в файл + последующее удаление, если импорт был успешен.

2. При установке панели сделать postinstall скрипт, который создает директорию, принадлежающую www-data в /etc/nginx/virtualhosts/ - тогда рут не понадобится.

3. Не держать виртхоты в этом месте вообще. А держать их в SQL или LDAP.
Последнее вообще является, пожалуй, самым элегантным путем, потому что позволит дальше перейти на Zero-configuration подход (будет у вас масштабирование красивое, по уму).
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Посмотри реализацию VestaCP
Там все действия написаны на bash, а веб уже запускает их
Ответ написан
Комментировать
Sanes
@Sanes
Можно на bash, как советует Александр Александрович А можно вот так.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы