- 追加された行はこの色です。
- 削除された行はこの色です。
*OpenSSL [#o61b1513]
[[OpenSSL:+http://www.openssl.org/]]
apacheのhttpsやら、その他暗号化通信で使えるライブラリ。
現在の主流は0.9.xだが、今後は1.0.xになると思われる。
また、2.0.xという次世代(なのか?)のバージョンも開発されている模様。
*Apache [#d1379e89]
[[Apache:+http://httpd.apache.org/]]
Linux用WWWサーバの代名詞。
apache2.4からは設定方法が色々と変更されているので注意。
~
*インストール [#g34b2e89]
&size(16){&font(b){1. ソースのコンパイル};};
その他ソースコンパイルで使われる“./configure”ではなく“./config”なので注意
OpenSSLを共有(シェアード)ライブラリとして使いたいので、コンフィグオプションに“shared”を付与
# tar zxvf openssl-1.0.1c.tar.gz
# cd openssl-1.0.1c
# ./config --prefix=/usr/local/openssl shared
*インストール [#l4783199]
&size(16){&font(b){1. 前準備};};
ソースから入れる前にpkgconifgを統一しておく。
他の場合でもやった方がよさそうだが、書くのが面倒くさいので省略。
(Linux入れたら、とりあえずLAMP構築するだろうからここだけで大丈夫だべ)
# cd /usr/local/lib64
# ln -s /usr/lib64/pkgconfig .
# cd /usr/local/lib
# mkdir /usr/lib/pkgconfig
# ln -s /usr/lib/pkgconfig .
~
&size(16){&font(b){2. APRのインストール};};
apacheのソースと一緒にコンパイルする方法もあるらしいが、
自分の環境では上手くいかなかったので別でコンパイルする。
# tar zxvf apr-1.4.6.tar.gz
# cd apr-1.4.6
# ./configure --prefix=/usr/local/apr
# make
# make test
# make install
~
&size(16){&font(b){2. 共有ライブラリパスの登録};};
# cd /usr/local/openssl/lib
# touch /etc/ld.so.conf.d/openssl.conf
# pwd >> /etc/ld.so.conf.d/openssl.conf
# ldconfig
&size(16){&font(b){3. APR-Utilのインストール};};
# tar zxvf apr-util-1.5.1.tar.gz
# cd apr-util-1.5.1
# ./configure --with-apr=/usr/local/apr --prefix=/usr/local/apr-util
# make
# make test
# make install
~
*設定 [#u3beb169]
これと言って無いが、必要に応じてPATHを通す。
正直な所、もっと楽に行きたいなら
# ./config shared
&size(16){&font(b){4. Apacheのインストール};};
initの名前を“httpd”にするとyumとかで入れた物と被ってエラーになる場合がある。
よって、今回は“apache”という名前にしてインストールする。
[[PCRE>Linux/PCRE]]がまだ入ってない場合は、apacheのソースをコンパイルする前に入れておく事。
# tar zxvf httpd-2.4.3.tar.gz
# cd httpd-2.4.3
# vi config
&font(b){※全部一行で書く};
--prefix=/usr/local/apache
--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-ssl=/usr/local/openssl --with-pcre=/usr/local/pcre
--enable-ssl --enable-suexec --enable-rewrite --enable-auth-digest --enable-dav --enable-so
# ./configure `cat ./config`
# make
# make install
# echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
# ldconfig
で十分であったりする。
~
*設定 [#i61f7aa6]
&size(16){&font(b){I. apacheスクリプトのコピー};};
# cp /usr/local/apache/bin/apachectl /etc/init.d/apache
# chmod 755 /etc/init.d/apache
# ln -s /etc/init.d/apache /etc/init.d/httpd
# ln -s ../init.d/apache /etc/rc3.d/S96apache
~
&size(16){&font(b){II. ユーザーの準備};};
# adduser www -d /var/apache -s /sbin/nologin
# rm -rf /var/apache
# mkdir -p /var/apache/html
# chown -R root.www /var/apache
~
&size(16){&font(b){III. apacheの設定};};
# cd /usr/local/apache/conf
&font(b){※以下のファイルを設定していく。他は必要の応じて};
# vi httpd.conf
# vi extra/httpd-default.conf
# vi extra/httpd-languages.conf
~
*アクセス制限 [#qeaec962]
apache2.2系統とapache2.4系統ではアクセス制限のやり方が変わっているので注意
&size(16){&font(b){A. apache2.2};};
全てのアクセス許可する
Order allow,deny
Allow from all
全てのアクセスを拒否する
Order deny,allow
Deny from all
~
&size(16){&font(b){B. apache2.4};};
全てのアクセスを許可する
Require all granted
全てのアクセスを拒否する
Require all denied