APACHE

基礎知識

名前 表示名 モジュールのON/OFF メリット 組み込み方法
静的モジュール static 再インストール モジュールの読み込みにかかる負荷が小さい 再インストール
動的モジュール(DSO) shared 設定ファイルで変更可 比較的簡単にモジュールを組み込める apxsコマンド

ソースからインストール

  • 作業用ディレクトリの作成
[root@localhost ~]# mkdir -p /usr/local/setup ;cd /usr/local/setup ;mkdir archive make
  • ダウンロード
[root@localhost setup]# cd /usr/local/setup/archive
[root@localhost archive]# wget http://www.eu.apache.org/dist/httpd/httpd-2.2.15.tar.gz
[root@localhost archive]# md5sum httpd-2.2.15.tar.gz
31fa022dc3c0908c6eaafe73c81c65df  httpd-2.2.15.tar.gz
[root@localhost make]# cd ../make/
[root@localhost make]# tar -zxvf ../archive/httpd-2.2.15.tar.gz
  • 必要パッケージ
sslで停止してしまうのでopenssl-develをインストール
[root@localhost httpd-2.2.15]# yum install openssl-devel -y
configure: error: ...No recognized SSL/TLS toolkit detected
  • インストール
[root@localhost httpd-2.2.15]# cd ../make/httpd-2.2.15/
./configure \
--prefix=/usr/local/apache \
--enable-so \
--enable-proxy \
--enable-proxy-ajp \
--enable-proxy-balancer \
--enable-dav \
--enable-dav_fs \
--enable-dav-lock \
--enable-rewrite \
--enable-ssl 2>&1 |tee configure_100429.log
モジュール名 説明 URL
--enable-so DSOモジュールの有効
--config-cache configureは実行した際にconfig.cacheファイルを作成。再度configureする際、このconfig.cacheを再利用する。 http://d.hatena.ne.jp/ampmmn/20081123/1227423981
--enable-proxy プロキシ機能
--enable-proxy-ajp TomcatをApache連携させる際に使うプロトコル(AJP) http://d.hatena.ne.jp/keyword/AJP
--enable-proxy-balancer ロードバランス機能 http://www.atmarkit.co.jp/flinux/special/apache22/apache03.html
--enable-dav webDAVで使用 http://honana.com/apache/22/install.html
--enable-dav_fs webDAVで使用
--enable-dav-lock webDAVで使用
--enable-vhost-alias バーチャルホスト
[root@localhost httpd-2.2.15]# make 2>&1 |tee make_100429.log
[root@localhost httpd-2.2.15]# make install 2>&1 |tee make_100429_install.log
  • モジュールの確認
[root@localhost local]# /usr/local/apache/bin/httpd -M
[root@localhost local]# /usr/local/apache/bin/httpd -l
-M→静的・動的モジュール表示
-l→静的モジュールのみ表示
  • 起動
[root@localhost ~]# /usr/local/apache/bin/apachectl start
  • 起動確認
[root@localhost ~]# ps aux|grep httpd
  • 自動起動
[root@localhost ~]# cp /usr/local/setup/make/httpd-2.2.15/build/rpm/httpd.init /etc/rc.d/init.d/httpd
[root@localhost ~]# vi /etc/rc.d/init.d/httpd
httpd=${HTTPD-/usr/local/apache/bin/httpd}
CONFFILE=/usr/local/apache/bin/conf/httpd.conf
pidfile=${PIDFILE-/usr/local/apache/log/httpd.pid}
[root@localhost ~]# chkconfig --add httpd
[root@localhost ~]# chkconfig httpd on
  • ブラウザで接続確認
http://192.168.1.104/

RCS

[root@localhost conf]# cd /usr/local/apache/conf/
[root@localhost conf]# mkdir RCS
[root@localhost conf]# ci httpd.conf
[root@localhost conf]# co -u -l httpd.conf

基本的な設定ファイル変更

  • apacheユーザ作成
[root@localhost ~]# useradd apache -M -s /sbin/nologin
  • 設定ファイル
番号は目安です。
[root@localhost ~]# vi /usr/local/apache/conf/httpd.conf
※全てのインターフェースから指定したポート番号のリクエストを受け付けます。
40 Listen 80

 ※ServerNameについて(リダイレクト時に使用):http://www.atmarkit.co.jp/flinux/rensai/apache05/apache05b.html 
89 ServerAdmin water1987@live.jp
99 ServerName  water0.dip.jp:80

※ドキュメントルート変更
107 DocumentRoot "/var/www"

※ドキュメントルート変更のため"/usr/local/apache/htdocs"のディレクティブをコメントアウト
134 #<Directory "/usr/local/apache/htdocs">

※新ドキュメントルート用に追加
164 <Directory "/var/www">
165         Options FollowSymLinks
166         AllowOverride None
167         Order allow,deny
168         Allow from all
169 </Directory>

※cgi関連はコメントアウト
252 #    ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
257     #
258     # ScriptSock: On threaded servers, designate the path to the UNIX
259     # socket used to communicate with the CGI daemon of mod_cgid.
260     #
261     #Scriptsock logs/cgisock
386 Include conf/extra/httpd-info.conf
  • server-statusに対してローカルアドレスを許可
[root@localhost ~]# vi /usr/local/apache/conf/extra/httpd-info.conf
Allow from 192.168.1.0/24
※/server-infoはmod_info.cを組み込んでいないのですべてコメントアウト
  • ドキュメントルートのディレクトリ作成
[root@water0 ~]# chown apache:apache /var/www/
[root@water0 ~]# chmod 777 /var/www/
  • 確認
http://192.168.1.104/

HTTPS接続

自己署名証明書を使用する
[root@localhost ~]#  cd /usr/local/apache/conf/
  • 秘密鍵を生成
[root@localhost conf]# openssl genrsa -des3 1024 > server_pass.key
Generating RSA private key, 1024 bit long modulus
...++++++
.++++++
e is 65537 (0x10001)
Enter pass phrase:
Verifying - Enter pass phrase:
  • パスフレーズを抜く
[root@localhost conf]# openssl rsa -in server_pass.key -out server.key
Enter pass phrase for server_pass.key:
writing RSA key
  • CSRファイル作成
認証局(CA)からデジタル証明書を発行してもらうときに必要
[root@localhost conf]# openssl req -new -key server.key > server.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:JP
State or Province Name (full name) [Berkshire]:TOKYO
Locality Name (eg, city) [Newbury]:SETAGAYA-KU
Organization Name (eg, company) [My Company Ltd]:water0
Organizational Unit Name (eg, section) []:water0-team
Common Name (eg, your name or your server's hostname) []:water0.dip.jp
Email Address []:water1987@live.jp

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
  • デジタル証明書の作成
本当はCAがする処理。実際に行うとお金と手間がかかります。
[root@localhost conf]# openssl x509 -in server.csr -days 1000 -req -signkey server.key > server.crt
Signature ok
subject=/C=JP/ST=TOKYO/L=SETAGAYA-KU/O=water0/OU=water0-team/CN=water0.dip.jp/emailAddress=water1987@live.jp
Getting Private key
  • 確認
  • apache再起動
  • アクセス確認
https://192.168.1.104/
※WiresharkなどでHTTPS通信しているか確認
参考:http://www.wireshark.org/download.html
※ルータの設定で外部からの通信80と443を空けておく。
※携帯電話を使用すると外部からの通信が確認できる。


名前:
コメント:
  • あまりにも静的モジュールが多いので取捨選択する。

タグ:

apache
最終更新:2010年05月09日 15:34
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。