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用のものが配布されることになるらしい。バージョン不整合で面倒が起きたりしても嫌なので、さっくり追随。
移行手順
-
portsから2.4をアップグレードインストール。
# sudo portmaster -o www/apache24 www/apache22
-
2.4用のディレクトリが別に作られているので、デフォルトファイルのバックアップをとってから、Apache 2.2用のコンフィグファイルをApache 2.4用のディレクトリにコピーする。
# cd /usr/local/etc # sudo cp -rf apache24 apache24.orig # sudo cp -rf apache22/* apache24
-
コピーした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のコメントをはずす
-
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
-
/etc/rc.confのapache22の設定部分をapache24に書き換える。
apache24_enable="YES"
-
Apacheを再起動。
# sudo service apache24 restart
心配するほどのことはなく、すんなり移行できた。