カテゴリー別アーカイブ: サーバ契約・設定

サイトC:000webhostで頻発するwordpressアップデートエラーを回避する

このサイトで契約しているサーバ000webhostですが、無料であることに加え、MySQLのデータベースを2つ使える、設定パネルとしてcPanelの簡易版が使える、広告が入らない、商用可などのメリットがあり、他と比べてもかなり条件の良いサーバであると個人的に思っています。特にMySQLデータベースが2つまで使えるということは、データベースをまるまる1つ占有してしまうwordpressなどのCMSを気兼ねなく導入できるということで、CMSの実験用として契約するユーザも多数存在するのではないかと予想できます。

一見するとCMSとの相性が良さそうに見えるこのレンタルサーバでは、しかしCMS自体の機能を使ったアップデートやプラグインの導入などの際に、エラーが発生してしまうということが多々あります。加えて、ユーザのアップロードが成功せず何回もトライを続けていると、負荷の低減のためかあるいは不正使用と誤認してなのか判りませんが、当該IPアドレスでのアクセスをしばらく禁止されてしまいます。それにより総合的なユーザエクスペリエンスが最低となり、実験用に契約した場合でも、「このサーバは使えない」という結論に繋がってしまう可能性があります。
そこで、そもそもこういった負の連鎖の原因となるアップロード失敗の原因を突き止め、問題を回避する方法を考えましょう。
結論から言いますと、アップデート時のエラーが頻発するのはサーバ側でPHPプログラムの動作を制限して軽い処理しかできないようにしているためで、000webhostのように.htaccessが使える場合、あるいは他の安サーバでもphp.iniが使える場合、それらの設定を変更することでエラー回避の道が開ける場合もあるというのは知っておいて損のない知識です。具体的に000webhostの場合で見てみましょう。

まずはphpinfo関数でphpの設定を調べて下さい。エラーに関係する項目のみ挙げますが、000webhostの場合デフォルトでmax_execution_timeが10、memory_limitが64M、post_max_sizeが2M、upload_max_filesizeが2Mとなっています。それぞれPHPスクリプトがタイムアウトになるまでの秒数、確保するメモリ容量、POSTで渡せる最大ファイルサイズ、アップロードできる最大ファイルサイズを表しています。
参考までに、サイトAのために契約しているWebhostingPadではこの値が30、128M、8M、2Mになっています。つまり000webhostではこれらの値を厳し目に設定することで、無料ユーザを総合した負荷を抑えるようにしているというわけのようです。
これらの変更を、ユーザのルートディレクトリに置く.htaccessで行いましょう。具体的には、max_execution_timeを少し長めの180秒程度にする、postやuploadのmaxサイズをmemoryリミットの制限内で上げるなどです。.htaccessまたはphp.iniでどのように書けばよいかは、少し前に上げたエントリ(php.ini.htaccess)を参考にして下さい。あまり詳しく言及すると000webhostの勘気に触れるのではないかという個人的な危惧があります(笑)

少しの欠点がありますが、対処を覚えれば便利なサーバーですね。いちユーザの意見としてポジティブに評価しておきましょう。

(2012.6追記:勝手にページを非公開にされ、コンテンツの返還に有料契約を要求された事件があり、現在このサーバは他人にお薦めしません。少し詳しい経緯などはこちら


サイトC:レンタルサーバを000webhostに変更

サイトC(このサイト)のサーバを、以前のサーバの仕様変更を機に000webhostという海外サーバに移転しました。1500MBのディスクスペース、2つのMySQLデータベースとPHPが使用可能という条件で、広告無しの完全無料という謳い文句です。移転から2年近く経過しているのですが、その間特に不具合や怪しい料金請求なども発生せず、(予想とは裏腹に)順調に使えています。FAQによれば、有料契約コースの収益があるからそれが可能になっているとのこと。確かに無料契約のままではアクセス解析などが利用できないので、サイトが大規模になったら切り替えの需要はありそうです。


サイトCのサーバにRental Orbit Spaceを選択

サイトC(このサイト)のサーバは、Rental Orbit Spaceというサーバを利用させてもらっています。学生さんが運営されているサーバのようで、容量制限なし、広告なし、商用利用可能とのことです。登録自体もフォームから氏名とメールアドレス、希望アカウント名、ホームページの内容を入力して送信するとすぐにアカウントが発行される仕組みになっています。ただしCMSなどでMySQLのデータベースが必要な場合には、別途申請が必要なようです。

学生さんに主に利用していただきたいとのことです。その他利用規約については、上のバナーのリンク先で、サイドバーから飛べるので契約前に目を通しておいた方が良いでしょう。

(2010.5追記:利用規約の変更をされたようで、容量、商用利用規定などがこのエントリの作成時と異なっています。サーバの名称はそのままですが、ドメイン名が変わったので、ご興味のある方は検索から探してください。このブログで現在使用中のサーバは、このサーバではありません。2012.6:バナーリンクも取り外しました)