Apache2 Webサーバ
Apache2は、Linuxシステムで最も広く使われているWebサーバです。前ページで紹介したLAMP serverタスクをインストールすると、自動的にインストールされます。Apache2だけをインストールする場合には、以下のコマンドを実行します。
$ sudo apt-get install apache2
Apache2の設定ファイルは、/etc/apache2/以下に配置されます。Apache2の主なファイル構成は、図2(上)のとおりです。
UbuntuのApache2パッケージは、初期状態で名前ベースの仮想ホストに対応した状態で設定されています。Ubuntuサーバで1つのサイトだけを運用する場合はそのまま利用することができ、サーバ名(FQDN:完全修飾ドメイン名)に応じて複数のサイトを見せるよう設定することもできます。デフォルトサイトの設定ファイルは/etc/apache2/sites-available/defaultです。ほかのサイトを追加する場合は、以下のようにコピーし、内容を編集すると良いでしょう。
$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mynewsite
ファイルに書かれているとおり、仮想ホストの設定は<VirtualHost *>...</VirtualHost>のタグで囲まれた部分に記述します。詳しい記述方法については、Apache2のドキュメント(http://httpd.apache.org/docs/2.2/)を参照してください。最低限必要な設定を、以下にいくつか紹介します。
まず「ServerAdmin」ではサーバ管理者のメールアドレスを設定します。このアドレスは、エラー時に連絡先として表示されます。/etc/apache2/sites-available/ 以下の各ファイルで設定します。
「ServerName」ではFQDNを設定します。デフォルトの仮想ホストには含まれていません。追加した仮想ホストには、この設定を含める必要があります。
「DocumentRoot」ではWebから見えるコンテンツを配置するディレクトリを設定します。デフォルトは/var/www/です。仮想ホストごとに違うディレクトリを用いることができます。
なお、新しいサイトを有効にするには以下のコマンドを実行します。
$ sudo a2ensite mynewsite
無効にするには、以下のコマンドを実行します。
$ sudo a2dissite mynewsite
設定完了後、以下のコマンドでApache2をリロードし、設定を読み直します。
$ sudo /etc/init.d/apache2 reload
MySQL
MySQLは、高速で安定したSQLデータベースサーバです。組織内の小さなシステムから、Wikipediaのような巨大なシステムまで広く利用されています。
LAMP serverタスクをインストールした場合、MySQLサーバも既にインストールされているはずです。MySQLだけをインストールする場合、以下のコマンドを実行します。
$ sudo apt-get install mysql-server
インストール処理時に、rootユーザのパスワードを決めて入力する必要があるのは、taskselでインストールする場合と同様です。
MySQLの設定ファイルは/etc/mysql/my.cnf です。ログファイルやポート番号、メモリ関連のパラメータなどを、このファイルに記述します。
なお、初期状態ではローカルホストからの接続のみ受け付けるよう、以下のように設定されています。
bind-address = 127.0.0.1
ほかのホストから接続できるようにするには、この行をコメントアウトしてすべてのネットワークインタフェースで接続を受け付けるようにするか、接続を受け付けたいアドレスに書き換えます。
また、データベースで日本語を扱う場合、文字エンコーディングをUTF-8に統一するための設定をしておきましょう。client、mysqld、mysqldumpの各セクションに、図2に示したリスト1の設定を追加します。
特に負荷の高いサービスに利用する場合は、MySQLのドキュメント(http://dev.mysql.com/doc/refman/5.1/ja/server-parameters.html)などを参考に、メモリ関係のパラメータを変更する必要があるでしょう。/usr/share/doc/mysql-server-5.0/examples以下にある、サーバの規模に応じた設定ファイルのサンプルが参考になります。
設定ファイルの編集が完了したら、以下のコマンドでMySQLサーバを再起動してください。
$ sudo /etc/init.d/mysql restart
著者プロフィール
Ubuntu Japanese Team 小林 準
Ubuntuプロジェクトのオフィシャルメンバーで、Ubuntu Japanese Teamの代表として活動している。最近は、業務でUbuntuをサーバOSとして利用することも多くなってきた。著書に「独習Linux」(翔泳社、2007年1月)がある。 http://junkobayashi.jp