[TEBIKI]apache のアップデート

概要

ここでは, apache のアップデートの手順を示す.

以下の出力例は 2019/04/18 に apache2.4.37 から apache2.4.39 へのアップデートした際のものである. そのため, バージョン番号などは適宜読み替えること.

設定ファイルのバックアップ

  • 設定ファイルのバックアップをとる
    • /usr/local/apache2/conf/ 以下の httpd.conf
    • /usr/local/apache2/conf/extra/ 以下の httpd-ssl.conf と httpd-usrdir.conf

Apache のインストールと設定

最新バージョンの状況に合わせて作業内容を見直しながら行う.

ビルドのための設定

  • ソースを取得・展開
  • 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
Last modified:2019/04/26 11:07:36
Keyword(s):
References:[計算機とネットワークの手引集]