Ubuntuを使ったWebサーバ構築
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
ファイルに書かれているとおり、仮想ホストの設定は
まず「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
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- andLinuxを使いこなす!
- IBMのSoftLayerで最新のDrupal 8を試してみよう!
- Ubuntuサーバの管理
- Windows Azure上にLinuxインスタンスを立ち上げる(クエスト5)
- Windows AzureにPerlのアプリケーションをインストールする(クエスト9)
- Ubuntuサーバのインストール
- Serverspecテストコード実例の紹介とコード記述の際のポイント
- ズバリ!andLinuxは使えるのか?
- Elasticsearch Logstash Kibanaの環境構築
- [実践編] MaaSとJujuによるOSS配備、Ubuntu Serverの運用・管理(後編)