Archive for the ‘OS’ Category

postheadericon PLESKでSSL証明書をインストールする

【SSL証明書をインストールする場合の覚え書き】

PLESKで管理できる同じサーバを2回借りて、2回ともSSL証明書のインストールに失敗したので、覚え書きをしておきます。

  • 初期設定でIPアドレスを「占有」としておくこと。
    • 前回も今回も「共有」にしていました。
    • 共有にする場合は、PLESKで設定した「ドメイン」配下ではなく、ルートの「設定」から「SSL証明書」を選択して作業する必要があるのだと思います。今回、「共有」の状態のまま「ドメイン」配下の「SSL証明書」に対して作業したのがいけなかった模様。
  • あるいは「共有」の場合、ルートの「設定」から「SSL証明書」の手続きを進めること。

当初、実際にファイルをいじって対応しましたが、最終的にサーバ管理をお願いした会社に手続きをしていただき、確実な動作が期待できるようになりました。

 

【今後の計画】

以前にも述べましたように、ICOのサイトはMac OS X Snow Leopard Serverにて稼働しています。いくつかのサイト構築に複数のCMSを用いていますが、主に使用しているWordPressの自動更新がうまく行きません。

今回、他社様の業務用に改めてCentOS サーバを借りましたが、Net公開サーバとしてははるかに使い勝手がいいと改めて感じる次第です。Macはクライアントで使っているのですごく愛着はありますが、管理の手間を考えればCentOSのほうが格段にコストを下げられます。両方確保しておいてもいいのですが、ランニングコストを考えて、CentOSに移行し直すことも検討しなければならないかも。

postheadericon やはりCentOSはいい

ICOのWebサーバはMac OS X Snow Leopard Serverで稼働していますが、業務上やむを得ずCentOS Serverを借りることになりました。PHP5.3だと過去に作ったWebアプリケーションに使っているフレームワークが動作しないためです。

毎年定期的にホスティングしているアプリケーションを格納するためだけに、低価格のVPSを契約しました。ところが、ここに使われているBlueOnyxの機能が残念ながら今ひとつ。さらに、少し負荷をかけると極端に遅くなってしまうし、SSL通信の設定もうまくいかない。問い合わせに対する返事も1日に1回で、それも誤ったインフォメーションが帰ってきたり。

もう手動でやっちゃうぞ、と思いましたが、BlueOnyx独自の設定で、どのように設定ファイルを変更していいか勉強する時間が足りません。結果、契約から数日で解約させていただきました。安物買いの銭失いとはこのことで、やはり価格だけの優先はリスクが高いということを思い知りました。

で、昨年解約したTsukaeru.net様にまだ私のアカウントが残っていたので、こちらに新しいVPSを契約することにしました。多少OSやコンポーネントのバージョンは変わっているでしょうが、稼働実績があるからです。

久しぶりにParallels Virtuozzoコンテナ/Plesk Panelを使いましたが、これは管理しやすくて高機能です。現在、Mac OS X Snow LeopardをGUIツールで管理していますけど、Internet公開サーバとしての管理機能はPlesk Panelのほうが圧倒的に使いやすく、また高機能です。

Snow Leopard Serverには別に重いサービスを追加する可能性があるので、同じサーバに設置中のicofit.netドメインのコンテンツはもしかしたら新しく、今回契約したVPSに移してしまうかもしれません。なにより、WordPressの自動更新が効くし、MODxのCaptchaも稼働しますからね。

でも…。現在Virtuozzoコンテナの再インストール中だったりします。IPアドレスの使い方を変更しようと考えたからです。それにしても、非常に時間がかかりますね。

ただ、またアプリケーション環境構築をイチからやり直さねばならず、正直大変な状況になってきました。毎年この時期は、どうしようもなく忙しいのですけど…。

postheadericon Mac OS X 10.6 Snow Leopard Server

自社サーバOSに何を使っているかを明かすことは躊躇がありますが、今回はインターネットサーバとして使われる機会が少ないMac OS X 10.6 Snow Leopard Serverを導入してみたので、あえて紹介してみたいと思います。

