さくらのVPS Apache & PHP 環境構築メモ

OS: FreeBSD 8.1

あらかじめ packages でインストールしておくものはさくらのVPS FreeBSD環境構築メモを参照。

ずぼらして apache22 は packages で入れてしまった。

PHP

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

Apache

/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

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

mod_proxy

さくらのレンタルサーバからの移行時、併用のため一時的に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
文書の先頭へ
sakura-vps-apache.txt · 最終更新: 2012/05/25 10:39 by sugakoubou