MAMPを使ってsymfonyの開発環境を作ろう
macでsymfonyを用いたローカル開発環境を用意する際の手順メモです。
MAMPにsymfonyをインストール
まずはMAMPをダウンロード
sudo mv /usr/bin/php /usr/bin/php-old
MAMPのphpのシンボリックリンクを作成(今回はphp5.2を使用)
sudo ln -s /Applications/MAMP/bin/php5.2/bin/php /usr/bin/php
PHP5.3を用いる場合は、
sudo ln -s /Applications/MAMP/bin/php5.3/bin/php /usr/bin/php
sudo mv /usr/bin/pear /usr/bin/pear-old sudo ln -s /Applications/MAMP/bin/php5.2/bin/pear /usr/bin/pear
PHP5.3を用いる場合は
sudo ln -s /Applications/MAMP/bin/php5.3/bin/pear /usr/bin/pear
pear channel-discover pear.symfony-project.com
pear: command not found
php: Permission deniedこのようなエラーが出た場合は、pearとphpの権限を変更する必要がある
sudo chmod 774 /Applications/MAMP/bin/php5.2/bin/pear sudo chmod 774 /Applications/MAMP/bin/php5.2/bin/php参考URL:PEAR Not Found
symfonyインストール
pear install symfony/symfony
symfonyコマンドを利用可能にするため、シンボリックリンクを作成
sudo ln -s /Applications/MAMP/bin/php5/bin/symfony /usr/bin/symfony
インストール確認
symfony -V
symfony version 1.4.8
これでphp5.2環境にsymfonyのインストールができました。
symfonyサンプルプロジェクトの作成
次に、サンプルとしてsymfonyプロジェクトを作成してみましょう。
macのSiteディレクトリにtestディレクトリを作成します。
cd Sites mkdir test cd test
プロジェクトの作成
symfony generate:project test --orm=Propel
ormをPropelに設定する場合、symfony1.4ではormオプションを付けます。
フロントエンドの作成
symfony generate:app frontend
ブラウザからアクセスできるようにhttpd.confを編集します。
sfフォルダへのパスを通さないと正しくデフォルトの画面が表示されません。
vi /Applications/MAMP/conf/apache/httpd.conf <VirtualHost *:8888> DocumentRoot "/Users/apple/Sites/test/web" DirectoryIndex index.php <Directory "/Users/apple/Sites/test/web"> AllowOverride All Allow from All </Directory> Alias /sf /Applications/MAMP/bin/php5/lib/php/data/symfony/web/sf <Directory "/Applications/MAMP/bin/php5/lib/php/data/symfony/web"> AllowOverride All Allow from All </Directory> </VirtualHost>
MAMPでサーバを再起動
これでブラウザからアクセスすればデフォルトの画面が表示されます。
Subversionでリポジトリ管理をする場合の初期設定
rm -rf cache/* log/* svn add * svn propedit svn:ignore cache
cacheとlog内のファイルを無視するように設定します
svn propeditを実行しようとしたところ以下のようなエラーが発生する場合は環境変数を追加する
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no 'editor-cmd' run-time configuration option was found
vi ~/.profile export SVN_EDITOR=vim.profileを再読み込み
source .profile
svn propedit svn:ignore cache * svn propedit svn:ignore log *
参考URL:Jobeet
mysqlの設定
MAMPのphpMyAdmin設定
ターミナルからmysqlコマンドを使えるようにシンボリックリンクを貼る
ln -s /Applications/MAMP/Library/bin/mysql /usr/bin/mysql ln -s /Applications/MAMP/Library/bin/mysqladmin /usr/bin/mysqladmin
MAMPのmysqlにアクセス(デフォルトでのrootのパスワードはroot)
mysql -u root -p
パスワードをなしにする場合
SET PASSWORD FOR root@localhost=PASSWORD('');
参考URL:MAMPのMySQLサーバに接続したいよ(Terminalで
mysqlのパスワードを変更した後に、MAMPのスタートページにアクセスしようとしたところ、
Error: Could not connect to MySQL server!
というエラーが
MAMPの設定ファイルを変更してみたものの、パスワードなしのrootの場合、ページが正しく表示されませんでした。
rootとは別に管理ユーザを追加する
GRANT ALL PRIVILEGES ON *.* TO 管理ユーザ名@localhost IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
MAMPの設定ファイルを変更する
vi /Applications/MAMP/bin/mamp/index.php $link = @mysql_connect(':/Applications/MAMP/tmp/mysql/mysql.sock', '管理ユーザ名', 'パスワード'); vi /Applications/MAMP/bin/phpMyAdmin/config.inc.php $cfg['Servers'][$i]['user'] = '管理ユーザ名'; $cfg['Servers'][$i]['password'] = 'パスワー ド';
MAMPの再起動
これでMAMPのphpmyadminにアクセスできました。
参考URL:LeopardにMAMPを入れた時のメモ
mysqlデフォルト文字コード設定
mysqladmin -uroot create test
というように、mysqladminを用いてDBを作成しようとしたところ、文字コードがデフォルトのlatin1となってしまい、日本語が文字化けしてしまうという事態に
MAMPに用意されているmy.cnfのサンプルファイルをリネームしてコピー
cp /Applications/MAMP/Library/share/mysql/my-small.cnf /Application/MAMP/db/mysql/my.cnf
文字コードの指定を追加
vi /Application/MAMP/db/mysql/my.cnf [mysqld] default-character-set=utf8 skip-character-set-client-handshake [mysql] default-character-set=utf8
MAMPを再起動
これでデフォルトの文字コードがutf8になりました。
参考URL:
MAMPのmy.cnf
以上で、MAMPを使ったsymfonyの開発環境が用意できました。
他にも必要な設定が見つかった場合は、適宜ブログに追加していこうと思います。