Apacheのインストール・設定
(参考) http://tobysoft.net/wiki/index.php?Ubuntu%2Fapache2
$ sudo apt-get install apache2
$ apaches -v
Server version: Apache/2.4.18 (Ubuntu)
/etc/apache2/apache2.confやhttpd.confは使わない.
(設定ファイルの場所が結構変わっている)
設定フォルダ | 設定内容 |
---|---|
/etc/apache2/site-available | サイト設定を 000-default.confをもとに新規作成 |
/etc/apache2/conf-available | 必要に応じてsecurity.confなどを修正 |
/etc/apache2/mods-available | モジュール設定はここ |
/etc/apache2/site-enabled | a2ensite/a2dissiteで設定が反映/削除 |
/etc/apache2/conf-enabled | a2enconf/a2disconfで設定が反映/削除 |
/etc/apache2/mods-enabled | a2enmod/a2dismodで設定が反映/削除 |
/etc/apache2/port.conf | port変更の設定はここ? ``(Listen 8080など) |
サイト設定でまとめてCGI設定などもするのが吉?
cgi-binフォルダは公開フォルダ(html下)に置かないこと (参考)
/etc/apache2/site-available/xxxx.conf
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
AddHandler cgi-script .cgi .py
<Directory "/var/www/cgi-bin">
AllowOverride None
Require all granted
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
$ a2ensite xxxx.conf
$ sudo service apache2 reload
注意
- ubuntu16.04では,apach2は "www-data" のuser idで動作している. (apacheやhttpdではない)
- apache2ctl status を出すためには lynxを入れること. (無いとwww-browser: not found で怒られる)
CGIでpoweroffを実行する (root権限で実行する)
(参考) http://changineer.info/server/centos_basic/sudoers.html
/etc/sudoers.d に設定を追加することで,apache (www-data) から,poweroffが実行可能
/etc/sudoers.d/apache
Defaults:www-data !requiretty
Cmnd_Alias POWEROFF = /sbin/poweroff
www-data ALL = (ALL) NOPASSWD: POWEROFF
www-data ALL = (ALL) NOPASSWD: /sbin/reboot
- /etc/sudoers の最後で
"#includedir /etc/sudoers.d"
が有効なことを確認すること
(頭に#がついているが,コメントではない)
(参考)apachのCGI設定
http://qiita.com/YasuyukiKawai/items/231821dd22a72194b3fb
- documentrootの下にcgi-binを置かない
(参考)apache2.4系はアクセス許可の設定の書き方が違うので注意
https://www.softel.co.jp/blogs/tech/archives/3142
- cgi-binのScriptAliasは conf-available/serve-cgi-bin.conf でも設定されているので,site.confで設定する場合,a2disconf serve-cgi-bin で停止.
PHPのインストール
$ sudo apt-get install php
$ sudo apt-get install libapache2-mod-php
ブラウザからphpが動作するか確認.
/var/www/html/info.php
<?php
phpinfo();
?>
設定ファイルは /etc/php/7.0/apache2/php.ini