Home > akelos | fedora | framework | PHP > Fedora 8 で akelos のチュートリアル (その1)

Fedora 8 で akelos のチュートリアル (その1)

PHP のフレームワークをFedora 8で試してみました。試行錯誤しながら動かしたメモです。OS設定の変更ができる権限(いわゆる root)を持っていることを中心に書いていますが、レンタルサーバ等でOS設定変更不可な環境でも参考になるように追記しています。

主な環境:

OS: Fedora release 8 (Werewolf)
php: 5.2.4
mysql: 5.0.45
apache: 2.2.8
subversion: 1.4.4
上記全て yum よりrpmパッケージで導入し独自コンパイルはなし。

http://xxxxx/book
http://xxxxx/author
でアクセスすることを前提。
akelos自身の導入とアプリケーション作成は、一般ユーザで行うことを前提。

【PHPの設定変更】

# vi /etc/php.ini
allow_call_time_pass_reference = On

↑デフォルトのOffからOnに変更。
akelosは、Onが前提のようです。Offのままだと色々なところでWarnningが出ます。


レンタルサーバ等で/etc/php.iniが変更不可の場合、.htaccess にこの設定をいれることで対応可能です。
また、コマンドラインで setup/migrate/generate 等のコマンドを実行するとき、

$ php --define allow_call_time_pass_reference=on ./script/setup -d ~/booklink

のようにコマンドラインオプションを付ける必要もあります。

【akelos、アプリケーション用のユーザ作成】

# groupadd -g 20000 webgroup
# useradd -u 20001 -g webgroup -G webgroup webuser

【akelos インストール】

# su - webuser
# svn co http://svn.akelos.org/trunk/ akelos

【booklinkアプリケーションのsetup】

$ cd ~/akelos/
$ ./script/setup -d ~/booklink


レンタルサーバ等の場合、ここで以下の設定追加。
$ vi ~/booklink/public/.htaccess
php_flag allow_call_time_pass_reference on

【apacheのVirtualHost追加】

# vi /etc/httpd/conf/httpd.conf
以下、追記する。
<virtualhost >
ServerAdmin webmaster@XXXXXXXX.jp
DocumentRoot /home/webuser/booklink/public
ServerName XXXXXXXX
ErrorLog logs/XXXXXXXX-error_log
CustomLog logs/XXXXXXXX-access_log combined

</virtualhost >
<directory >
Options Indexes FollowSymLinks
AllowOverride All
</directory>


# service httpd configtest < ---- apache設定ファイル文法確認
# service httpd start <---- apacheの起動

【booklink用 mysql データベース作成】

$ mysql -u root -p
CREATE DATABASE booklink;
CREATE DATABASE booklink_dev;
CREATE DATABASE booklink_tests;
GRANT ALL ON booklink.* TO bermi@localhost IDENTIFIED BY "pass";
GRANT ALL ON booklink_dev.* TO bermi@localhost IDENTIFIED BY "pass";
GRANT ALL ON booklink_tests.* TO bermi@localhost IDENTIFIED BY "pass";
flush privileges;
quit;
$ mysqlshow -u root -p

ここで作成したデータベースが表示されることを確認する。

【booklink用 configディレクトリの権限設定】

$ chmod a+rwx ~/booklink/config
↑誰でも読み書き実行できる設定

【ウェブインストーラでbooklink設定】
Webブラウザで、http://XXXXXXXX/ にアクセスし、データベースのユーザ/パスワードを入れる。その他の項目は、デフォルトから変更なし。

【booklink データベース構造定義】
$ cd ~/booklink/
$ vi app/installers/booklink_installer.php
以下、記述

< ?php

class BooklinkInstaller extends AkInstaller
{
function up_1(){

$this->createTable(‘books’,
‘id,’. // the key
‘title,’. // the title of the book
‘description,’. // a description of the book
‘author_id,’. // the author id. This is how Akelos will know how to link
‘published_on’ // the publication date
);

$this->createTable(‘authors’,
‘id,’. // the key
‘name’ // the name of the author
);
}

function down_1(){
$this->dropTables(‘books’,’authors’);
}
}

?>

【booklink データベースインストーラ実行】

$ cd ~/booklink
$ ./script/migrate Booklink install

【booklink(book/author) スキャフォールド】

$ cd ~/booklink
$ ./script/generate scaffold Book
$ ./script/generate scaffold Author

【実行時アクセスディレクトリ権限設定】

$ cd ~/booklink/app/views/
$ find . -type d -exec chmod a+rwx {} \;
$ cd ~/booklink/app/locales/
$ find . -type d -exec chmod a+rwx {} \;

※ここでは取り急ぎざっくり権限設定しています。本番環境ではもうちょっと考慮する必要ありかも。

【booklink実行確認】
Webブラウザから http://XXXXXXXX/book にアクセス。
追加、更新、削除でエラーとならないこと。
Webブラウザから http://XXXXXXXX/author にアクセス。
追加、更新、削除でエラーとならないこと。

今回はここまで、次回は続きをやります。

Comments:0

Comment Form
Remember personal info

Trackbacks:1

Trackback URL for this entry
http://labs.berrystyle.jp/archive/2008/03/26/13.html/trackback
Listed below are links to weblogs that reference
Fedora 8 で akelos のチュートリアル (その1) from ベリラボ
pingback from ベリラボ » Blog Archive » Fedora 8 で akelos のチュートリアル (その2) 08-03-27 (木) 9:09

[…] 前回は、akelos導入、チュートリアル用のbooklinkをセットアップをしてbook/authorの追加、更新、削除までやりましたが、今回は、book/authorの関連付けです。 […]

Home > akelos | fedora | framework | PHP > Fedora 8 で akelos のチュートリアル (その1)

Search
Feeds
Meta

Return to page top