Linux/Source/Apache
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
ns-lab
nowsky system-lab
DigiLoog
Linux
Windows
開始行:
*Apache [#d1379e89]
[[Apache:+http://httpd.apache.org/]]
Linux用WWWサーバの代名詞。
apache2.4からは設定方法が色々と変更されているので注意。
~
*インストール [#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 .
後は、https通信用に[[OpenSSL>Linux/Source/OpenSSL]]も入れ...
~
&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){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/lo...
# make
# make test
# make install
~
&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...
--enable-ssl --enable-suexec --enable-rewrite --enable-a...
# ./configure `cat ./config`
# make
# make install
~
&size(16){&font(b){5. aprとapacheの一括ビルド};};
#aname(aprbuild)
いつの間にか、ポータブルランタイムとapacheの一括ビルドが...
[[Apache PRP:+https://apr.apache.org/download.cgi]]から、...
それぞれを下記の様に配置すれば、apacheと同時にビルドする...
一括ビルドを行う時は./configureに「--with-included-apr」...
httpd-2.4.**/srclib/apr
httpd-2.4.**/srclib/apr-iconv
httpd-2.4.**/srclib/apr-util
~
*設定 [#i61f7aa6]
&size(16){&font(b){I. apacheスクリプトのコピー};};
# cp ${Apache_SrcDIR}/build/rpm/httpd.init /etc/init.d/a...
# 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
systemdの場合は次のファイルを作成する
# vi /usr/lib/systemd/system/apache.service
# echo 'd /var/run/apache 755 root root -' > /usr/lib/tm...
# systemctl enable apache
# cat /usr/lib/systemd/system/apache.service
---
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
Documentation=man:httpd(8)
Documentation=man:apachectl(8)
[Service]
Type=simple
PIDFile=/var/run/apache/httpd.pid
Environment=CONFIG=/usr/local/apache/conf/httpd.conf
ExecStart=/usr/local/apache/bin/httpd -f ${CONFIG} $OPTI...
ExecReload=/usr/local/apache/bin/httpd -f ${CONFIG} $OPT...
ExecStop=/usr/local/apache/bin/httpd -f ${CONFIG} $OPTIO...
KillSignal=SIGCONT
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Alias=httpd.service
~
&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
~
----
また、apache2.2系統でIPv6をAllow/Denyすると、バグ影響で細...
内部処理的には、IPv6アドレスを指定してもIPを2進数に直した...
&font(b){広範囲のIPv6アドレス制御};しか出来なくなる
-参考:[[CentOS bugs:+https://bugs.centos.org/view.php?id...
-参考:[[serverfault:+https://serverfault.com/questions/4...
0010 1010 . 0000 0001 . 000 |
42 . 1 . 0 |
0010 1010 0000 0001 : 000 | 0 0001 1110 1000
2a01 : | 1e8
|
^ cut here
バグを回避する場合は、APR-v1.4.7以上にアップデートするか、
apache2.4系にアップグレードすると修正されている。
~
*モジュール改変 [#jca360bb]
一部のApacheモジュールはApache2.2用に作られている為、
APIが大幅に変更されたApache2.4ではビルドが通らず、追加イ...
しかし、有名なモジュールについてはCentOSやopenSUSE辺りが、
Apache2.4でもビルド出来るようにするパッチをリリースしてい...
~
&size(16){&font(b){mod_auth_kerb};};
ApacheでSingleSign-Onを実装する場合に必須となるモジュール
パッケージ管理で入れる時は自動でインストール出来るのだが、
Apacheをソースからインストールしている時は、モジュールも...
&font(b){・ドキュメント類};
| ドキュメント | [[Kerberos Module for Apache:+http:/...
| オリジナルソース | [[sourceforge:+https://sourceforge.n...
| 適用ファイル名 | mod_auth_kerb-5.4.tar.gz ...
&font(b){・オリジナルパッチ};
|ディストリ|パッチ配布元|適用済みパッチリスト|
|CentOS|[[httpd24-mod_auth_kerb:+https://git.centos.org/t...
|~|~|fixes.patch|
|~|~|handle-continue.patch|
|~|~|httpd24.patch|
|~|~|longuser.patch|
|~|~|rcopshack.patch|
|~|~|s4u2proxy.patch|
|openSUSE|[[Kerberos Module for Apache:+https://build.ope...
|~|~|cache_auth.patch|
&font(b){・適用方法};
[1] オリジナルソース(mod_auth_kerb-5.4.tar.gz)をダウンロ...
[2] パッチ適用済みソース(mod_auth_kerb-5.4.src_patch.tar...
[3] ダウンロードした2つのファイルを解凍
[4] パッチ適用済みソースの(README、configure.in、src/mod...
-----
$ md5sum mod_auth_kerb-5.4.src_patch.tar.gz
e9260e537e498b88429074c12185e817 mod_auth_kerb-5.4.src_...
終了行:
*Apache [#d1379e89]
[[Apache:+http://httpd.apache.org/]]
Linux用WWWサーバの代名詞。
apache2.4からは設定方法が色々と変更されているので注意。
~
*インストール [#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 .
後は、https通信用に[[OpenSSL>Linux/Source/OpenSSL]]も入れ...
~
&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){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/lo...
# make
# make test
# make install
~
&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...
--enable-ssl --enable-suexec --enable-rewrite --enable-a...
# ./configure `cat ./config`
# make
# make install
~
&size(16){&font(b){5. aprとapacheの一括ビルド};};
#aname(aprbuild)
いつの間にか、ポータブルランタイムとapacheの一括ビルドが...
[[Apache PRP:+https://apr.apache.org/download.cgi]]から、...
それぞれを下記の様に配置すれば、apacheと同時にビルドする...
一括ビルドを行う時は./configureに「--with-included-apr」...
httpd-2.4.**/srclib/apr
httpd-2.4.**/srclib/apr-iconv
httpd-2.4.**/srclib/apr-util
~
*設定 [#i61f7aa6]
&size(16){&font(b){I. apacheスクリプトのコピー};};
# cp ${Apache_SrcDIR}/build/rpm/httpd.init /etc/init.d/a...
# 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
systemdの場合は次のファイルを作成する
# vi /usr/lib/systemd/system/apache.service
# echo 'd /var/run/apache 755 root root -' > /usr/lib/tm...
# systemctl enable apache
# cat /usr/lib/systemd/system/apache.service
---
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
Documentation=man:httpd(8)
Documentation=man:apachectl(8)
[Service]
Type=simple
PIDFile=/var/run/apache/httpd.pid
Environment=CONFIG=/usr/local/apache/conf/httpd.conf
ExecStart=/usr/local/apache/bin/httpd -f ${CONFIG} $OPTI...
ExecReload=/usr/local/apache/bin/httpd -f ${CONFIG} $OPT...
ExecStop=/usr/local/apache/bin/httpd -f ${CONFIG} $OPTIO...
KillSignal=SIGCONT
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Alias=httpd.service
~
&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
~
----
また、apache2.2系統でIPv6をAllow/Denyすると、バグ影響で細...
内部処理的には、IPv6アドレスを指定してもIPを2進数に直した...
&font(b){広範囲のIPv6アドレス制御};しか出来なくなる
-参考:[[CentOS bugs:+https://bugs.centos.org/view.php?id...
-参考:[[serverfault:+https://serverfault.com/questions/4...
0010 1010 . 0000 0001 . 000 |
42 . 1 . 0 |
0010 1010 0000 0001 : 000 | 0 0001 1110 1000
2a01 : | 1e8
|
^ cut here
バグを回避する場合は、APR-v1.4.7以上にアップデートするか、
apache2.4系にアップグレードすると修正されている。
~
*モジュール改変 [#jca360bb]
一部のApacheモジュールはApache2.2用に作られている為、
APIが大幅に変更されたApache2.4ではビルドが通らず、追加イ...
しかし、有名なモジュールについてはCentOSやopenSUSE辺りが、
Apache2.4でもビルド出来るようにするパッチをリリースしてい...
~
&size(16){&font(b){mod_auth_kerb};};
ApacheでSingleSign-Onを実装する場合に必須となるモジュール
パッケージ管理で入れる時は自動でインストール出来るのだが、
Apacheをソースからインストールしている時は、モジュールも...
&font(b){・ドキュメント類};
| ドキュメント | [[Kerberos Module for Apache:+http:/...
| オリジナルソース | [[sourceforge:+https://sourceforge.n...
| 適用ファイル名 | mod_auth_kerb-5.4.tar.gz ...
&font(b){・オリジナルパッチ};
|ディストリ|パッチ配布元|適用済みパッチリスト|
|CentOS|[[httpd24-mod_auth_kerb:+https://git.centos.org/t...
|~|~|fixes.patch|
|~|~|handle-continue.patch|
|~|~|httpd24.patch|
|~|~|longuser.patch|
|~|~|rcopshack.patch|
|~|~|s4u2proxy.patch|
|openSUSE|[[Kerberos Module for Apache:+https://build.ope...
|~|~|cache_auth.patch|
&font(b){・適用方法};
[1] オリジナルソース(mod_auth_kerb-5.4.tar.gz)をダウンロ...
[2] パッチ適用済みソース(mod_auth_kerb-5.4.src_patch.tar...
[3] ダウンロードした2つのファイルを解凍
[4] パッチ適用済みソースの(README、configure.in、src/mod...
-----
$ md5sum mod_auth_kerb-5.4.src_patch.tar.gz
e9260e537e498b88429074c12185e817 mod_auth_kerb-5.4.src_...
ページ名: