Привет, я веб-разработчик по профессии, а не серверный инженер, пожалуйста, терпите меня!
У меня только что появился новый сервер Ubuntu LAMP VPS, который я пытаюсь настроить.
Я понимаю, что запуск php как apache-mod - это самый быстрый способ запустить php. но для этого я должен установить свои каталоги на 777, чтобы php мог писать в них. И, в свою очередь, ftp больше не может удалять каталоги, созданные php.
Это не кажется идеальным.
Я понимаю, что при использовании fast-cgi «пользователь php» и «пользователь ftp» одинаковы, поэтому у вас не возникает этих проблем, и вам не нужно открывать каталоги на 777, чтобы разрешить запись, что, как я понимаю, является проблемой безопасности.
Итак, каковы плюсы / минусы
Спасибо
РЕДАКТИРОВАТЬ
Так что хорошо, что 777 явно не годится. Но как мне сделать так, чтобы пользователь apache-mod и ftp был одним и тем же - как уже упоминалось, я не администратор сервера! Спасибо
Apache с mod_php прост в настройке и работает быстро, но не масштабируется. Для каждого запроса требуется полный поток, включающий apache и все его модули. Это именно то, что делает его быстрым - каждый запрос получает выделенный экземпляр php. С другой стороны, очень небольшое количество одновременных запросов займет всю доступную память и замедлит ваш сервер до обхода.
Если вы пойдете по маршруту mod_php - ответ @fuscata предлагает хороший подход - используйте группы, чтобы ваши каталоги и файлы не могли записывать "другие". Другой вариант - просто сделать вашего FTP-пользователя таким же, как пользователь, от имени которого запускается apache, хотя это не очень хорошо с точки зрения безопасности.
Я определенно предлагаю подход fast-cgi - помимо того факта, что вы можете правильно реализовать свои разрешения, он намного лучше использует доступные ресурсы. Хотя для одного запроса это немного медленнее, при более высокой нагрузке общая производительность будет намного лучше, чем с mod_php.
Используйте mod_fastcgi с php-fpm - настройте пулы php-fpm с именами пользователей, соответствующими вашим пользователям FTP, и используйте максимально ограничительные разрешения - 755 обычно приемлемо для каталогов (но вы должны иметь возможность использовать 750) рассмотрите возможность установки разрешений на ваши файлы PHP на 640 - для "другого" на самом деле не нужны разрешения на чтение ваших файлов (это особенно верно для файлов, которые содержат пароли базы данных, ключи электронной торговли и т.д., хотя они должны быть установлены на 600 - или 400, как только вы введете данные).
Если вы решите придерживаться mod_php, есть несколько вариантов, но вот что я предлагаю: