2011年3月21日月曜日

モニタリングツールの minit をインストールして nginx、MySQL、PHP-FPMを監視する

EPEL レポジトリを追加している場合は
# yum install monit

EPEL レポジトリの追加は下記。
# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5.5/x86_64/epel-release-1-1.ius.el5.noarch.rpm
# rpm -ivh epel-release-1-1.ius.el5.noarch.rpm

monit の設定ファイル
# vi /etc/monit.conf

set daemon 60
set logfile syslog facility log_daemon
set alert mailaddress

# アラートメールはGmail経由で送信
set mailserver smtp.gmail.com port 587
    username "gmail_address" password "gmail_password"
    using tlsv1
    with timeout 30 seconds

# Include all files from /etc/monit.d/
include /etc/monit.d/*


MySQL 設定ファイル
# vi /etc/monit.d/mysqld

check process mysql with pidfile /var/run/mysqld/mysqld.pid
        start program = "/etc/init.d/mysqld start"
        stop program  = "/etc/init.d/mysqld stop"
        if failed port 3306 protocol mysql
                then restart
        group mysql


nginx 設定ファイル
# vi /etc/monit.d/nginx

check process nginx with pidfile /var/run/nginx.pid
        start program = "/etc/init.d/nginx start"
        stop program  = "/etc/init.d/nginx stop"
        group nginx

PHP-FPM 設定ファイル
# vi /etc/monit.d/php-fpm
check process php-fpm with pidfile /var/run/php-fpm/php-fpm.pid
        group nginx
        start program "/etc/init.d/php-fpm start"
        stop program "/etc/init.d/php-fpm stop"
        if failed host 127.0.0.1 port 9000
                then restart
        if 5 restarts within 5 cycles
                then timeout


# chkconfig monit on
# /etc/init.d/monit start


2011年3月18日金曜日

CS-Cart ウォーターマーク アドオン

商品画像にウォータマークをつけることができるアドオン
New addon "Watermarks" is available for testing - CS-Cart Community Forums

ウォータマークにテキスト、画像を指定することができます。

2011年3月11日金曜日

CS-Cart で商品画像にウォーターマークを入れる

既に uservoice で image watermark があるのでそのうち対応してくれそうだけど、
phpThumb を使えば簡単にできるのでご紹介。

phpThumbを設定、ウォーターマーク画像を用意する。
拡大画像にウォーターマークを入れたいなら .htaccess に
RewriteRule ^(.*)images/detailed/(.*) $1phpThumb/phpThumb.php?q=100&src=../images/detailed/$2&&fltr[]=wmi|images/watermark_LRG.png|C|100 [L]

初回のみキャッシュ作成のため、読み込みに時間がかかるというのと
GD2よりも ImageMagick を使った方が画像が若干綺麗。

2011年3月1日火曜日

CS-Cart on nginx

nginx.conf


        location / {
            root   /var/www/html;
            index  index.php;
          
            if (-f $request_filename) {
                break;
            }
            try_files $uri $uri/ /index.php?sef_rewrite=1;
        }

nginx は RewriteRule の QSAフラグ と違って何もしなくてもそのまま引数を渡せるみたい。

CS-Cart で Warning: The secure connection check has failed. Check HTTPS settings in config.php file and make sure that SSL certificate is installed on your server. エラーが出たときの対処法

Secure connection fails より
nginx上のCS-Cart で
Warning: The secure connection check has failed. Check HTTPS settings in config.php file and make sure that SSL certificate is installed on your server.
というエラーが出たときは、prepare.php の

if (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == '1')) {
        define('HTTPS', true);
の後に

} elseif ($_SERVER['SERVER_PORT']=='443') {
        define('HTTPS', true);
を追加する

さくらのVPSにnginx+PHP 5.3.3+MySQL+PHP-FPM+APCをyumを使ってインストール

CentOS 5.5 + PHP 5.3.3 + PHP-FPM + APC + nginx (yum RPMs)を参考に

EPEL、IUS-Communityレポジトリを追加
# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5.5/x86_64/epel-release-1-1.ius.el5.noarch.rpm
# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5.5/x86_64/ius-release-1.0-6.ius.el5.noarch.rpm
# rpm -ivh epel-release-1-1.ius.el5.noarch.rpm ius-release-1.0-6.ius.el5.noarch.rpm

IUS-Communityレポジトリのバーションが5なので5.5に変更
# vi /etc/yum.repos.d/ius.repo
mirrorlist=http://dmirr.iuscommunity.org/mirrorlist?repo=ius-el5&arch=$basearch をコメントアウトして、
baseurl=http://dl.iuscommunity.org/pub/ius/stable/Redhat/5.5/$basearch を追加

MySQLのインストール
5.1系
# yum install mysql51.x86_64 mysql51-devel.x86_64 mysql51-server.x86_64
5.5系
# yum install mysql55.x86_64 mysql55-devel.x86_64 mysql55-server.x86_64

PHP 5.3とPHP-FPMとAPCのインストール
# yum install php53u.x86_64 php53u-devel.x86_64 php53u-gd.x86_64 php53u-mbstring.x86_64 php53u-mcrypt.x86_64 php53u-mysql.x86_64 php53u-pdo.x86_64 php53u-pecl-imagick.x86_64 php53u-fpm.x86_64 php53u-pecl-apc.x86_64
その他のエクステンションは yum search php53u で

nginxのインストール
インストールされるバージョンは 0.8.53、0.7系をインストールしたい時は nginx07.x86_64 を指定
# yum install nginx.x86_64

nginxの設定ファイルを編集
# vi /etc/nginx/nginx.conf

#location ~ \.php$ { ブロックのコメントアウトを解除
さらに
fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name; を
fastcgi_param  SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; に変更

自動起動の設定
# chkconfig mysqld on
# chkconfig php-fpm on
# chkconfig nginx on

MySQL、PHP-FPM、nginxを起動
# service mysqld start
# service php-fpm start
# service nginx start