======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