Apache 2.2から2.4に移行

Apache 2.2から2.4に移行した。

動機

portsからApacheのパッチを入れたら、こんな警告が出た。

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                      H E A D S - U P
2014-07-11:
  The default version will change from www/apache22 to www/apache24,
  pre-build apache modules will also reflect this!

  In case ports are build by yourself and apache22 is required
  use the following command to keep apache22 as default

  echo "APACHE_DEFAULT=2.2" >> /etc/make.conf

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Apacheのデフォルトバージョンをapache22からapache24に変更し、それにともなって今後は関連モジュールもapache24用のものが配布されることになるらしい。バージョン不整合で面倒が起きたりしても嫌なので、さっくり追随。

移行手順

  1. portsから2.4をアップグレードインストール。

    # sudo portmaster -o www/apache24 www/apache22
  2. 2.4用のディレクトリが別に作られているので、デフォルトファイルのバックアップをとってから、Apache 2.2用のコンフィグファイルをApache 2.4用のディレクトリにコピーする。

    # cd /usr/local/etc
    # sudo cp -rf apache24 apache24.orig
    # sudo cp -rf apache22/* apache24
  3. コピーしたhttpd.confの中のモジュールロード部分をApache 2.4用の記述で置き換える。

    LoadModule authn_file_module libexec/apache24/mod_authn_file.so
    #LoadModule authn_dbm_module libexec/apache24/mod_authn_dbm.so
    #LoadModule authn_anon_module libexec/apache24/mod_authn_anon.so
    #LoadModule authn_dbd_module libexec/apache24/mod_authn_dbd.so
    #LoadModule authn_socache_module libexec/apache24/mod_authn_socache.so
    LoadModule authn_core_module libexec/apache24/mod_authn_core.so
    LoadModule authz_host_module libexec/apache24/mod_authz_host.so
    LoadModule authz_groupfile_module libexec/apache24/mod_authz_groupfile.so
    LoadModule authz_user_module libexec/apache24/mod_authz_user.so
    #LoadModule authz_dbm_module libexec/apache24/mod_authz_dbm.so
    #LoadModule authz_owner_module libexec/apache24/mod_authz_owner.so
    :q
    2 yuka@secondary> grep LoadModule /usr/local/etc/apache24/httpd.conf
    # have to place corresponding `LoadModule' lines at this location so the
    # LoadModule foo_module modules/mod_foo.so
    LoadModule authn_file_module libexec/apache24/mod_authn_file.so
    #LoadModule authn_dbm_module libexec/apache24/mod_authn_dbm.so
    #LoadModule authn_anon_module libexec/apache24/mod_authn_anon.so
    #LoadModule authn_dbd_module libexec/apache24/mod_authn_dbd.so
    #LoadModule authn_socache_module libexec/apache24/mod_authn_socache.so
    LoadModule authn_core_module libexec/apache24/mod_authn_core.so
    LoadModule authz_host_module libexec/apache24/mod_authz_host.so
    LoadModule authz_groupfile_module libexec/apache24/mod_authz_groupfile.so
    LoadModule authz_user_module libexec/apache24/mod_authz_user.so
    #LoadModule authz_dbm_module libexec/apache24/mod_authz_dbm.so
    #LoadModule authz_owner_module libexec/apache24/mod_authz_owner.so
    #LoadModule authz_dbd_module libexec/apache24/mod_authz_dbd.so
    LoadModule authz_core_module libexec/apache24/mod_authz_core.so
    LoadModule access_compat_module libexec/apache24/mod_access_compat.so
    LoadModule auth_basic_module libexec/apache24/mod_auth_basic.so
    #LoadModule auth_form_module libexec/apache24/mod_auth_form.so
    #LoadModule auth_digest_module libexec/apache24/mod_auth_digest.so
    #LoadModule allowmethods_module libexec/apache24/mod_allowmethods.so
    #LoadModule file_cache_module libexec/apache24/mod_file_cache.so
    #LoadModule cache_module libexec/apache24/mod_cache.so
    #LoadModule cache_disk_module libexec/apache24/mod_cache_disk.so
    #LoadModule cache_socache_module libexec/apache24/mod_cache_socache.so
    #LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so
    #LoadModule socache_dbm_module libexec/apache24/mod_socache_dbm.so
    #LoadModule socache_memcache_module libexec/apache24/mod_socache_memcache.so
    #LoadModule macro_module libexec/apache24/mod_macro.so
    #LoadModule dbd_module libexec/apache24/mod_dbd.so
    #LoadModule dumpio_module libexec/apache24/mod_dumpio.so
    #LoadModule buffer_module libexec/apache24/mod_buffer.so
    #LoadModule ratelimit_module libexec/apache24/mod_ratelimit.so
    LoadModule reqtimeout_module libexec/apache24/mod_reqtimeout.so
    #LoadModule ext_filter_module libexec/apache24/mod_ext_filter.so
    #LoadModule request_module libexec/apache24/mod_request.so
    #LoadModule include_module libexec/apache24/mod_include.so
    LoadModule filter_module libexec/apache24/mod_filter.so
    #LoadModule substitute_module libexec/apache24/mod_substitute.so
    #LoadModule sed_module libexec/apache24/mod_sed.so
    #LoadModule deflate_module libexec/apache24/mod_deflate.so
    LoadModule mime_module libexec/apache24/mod_mime.so
    LoadModule log_config_module libexec/apache24/mod_log_config.so
    #LoadModule log_debug_module libexec/apache24/mod_log_debug.so
    #LoadModule logio_module libexec/apache24/mod_logio.so
    LoadModule env_module libexec/apache24/mod_env.so
    LoadModule mime_magic_module libexec/apache24/mod_mime_magic.so
    #LoadModule cern_meta_module libexec/apache24/mod_cern_meta.so
    LoadModule expires_module libexec/apache24/mod_expires.so
    LoadModule headers_module libexec/apache24/mod_headers.so
    #LoadModule unique_id_module libexec/apache24/mod_unique_id.so
    LoadModule setenvif_module libexec/apache24/mod_setenvif.so
    LoadModule version_module libexec/apache24/mod_version.so
    #LoadModule remoteip_module libexec/apache24/mod_remoteip.so
    #LoadModule proxy_module libexec/apache24/mod_proxy.so
    #LoadModule proxy_connect_module libexec/apache24/mod_proxy_connect.so
    #LoadModule proxy_ftp_module libexec/apache24/mod_proxy_ftp.so
    #LoadModule proxy_http_module libexec/apache24/mod_proxy_http.so
    #LoadModule proxy_fcgi_module libexec/apache24/mod_proxy_fcgi.so
    #LoadModule proxy_scgi_module libexec/apache24/mod_proxy_scgi.so
    #LoadModule proxy_wstunnel_module libexec/apache24/mod_proxy_wstunnel.so
    #LoadModule proxy_ajp_module libexec/apache24/mod_proxy_ajp.so
    #LoadModule proxy_balancer_module libexec/apache24/mod_proxy_balancer.so
    #LoadModule proxy_express_module libexec/apache24/mod_proxy_express.so
    #LoadModule session_module libexec/apache24/mod_session.so
    #LoadModule session_cookie_module libexec/apache24/mod_session_cookie.so
    #LoadModule session_crypto_module libexec/apache24/mod_session_crypto.so
    #LoadModule ssl_module libexec/apache24/mod_ssl.so
    #LoadModule lbmethod_byrequests_module libexec/apache24/mod_lbmethod_byrequests.so
    #LoadModule lbmethod_bytraffic_module libexec/apache24/mod_lbmethod_bytraffic.so
    #LoadModule lbmethod_bybusyness_module libexec/apache24/mod_lbmethod_bybusyness.so
    LoadModule unixd_module libexec/apache24/mod_unixd.so
    #LoadModule dav_module libexec/apache24/mod_dav.so
    LoadModule status_module libexec/apache24/mod_status.so
    LoadModule autoindex_module libexec/apache24/mod_autoindex.so
    #LoadModule asis_module libexec/apache24/mod_asis.so
    #LoadModule info_module libexec/apache24/mod_info.so
    #LoadModule cgi_module libexec/apache24/mod_cgi.so
    #LoadModule cgid_module libexec/apache24/mod_cgid.so
    #LoadModule dav_fs_module libexec/apache24/mod_dav_fs.so
    #LoadModule vhost_alias_module libexec/apache24/mod_vhost_alias.so
    #LoadModule negotiation_module libexec/apache24/mod_negotiation.so
    LoadModule dir_module libexec/apache24/mod_dir.so
    #LoadModule imagemap_module libexec/apache24/mod_imagemap.so
    #LoadModule actions_module libexec/apache24/mod_actions.so
    #LoadModule speling_module libexec/apache24/mod_speling.so
    #LoadModule userdir_module libexec/apache24/mod_userdir.so
    LoadModule alias_module libexec/apache24/mod_alias.so
    LoadModule rewrite_module libexec/apache24/mod_rewrite.so
    LoadModule php5_module        libexec/apache24/libphp5.so

    コピー後に変更したのは次の点。

    • php5_moduleを追加
    • mod_rewriteのコメントをはずす
    • mod_mime_magicのコメントをはずす
  4. PHPをApache 2.4用に入れ直す。自分の環境ではPHPはportsではなく自分でコンパイルして入れている。

    # cd /usr/src/php-5.5.13
    # sudo ./configure \
    --with-apxs2=/usr/local/sbin/apxs \
    --enable-shared \
    --enable-mbstring \
    --enable-zip \
    --with-mysql \
    --with-mysqli \
    --with-pdo-mysql \
    --with-zlib-dir=/usr \
    --with-gd \
    --with-openssl \
    --with-jpeg-dir=/usr/local \
    --with-freetype-dir=/usr/local \
    --enable-gd-native-ttf \
    --enable-libxml=/usr/local \
    --with-pcre-regex=/usr/local
    # sudo cp /usr/local/bin/libtool .
    # sudo make
    # sudo make install
  5. /etc/rc.confのapache22の設定部分をapache24に書き換える。

    apache24_enable="YES"
  6. Apacheを再起動。

    # sudo service apache24 restart

心配するほどのことはなく、すんなり移行できた。

タイトルとURLをコピーしました