Ubuntuを使ったWebサーバ構築

2008年6月26日(木)
小林 準

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

 ファイルに書かれているとおり、仮想ホストの設定は...のタグで囲まれた部分に記述します。詳しい記述方法については、Apache2のドキュメント(http://httpd.apache.org/docs/2.2/)を参照してください。最低限必要な設定を、以下にいくつか紹介します。

 まず「ServerAdmin」ではサーバ管理者のメールアドレスを設定します。このアドレスは、エラー時に連絡先として表示されます。/etc/apache2/sites-available/ 以下の各ファイルで設定します。

 「ServerName」ではFQDNを設定します。デフォルトの仮想ホストには含まれていません。追加した仮想ホストには、この設定を含める必要があります。

 「DocumentRoot」ではWebから見えるコンテンツを配置するディレクトリを設定します。デフォルトは/nfs/contents1/ibc//です。仮想ホストごとに違うディレクトリを用いることができます。

 なお、新しいサイトを有効にするには以下のコマンドを実行します。

$ 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

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています