Joomla!などCMSをインストールするときのヒント
CMSは便利ですが、初めてですとインストールに手間取ります。
手順はあちこちで解説されていますので、その他のポイントとなる部分を解説します。
現状の傾向として個人で運営するサーバーであれば、アクセス数が少ないサイトは共有サーバー、アクセスが多いかサーバーサイドで負荷が高いプログラムを動作させる場合はSPVかクラウドサーバーが使用されることが多いかと思います。
特に今回はcPanelを採用した共有サーバーで、Joomla!をインストールする場合を例としていますが、考え方はどのCMSでサイトを作成する場合でも同じです。
通常、共有サーバーではメジャーなCMSを簡単にインストールする仕組みが用意されていますので、それを利用するのも一手です。そうしたサービスを利用すると設定項目を変える時に苦労したり、日本語環境の設定が難しかったり、インストール時にしか設定できない項目を自由に設定できないなどのデメリットもあるため、自分でインストールする必要が起きることもあるでしょう。
その場合の、基本的なヒントです。
1.DBを用意する
原則はインストールするサイト、CMSごとにDBを用意します。セキュリティと管理が容易になる観点からDBを分けて使用します。
大抵のCMSではインストール時にテーブルの接頭子が指定できますので、同じDBを共用することも可能になっています。ですから、DBの数に制限があるサービスを使用している場合は、共有せざるを得ない場合もあります。
しかし、原則はサイト、CMSごとに一つDBを利用して下さい。
A. DBを作成する
大抵の場合、MySQLを使用されることが多いでしょうから、cPanelでしたら"MySQL Database Wizard"を使用して作成するのが便利です。cPanelでもこの機能を使わせないサイトもありますので、そのサイトで用意されている機能で作成して下さい。
最近のCMSはUTF8ベースで開発されています。それに対応してデータベースのデフォルト照合順序はutf8-general-ciになっています。
少なくなって来ましたが、PHPの設定はUTF8になっていても、データベースの接続照合順序やテーブルのデフォルト設定がutf8-general-ciにならないシステムもあります。
もし、PHPMyAdminが使用できるcPanelでしたら、作成後に確認しておきましょう。
B. データベースのユーザーを作成する
セキュリティ上、データベースのユーザーもDBごとに分けましょう。一つのサイトがハックされても、同じサーバーで動作させている他のサーバーへその影響が及ぶのを防ぐことができます。
ユーザーに付ける権限は全部を指定して下さい。
2.メールアドレスを用意する
インストール時にはたいてい管理者のアカウントもしくはサイトのメールアドレスを入力指定します。このアドレスは通常どんなものでも使用できます。ダミーでも構わない場合がほとんどです。
ただし、送信先のメールサーバーによっては送信元のドメイン名とメールアドレスが異なっている場合、スパム扱いしてしまうものも、いまだ存在するらしいです。現在、メールを別のWebサービス上に置く機会もあるので、こんな古い考えを採用しているところは少ないと思われますが、例えばシステムが古いままでメンテナンスされていないシステムは多く存在しますから、残っている可能性はあります。
それとサイトを立派に見せる効果もありますので、インストールするサイトのドメインを使ったメールアドレスを作成し、それを使用しましょう。
cPanelの場合、"Mail Accounts"から作成、変更します。当然、ホスティング会社により、表現は多少変更している場合もあります。
3.FTPアカウントを用意する
インストール時にFTPアカウントを指定するCMSは多くありません。Joomla!の他に数個のCMSで見かけたことがある程度です。CMSにより考え方は異なっているのですが、FTPを使用するのは通常Webサーバーにおけるファイルの所有権とアクセス権の問題をクリアするためです。
サーバーの種類や設定、PHPの動作モードや設定などにより、CMSをインストールした場合、ファイルの所有者がユーザー以外に設定されることがあります。
きちんと設定された共有サーバーであれば、ファイルの所有者はインストールしているユーザーのまま変更されることはまずありません。もし変更されてしまうと利用者に迷惑がかかりますし、それに対処するため管理者も手間がかることになります。
もしくはPHPの設定により、直接のファイル操作を許していないかも知れません。
そうしたPHPに課せられた制限を回避するため、CMSを動作させているPHPからFTPを操作し、所有者やアクセス権を操作するしくみを採用しているものがあります。
ですから、FTPを使用しなくても動作するサーバーもあれば、FTPを使用しないときちんと動作しないサーバーもあります。大抵の場合、基本設定が保存できないのですぐに気づきます。その他、アップデートが上手く行かないとか、拡張のインストールが上手く行かないとかといった現象で現れます。
こうした不具合が出た時には、FTPを使用している場合は、使用せずにインストール、もしくはFTPの設定を変更して再インストールを試します。逆にFTPを使用していない場合は、使用してインストールするのが安全です。後からFTPの使用不使用や、FTPの設定は変更できますが、インストール時に既に作成されたディレクトリーやファイルの設定まで正しく動作するように変更してはくれません。そのため、インストールしたすぐ後に、上記のような不具合が起きた場合、再インストールが最終的には手間がかからない方法です。
A. サイト専用のFTPアカウントを作成する
ホスティング会社から提供されるFTPアカウントは通常メインのFTPアカウントです。これは自分のホームディレクトリー以下、どこにでもアクセスできます。(ホスティング会社の設定によっては、セキュリティーを考えドキュメントルートにしているかも知れません。)
もちろん、これを利用することもできますが、多くのサイトを運営する場合、一つのサイトを破られメインのFTPアカウントを取得されると、全サイトの情報がだだ漏れ、もしくは改変されてしまいます。
ですから、セキュリティーを考え、サイトごとにFTPアカウントを用意しておき、CMSに設定するのはそのサイト専用のFTPアカウントを使用するのが、安全です。
もうひとつの理由は、FTPの設定です。ディスク使用量の上限(クオート)が設定されている場合、その容量以上転送できません。それぞれのアカウントに応じた転送量を設定しておくことでセキュリティーを上げることができます。ただし、管理はかなり面倒になりますので、CMSに使用するアカウントには制限を設けないことをおすすめします。特に拡張をどんどん追加し、画像をアップロードすると、やがて制限に引っかかり、しかし原因がわからず四苦八苦する破目になりがちです。
cPanelでは、その名の通り"FTP Accounts"から作成、変更、削除します。これも、ホスティングにより多少表現は異なります。
ドキュメントのルートはそのサイトのドキュメントルートを指すようにしましょう。cPanelを利用しているホスティングの場合、"aaa"というドメイン、サブドメインを作成すると"/home/あなたのアカウント/public_html/aaa"がそのドメインもしくはサブドメインのドキュメントルートになります。FTPアカウントもそのドキュメントルートがFTPのルートになるように作成します。
4.CMSのインストール
一番手っ取り早い方法は、操作パネルに用意されているCMSのインストールサービスを使用することです。通常、これが一番安定します。DBも自動的に作成してくれるものがほとんどでしょう。
ただし、日本のホスティングの場合、操作パネルを独自で開発しているところも多く、そうしたホスティングでは、恐ろしいことにインストールが上手く行かない場合もあります。信用しているとひどい目にあることがあります。そうしたホスティングですと、問い合わせても対処がスムーズでないことも多く、泣きっ面に蜂の状況になります。
自動インストールサービスの場合、ある程度設定が決め打ちになってしまいます。cPanelの場合、英語の本家バージョンがインストールされます。ですから、日本の有志により作成した「日本バージョン」をインストールしたいとか、インストール時の設定を自分の思い通りにしたい場合は、こうした自動インストールサービスに頼らず、CMS本体をサーバーへアップロードして自力インストールします。
A. CMS本体のアップロード
方法は通常2通りあります。cPanelの場合、ファイルマネージャーが用意されており、これを使う方法です。もうひとつはFTP経由でアップロードする場合です。
ⅰ. ファイルマネージャー使用
cPanelにかかわらず、ファイルマネージャーを使用できる場合、それを使用するのがFTPでアップするより有利です。なぜなら、ファイルマネージャーにはZIPファイルのようにアーカイブしたものを、解凍してくれる機能が付いていることが多いからです。
ZIPのままアップし、それを解凍するほうがFTPで解凍後のファイル/ディレクトリーを転送するより、はるかに早いのです。私の使用しているサーバーでは、例えばFTP経由でばらしたJoomla!のファイルをアップする場合は約2時間かかりますが、ファイルマネージャーでZIPファイルをアップし、解凍する場合には5分程度です。全く違います。
ホスティングによっては、こうした機能が全くない場所もあり、次のFTPを使う方法しか提供していないこともあります。
ⅱ. FTP使用
圧縮ファイルの解凍が提供されていない場合や、ファイルマネージャーが用意されていなホスティングでは、FTPを利用し、ローカルに解凍したファイルをひとつひとつ転送するしかありません。
その場合、使用するFTPアカウントのディスク使用量の制限を取り外しておきましょう。
特に初心者の場合、FTPアカウントに制限があることを知らずに、何回行なってもCMSの転送に失敗してしまい挫折してしまうことがあり得ます。
制限さえなくしておけば、使用しているFTPクライアントの機能にもよりますが、時間はかかるけれど、ほおっておけば自動的に転送が終了するでしょう。
もし、時間がかかりすぎる場合、FTPクライアントのメッセージをよく見て下さい。同じファイルを何度もアップしようと繰り返しているのでしたら、何かの制限に引っかかっている可能性が大きいのです。そんな時は操作パネルから、そのFTPアカウントの制限を外して下さい。
B. インストール作業
これは、インストールしようとしているCMSにより千差万別です。
Joomla!にだけヒントをメモしておきます。
- DBの種類でSQLiteがデフォルトとして選ばれがちです。通常、共有サーバーでSQLiteをサービスしている場合は少く、SQLiteを選んでもMySQLになるところが多いようです。ですが、本当にSQLiteが使用されるかも知れません。MySQLを使用する場合は、必ずMySQLを指定するように注意しましょう。
- FTPを使用する場合、接続テストボタンでチェックしましょう。FTPのルートが自分の考えたとおりになっていることをチェックします。そのドメインのドキュメントルートが"/home/あなたのアカウント/public_html/aaa"でFTPアカウントも同じに設定した場合、FTPのルートとして表示されるのは"/"になります。
- インストールが完了したら、まず基本設定を変えてみて、それが保存できるか確認して下さい。設定がおかしくてもエラーメッセージが出ないことがありますので、保存後に再表示されるページを確認し、設定した通りに変更されていることを確実にチェックしておきましょう。また、拡張をインストールし問題なくインストールできることを確認します。更に可能であれば、アップデートが上手く動作することを確認します。(そのために、ちょっと古い拡張をファイルで保存しておくのは良いアイデアかもしれません。余り古いと互換性が無いでしょうから、一つ前程度のバージョンで自動アップデートされる拡張を保存しておきましょう。前バージョンを入手できる拡張もたくさんあります。そうしたものもチェックに使用できます。ただし、拡張の中には自動でアップロードされないものもあることをお忘れなく。)
以上、ちょっと長いですが、CMS初心者がはまりがちなポイントを解説しました。