Итак, у меня странный вопрос, но я работаю над сценарием для развертывания кодовой базы PHP и хочу посмотреть, возможно ли что-то подобное:
У меня есть каталог, который Apache использует как DocumentRoot:
/home/www/
У нас есть приложение PHP, которое должно добавить в этот каталог несколько файлов и каталогов.
В настоящее время мы делаем это, SCP загружает tar-файл и распаковывает его в / home / www. Я хочу сделать это лучше, потому что, когда мы извлекаем файлы, наше приложение PHP получает некоторые ошибки разрешений на чтение. Я бы хотел обновить этот файл атомарно внутри /home/www
(и желательно «сразу»)
Есть ли способ сделать это без создания символической ссылки на каждый файл / каталог, который я извлекаю в веб-каталог?
Обычно я настраиваю что-то вроде этого.
/var/www/version1
/var/www/version2
/var/www/production (document root, symlink -> current version)
Таким образом, вы просто загружаете в новый каталог, после завершения загрузки настраиваете свою символическую ссылку, и все сразу меняется.
Когда приложения спроектированы таким образом, чтобы отделить код от приложения (как они должны!), то жизнь намного сложнее. Возможно, вам придется что-то сделать с unionfs.