Elastic BeanstalkでEC2を立ち上げる際、ApacheのDocument Rootは
httpd.conf
DocumentRoot "/var/www/html/"
となっています。
これを変更しようとしたのですが、ちょっとトリッキーなことをしたので、残しておきます。
環境
64bit Amazon Linux/2.9.3
Apache/2.4.41
やり方
.ebextensionsのフォルダ内に以下のファイルを入れます。
apache.config
files:
/etc/httpd/conf/myhttpd.conf:
content: |
##以下にDocment Rootを変更したconfファイルの内容を記載する
##例えば↓↓
DocumentRoot "/var/www/html/public"
#### End of AWS Settings ####
container_commands:
00-rm-httpd-conf:
command: "sudo rm /etc/httpd/conf/httpd.conf"
01-cp-conf-file:
command: "sudo cp /etc/httpd/conf/myhttpd.conf /etc/httpd/conf/httpd.conf"
02-httpd-restart:
command: "sudo httpd -k restart"
このファイルでは
①Document Rootを変更した設定ファイルmyhttpd.conf
をEC2に置く
②元々の設定ファイルhttpd.conf
でApacheを立ち上げた後、httpd.conf
を削除する
③myhttpd.conf
をhttpd.conf
に置き換える
④Apacheを再起動する
という手順を踏んでいます。
この手順を踏んでいる理由
元々は最初のApacheの立ち上げの前からhttpd.conf
を上書きしようとしたのですが、そうするとなぜかDocument Rootがデフォルトに書き換わってしまいました。
なので、ちょっとトリッキーな手順を踏みました。