GUiLZ Project Personal & Experimental Blog

サーバー

引き続き、XOOPS Cube Legacy 2.2 ベースでのお話。サーバー環境のせいか、d3downloads 1.47 を利用している時に、以下のような問題が発生していた。

  • POST処理を行うと、たまに画面が真っ白になって反応が無くなる。こうなると、別モジュールも真っ白になって見えなくなることがあった。
  • 激しく重い。データ1件しか登録してないのに10秒くらい表示にかかる

既に d3downloads の更新は停滞しているようなので、自力で何とかしてみることにした。

Continue reading

the Mac Pro setup
Creative Commons License photo credit: blakespot

いままでも スタードメイン でドメインを取得すると、10GBの無料サーバー機能が付いてきましたが、それがさらにパワーアップした「スターサーバープラス」が今日から始まりました。

正直、普通の個人ユーザーや中小企業のWebサイトを作るなら、ドメインさえ スタードメイン で契約すれば、毎月のサーバー代が要らなくなるかも、というほどのインパクトです。

Continue reading

WordPress 3.1.3 日本語版が出たので自動アップデートを試みたものの、Apache環境のWordPressは問題ないのだが、nginxで動かしているこのサイトだけ何故か失敗。

ログを見てみると、

upstream timed out (110: Connection timed out)

ということだったので、本家のwikiを調べたところ、fastcgi_read_timeout が関係しているらしいと判明。デフォルトは60秒だから、それを180秒にしてやったところ、無事に自動アップデートが完了した。

あわせて、関係ないとは思うけど send_timeout の値もデフォルトが60秒なので、180秒にした。

書き方はこんな感じ。

server {
	fastcgi_read_timeout 180;
	…
	…
}

fastcgi_read_timeout はHttpCoreモジュールの設定ではないので、server 以下に書いた。この辺りよく分かっていないので http 以下でもいいのかもしれないけど、wikiでの書き方もそうなってたので、まあそのままで。

send_timeout は http 以下に書いた。

http {
	send_timeout 180;
	…
	…
}

もし同じ症状の方がいたら、参考までに。

順番が逆になったけど、SaaSes Industria Smallの初期状態とかいろいろ。

申し込んでから利用できるまでには、10分程度の時間しかかからなかった。さくらのVPS よりも早かったかな。急いでいる時にはありがたいかも。

デフォルトでは必要最低限のサービスしか立ち上がっていないため、特に各種設定ファイルを編集しなくても問題なさげ。初期ブート時で400MB程度メモリの空きがある。

初期状態では22番ポートしか開いていないので、セキュリティ面でもまだ安全なほうか。現時点ではCentOS x64のみ選択できる。yum check-update したところ、全てのパッケージが最新で、更新が必要な物はなかった。これには好感。

あとは さくらのVPS でもやったように、sshdのポート番号を変えたり、iptablesの設定を変えたりといった感じ。

あとは今回、nginx を利用したWebサーバーにする予定なので、その辺りの設定などをまた別記事にでもまとめます。

個人向けの提供を待ちきれず、知人がやっている会社でIndustriaを申し込んでもらい、試してみた。

早速使用してみたところ、もともとのXenを動かしているサーバーの時計が狂っているのか、18時間ぐらい前の時刻になっている。

Xenはホストとの間で自動時刻調整されるため、普通に時刻合わせをしてもダメなので、以下のようにした。

/etc/sysctl.conf に以下の行を追加して再起動する。

xen.independent_wallclock = 1

その場で変更したい場合は、rootになって以下のコマンドを打ってやる。

echo 1 > /proc/sys/xen/independent_wallclock

そのあとで

/usr/sbin/ntpdate ntp1.jst.mfeed.ad.jp

とすれば、正しい時刻が反映された。

ただ、再起動するとホストOS側の時刻に再設定されてしまうので、/etc/rc.d/rc.local あたりに、

/usr/sbin/ntpdate ntp1.jst.mfeed.ad.jp

と追加で書いた。これで再起動しても、常に時刻は正しく設定されるようになった。

 
余談だが、Industriaのデフォルトではntpが入っていないので、

yum install ntp

として、事前にインストールする必要がある。XenのホストOSと時刻が同期するから不要という事かもしれないが(さくらのVPS にはデフォルトで入っている)、ホストOSの時計が狂っていたのでは意味がないので、ホストOS側の時刻は正確に保っていただければと思う。

同人荘 - doujin.so!

以前から借りていてサイト作成はしていたものの、ちょっと放置気味だった ドメインキング に、同人荘 – doujin.so! のトップページを移行したときの設定とか。

将来的にサブドメインだけ残して、他のサービスを使いたくなった方のお役に立てれば幸い(そうならないようにしていきたいとは思いますが……)。

Continue reading

さくらのVPS に、オープンソース全文検索エンジンの Fess を導入してテスト中。簡単にインストールでき、利用できるのは素晴らしい。

以前勤めてた会社では、ファイルサーバーの全文検索に Hyper Estraier Win32版を入れて使っていたんだけど、導入にはApacheが必要だし、ファイルのクロールさせているとよく落ちて、そのたびにインデックスが壊れてリペアが必要だしと、使い勝手が微妙だった。(クロール失敗・インデックス破損は、Win32版特有の問題かもしれないけど)

