2015-12-28 7 views
0

Я использую AWS Opsworks и у меня есть эта поваренная книга с рецептом, который имеет фрагмент кода, который будет редактировать httpd.confкак редактировать cookbook_file, если это символическая

##cookbook file source will check in /files directory 
cookbook_file 'apache settings' do 
    action :create #if exists it will update see doc 
    source 'httpd.conf' 
    path '/etc/httpd/conf/httpd.conf' 
    manage_symlink_source true 
end 

Я думал, что я могу изменить файл, к сожалению, не .. после просмотра журнала путь /etc/httpd/conf/httpd.conf является символической ссылкой в ​​первую очередь. Поэтому всякий раз, когда этот рецепт запускается, он переопределяется в файл. Так что service httpd restart не работает.

Есть ли опция, чтобы она могла нацеливать файл на этой символической ссылке и изменять ее содержимое или есть другой способ?

+0

'manage_symlink_source' показывает шеф-повара, что он должен управлять исходным файлом для символической ссылки. Каков результат, который вы получаете? Шеф создает файл в '/ etc/httpd/conf/httpd.conf' или что? –

+0

создает файл и заменяет символическую ссылку, и это должно быть не так. Я не хочу определять абсолютный путь httpd.conf, я знаю, что очень сложно обновить версию, но насколько мне интересно, если есть способ быть динамичным, я найду способ. –

+0

Я попробую что-то .. Если я правильно помню, это было создание файла, но разрешение файла было неправильным –

ответ

0

Звучит правильно на стороне шеф-повара, хотя убедитесь, что вы используете достаточно новую версию шеф-повара для поддержки свойства manage_symlink_source. Лучше всего не делать этого вообще. Используйте стандартную общинную кулинарию httpd, а не какую-нибудь обезвреженную версию Amazon.

+0

Я вижу, к сожалению, требование AWS opsworks - шеф-повар 12.0 .. поэтому я должен создать свои собственные рецепты. Переведите команды linux команде chef recipes (пока я создал установку httpd -> php -> php extensions и настройку php.ini) –