目次
apache
since 2010-08
正式には apache httpd server。
apache の導入
Ubuntu 9.04 における作業記録。どこかのホスティングで何かをするための調査。
いわゆる LAMP 環境(ここではMySQL, PHP)を構築してみる。
バーチャルホスト(ネームベース)で wordpress を動かしてみることを目標にする。
ひとつのサーバで複数のドメインを運用し、さらにそれぞれのドメインで複数のサブドメインを運用する。
$ sudo aptitude update $ sudo aptitude install apache2 php5-mysql
これで /var/www/index.html が見える。
phpinfo.php を作って <?php phpinfo() ?> などとやれば、 ブラウザでサーバの情報が得られる。
サイト設定 /etc/apache2/sites-enabled/000-default
<VirtualHost *:80> # 以下略
の設定が書かれている。(このファイルはシンボリックリンク。実体は ../sites-available/default である)
同じディレクトリには default-ssl もあるが、https は動いていない。
バーチャルホストの追加
このホストを hoge.net とする。
a.hoge.net が同じアドレスを指すように DNS を設定する。
/etc/apache2/sites-available/hogenet_a というファイルを作る。
<VirtualHost *:80> <Directory /home/username/htdocs/hogenet/a/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ServerName a.hoge.net DocumentRoot "/home/username/htdocs/hogenet/a" </VirtualHost>
これを sites-enabled からリンクする。
本当は a2ensite でやる。
$ sudo /usr/sbin/a2ensite hogenet_a
手でリンクする場合。
$ cd /etc/apache2/sites-enabled $ sudo ln -s ../sites-available/hogenet_a 100-hogenet_a
実体は /home/username/htdocs/hogenet/a/index.html など作る。
テスト:
$ sudo apache2ctl configtest
有効化する
$ sudo /etc/init.d/apache2 restart
これでブラウザから h ttp:/ /a.hoge.net を叩いて確認。
hosts
apache2 の再起動時に "apache2: Could not reliably determine the server's fully qualified domain name, … " が出るのを黙らせる。
$ cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 servername.topdomain servername
logrotate
/var/log/apache2/*.log が巨大化するので、週ごとにファイル分割:
$ sudo apt-get install logrotate
設定変更するには /etc/logrotate.conf および /etc/logrotate.d/* を編集。
モジュール
- モジュール有効化は sudo a2enmod (module)
- モジュール無効化は sudo a2dismod (module)
mod_rewrite
wordpress で ?p=1 でない parmalink を使えるようにする。
/etc/apache2/sites-available/the_subdomain で AllowOverride None を無効化
<Directory /home/username/htdocs/the_subdomain/> Options Indexes FollowSymLinks MultiViews => # AllowOverride None
$ sudo a2enmod rewrite Enabling module rewrite. Run '/etc/init.d/apache2 restart' to activate new configuration! $ sudo /etc/init.d/apache2 restart
mod_suexec
ユーザ権限で CGI が動くようにする。
http://d.hatena.ne.jp/magicalhat/20081226/1230220014
$ sudo aptitude install apache2-suexec-custom $ sudo a2enmod suexec $ sudo /etc/init.d/apache2 restart
現状 phpinfo によると
APACHE_RUN_GROUP www-data APACHE_RUN_USER www-data
だが apache2handler の項目をみると mod_suexec が有効化している。
mod_suphp
http://www.suphp.org/Home.html
PHPファイルを所有者の権限で動かす機能。
使うべきかどうかわからないが試してみた。
入れると ubuntu のパッケージに不具合が生じる可能性がある。phpmyadmin など。
$ sudo aptitude install libapache2-mod-suphp
phpinfo によると
Loaded Modules: ... mod_suphp
これで /etc/apache2/sites-available/the_subdomain を修正
User username Group groupname <VirtualHost *:80> <Directory /home/username/htdocs/the_subdomain/> Options Indexes FollowSymLinks MultiViews # AllowOverride None Order allow,deny allow from all </Directory> ServerName the_subdomain.domain.topdomain DocumentRoot "/home/username/htdocs/the_subdomain/" SuexecUserGroup username groupname </VirtualHost>
phpinfo で
Server API Apache 2.0 Handler
になっているのは mod_php5 が使われているということらしい。
apache2handler はこんどは
User/Group: username(1xxx)/1000
になった。
mod_proxy
since 2010-12-08
/usr/local/apache2 にインストールした apache 2.0.64 にて。
configure オプションには –enable-proxy=shared を追加。
httpd.conf は下記:
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so
メールの設定
postfix 参照
mysql の設定
別のページに移動する予定
$ sudo aptitude install mysql-server
パスワードをつけろと言われる。
root (mysql-passwd)
ソースから環境を作る
since 2010-12-06
apache 2.0
古いバージョンの Linux 環境で新しい php を動かしたい。
http://httpd.apache.org/docs/2.0/install.html
検討中:
$ cd httpd-2.0.64/ $ sh configure --prefix=/usr/local/apache2 --enable-rewrite=shared --enable-proxy=shared --enable-so $ make $ su # make install
試験運用のためポート 8000 を使う。
# emacs -nw /usr/local/apache2/conf/httpd.conf Listen 8000
動かす:
# /usr/local/apache2/bin/apachectl start
http: / / server:8000/ が見える。
ログは下記:
$ lv /usr/local/apache2/logs/error_log
とめておく:
# /usr/local/apache2/bin/apachectl stop
php 5.3
php はここに:
http://www.php.net/manual/en/install.unix.apache2.php
configure で expr のエラーが出るときは:
- http://rescue.unchor.com/32 まあ無視しておく。。
$ cd php-5.3.3 $ ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --enable-mbstring --with-iconv $ make $ su # make install # cp php.ini-development /usr/local/lib/php.ini
確認:
$ grep php5 /usr/local/apache2/conf/httpd.conf LoadModule php5_module modules/libphp5.so
その下に下記を追加:
<FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>
phpinfo ファイルを作る:
$ cd /usr/local/apache2/htdocs/ $ sudo sh -c 'echo "<?php phpinfo() ?>" > phpinfo.php'
apachectl start して サーバー:8000/phpinfo.php を確認。
"/~username" を見えるようにしたいなら、httpd.conf で下記を:
<Directory /home/*/public_html> #AllowOverride FileInfo AuthConfig Limit Indexes AllowOverride All # omitted </Directory>
資料
<html> <div class="amazlet-box" style="margin-bottom:0px;"><div class="amazlet-image" style="float:left;margin:0px 12px 1px 0px;"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4873113814/r4wh-22/ref=nosim/" name="amazletlink" target="_blank"><img src="http://ecx.images-amazon.com/images/I/515t-Vj3AAL._SL160_.jpg" alt="Apacheクックブック 第2版 ―Webサーバ管理者のためのレシピ集" style="border: none;" /></a></div><div class="amazlet-info" style="line-height:120%; margin-bottom: 10px"><div class="amazlet-name" style="margin-bottom:10px;line-height:120%"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4873113814/r4wh-22/ref=nosim/" name="amazletlink" target="_blank">Apacheクックブック 第2版 ―Webサーバ管理者のためのレシピ集</a><div class="amazlet-powered-date" style="font-size:80%;margin-top:5px;line-height:120%">posted with <a href="http://www.amazlet.com/browse/ASIN/4873113814/r4wh-22/ref=nosim/" title="Apacheクックブック 第2版 ―Webサーバ管理者のためのレシピ集" target="_blank">amazlet</a> at 10.08.12</div></div><div class="amazlet-detail">Ken Coar Rich Bowen <br />オライリージャパン <br />売り上げランキング: 34333<br /></div><div class="amazlet-sub-info" style="float: left;"><div class="amazlet-review" style="margin-top:10px; margin-bottom:10px"><div class="amazlet-review-average" style="margin-bottom:5px">おすすめ度の平均: <img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-5.gif" alt="4.5" /></div><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 非常に実用的<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-5-0.gif" alt="5" /> 著者のセンス!<br /><img src="http://images-jp.amazon.com/images/G/09/x-locale/common/customer-reviews/stars-4-0.gif" alt="4" /> 構築のレシピ集<br /></div><div class="amazlet-link" style="margin-top: 5px"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4873113814/r4wh-22/ref=nosim/" name="amazletlink" target="_blank">Amazon.co.jp で詳細を見る</a></div></div></div><div class="amazlet-footer" style="clear: left"></div></div> </html>