CentOS6 + Nginx + Phalcon PHP + MongoDBの環境構築手順

phalcon-phpPhalcon PHP Frameworkの環境を構築したときの覚書。

環境: CentOS 6.5 x86_64, nginx 1.6.0, php 5.4.29, mongodb 2.6.1-2

PhalconはPHPのエクステンションとしてC言語で実装されたMVCフレームワーク。特徴は何と言っても速さ。

最近はWordPressをベースにすることが多いけどシステム系のサイトを構築するのにいい選択肢になりそう。

 


1.Phalcon PHPをインストール

公式サイトを参考に。

# yum install gcc make php-devel git
# git clone git://github.com/phalcon/cphalcon.git
# cd cphalcon/build
# ./install

Installing shared extensions:     /usr/lib64/php/modules/

# vi /etc/php.d/phalcon.ini

extension=phalcon.so

# /etc/rc.d/init.d/php-fpm restart

確認
# php --info | grep Phalcon

 


2.Phalcon Developer Toolsをインストール

Phalconの開発ツール群。公式サイトを参考に。

# cd
# git clone https://github.com/phalcon/phalcon-devtools.git
# cd phalcon-devtools/
# ./phalcon.sh

シンボリックリンクを作成
# ln -s phalcon.php /usr/bin/phalcon
# ldconfig

 


3.nginxの設定

これも公式ドキュメントが十分詳しい。

# vi /etc/nginx/conf.d/hoge.conf

server {
    listen       80;
    server_name  dev.hoge.jp;

    index index.php index.html index.htm;
    set $root_path '/home/httpd/hoge/web/public';
    root $root_path;

    try_files $uri $uri/ @rewrite;

    charset utf-8;
    client_max_body_size 2M;

    location = /robots.txt  { access_log off; log_not_found off; }
    location = /favicon.ico { access_log off; log_not_found off; }

    location @rewrite {
        rewrite ^/(.*)$ /index.php?_url=/$1;
    }

    location ~ \.php {
        #try_files $uri =404;
        #fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index /index.php;
        fastcgi_buffer_size 32k;
        fastcgi_buffers 4 32k;

        include /etc/nginx/fastcgi_params;

        fastcgi_split_path_info       ^(.+\.php)(/.+)$;
        fastcgi_param PATH_INFO       $fastcgi_path_info;
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
        root $root_path;
    }

    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }
}

# /etc/rc.d/init.d/nginx configtest
# /etc/rc.d/init.d/nginx reload

 


4.MongoDBのインストール

YUM経由で更新できるように公式リポジトリを追加。

# vi /etc/yum.repos.d/mongodb.repo

[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1

# yum update
# yum install mongodb-org

起動して、自動起動するように登録。
# /etc/rc.d/init.d/mongod start
# chkconfig mongod on

PHP用のドライバをインストール。remiリポジトリが使われた。
# yum install php-pecl-mongo
# /etc/rc.d/init.d/php-fpm restart

 


5.MongoDBのphpMyAdmin的「RockMongo」をインストール、設定

公式サイトからダウンロードして設置。

# cd /opt/httpdocs/
# unzip rockmongo-1.1.7.zip
# rm rockmongo-1.1.7.zip
# mv rockmongo-1.1.7 rockmongo

公開されているところに設定したのでnginxの設定は省略。本番環境はBasic認証などを推奨。

http://netbios-name/rockmongo

初期パスワードはadmin/admin

 


6.開発する上での諸情報

コーディング規約

サンプルなどは公式ドキュメントが充実している。

 

< Related Posts >