======Movable Type======
=====NginxとStarmanで動かす =====
CentOS6の場合
nginxのリバースプロキシを使ってstamanを動かす
====nginxの設定====
starmanをport:5000で、mtフォルダはcgi-bin/mtに置いてあるとして。
# vi /etc/nginx/conf.d/mt.conf
upstream mt{
server 127.0.0.1:5000;
}
server {
listen 80;
root /var/www/html;
index index.html index.htm;
server_name example.com;
access_log /var/log/access.log;
error_log /var/log/error.log;
location / {
try_files $uri $uri/ /index.html;
}
location /cgi-bin/mt/ {
proxy_pass http://mt;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www;
}
}
====Starmanのインストール====
まずcpanmのインストール
$ sudo yum -y install perl-ExtUtils-MakeMaker
curl -L http://cpanmin.us | perl - --sudo App::cpanminus
starmanのインストール
$ sudo /usr/local/bin/cpanm Plack
$ sudo /usr/local/bin/cpanm --force cpanm Task::Plack
$ sudo /usr/local/bin/cpanm --force cpanm XMLRPC::Transport::HTTP::Plack
/usr/local/binにstarman入れたいのでsudoで。sudoだとcpanmのパスが見えないので絶対パスで。
====フォルダの作成====
$ sudo mkdir -p /var/www/tools
$ sudo mkdir -p /var/log/starman
$ sudo chown apache:apache /var/log/starman
====起動スクリプトの作成====
$ sudo vi /var/www/tools/mt.sh
cd /var/www/cgi-bin/mt
STAR=/usr/local/bin/starman
LOG=/var/log/starman/
PID=/var/www/tools/
$STAR --l :5000 --error-log $LOG/mt.log --pid $PID/mt.pid ./mt.psgi
で、保存。
したあとパーミッションとオーナーの変更
$ sudo chmod +x /var/www/tools/mt.sh
$ sudo chown -R apache:apache /var/www/tools
====mt-config.cgiの修正====
CGIPath http://example.com/cgi-bin/mt/ #絶対パスに変更
PidFilePath /var/www/tools/mt.pid #追加
試しに起動
$ sudo /var/www/tools/mt.sh
特にえらーでてなくmt動いてたらおっけー。 \\
でもsudoで動かしてて危ないのですぐ消す。 \\
====supervisordで起動=====
こっち[[http://wiki.pky.jp/doku.php?id=server:supervisor|supervisor]]
参考 [[http://www.powercms.jp/blog/2012/11/powercms_32_psgi.html|PowerCMS 3.2 を PSGI 環境で運用する]]
=====MTをfastcgiで動かす=====
とりあえずmacの環境です。
でもlinuxも似たようなもん。
まずcpanのfastcgiをインストール
$ sudo -H cpan -fi FCGI
$ sudo -H cpan -fi CGI::Fast
mod_fastcgiはlibtoolが必要なので
$ sudo port install libtool
$ sudo cp /opt/local/bin/glibtool /opt/local/apache2/bin/libtool
FastGCIとmod_fastcgiのインストール
$ sudo port install fcgi
$ sudo port install mod_fastcgi
tmpディレクトリの作成
$ cd /private/tmp
$ sudo mkdir -p fcgi_ipc/dynamic
$ sudo chmod -R 707 fcgi_ipc
apacheの設定ファイルを編集
$ sudo emacs /opt/local/apache2/conf/httpd.conf
下記を追加
LoadModule fastcgi_module modules/mod_fastcgi.so
FastCgiIpcDir /tmp/fcgi_ipc/
AddHandler fastcgi-script .cgi
FastCgiConfig -autoUpdate
FastCgiConfig -maxProcesses 5
apacheを再起動するとつかえるようになってます。
=====アップグレード=====
アップグレードするときにとりあえずMySQLのバックアップ
# cd /tmp
# mysqldump -a -u USER -p DATABASE | gzip > /tmp/MovableType-`date +"%Y-%m-%d-%H-%M-%S"`.dump.gz