Archive for the 'PHP' Category

シンプルなWEBベースのBTS「OpenTask」

PHP No Comments »

会社で小規模なBTS(バグトラッキングシステム)が欲しいなぁと思いいろいろ探し回っていたところ「OpenTask」というBSTを見つけました。

早速ダウンロードして、設置してみた感じ、ところどころバグがあったりしてう~ん・・・という感じでした。

でも用途としてはこれが1番マッチしてるしシンプルで使いやすいのでこれで諦めるのはもったいない!!

ということで自力でバグをなおしたり、削除機能がないので削除機能を追加してみたりいろいろゴニョゴニョしてなんとか実用Lvに達してきました( ´ー`)

BSDライセンスらしいので、もしかしたら改造版を公開するかもしれません(=´ω`=)

APC(Alternatice PHP Cache)を入れてみた(続き)

LINUX, PHP No Comments »

APC(Alternatice PHP Cache)を入れてみたの続きです。

ちゃんと統計をとってみたところ、何も入れない方が早いといういことが判明(´・ω・`)
やはり、suphpとの共存は無理のようです・・・
suphpは毎回php-cgiを呼び出しているから、その都度キャッシュが初期化されているんじゃないかと・・・・いう気がします。

今度はapacheのキャッシュ機能を使ってみようかな( ´ー`)

※追記
APCの効果が得られないのはこのブログだけだったみたいです。
たぶんDB周りが原因でキャッシュの恩恵を受けれてないもよう。

phpinfo();だけのページをabで計測したらちゃんと早くなってました( ´ー`)

たぶんXCacheも同じ理由のような気がします。

APC(Alternatice PHP Cache)を入れてみた

LINUX, PHP 1 Comment »

xcacheを入れてみたであまり効果が体感できなかったので、今回はAPC(Alternatice PHP Cache)を入れてみました。

やはり体感ではあまり分かりませんでした・・・(´・ω・`)

という訳でapacheベンチ(ab)を利用して数値で調べてみたところ、何も無いよりは若干APCの方が早くなっていました(゚∀゚)

XCacheはなぜか何も無い状態よりも悪い結果になりました(やはりsuphpとの共存ができないのだろうか・・・)

ということで、APCの採用を決定!!( ´ー`)

Vine5.0で作ったRPM/SRC.RPM集にRPMとSRC.RPMをアップしましたので欲しい方はどうぞ(ご利用は自己責任で)

ついでにほとんどデフォで使っているMySQLのパフォーマンスチューニングも行いました。

my.cnfに以下を追加しました。

max_connections=200
thread_cache=200
query_cache_size=16M

結構早くなった気がします( ´ー`)

xcacheを入れてみた

LINUX, PHP 1 Comment »

自宅のメインサーバー機の方もやっとVine5へのアップグレードが完了しました( ´ー`)

では次のステップ!ということで次はPHPの高速化をやってみようということで・・・

(※ウチのサーバーはsuphpを使っているのでPHPのパフォーマンスあまりよろしくないのです。)

まずはeAcceleratorを試してみようと思ったのですが、コンパイル途中(RPMの作成途中で)でエラーとなってしまったので断念(´・ω・`)

仕方ないので次にXCacheを試してみました。

こちらはコンパイル(RPMの作成)も完了しインストールも無事完了。

ちゃんとXCacheが機能しているのかがイマイチよく分からなかったので結局アンインストールしちゃいました( ゚Д゚)

(※そもそもsuphpとxcacheの共存でできるのか???)

つぎはAPCを試してみようと思う( ´ー`)

XCacheのRPMをアップしましたので欲しい方はVine5.0で作ったRPM/SRC.RPM集からどうぞ(要自己責任です)

あ、あと2009年9月のスパム対策統計をアップしました。

Postfix単体で99.95%
Postfix+Procmailで100%

でした。

php5.3にアップグレード

LINUX, PHP, WordPress No Comments »

RoundCubeやWordPressで問題があった為、php5.3へのアップグレードを躊躇していたのですが、

再チャレンジということで思い切ってアップグレードしてみました( ´ー`)

