2.インストールする前にやっておくこと ~準備編~
さて、ここまで読み進めてきたってことは、XOOPSをやってみようかなと思っている人で間違いないよね? ってことでこれからXOOPSをインストールする前にやっておくことを挙げてみよう。
最低限必要な条件
XOOPS動かそうにも動かす環境がないとどうにもならない。「いや、うちは家庭内でXOOPS使う予定だから」という場合でも最低パソコンは必要。まあ普通はインターネットでサイトを公開したいと思う方が多いだろうから、それを中心に話を進めることにしよう。
XOOPSを動かすには以下のソフトウェアが動いていることが前提と書かれている。
必要なソフトウェア
- ウェブサーバ(Apache、IIS、Roxenなど)
- PHP 4.3.2以降(PHP 7.0以降では最新版で動作可能)
- データベースサーバ(MySQL Database 3.23.XX)
XOOPS自体はウェブサービスなのでウェブサーバは必須、PHPで書かれているのでPHPが動いていることは常識、データ格納するのにデータベースのMySQL使っているからそれもいるよん、って事だ。まあこれはかなり広い範囲をカバーしてるので、現実的には次のように絞られると思う。
- ウェブサーバ Apache
- PHP 5 以降、mbstringモジュールが動いていること
- データベースサーバ MySQL 4.1以降
ウェブサーバはApache一択でいいと思う。まあ他のウェブサーバでどうしても動かさなくてはいけないって場合はそれなりの理由があってのことだろうから、それは各自かんばっていただきたい。
PHP5以降としたのは最近のモジュールはPHP5を前提に書かれたものが多いということだ。まあモジュールによってはPHP4でしか動かないという場合もあるだろうから、それも各自...。また日本語などのマルチバイト言語を処理する場合はmbstringモジュール拡張が必須。海外のレンタルサーバ使う場合などmbstring拡張やってないこともあるので注意が必要だ。
MySQL4.1以降としたのは、文字コードでUTF-8をサポートしているからだ。まあ今まで日本語処理というとEUCが多かったのだが、今後はUTF-8の方が何かと都合のいい局面も多いだろう。これからはじめるのなら最初からUTF-8が使える方がいい。
ああ、いい忘れていたけど、動かすOSは上記のソフトウェアが動くOSなら基本的になんでもOKなんだけど、実際のところはLinuxやFreeBSDなどのUNIX系に絞られると思う。Windows系も動かないわけではないのだが、sendmailやkakasi、GDといった子プロセスで動かす環境はUNIX系に依存してるし、Windows系だと文字コードが基本sjisになるのが痛い。別にインターネットにsjis絶対流しちゃ駄目と頭の固いことをいうわけではないが、まあ最低限のマナーってものがあるわけで。Windows系を使うのはローカルな開発環境とかに限られると思う。
追記 2017.10.31
上にも書いたけど、PHP7.0以降ではXOOPSは動作しなくなった。レンタルサーバを使う場合は注意すること。
追記 2022.6.7
PHP7.0以降ではXOOPSは動作しなくなったってのは正確には間違い。XOOPSの最新版であるXOOPS X (ten)では問題なく動作する。
必要なディスク容量・メモリ容量
意外と書かれてないのだが、XOOPSを動かすには次のディスク容量が最低限必要だ。
実際機能を絞ればもっと少ない容量でも動くとは思うのだが、実用最低限ってことだとこれぐらいは必要。ただしこの容量には、コンテンツのデータ量は含まれていない。あくまでXOOPSシステムを動かすのに必要なディスク容量だと考えて欲しい。
じゃあ、コンテンツにどれぐらい必要か、というと、そりゃ俺はエスパーじゃないんだから見当がつかん。まあ、最低100MBは用意しとけばとりあえずは間に合うでしょ、って感じだ。
あと、レンタルサーバなどで動かす場合は、PHPが動くメモリ容量にも注意が必要。最低16MBで動くとされているが、実用上その倍は欲しい。特に重量級モジュールを使いたい場合はメモリ不足で動かないなんてこともあるので注意が必要だ。メモリが少ないと最悪インストールさえできない、なんてこともある。
必要なスキル
別に独自のプログラム書いてバリバリサービス提供するぜ、って人ばかりではないと思うので、プログラマーじゃないと駄目っていうわけではないが、以下のスキルは必要になると思う。
- FTP、sshなど基本的なUNIXのコマンドまたはツールの操作
- MySQLでデータベースを作れること
話をUNIX系で動かすことを前提としているわけだが、基本的なUNIXの操作知識は必要。FTP知らないことにはファイルのアップロードできないし、ssh知らないことにはリモートログインもできない。まあリモートログインしても、lsやcpといった基本的なUNIXコマンド知らないと実際のファイル操作できないわけだが。それにviとかUNIX上のエディタの使い方もマスターしておいた方が無難。ローカルのエディタで修正してアップロード、でもいいのだが、やっぱちょっとしたファイルの修正したい、ってのはよくあることなので覚えておくと重宝する。
MySQL関係では、最低MySQLでデータベース作れればOK。もちろんSQLばりばりでいろいろできる方が後々メンテンスとかできて便利なのだが、動かす分にはデータベース作れりゃそれで十分。まあphpMyAdminとか使えるなら、それに越したことはない。
最近ではレンタルサーバのサービスで、CGI自動インストールとかいってXOOPSを自動でセッティングしてくれる事もあるのだが、よほどの初心者かものぐさな人でない限り使わない方が無難。どんなバージョンのXOOPS入れられるかわかったもんじゃないし、簡単インストールしたからといってカスタマイズはどうせしなくちゃいけなんだから、それなら自分でインストールからやった方がいろいろ把握できて便利。まあ、XOOPS動くかどうか判断基準になる、ぐらいの感じでいればいいかもしれない。
動かすサーバを用意する
さて、最低限必要な条件が分かったところで、次にそれを動かすサーバを用意することにする。まあ、自宅や自社のサーバがすでにあるってのならそれで動かせばいいのだが、普通はレンタルサーバを利用するのが一般的だろう。
まあ基本的に上記の条件さえ満たせばあとは好みと予算次第というわけなので、ここなんかを参考に自分の用途に合ったレンタルサーバを選べばいいだろう。
レンタルサーバー比較情報 http://www.server-search.jp/
個人的に以下の条件で絞り込んでいくと表のようなレンタルサーバがヒットした。
- XOOPS動作可能(PHP、MySQL)
- ディスク1GB以上
- 独自ドメイン(専用URL、メールアドレス)
- 自作CGI
- TELNET/SSH
- FTP
- SSL
- 商用利用
- 月額利用料、初期設定料1万円以下
サービス名 | コース | 月額利用料 | 初期設定料 | ディスク | 国内設置 | サポート | レジストラ | 特長 |
XREA.COM | CORESERVER | 500円 | 1000円 | 15GB | ○ | 掲示板 | VALUE-DOMAIN | 特急の障害対応は1件500円 |
使えるねっと | 専用Celeron | 9800円 | 9800円 | 8GB | ○ | root権限有り |
1Gserver.com | f551 | 5500円 | 0円 | 11GB | × |
Joe'sWebHosting | マルチメディア | 1575円 | 0円 | 無制限 | × |
ホストプロバイダー | HVD00-2G | 7980円 | 0円 | 2GB | ○ | 再販可能 |
W3Lab | スタンダード | 4500円 | 7000円 | 1.6GB | × | 再販可能 |
あとここなんかも参考になる。
レンサバ放浪記 http://www.xugj.org/modules/wiki2/?レンサバ放浪記
さすがに日本XOOPSユーザーズグループだけあって、XOOPSを動かす上での注意点とかも細かく載っていてGOOD。特に実際使っている人の感想が分かるところがいい。
個人的なレンタルサーバのお勧め基準
別にここはどっからもヒモ付きでもなんでもないので、俺の場合の個人的なレンタルサーバの選択基準を挙げておこう。
- 安いに越したことはない
こんなこといっちゃ身もフタもないのだが、正直いって月額1万円以下のレンタルサーバなんてどこも似たり寄ったりである。であれば安いにこしたことはない。個人で遊ぶ分には月額1000円以下、ってのが絶対譲れない線。
- かといってミラーもしてないようじゃ困る
まあ安いに越したことはないのだが、かといってディスクミラーもしてないようなサーバじゃ困る。CMSってのはオンラインでデータを追加していくことも多いので、バックアップ取ってないタイミングでディスク故障なんか起こされた日には、それまでの苦労が全部水の泡になる。まあ、バックアップ取っておくのは常識なのだが、最低限の保険は必要。
- ディスク容量はあればあったほうがいい
いくら安いからといって、いまどきディスク容量が1GBもないようなレンタルサーバだと困る。特にファイルのダウンロードサービスなんかやりたいときには、ディスクはいくらあってもありすぎて困るということはない。最低1GBは絶対譲れない線。
- 軽いに越したことはない
XOOPSってのはPHPとMySQLが動的にページ生成するので、静的HTMLにくらべてサーバに対する負荷が高い。特にMySQLが動いているデータベースサーバが遅いと1ページ表示するのに1分かかるなんて例もあるようで、できればそんなサーバは遠慮したい。まあ、無料試用期間があって実際にアクセスを体感できるような所がGOOD。
- 広告自動挿入は困るよね
広告を自動挿入してレンタル料金を安くというか無料にできる所もあるのだが、個人的にはパス。というかそこまで金ケチらなくてもいいだろうと思う。それに広告自動挿入するとHTML的にも面倒になるし、以前あるところでは広告にマルウェア騒動があったりしてなんか気に入らない。まあ別にアフィリエイトしたい、って気持ちは分からなくもないので、そこら辺は個人の裁量でご自由に。
- でも商用利用はしたいよね
ちょっと矛盾するのだが、商用全面禁止って所はカンベン願いたい。まあ他人が自分の店で勝手に商売するのは気に入らないが、自分の出店で自分の商売するのは自由でしょ、ってのがこっちの言い分。
- 独自ドメインは基本でしょ
いうまでもないことだろうけど、独自ドメインで運用できることは基本。というか自己サイト立ち上げてXOOPS運用しようって腹なら、独自ドメイン以外で運用するメリットがイマイチわからない。まあできればレンタルサーバ提供している所がレジストラも一緒にやってくれてると、こっちも面倒がなくていい。
- MySQLは複数データベース設置可能じゃないとヤダ
XOOPSでは、ディレクトリを分ければ複数のXOOPSを共存させることができる。まあ複数ドメインの運用なんていうこともよくあることなので、これはこれで便利な機能。その際にMySQLのデータベースも別個に作成できた方がいい。まあ接頭子を変えることで1つのデータベースで複数のXOOPSを動かすこともできるのだが、安全性や性能の点であまりお勧めできない。
- ドキュメントルートが下位ディレクトリであること
ちょっと分かりにくいかもしれないけど、レンタルサーバで提供されたFTPディレクトリがApacheのドキュメントルートだとちょっと困る。というのも最近ではXOOPSでTRUST_PATHというのを設定できるモジュールも増えてきており、まあこれは何かというと、ドキュメントルートより上位のディレクトリに重要なデータを置いておくことでセキュリティ面での強化を狙ったものである(まあメリットはそれだけじゃないんだけど)。ということでできればFTPの提供ディレクトリがドキュメントルートでない方が望ましい。
- アクセスログがきっちり取れること
以前使っていたレンタルサーバでは、アクセスログさえまともに取ってくれないところがあった。サイトを運営していると、どんな所からアクセスがあったのかとか、切れてるリンクはないかとかをチェックするのは管理者の責任というか日課といってもいい。XOOPSのモジュールでアクセス解析してくれるのもあるのだけど、やはり生のアクセスログが見れるほうが何かと便利。
でもって、結局どこ使っているかというと、CORESERVER(CORE-A)。ほぼフルスペックのLinuxサーバで、ディスク容量が最大15GBで月額500円ってのは破格に安い。結構満足しております。ただし注意しないといけないのは、サーバ選ぶときにハズレを引くと全然性能がでないこと(サーバの移転も一応可能なので、どうしても我慢できないときは考慮してみてもいいかもしれない)、あとサポートがほとんどないものと思うしかないこと(だから正直言って障害は自力でなんとかできる中級者以上じゃないとストレス溜まりまくるかも。というか初心者はヤメとけ)。それとPHPは基本SAFE MODEで動くのでいろいろと注意が必要(CGIとして動かす方法もあるけど、そこらへんは各自よろしく)。というわけで今後サーバの設定するときの説明はCORESERVER(XREA+でもほとんど同じ)の例でいくので、そこんとこよろしく(もう一度言っておくけど、別にヒモ付きじゃないからね)。