三蔵開発メモ

Web開発やインフラ関連のメモを共有します

CentOS6.7でApache+FuelPHP+MongoDB環境を構築したメモ

結構つまづくところがあったので、備忘録的にメモします。

各種モジュールインストール

$sudo yum install gcc -y
$sudo yum install openssl-devel -y

※mongoのphpモジュールを入れるときコンパイルするので必要になります。

mongodbのリポジトリ追加

$sudo 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

mongodbインストール

$sudo yum install -y mongodb-org
$sudo service mongod start
$sudo chkconfig mongod on

apacheインストール

$sudo yum install httpd -y

phpインストール

$sudo yum install php php-pear php-devel php-pdo php-dom php-mbstring -y

mongoPHPライブラリインストール

$sudo pecl install mongo

※ここでつまづきやすい。gccとopenssl-develをちゃんと入れる。何か聞かれてもデフォルトでOK

php.ini設定

$sudo vi /etc/php.ini
**以下を入力or変更**
extension=mongo.so
[中略]
date.timezone= Asia/Tokyo
[中略]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = pass
mbstring.encoding_translation = On

apache vhosts設定

$sudo vi /etc/httpd/conf.d/vhosts.conf
**以下を入力**
<VirtualHost *:80>
    DocumentRoot /var/www/html/fuelphp/public
    ErrorLog logs/fuelphp_error.log
    CustomLog logs/fuelphp_access.log combined
    SetEnv FUEL_ENV development
    <Directory /var/www/html/fuelphp/public>
        DirectoryIndex index.php
        AllOwoverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

※「SetEnv FUEL_ENV」の所は環境ごとにわける。development,production等。公式のドキュメント参照

Fuelphp設置

公式サイトからダウンロードし、展開。 フォルダ名を「fuelphp」に変更。 「fuelphp」フォルダを/var/www/html/下に設置 「public/.htaccess」の以下の行をコメントアウト

#Options +FollowSymLinks -Indexes

「fuel/app/config/config.php」の該当箇所を以下のように変更。

/**
 * Localization & internationalization settings
 */
'language'           => 'ja', // Default language
// 'language_fallback'  => 'en', // Fallback language when file isn't available for default language
'locale'             => 'ja_JP.UTF-8', // PHP set_locale() setting, null to not set
[中略]
/**
 * DateTime settings
 *
 * server_gmt_offset    in seconds the server offset from gmt timestamp when time() is used
 * default_timezone     optional, if you want to change the server's default timezone
*/
// 'server_gmt_offset'  => 0,
'default_timezone'   => 'Asia/Tokyo',

設置確認

http://localhost/
にアクセスして、welcome画面が表示されれば完了。