CentOS + symfonyのインストール&環境設定まとめ

インストール情報&設定情報のまとめ。この項目は、順次追記していきます。

pearGUIのアプリケーション→ソフトウエアの追加と削除でインストール。その他にこの辺も入れておく。

emacs
mod_auth_mysql
mysql-server
php-gd
php-mbstring
php-mysql
php-pear
php-soap
php-xml
php-xmlrpc

firewallの設定をする。

su -してrootに。
pear upgrade PEARで最新版に。warningが出るが、とりあえず気にしない。
pear channel-discover pear.symfony-project.com
pear install symfony/symfony-1.0.21
/etc/php.iniの memory_limitを128Mに。upload_max_filesizeを200Mに。mbstring.languageをjapaneseに。mbring.internal_encodingをUTF-8に。
/etc/httpd/conf.d/php.confを以下のように設定

#symfony
php_flag magic_quotes_gpc	off
php_value default_charset	UTF-8
php_value mbstring.internal_encoding UTF-8
php_value mbstring.input_encoding pass
php_value mbstring.output_encoding pass
php_value mbstring.language "Japanese"

DocumentRoot "/var/www/podtv/web"
<VirtualHost *:*>
  DocumentRoot "/var/www/podtv/web"
  ServerName symfony.localhost
  <Directory "/var/www/podtv/web">
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
    <IfModule mod_php5.c>
	php_flag session.use_only_cookies On
	php_flag magic-quotes-gpc Off
	php_flag display_errors On
	php_value default_charset utf-8
	php_value mbstring.language Japanese
	php_value mbstring.internal_encoding UTF-8
	php_value mbstring.http_input pass
	php_value mbstring.http_output pass
	php_value mbstring.substitute_character none
    </IfModule>
  </Directory>
    Alias /sf /usr/share/pear/data/symfony/web/sf
  <Directory "/usr/share/pear/data/symfony/web/sf">
    AllowOverride All
    Allow from All
  </Directory>
</VirtualHost>

mkdir /var/www/podtv
mkdir /var/www/podtv/web
システム→管理→サーバ設定→サービスで httpdとmysqldを onに。
設定の保存を忘れずに!

新しく作ったディレクトリを chmod -R 777

mysqlの匿名ユーザーを削除
http://dev.mysql.com/doc/refman/5.1/ja/default-privileges.html より

shell> mysql -u root
mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User='';
mysql> FLUSH PRIVILEGES;

mysqlの rootにパスワードを設定

mysqladmin -u root password "newpwd"


mysqlのユーザーを作成
参考:http://www.develop-memo.com/database/mysql/mysqloperate.html

GRANT ALL PRIVILEGES ON *.* TO user@localhost IDENTIFIED BY 'password' WITH GRANT OPTION;

データベースの作成
mysql > create database dbname(podtvとか) default character set utf8;

$ symfony init-project podtv(プロジェクト名)

symfonyがデータベースに接続する設定(徹底攻略本のP207)。
/var/www/podtv/config/propel.ini

propel.targetPackage       = lib.model
propel.packageObjectModel  = true
propel.project             = podtvlabo
propel.database            = mysql
propel.database.createUrl  = mysql://username:password@localhost/
propel.database.url        = mysql://username:password@localhost/podtv2(データベース名)
propel.mysql.tableType     = InnoDB

/var/www/podtv/config/databases.yml

all:
  propel:
    class:          sfPropelDatabase
    param:
      dsn:          mysql://username:password@localhost/podtv(データベース名)
      encoding: utf8


適当に schema.ymlを作る
/var/www/podtv/config/schema.yml

propel:
  test:
    id:
    name: varchar(100)
    created_at:
    updated_at:

/usr/share/pear/symfonyをchmod -R 777

symfony init-app appname
symfony propel-build-all
symfony propel-init-admin appname test Test

ここまで約2時間。実に 1/50以上時間短縮できました(笑)


vncの設定はここを参照
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/877fc5devncserver.html

あと YourNameHere問題についてはここ
http://blog.symfony.jp/2007/09/09/yournamehere/