HowToMakeSite
Zope や Plone のサイトを作るには
Zope やPlone サイトを本格的に公開するには、いくつかの技術的な事柄を理解する必要があります。 高可用性を備え、耐障害性にすぐれたサイト、とまではいかなくても、Linux でそこそこのサイトを作るためには、何をすればよいのかを記述します。超本格的なサイトですと、Web サーバとか DB サーバとか DNS サーバなどを分けて立ちあげますが、そこまでのモノを作るのは大変です。ここでは、全てのサービスを一つの Linux 機で動かすことを考えてみましょう。セキュリティ要件も考え出すとキリがないので触れていません。
まず、Zope、Plone をLinux で使うという場合、留意しなければならない点として、「実質的にコマンドライン必須」ということが上げられます。Product、ExternalMethod の追加、おっと、その前に、インストール時にコマンドラインが必須でしたね。
自分で用意するにしても、サービスを購入するにしてもその点については考慮しておく必要があります。また、細かい設定をするには root 権限も必要になるでしょう。
- ドメイン名の準備
ドメイン名は、サイトの名前であり、URL の基礎になります。
たとえば、http://www.zope.org/ というURL からは zope.org というドメイン名が導出され、www というドメイン内での名称(ホストまたはサブドメイン)が存在することがわかり、以下のようなことが想像されます。
- org : 組織体であることを表わす
- zope : その組織体の名前
- www : zope 組織体のなかで、wwwという名前のついたホスト(PC)またはサブドメイン
ということを表わしています。本来、トップレベルドメイン名(.com, .net, .jp など)は、属性や地域を表わす要素でしたが、現在では、気にしなくてもほとんど構わなくなっております。日本においては.co.jp などは未だに厳密な適用が行われてはおります。
また、wwwと書いてあれば、たぶんWeb Server なんだろうな、と思うでしょうが(私も思います)、あくまで単なる名前であり、World Wide Wresring という zope.org の中にある部門のサブドメインであってもかまいません。基本的にはIP アドレスを書いてもわかりにくいので、人間が想像しやすい名前を付けていると考えておけばよいです。
さて、独立したサイトを立ち上げるには、ドメイン名が必要です。ドメイン名はどうやって取得したらよいのでしょうか?また、絶対に取得する必要があるのでしょうか?
結論から言えば、ドメイン名の取得は絶対的に必要な要件ではありません。
サブドメイン(ドメインの子供)型のレンタルサーバなどを借りる、またはフリーの DDNS ( ダイナミック DNS ) を使うという方法があるからです。
しかし、サイトの特徴をドメイン名で表記したい、ともかく独自ドメインを取ってみたい(笑)などの理由により、ドメイン名を準備し、サイトに付けることができます。
現在においては、ドメインの取得は非常に簡単になっており、価格も安いです。2003年12月時点での.com, .net, .org (gTLD (グローバルトップレベルドメイン))の価格は $10/年、.jp(汎用jpドメイン)は 5000円/年以下となっており、gTLD においては長期ならさらに割引がある場合がほとんどです。
取得の方法については検索エンジンで「独自ドメイン」「取得」「激安」などのキーワードを入れれば容易に探しあてることができるでしょう。
- コンピュータと回線・場所の準備
ドメインを取得しても、それだけではZope は動きません。コンピュータが必要です。コンピュータに入れるOS は、ここではLinux としていますが、別に Linux でなくても FreeBSD でも Mac OS X でもかまいませんが、Unix っぽい OS がよいでしょう。お金があれば、AIX, hp-ux, Solaris などを選択することもできます。では、なぜ Linux としているかといえば、コンピュータの準備にはいくつかの方法があるからなのです。
回線・場所の準備にも関わってくるのですが、ここで一つの選択をしなくてはなりません。それは
- 自営サーバ
- レンタルサーバ
のどちらを選ぶか、ということです。レンタルサーバの場合、自由度が大きいのはまるごと借りる方式になります。apache の設定なども行う場合、root の権限が必要なことがほとんどですので、レンタルサーバの場合、一台まるごとか、仮想的に一台を分割する方式(vmware のようなものだと思えばよいでしょう)で提供されているサービスになると考えます。
自営の場合の最大の利点は「手元にある」ということです。OS も好きなものを使えますし、故障対応もラクです。なにかやらかしてしまった場合も、最悪、フルインストールのしなおしで対応できます。ただ、そこそこ本格的に、という点では、UPS が必要になったり、夜中にフリーズしたら、携帯が鳴ってたたき起こされるかもしれません。UPS はデカくて重く、場所の確保や騒音などで家族や上司との相談が必要になることも多いでしょう。
あとは回線を準備する必要があります。公開するわけですから、インターネットに繋がっている必要があるわけです。
「あ、うちには ADSL が来ているよ」ですか?残念ながら、普通の ADSL や CATV のサービスはいくつかの難点があります。
- IP 非固定である
DNS の設定では IP 固定である必要があります。DDNS を使う方法もありますが、この場合、DNS サーバは自分で持てません。一部の CATV サービスでは private IP を配布する場合もあるそうで、この場合、難点に目をつぶったとしても、そもそも公開が不可能です。
- 上りが遅い
ADSL では、固定IP を配布してくれるサービスも存在します。しかし、ADSL のA は「非対称」ですので、下りが24M になろうとも上りは1Mbps です。もっと速いサービスもあるかもしれませんが、基本的に上りは遅いのです。
しかしながら、この、上りが公開サーバからのインターネットへの帯域幅になります。
- 切れる
電話がかかってくると ADSL が切れる現象はにイラついている方は多いのではないでしょうか。その上 IP が変わったりすると、メイルを送信しようとして、「リレー拒否」のエラーが発生して、非常にムカつきます。少なくとも、私はそう感じます。
実はこれはBフレッツのような光ファイバーのサービスにしても発生します。しかし、頻度は減るでしょう。
と、いうわけで、そこそこ本格的に、というなら、準備する回線は光ファイバのサービスで固定IP 8個というのが最低限になるでしょう。もちろん、難点に目をつぶって ADSL ルータの機能で Web Server のポートだけ継いであげて、フリーのDDNS サービスを使うというのもアリなんですけど、ルータの設定やらなんやらで意外と敷居が高かったりするかもしれません。
では、レンタルサーバの場合はどうでしょう。
これは自営の場合のまさに逆になります。一般的なレンタルサーバは、iDC(インターネットデータセンタ)と呼ばれる専門的な建物に入っているため、電源の心配などはありません。絶対無いというわけではないのですが、少なくとも普通の事務所に置くのとはレベルが違います。また、単なる再起動ならほとんどのレンタルサーバ屋さんではある程度対応してくれますし、自動的に再起動させる仕組みを持っているところもあります。
もちろん回線も準備されています。費用が全部込みな場合と、帯域確保するかわりにお金が必要な場合、それから注意しなくてはいけないのが転送量課金の設定です。一定以上の転送が行なわれた場合、例えば予想以上に人気がでてしまうと、超過分に課金されますので、非常に請求書を見るのがこわくなるシステムです。
また、レンタルサーバ屋さんによっては、セキュリティパッチが出たときにメイルで教えてくれたり、DNS や SMTP の設定方法をメンバーページで説明してくれているところや、Web 画面で管理できる webmin をあらかじめ上がるようにしてあるなど、敷居を下げるための方法を準備してくれているところもあります。価格や速度も重要ですが、こういう点もあとから効いてくることは覚えておいたほうがよいかもしれません。
レンタルサーバを利用したときの欠点はハードウェアの仕様が自由にならないとか、コンソールをどうしても見たいときにはものすごく手間がかかるとか、自営の場合の利点そのものになるでしょう。もちろん、OS も固定されています。比較的安価な一台まるごとサービスでは Linux が使われていることが多いようですので、ここでも、デフォルトの OS を Linux にしています。
2003年12月の時点では、初期費用5〜10万円、月額1〜2万円から、このようなサービスはあるようです。
どちらがお勧めか、と聞かれたら、「どっちもどっちです」としか答えようがありません。
敢えて言うなら「両方」です。開発・実験機を自営で、本番運用機をレンタルで、というのが「本格的なサイト」っぽくてよいかもしれません(そんな雰囲気で選ぶようなものではないでしょうけど)。本当に本格的なサイトだと、レンタルじゃなくて、iDC へのハウジングでしょうけれど、そのレベルの心配はまだ不要じゃないかと思います。
- 動きました!!
ドメインも回線も計算機も準備できて、とりあえず「素」の状態でRed Hat Linux 9が動いたとします。
IP アドレスは 192.168.123.234 になりました(実際にこのアドレスだとしたらインターネットから見えません)。
ドメイン名は honkakuzope.net が取れました(実際には取ってません)。
Apache はデフォルトで2.0 が入っていて、動いています(例の"It works!" が見えます)。Zope 2.6.2のインストールも完了しました。さて、次はなにすればいいのでしょうか?
- ネームサーバ(DNS)の設定
ネームサーバの基本的な設定はそんなに難しくありません。まずは、動いているかどうか確認しましょう。
$ ps aux | grep named named 21212 0.0 0.4 13508 2536 ? S Dec08 0:12 /usr/sbin/named
のような感じで
/usr/sbin/namedが出てくれば、ネームサーバは動いてます。動いていない場合は root になって
# /sbin/chkconfig named on
とします。
# /sbin/chkconfig --list named
として、2〜5のあたりに": On " と入っていれば大丈夫です。より正確には
# grep initdefault /etc/inittab
として id:x:initdefault と書いてある場所の x のところの数値がオンになっていれば大丈夫です。Linux だと 3 か 5 なのが普通です。
さあ、下準備はこれくらいにして(他のところでも同様なので以下では省略します)、ファイルを書きましょう。編集するファイルは2つです。
まずは /etc/named.conf を編集します。もし、存在しなければ caching-nameserver-7.2 以降を探して rpm コマンドでインストールします。
/etc/named.conf ファイルの末尾に
zone "honkakuzope.net" IN { type master; file "honkakuzope.net"; allow-query { any; }; allow-transfer { none; }; allow-update { none; }; }を追加します。もし、セカンダリネームサーバがあるなら、allow-transfer { 999.999.999.999; }; のようにIP アドレスで指定しておきます。ひとことで説明すると、honkakuzope.net というドメインのプライマリDNS を /var/named/honkakuzope.net というファイルに記述してあり、そのドメインについて聞かれたらだれからでも答えるけど、転送や修正は受けつけない、ということです。なお、/var/named はこのファイルの最初のほうで指定されています(options節です)。
次に /var/named へ行きます。たぶん、localhost.zone, named.local, named.ca は存在すると思いますが、存在しなければ caching-nameserver-7.2 以降を探して rpm コマンドでインストールします。$TTL 900 @ IN SOA honkakuzope.net. hostmaster.honkakuzope.net. ( 2003110101 ; serial 日付+数字二桁とかがよいでしょう 900 ; refresh 試験的に短かくしてますが、localhost.zoneを参考 900 ; retry にして、もっと長く設定しましょう 900 ; expire 900 ; default_ttl ) IN NS honkakuzope.net. @ IN MX 10 mail.honkakuzope.net. IN A 192.168.123.234 mail IN A 192.168.123.234 www IN A 192.168.123.234 plone IN A 192.168.123.234最後に /etc/init.d/named restart を実行して、ネームサーバを再起動します。
- メールサーバ(SMTP)の設定
現在、よく使われている MTA (Mail Transfer Agent) は sendmail, qmail, postfix であると考えておりますが、ここでは、まずまちがいなくどのディストリビューションでもデフォルトでインストールされるであろう sendmail の設定について述べます。
Plone や Wiki などにおいて、メイルを使用する機会は多く、dtml-sendmail などというタグまであるほど、Zope とメイルの使用というものは深く結びついていると言えます。
しかしながら、sendmail などの MTA の設定を行う機会というものは少なく、設定をミスって SPAM の踏み台にされちゃわないだろうか、というような不安を抱くかたも多いと思います。
とりあえず、sendmail の 8.12 においては、ほんとうにデフォルトの sendmail.mc を用いて m4 で sendmail.cf を作れば、発信専用の MTA になるはずです。
sendmail の設定について書きだすと、それだけで一冊の本になってしまいますので、ここでは探しかたと確かめ方を書いておきたいのですが、まだ書いてません(^^;;
「SMTP リレー チェック」 あたりで Google などをお使いになればチェックしてくれるサイトが見付かると思います。
- Apacheの設定
ApacheConf2 へGo!