まずWordPressのwarningの問題はphp.iniで

date.timezone = “Asia/Tokyo”

を明示的に指定してあげれば良いというのは前々から調査済みだったので解決!

さてさて最大の問題であったRoundCubeの方ですが、
単純にphp5.3にアップグレードしただけだと例によってDEPRECATEDがいろいろ出ます。

以前調べた時にphp.iniに

error_reporting = E_ALL & ~E_DEPRECATED

としてあげればDEPRECATEDはでなくなるということは知っていたのでこれを設定(最初から設定されてた)

んが、これでもDEPRECATEDが出力されてしまう・・・。・゚・(ノд`)・゚・。

というところまでで前回は諦めました。

今回はまずRoundCube Webmail の日本語化様よりroundcubemail-0.3-stableを頂戴してきてRoundCubeそのものをアップグレード。

これでもDEPRECATEDは消えない・・・(´・ω・`)

次にじゃーなんで「E_ALL & ~E_DEPRECATED」を指定してもDEPRECATEDが出てしまうのかというところを調査。

結論としてsuPHPを使っていることが原因のようなのです┐(´д`)┌

RoundCubeは設置時に直下のディレクトリに.htaccessを作成しphp_flagやphp_valueを設定します。

ところがsuPHPは.htaccessのphp_valueを認識できません。

どうもこれがダメなんじゃないか???というところに行き着きついたのです。

じゃーどうすればよいか!ということですがこれは結構簡単でphpが動作しているディレクトリ配下に以下のような.htaccessを置いてphp.iniを認識させればよいのです。

suPHP_ConfigPath /path/public_html/RoundCube
<Files php.ini>
order allow,deny
deny from all
</Files>

※/path/public_html/RoundCube直下にphp.iniをコピーしてRoundCube設置時に.htaccessに指定してあったphp_value等をphp.iniに反映させます。

今度はDEPRECATEDが消えましたヽ(´ー`)ノ

とりあえずは問題なさそうですが、もう少し様子をみる必要はありそうです( ´ー`)

WordPress2.8.2がリリースされてた

PHP, WordPress No Comments »

2.8.1からあまり日が経ってないのにリリースが早いなぁ~と思っていたのですが、どうやらXSSの脆弱性が見つかったっぽい?

それはそうと以前のことがあってPHP5.3にどのタイミングでアップグレードしようかいまだに悩んでいます・・・( ´ー`)

気合いを入れて自力で問題箇所を修正するかどうするか・・・

php5.3にアップグレード→php5.2.10にダウングレード

LINUX, PHP 2 Comments »

