OS: FreeBSD 8.1
あらかじめ packages でインストールしておくものはさくらのVPS FreeBSD環境構築メモを参照。
ずぼらして apache22 は packages で入れてしまった。
PHPは ports でインストールするとろくなことにならないのでソースからコンパイルする。
% ./configure --with-apxs2=/usr/local/sbin/apxs --enable-mbstring --enable-mbregex --enable-zend-multibyte --with-zlib --with-mysql --with-gd --disable-gd-jis-conv --with-curl --with-pdo-mysql % make % make install
/usr/local/lib/php.ini
/etc/rc.conf
apache22_enable="YES"
/usr/local/etc/apache22/httpd.conf
LoadModule authn_file_module libexec/apache22/mod_authn_file.so #LoadModule authn_dbm_module libexec/apache22/mod_authn_dbm.so #LoadModule authn_anon_module libexec/apache22/mod_authn_anon.so #LoadModule authn_default_module libexec/apache22/mod_authn_default.so #LoadModule authn_alias_module libexec/apache22/mod_authn_alias.so LoadModule authz_host_module libexec/apache22/mod_authz_host.so #LoadModule authz_groupfile_module libexec/apache22/mod_authz_groupfile.so LoadModule authz_user_module libexec/apache22/mod_authz_user.so #LoadModule authz_dbm_module libexec/apache22/mod_authz_dbm.so #LoadModule authz_owner_module libexec/apache22/mod_authz_owner.so LoadModule authz_default_module libexec/apache22/mod_authz_default.so LoadModule auth_basic_module libexec/apache22/mod_auth_basic.so LoadModule auth_digest_module libexec/apache22/mod_auth_digest.so #LoadModule file_cache_module libexec/apache22/mod_file_cache.so #LoadModule cache_module libexec/apache22/mod_cache.so #LoadModule disk_cache_module libexec/apache22/mod_disk_cache.so #LoadModule dumpio_module libexec/apache22/mod_dumpio.so #LoadModule reqtimeout_module libexec/apache22/mod_reqtimeout.so LoadModule include_module libexec/apache22/mod_include.so #LoadModule filter_module libexec/apache22/mod_filter.so #LoadModule charset_lite_module libexec/apache22/mod_charset_lite.so #LoadModule deflate_module libexec/apache22/mod_deflate.so LoadModule log_config_module libexec/apache22/mod_log_config.so #LoadModule logio_module libexec/apache22/mod_logio.so LoadModule env_module libexec/apache22/mod_env.so #LoadModule mime_magic_module libexec/apache22/mod_mime_magic.so #LoadModule cern_meta_module libexec/apache22/mod_cern_meta.so #LoadModule expires_module libexec/apache22/mod_expires.so #LoadModule headers_module libexec/apache22/mod_headers.so #LoadModule usertrack_module libexec/apache22/mod_usertrack.so #LoadModule unique_id_module libexec/apache22/mod_unique_id.so LoadModule setenvif_module libexec/apache22/mod_setenvif.so LoadModule version_module libexec/apache22/mod_version.so LoadModule ssl_module libexec/apache22/mod_ssl.so LoadModule mime_module libexec/apache22/mod_mime.so LoadModule dav_module libexec/apache22/mod_dav.so LoadModule status_module libexec/apache22/mod_status.so LoadModule autoindex_module libexec/apache22/mod_autoindex.so #LoadModule asis_module libexec/apache22/mod_asis.so LoadModule info_module libexec/apache22/mod_info.so LoadModule cgi_module libexec/apache22/mod_cgi.so LoadModule dav_fs_module libexec/apache22/mod_dav_fs.so LoadModule vhost_alias_module libexec/apache22/mod_vhost_alias.so LoadModule negotiation_module libexec/apache22/mod_negotiation.so LoadModule dir_module libexec/apache22/mod_dir.so #LoadModule imagemap_module libexec/apache22/mod_imagemap.so #LoadModule actions_module libexec/apache22/mod_actions.so #LoadModule speling_module libexec/apache22/mod_speling.so LoadModule userdir_module libexec/apache22/mod_userdir.so LoadModule alias_module libexec/apache22/mod_alias.so LoadModule rewrite_module libexec/apache22/mod_rewrite.so LoadModule php5_module libexec/apache22/libphp5.so : <IfModule dir_module> DirectoryIndex index.php index.cgi index.shtml index.html </IfModule> : AddType text/html .shtml AddOutputFilter INCLUDES .shtml AddType application/x-httpd-php .php : Include etc/apache22/extra/httpd-userdir.conf Include etc/apache22/extra/httpd-info.conf Include etc/apache22/extra/httpd-vhosts.conf Include etc/apache22/extra/httpd-dav.conf Include etc/apache22/extra/httpd-default.conf <IfModule ssl_module> Include etc/apache22/extra/httpd-ssl.conf SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule> Include etc/apache22/extra/httpd-phpmyadmin.conf
ドメインのネームサーバの設定は、さくらインターネット「会員メニュー」へログイン後、 契約情報→ドメインメニューへ進んで行う。 (VPSには無料のネームサーバサービスが5ドメイン分付属している)
/usr/local/etc/apache22/extra/httpd-vhosts.conf
NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "/home/user/www/hogehage/" ServerName www.hogehage.domain ServerAlias hogehage.domain ErrorLog "|/usr/local/sbin/rotatelogs /var/log/httpd/hogehage/error_log 86400" CustomLog "|/usr/local/sbin/rotatelogs /var/log/httpd/hogehage/access_log 86400" common </VirtualHost> <VirtualHost *:80> : </VirtualHost>
SSL証明書は RapidSSL を利用した。
% openssl genrsa -des3 -out server.key 2048 % openssl req -new -key server.key -out server.csr % cat server.csr CSRファイルを証明業者へ送る % cat > server.crt 発行を受けたCRTキーを流し込む
% openssl rsa -in server.key -out server_nopass.key
さくらのレンタルサーバからの移行時、併用のため一時的にProxyが必要となった。
標準では mod_proxy が入っていない。
apacheのソースをダウンロードし、コンパイル&インストールする。
% cd /usr/local/src % tar xfz httpd-2.2.xx.tar.gz % cd httpd-2.2.xx/modules/proxy % apxs -i -c mod_proxy.c proxy_util.c % apxs -i -c mod_proxy_http.c proxy_util.c