IT pass HikiWiki - [TEBIKI]apache のアップデート Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
{{toc}}
= 概要
ここでは, apache のアップデートの手順を示す.
以下の出力例は 2019/04/18 にapache 1.6.9 apache2.4.37 から apache1.7.0 apache2.4.39 へのアップデートした際のものである.
そのため, バージョン番号などは適宜読み替えること.
= 設定ファイルのバックアップ
* 設定ファイルのバックアップをとる
* /usr/local/apache2/conf/ 以下の httpd.conf
* /usr/local/apache2/conf/extra/ 以下の httpd-ssl.conf と httpd-usrdir.conf
= Apache のインストールと設定
最新バージョンの状況に合わせて作業内容を見直しながら行う.
== ビルドのための設定
* ソースを取得・展開
* apache の最新バージョンを ((<URL:http://httpd.apache.org/>)) から確認し, 取得・展開する.
* apache2.4.x では apr と apr-util を別途用意する必要が有るため, ((<URL: http://apr.apache.org/download.cgi/>)) から最新版を取得し, 展開する. (参照: ((<URL: http://weblabo.oscasierra.net/install-apache24-1/>)))
# cd /usr/local/src
# wget http://ftp.tsukuba.wide.ad.jp/software/apache//httpd/httpd-2.4.39.tar.gz
# wget http://ftp.jaist.ac.jp/pub/apache/apr/apr-1.7.0.tar.gz
# wget http://ftp.jaist.ac.jp/pub/apache/apr/apr-util-1.6.1.tar.gz
* apr, apr-util のインストール
* インストール先と configure の際につけるオプションは以下の通り.
# tar xzf apr-1.7.0.tar.gz
# cd apr-1.7.0
# ./configure
# make
# make install
# cd /usr/local/src
# tar xzf apr-util-1.6.1.tar.gz
# cd apr-util-1.6.1
# sudo ./configure --with-apr=/usr/local/apr
# make
# make install
== ビルドとインストール
# make
# make install
* /usr/local/apache2 の下に以下のディレクトリが作成されていることを確認する.
XXXX@xxx-itpass:/usr/local/apache2# ls
bin build cgi-bin conf error htdocs icons include logs man manual modules
== 実行ファイルへのパスの設定
* インストールされた Apache のバイナリファイル群へパスを通す.
* ((<[ITPASS2017]パスの設定>)) の((* <一般ユーザ用コマンドのパス> *)) と ((* <システム管理用コマンドのパス> *)) の両方に ((*/usr/local/apache2/bin*)) を追加する. (システム管理用コマンドも一般ユーザ用コマンドと同じ場所にインストールされているため, システム管理用コマンドの設定を別途行う必要は無い).
* 具体的には, 以下のようにする.
* /etc/zsh/zshenv の末尾に
# add PATH for local installed softwares
export PATH="$PATH:/usr/local/apache2/bin”
# add PATH for local installed softwares (for root)
if [ "`id -u`" -eq 0 ]; then
export PATH="$PATH:/usr/local/apache2/bin”
fi
# delete duplicated path setting
typeset -U path
の記述を追加する.
== 設定ファイルの置き換え
設定ファイルをバックアップをとっておいたものに置き換える.
* httpd 用
* /usr/local/apache2/conf/httpd.conf
* httpd-ssl
* /usr/local/apache2/conf/extra/httpd-ssl.conf
* 各ユーザの public_html 以下の設定用
* /usr/local/apache2/conf/extra/httpd-userdir.conf
= 動作チェック
* apache を起動させる
# /usr/local/apache2/bin/apachectl -k start
* 起動したかどうかを以下のコマンドで確認する.
# ps aux | grep http
画面左端に www-data と表示され, 起動できていることを確認できる.
* ~itpass/public_html/ に test という名前のディレクトリを作成し, その中に test.txt というファイルを作成する.
* ブラウザで test.txt が正常に表示されるかどうかを確認する.
* URL は http://ika-itpass.scitec.kobe-u.ac.jp/test/test.txt, https://ika-itpass.scitec.kobe-u.ac.jp/test/test.txt
* "http://..." と "https://..." の両方に関して行う.
* apache を停止
# /usr/local/apache2/bin/apachectl -k graceful-stop
* 停止したかどうかを確認する.
* apache のエラーログ /var/log/httpd-error.log を確認し, エラーなどが出ていないことを確認する.
= 起動スクリプトの更新
* サーバの起動時に apache が起動させるための起動スクリプトを更新する.
* Debian 8 から導入された systemd による起動設定を行う.
具体的には, ((<URL:http://www.smiyasaka.com/CentOS7.0_server21.html>))
を参考に, /etc/systemd/system に apache2.service を作成する.
chikuwa2@tako-itpass /etc/systemd/system
% cat apache2.service
[Unit]
Description=httpd-2.4.39 daemon
[Service]
Type=forking
ExecStart=/usr/local/apache2/bin/apachectl start
[Install]
WantedBy=multi-user.target
* 起動テストを行い, 起動を確認する.
$ sudo systemctl start apache2
$ ps aux | grep httpd
= 証明書を更新する
* certbot-auto を用いて証明書を更新する.
# cd /usr/local/src/certbot
# ./certbot-auto renew --force-renewal
* apache の再起動を行う
# /usr/local/apache2/bin/apachectl -k graceful-stop
# /usr/local/apache2/bin/apachectl -k start
= 概要
ここでは, apache のアップデートの手順を示す.
以下の出力例は 2019/04/18 に
そのため, バージョン番号などは適宜読み替えること.
= 設定ファイルのバックアップ
* 設定ファイルのバックアップをとる
* /usr/local/apache2/conf/ 以下の httpd.conf
* /usr/local/apache2/conf/extra/ 以下の httpd-ssl.conf と httpd-usrdir.conf
= Apache のインストールと設定
最新バージョンの状況に合わせて作業内容を見直しながら行う.
== ビルドのための設定
* ソースを取得・展開
* apache の最新バージョンを ((<URL:http://httpd.apache.org/>)) から確認し, 取得・展開する.
* apache2.4.x では apr と apr-util を別途用意する必要が有るため, ((<URL: http://apr.apache.org/download.cgi/>)) から最新版を取得し, 展開する. (参照: ((<URL: http://weblabo.oscasierra.net/install-apache24-1/>)))
# cd /usr/local/src
# wget http://ftp.tsukuba.wide.ad.jp/software/apache//httpd/httpd-2.4.39.tar.gz
# wget http://ftp.jaist.ac.jp/pub/apache/apr/apr-1.7.0.tar.gz
# wget http://ftp.jaist.ac.jp/pub/apache/apr/apr-util-1.6.1.tar.gz
* apr, apr-util のインストール
* インストール先と configure の際につけるオプションは以下の通り.
# tar xzf apr-1.7.0.tar.gz
# cd apr-1.7.0
# ./configure
# make
# make install
# cd /usr/local/src
# tar xzf apr-util-1.6.1.tar.gz
# cd apr-util-1.6.1
# sudo ./configure --with-apr=/usr/local/apr
# make
# make install
== ビルドとインストール
# make
# make install
* /usr/local/apache2 の下に以下のディレクトリが作成されていることを確認する.
XXXX@xxx-itpass:/usr/local/apache2# ls
bin build cgi-bin conf error htdocs icons include logs man manual modules
== 実行ファイルへのパスの設定
* インストールされた Apache のバイナリファイル群へパスを通す.
* ((<[ITPASS2017]パスの設定>)) の((* <一般ユーザ用コマンドのパス> *)) と ((* <システム管理用コマンドのパス> *)) の両方に ((*/usr/local/apache2/bin*)) を追加する. (システム管理用コマンドも一般ユーザ用コマンドと同じ場所にインストールされているため, システム管理用コマンドの設定を別途行う必要は無い).
* 具体的には, 以下のようにする.
* /etc/zsh/zshenv の末尾に
# add PATH for local installed softwares
export PATH="$PATH:/usr/local/apache2/bin”
# add PATH for local installed softwares (for root)
if [ "`id -u`" -eq 0 ]; then
export PATH="$PATH:/usr/local/apache2/bin”
fi
# delete duplicated path setting
typeset -U path
の記述を追加する.
== 設定ファイルの置き換え
設定ファイルをバックアップをとっておいたものに置き換える.
* httpd 用
* /usr/local/apache2/conf/httpd.conf
* httpd-ssl
* /usr/local/apache2/conf/extra/httpd-ssl.conf
* 各ユーザの public_html 以下の設定用
* /usr/local/apache2/conf/extra/httpd-userdir.conf
= 動作チェック
* apache を起動させる
# /usr/local/apache2/bin/apachectl -k start
* 起動したかどうかを以下のコマンドで確認する.
# ps aux | grep http
画面左端に www-data と表示され, 起動できていることを確認できる.
* ~itpass/public_html/ に test という名前のディレクトリを作成し, その中に test.txt というファイルを作成する.
* ブラウザで test.txt が正常に表示されるかどうかを確認する.
* URL は http://ika-itpass.scitec.kobe-u.ac.jp/test/test.txt, https://ika-itpass.scitec.kobe-u.ac.jp/test/test.txt
* "http://..." と "https://..." の両方に関して行う.
* apache を停止
# /usr/local/apache2/bin/apachectl -k graceful-stop
* 停止したかどうかを確認する.
* apache のエラーログ /var/log/httpd-error.log を確認し, エラーなどが出ていないことを確認する.
= 起動スクリプトの更新
* サーバの起動時に apache が起動させるための起動スクリプトを更新する.
* Debian 8 から導入された systemd による起動設定を行う.
具体的には, ((<URL:http://www.smiyasaka.com/CentOS7.0_server21.html>))
を参考に, /etc/systemd/system に apache2.service を作成する.
chikuwa2@tako-itpass /etc/systemd/system
% cat apache2.service
[Unit]
Description=httpd-2.4.39 daemon
[Service]
Type=forking
ExecStart=/usr/local/apache2/bin/apachectl start
[Install]
WantedBy=multi-user.target
* 起動テストを行い, 起動を確認する.
$ sudo systemctl start apache2
$ ps aux | grep httpd
= 証明書を更新する
* certbot-auto を用いて証明書を更新する.
# cd /usr/local/src/certbot
# ./certbot-auto renew --force-renewal
* apache の再起動を行う
# /usr/local/apache2/bin/apachectl -k graceful-stop
# /usr/local/apache2/bin/apachectl -k start