ただ、ここに紹介する問題はほとんど解決していないし、糸口すら見つかっていません。もし、トラブル解決の参考にこのエントリをご覧頂いている場合、現状ではお役に立てないことをお詫びいたします。逆に「もう解決したよ」という方がいらっしゃったら、ぜひご教示下さい。

【このOSを選んだ理由】

なぜ、今回このサーバを選んだかというと、私自身がお仕事のほとんどをMac OS Xを使って行っていることが一番の理由でした。特に、中小企業向けにWebアプリケーションを作成してホスティングして差し上げる場合に、開発から公開まで、基本的に同じOS上での可動確認が行えることは大きなメリットです。

そして、Mac miniにこのOSを標準で搭載したラインナップが登場したこと、これを丸ごとハウジングするサービスがあること、それが移転前まで使用していたサーバと同じ程度の料金で実現できることも魅力でした。

ICOは株式会社ねこじゃらし様のハウジングサービスを利用させていただいています。私はMac miniを持っていなかったので、ねこじゃらし様経由でサーバを購入し、RAID構成の設定、基本的なグループ構成の設定まで行っていただいたため、かなり楽でした。

ただ、実はOS X Serverを使うのは今回が初めてで、ローカルのOS Xで構築した環境とはアプリケーションの構成も配置も大きく変わりました。ですので、結果的には稼働サーバにCentOSなどのLinux系を選ぶのと大差がなかったです。

ただ、ローカルマシンもOS X Serverに変更するという手もありますので、今後検討してみるつもりです。

【GUIツールでの設定】

DNS/Web/FTP/Mail/LDAP/Firewallなどのアプリケーションの基本的な設定は、Mac OS XのAquaの画面を通して行うことができます。もちろん、WindowsやLinuxにもリモートデスクトップ機能はあるので、同じようにGUIによる設定は可能だと思いますが、それらと比べてどうなのか、ということはわかりません。基本、Linux(主にCentOS)、Windowsはすべて設定ファイルを直接編集してサーバ構築していたので。

Mac OS X Serverのサーバ管理GUIツールはDNS/Firewallなどは設定ファイルの記述ミスをなくす上でとても有用なツールだと思いました。ただ、WebとかFTPとか、もうちょっとオプションの設定ができればいいなあ、と思いました。

心配なのは、設定ファイルを直接編集した場合、それを改めてGUIから変更してきちんと維持できるか、ということです。以前使用していたCentOSのPlesk操作においては何度か泣かされたことがありましたので。

MacにおいてはMacPortsという、CentOSで言えばyumのようなインストールツールが存在しますが、これでOS標準のライブラリを書き換えてしまったあと、OS X側のサーバアップデートを行うと、MacPortsでインストールしたライブラリが無効になることがあるようです。ここはちょっとデリケートですね。

【PHP5.3の問題?】

CentOS 5の標準PHPは5.1系でした。これはこれで「5.2系に変更できないのかなあ」という不満はありました。

もちろん、ソースコードから手動でコンパイルしたり、yumの検索先に有志のサーバを追加するなど、方法がないわけではありません。それでも、5.2系ではどうしても揃わないライブラリがあって、結局5.1系に戻して運用せざるを得なかったという状況でした。

しかし、CentOS 5 + PHP 5.1系は私が使用した限りのオープンソースCMSが快適に、トラブルもなく動くという利点があります。もちろん、自前のアプリケーション(例えばEthna PHPフレームワークで作ったサイト)なども問題なく動作をしていました。

それに対してMac OS X Serverはより新しい技術を利用できます。PHPのバージョンが最新の5.3系だからです。しかし、リリースされて1年ほどのバージョンであり、互換性の問題がいろいろと指摘されています。

当初、弊社サイトはConcrete5/Joomla/Drupal/MODxあたりで構成してみようと考えていました。

Concrete5は認証に用いるcaptcha機能が稼働しなかったことで試用に終わりました。

1) 代表的なCMSが動かない

世界で最も使われているCMSだというJoomlaはインストールすらできませんでした。Ajaxが接続するPHP側のモジュールがPHP5.3では動作していなかったのです。この入力チェックロジックを消してみたらインストールはできたものの、管理画面が動作しない様子でした。

