host:~# aptitude install apache2といっても、OS のインストールの時点でウェブサーバーを一緒にインストールするようチェックしていれば、Apache2 がインストールされ、起動しているのでこの作業自体必要ないです。
で、ここからが問題。openSUSE のように(というか、openSUSE が Red Hat 系なのに Debian 系っぽい構成になっているのが異端。Novell の影響かも。)各設定がモジュール化されているので、まずは大本の設定を変更します。
host:~# vim /etc/apache2/conf.d/securityコメントアウトしている箇所がデフォルトの設定。で、コメントアウトの下の行に書いているのが、変更内容です。
<Directory /var/www/> # Options Indexes FollowSymLinks MultiViews Options Includes ExecCGI FollowSymLinks Indexes # AllowOverride None AllowOverride All Order allow,deny allow from all </Directory>続けて、以下の 1 行を最終行へ追加。
AddHandler cgi-script .cgi .plで、openSUSE の時に学習した a2enmod でユーザーディレクトリを有効化します。
host:~# a2enmod userdirで、userdir.conf の内容を編集。
host:~# vim /etc/apache2/mods-enabled/userdir.confコメントアウトしている箇所がデフォルトの設定。で、コメントアウトの下の行に書いているのが、変更内容です。
<IfModule mod_userdir.c> UserDir public_html UserDir disabled root <Directory /home/*/public_html> # AllowOverride FileInfo AuthConfig Limit Indexes AllowOverride All # Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Options IncludesNoExec ExecCGI FollowSymLinks <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory> </IfModule>Apache2 のインストールおよび設定は以上です。続いて MySQL をインストールします。
host:~# aptitude install mysql-server
一緒に DBI と DBD::mysql がインストールされるようです。
インストールが終わったら、設定ファイルを編集します。
host:~# vim /etc/mysql/my.cnf端折って書きましたが、要は [mysqld_safe]、[mysqld]、[mysql] の各セクションに default-char-set を追加し、[mysqld] セクションの language を english から japanese に変更しただけです。
[mysqld_safe] default-character-set = utf8 [mysqld] #language = /usr/share/mysql/english language = /usr/share/mysql/japanese default-character-set = utf8 [mysql] default-character-set = utf8編集が終わったら、MySQL を再起動します。
host:~# /etc/init.d/mysql restart
今回は出てきませんでしたが、実は a2enmod / a2dismod 以外に、a2ensite / a2dissite なるコマンドがあるようです。
このコマンドは、Virtual Host を設定する際に、それぞれのサイトの設定をファイル単位でモジュール化することで、コマンド一発でそのサイトの設定の有効 / 無効を切り替えられるというものです。
今回は Virtual Host は設定しないので使う機会はありませんでしたが、多くのサイトを管理しているシステム管理者にとっては便利なのだろうと思いました。
参考にしたサイト
このコマンドは、Virtual Host を設定する際に、それぞれのサイトの設定をファイル単位でモジュール化することで、コマンド一発でそのサイトの設定の有効 / 無効を切り替えられるというものです。
今回は Virtual Host は設定しないので使う機会はありませんでしたが、多くのサイトを管理しているシステム管理者にとっては便利なのだろうと思いました。
名無し
設定の[mysqld]のところで、文字コードutf8でlanguageをjapaneseにすると、こちらの環境ではエラーメッセージが文字化けしました。
#language = /usr/share/mysql/english
language = /usr/share/mysql/japanese
default-character-set = utf8
下記サイトによると文字コードがSJIS,EUC-JPの場合は文字化けしないようです。
http://dohmei.cocolog-nifty.com/tomorrow/2009/07/mysqlutf-8-f745.html
ただ環境に依存するのかもしれないので、違っていたらすいません。