その点 Fess は、普通に使うだけならApache入れる必要もないし、Javaだけ入っていればOSを選ばないのもいい。さらにAPIを使えば、他のWebサイトから検索のバックエンドとして使えるので、使い勝手も悪くなさそう。後は検索速度とかクローラーがエラー吐かないかどうかなど、おいおい試していってみよう。

インストールに必要なのは OpenJDK だけ。yum から一発インストール。

yum install java-1.6.0-openjdk.x86_64

後は Fess のサイト(http://sourceforge.jp/projects/fess/releases/) より、データを持ってきて

unzip fess-server-x.y.zip
cd fess-server-x.y
chmod +x bin/*.sh
./bin/startup.sh

とするだけで起動する。管理はWebベースで。管理者パスワードの変更は、http://fess.sourceforge.jp/ja/setup.html あたりを参考に。

Ruby ベースの SUZAKU も気になるところだけど、インストールが若干手間なのと、最新バージョンが4年ほど前の更新なので、開発が活発な Fess のほうが安心かな。Tomcat使う分、重いかもというイメージはあるけど。

現在、このブログがある さくらのVPS では、PHP 5.3系を使いたいのでremiレポジトリを有効にして、yumでアップデートなどを行っているのだけど、そこで発生したトラブルについてメモがてら。

昨日アップデートをしたら、大量のアップデートに混じってMySQLも5.1系から5.5系にバージョンアップされたらしく、起動しなくなっていた。MySQLのログを見ると、

[ERROR] /usr/libexec/mysqld: unknown variable 'default-character-set=ujis'
[ERROR] Aborting

となって終了している。

MySQL MLの投稿
http://www.mysql.gr.jp/mysqlml/mysql/msg/15436

によると、5.5系では [mysqld] 内では default-character-set が利用できなくなっているとのことなので(ただし [client], [mysql], [mysqldump] では問題なく利用できている)、代わりに /etc/my.cnf に

character-set-server = ujis

と書いてやることで無事起動するようになった。

が、以下のようなエラーも吐かれていたので、こちらにも対処する。

[ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it

mysqld を起動しておいた状態で、

# mysql_upgrade -u root -p

として root パスワードを入力すると、データベースがチェックされ、問題なく全て OK となった。再起動後もエラーは出なくなったようだ。

そして、ここまでやった後に、下記サイト様を発見。

【MySQL】5.1から5.5へのアップグレード(rpmで)
http://www.softel.co.jp/blogs/tech/archives/2288

yumだったからか、私の場合は全く警告も出なかったけれど、データベースのダンプくらいは取っておくべきだったなと、今さらながらガクブル。ま、問題は出なかったから、よしとしよう。(mysqldumpしながら)

さくらのVPS で若干ハマった話。というか、CentOS系のApacheでハマった話の方が正しいかな。

/etc/httpd/conf.d/

に、NameBased Virtualhost用の設定ファイルを置いていたんだけど、この設定ファイルで、IPアドレスを指定してアクセスしてきたユーザーは全て拒否するようにしていたのに、何故か拒否されずにCentOSのデフォルトページが表示されていた。

内容は以下のような感じ。


    ServerName any
    DocumentRoot /tmp



    order deny,allow
    deny from all

同じディレクトリにあった、welcome.conf に書かれていた以下の内容が優先されていたようなので、コメントアウトして対処。(ファイルを消しておいても問題ないけど)


    Options -Indexes
    ErrorDocument 403 /error/noindex.html

以上でIPアドレスを指定した接続には403が返るようになった。

PHOTOSYNTHESIC BLOG 様の以下の記事、

CentOS5で動かしてるWordPressをsFTP経由で自動アップデート

を参考に、さくらのVPS 上で動かしているこのWordPressもSFTP経由で自動アップデートさせたいなーと思っていたのだけれど、libssh2をソースからコンパイルするのはちょっと面倒だなーと思っていたら、CentOS 5.5ではyumだけで何とかなったので、そのメモ。

libssh2は、以下のような感じで。

yum install libssh2.x86_64
yum install libssh2-devel.x86_64

後は、PHOTOSYNTHESIC BLOG 様の記事通りに、

pecl install -f ssh2

ヘッダファイルの場所を聞かれるけど、Enterで問題なし。libssh2-devel.x86_64 を入れ忘れているとエラーが出ます。

その後、/etc/php.ini に、

extension=ssh2.so

を追加してやるか、/etc/php.d/ 以下に上記を書いたファイルを置いてやる。

で、最後にApache再起動。

/etc/init.d/httpd restart

こんな感じで問題なくWordPressでSFTPによる自動アップデートができるようになった。

 

2011/05/23 追記

SaaSes Industria で

pecl install -f ssh2

を試してみたら、peclのssh2がバージョンアップしているのか、うまくいかなかったので、こっちもyumでやってみたメモ。

pecl install -f ssh2

の代わりに、

yum --enablerepo=remi,epel install php-pecl-ssh2.x86_64

とするとうまくいった。(事前にremi・epelのレポジトリ登録が必要)

この方法だとPHPへの設定も自動でやってくれるから、さらに楽だね。今後はこの方法でやろうっと。

スポンサードリンク

Twitter
利用中のサービス

GUiLZ Project では、以下のサービスを利用しています。


関連サイト
巡回先サイト様
アーカイブ