3.ウェブサーバーの設定
ウェブサーバーの設定もDNSの設定と同じく「サイトの管理」から行います。
サイドメニューの「サービス」から「ウェブ」を選択すると右のようなウィンドウに切り替わります。ここで使用するオプションにチェックを入れればいいわけですが、MySQLデータベースを使用する場合には先にデータベースの設定をしておく必要があります。「サーバーの管理」画面のサイドメニュー「phpMyAdmin」からDBの管理はできるようになっているわけですが、rootパスワードも設定されていない状態なのでこのメニューそのものが使用できません。まずはSSHでシェル接続して基本的な設定をする必要があります。
さて、SSHで接続するためには「サーバーの管理」画面から「ネットワークサービス」>「シェル」と選択してSSHを有効にしなければなりません。このとき、有効にするだけでなく、ポート番号をデフォルトの22から変更しておくことをお奨めします。実は以前に顧客のサイトを管理していてSSHから進入されウェブページを改ざんされたことがありました。実際、アクセスの多いサイトのログを管理していると、SSHで1時間に3000回ものログインエラーが出ているなんてことが日常的に起こります。SSHは通信を暗号化しますが、セッション自体にセキュリティーがかかっているわけではないので注意が必要です。
rootユーザーでのSSH接続を可能にする「SSH RootLogin」というオプションもありますが、これはチェックしないようにしましょう。
SSHを有効にしたら接続するためのユーザーが必要になります。どのみちウェブを管理するためのユーザーが必要になるので、ここでユーザーを作成しておきます。
「サイトの管理」画面のサイドメニューから「ユーザーの管理」を開きユーザーを追加します。
登録したユーザーでSSH接続し、MySQLのrootパスワードを設定します。
(ここからはMySQLが起動していることが前提です。起動していない場合はサーバーの管理から起動します。)
mysqladmin -u root password 新しいパスワード
mysqladmin reload
確認のためrootで接続してみます。
mysql -u root -p
Enter Password: 設定したパスワード
これでphpMyAdminが使用できるようになります。予めウェブサイトで使用するユーザーとDBを登録しておきましょう。
最初に戻りますが、上のスクリーンショットはすでに設定済みの画面なので初期状態とは異なります。初期状態ではMySQLの項目にユーザー名、パスワード、データベース名を入力できるようになっており、デフォルトの値が入っています。デフォルトではユーザーがsite1、パスワードがランダム生成でデータベースはsite1_dbになっています。必要な項目を入力してチェックを入れたら保存をクリックして作業は終了です。
PHPスクリプトを有効にした場合にはサイドメニューの「PHP」から設定を確認しておきましょう。私の場合、メールアカウントをLDAP管理にしてphpLdapAdminで管理する予定があるので、メモリの設定をデフォルトの 16M から 40M に変更してあります。(phpLdapAdminは初期の16Mではエラーになって動きません。最低32Mが必要です。)
また、初期状態では SafeMode が on になっていますので、これも off にしています。
これでウェブの設定は終了ですが、実際にHTMLを配置するドキュメントディレクトリは、
/home/sites/サイト名FQDN/web
になりますので、 /var/www/html などにファイルを配置して「ウェブページが表示されない!」などと慌てないようにして下さい。
補足:
ここまでの作業についていくつか補足します。
まず、SSHでのアクセスですが、シェルの使用を設定した後で「サイトの管理」でもシェルの使用を許可しておく必要があります。また、ウェブの管理ユーザーを作成するときにディスクの許可容量を設定する項目があります。デフォルトで20MBが設定されていますが、このままだとすぐに容量を使い切ってしまいますので必要な容量に変更しておいてください。
私の場合ここの容量変更を忘れて書き込みエラーに悩まされましたのでご注意を。
ウェブのコンテンツをアップロードする場合、「サーバーの管理」からFTPを許可するか、WinSCPなどのSFTP、SCP対応のアプリケーションを使うことになりますが、ウェブの管理ユーザーでそのままログインするとヴァーチャルサイトのヴァーチャルユーザー・ディレクトリに入ります。この場合、3階層上がったところにwebディレクトリがあります。予めログインディレクトリを設定しておくと良いでしょう。