メインサーバーと予備サーバーの両方にPHP5.3を適用してみたのですが、WordPressでWarningがでたり、RoundCubeでエラーがでて動かなかったりと何かと問題アリアリだったので結局もとの5.2.10に戻しました(´・ω・`)

メインサーバー(Vine4.2)の方は以前作ったRPMでアップグレード。(そしてダウングレード)

予備サーバー(CentOS5.3)の方はremi-testをリポジトリに追加してあるのでそちらからyumでアップグレード。(そしてダウングレード)

ちなみにCentOSのyumリポジトリにrpmforgeとremi、remi-testを追加する方法は以下のとおり

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

wget http://rpms.famillecollet.com/remi-enterprise.repo
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi

cd /etc/yum.repos.d/

vi CentOS-Base.repo
[base]
name=CentOS-$releasever – Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&cc=jp
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/os/$basearch/
gpgcheck=1
#gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
gpgkey=http://ftp.riken.jp/Linux/centos/RPM-GPG-KEY-CentOS-5
priority=2

#released updates
[updates]
name=CentOS-$releasever – Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&cc=jp
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/updates/$basearch/
gpgcheck=1
#gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
gpgkey=http://ftp.riken.jp/Linux/centos/RPM-GPG-KEY-CentOS-5
priority=2

#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever – Addons
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons&cc=jp
#baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/addons/$basearch/
gpgcheck=1
#gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
gpgkey=http://ftp.riken.jp/Linux/centos/RPM-GPG-KEY-CentOS-5
priority=2

#additional packages that may be useful
[extras]
name=CentOS-$releasever – Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&cc=jp
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/extras/$basearch/
gpgcheck=1
#gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
gpgkey=http://ftp.riken.jp/Linux/centos/RPM-GPG-KEY-CentOS-5
priority=2

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever – Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&cc=jp
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
#gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
gpgkey=http://ftp.riken.jp/Linux/centos/RPM-GPG-KEY-CentOS-5
priority=3

vi rpmforge.repo
[rpmforge]
name = Red Hat Enterprise $releasever – RPMforge.net – dag
#baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
priority=1

vi remi-enterprise.repo
[remi]
name=Les RPM de remi pour Enterpise Linux $releasever – $basearch
baseurl=http://rpms.famillecollet.com/el$releasever.$basearch/
# http://remi.collet.free.fr/rpms/el$releasever.$basearch/
enabled=0
gpgcheck=1
gpgkey=http://rpms.famillecollet.com/RPM-GPG-KEY-remi
failovermethod=priority
priority=1

[remi-test]
name=Les RPM de remi en test pour Enterpise Linux $releasever – $basearch
baseurl=http://rpms.famillecollet.com/test-el$releasever.$basearch/
# http://remi.collet.free.fr/rpms/test-el$releasever.$basearch/
# http://iut-info.univ-reims.fr/remirpms/test-el$releasever.$basearch/
enabled=0
gpgcheck=1
gpgkey=http://rpms.famillecollet.com/RPM-GPG-KEY-remi
priority=1

使用する際は以下ようにオプションを追加

yum --enablerepo=remi,remi-test,rpmforge check-update
yum --enablerepo=remi,remi-test,rpmforge update

php5.3.0 for vine4.2

LINUX, PHP 1 Comment »

ということでRPM、SRC.RPMを作ってみました。

http://cmf.ohtanz.com/download/vine4.2/php5/5.3.0/

※apache1.3系のモジュールは除外しております。

そして私はまだアップグレードしてません・・・(゚Д゚)

ご利用は自己責任でお願いします( ´ー`)

PHP-5.2.10がリリースされました。

LINUX, PHP No Comments »

ということでメインサーバー(Vine4.2)のPHPアップグレード!

もちろんRPMを作成!

欲しい方は↓からどうぞ( ´ー`)
http://cmf.ohtanz.com/download/vine4.2/php5/5.2.10/

※上記はApache1.x用のPHPモジュールが除外されております。

予備サーバー(CentOS)の方はすぐリポジトリに上がりそうだから作らずに待ちます( ´ー`)

SQLBuddyとRoundCubeのその後

LINUX, PHP No Comments »

MySQL Quick Admin日本語対応版について、昨日久々に本家サイトを見ていったところすでにサイト自体が消滅してました。゜(゚´Д`゚)゜。

ということでMySQL Quick Admin日本語対応版も今後VerUpはないです。

一応ページ自体は残しておくうつもりですが・・・残念です(´・ω・`)

で、代わりになるものを探していたらSQLBuddyなるものを発見!

早速試してみました。

sqlbuddy

最初から日本語に対応しているし、MySQL Quick Adminよりもさらに軽い!!
これはとてもとても良い感じです( ´ー`)

続いてRoundCubeですが、先日のオリジナルのRoundCubeは既に日本語に対応していた。について、

たしかに日本語にも対応しているのですが、送信されるメールがUTF8な為、メーラーによっては文字化けする可能性がある為、ちょっとまずいなぁ~・・・

と思っていたところRoundCube Webmail の日本語化様に最新版が日本語化されていたのでこちらに変更致しました。

RoundCube Webmail の日本語化様のものはISO-2022-JP化されているので安心です( ´ー`)