社内(あるいはそれ以前の個人で)作成した自前のアプリケーションであれば移行ガイドに従い修正することが可能になりますが、日常的に使うCMSなどはそれが難しいです。必要なCMSやフレームワークのコミッタとして自らが参加する、ということもいずれはやってみたいですが、現在の実力ではちょっと難しい感があります。

【追記 2010/09/08】

MODx Revolution 2.0 日本語版のインストールを試みました。途中まではインストール画面が進みますが、画面が真っ白になって終了。残念ながら標準状態ではインストール不可のようです。

2) PHPからのFTPディレクトリの作成がうまく行かない

現状、CMSとしてブログソフトのWordPress 3.0およびMODx Evolutionを使ってサイトを運用しています。WordPressは管理上非常に便利な「プラグインの自動更新」「テーマの自動更新」が使えません。PHPからのFTPディレクトリの作成ができなくなっているため、いったんディレクトリを消してから再度コピーするという仕組みに対応できないのです。これは現在調査中です。ネットを検索するといくつかの解決方法の提示がありますが、私のところでは解決できませんでした。

FTP SSH経由に変更しようと思いましたが、これはこれで動作しません。libssh2に加え、

$ sudo pecl install ssh2 “channel://…….”

というようにPHP側のSSH2モジュールも必要となるようなのですが、いろいろな組み合わせを試しましたけど、libssh2とPHP側のssh2のバージョンが合わないようでコンパイルに失敗します。

3) 新規オブジェクトの参照受け渡しが推奨されなくなった

MODxはプラグインの一部(pieX)が使用しているコードがPHP5.3に対応しておらず、自分でパッチを当てて対応しました。「=& new」という書き方が推奨されなくなったため、「= new」という書き方に置換しただけです。PHPのerror_reportiingの設定でE_DEPRECATEDを除外する方法もあるみたいですが、今後PHP5.3を使っていくことになるためソース修正をとりました。サーバ移転後、ICO / Fitness Club Onlineの開始だけが遅れてしまったのはそういう理由によります。

4) GD(画像作成ライブラリ)の動作制限がある

そして、両方に共通して言えるのがcaptcha機能の問題です。MODxとWordPressのプラグインであるSI-captchaではテキストの作製方法が違うので、同じエラーではありません。

・FreeTypeがサポートされていない

まず、MODxですが、文字列画像を作成する際にimagettfbbox()という関数が見つからない、という深刻なエラーとなります。どうやらFreeTypeという仕組みを実装する必要がありそうですが、Mac OS Xの場合独自にコンパイル実装すると、サーバアップデートなどでモジュールが上書きされる可能性が高く、現在は対応し切れていません。

・GD Fontがドメインによってはロードできない (解決)

中原個人のブログである「ICOの秘密」はcaptchaを稼働させていると、自動入力系のほとんどのスパムを入力段階ではじいてくれていたのですけど、停止させてからはたくさん届いています。しかし不思議なことに、WordPressのcaptchaはこのサイト(http://www.icofit.jp/)では稼働しているのです。ログを見ると、「GD Fontのロードに失敗した」というメッセージが出ています。

【追記 2010/09/03】

最新のSI Captchaのオプション画面から、いくつかの設定を変更してみたところ出るようになりました。

【何より、情報が少ない!】

今回のサーバ構築には以下の書籍を利用しています。

Mac OS X Server 10.6 実践ワークグループ&インターネットサーバ構築

正直この書籍がなかったら、構築は無理だったでしょう。ただ、限られた前提によって書かれるのが書籍ですから、いざ変わったことをしようとしたりすると当然この本の中に情報を見つけることはできません。そこで、ネットであらゆる情報を調べるわけですが、日本語でも英語でも、なかなか情報を見つけることができません。これが現段階での、Mac OS X Server 10.6の一番の弱点でしょうね。Linux系であれば、おそらくこの程度の問題であれば、10分〜2,3時間で解決できると思います。

ほかの仕事をやりながら、ということもありますけど、1ヶ月ほどやってみても各問題が解決できません。