2008年3月アーカイブ

参考記事
http://symfony.xrea.jp/book/03-Running-Symfony.html

phpのバージョンを確認してください
インストールするためにはphp5が必要です
$php -v

次にPEARインストールするためにsymfonyのチャネルを登録します
$pear channel-discover pear.symfony-project.com
Adding Channel "pear.symfony-project.com" succeeded
Discovery of channel "pear.symfony-project.com" succeeded
上記のようにチャネルが登録されたら

$
pear remote-list -c symfony
#pear install symfony/symfony
としてsymfonyのインストールを行ってください

ここでPEARでのインストール中に
PHP Fatal error: Allowed memory size of 8388608 bytes exhausted
のようなエラーが出る場合は
php.iniのメモリ設定が少ないために発生します
memory_limitの項目の値を増やしてください

$ symfony -V
symfony version 1.0.12
のような感じにsymfonyコマンドが発行できれば
インストールは完了です

PEARを利用しない場合
http://pear.symfony-project.com/get/symfony-1.0.0.tgzをダウンロードし
適当な場所で解凍して利用することも可能なようです(未確認)

スケルトンの作成
$ mkdir symfonytest
$ cd symfonytest/
$ symfony init-project symfonytest

とすることでsymfonytest(プロジェクト名は適当に命名してください)以下に
ファイルが生成されます

ここではプロジェクトが作成されたに過ぎないので
次にアプリケーションを命名します
$symfony init-app testapp

web以下にエントリーポイント?フロントコントローラであるindex.phpとかが
作成されているので
バーチャルホストとかの設定をする
httpd.confが変更できれば
<VirtualHost *:80>
ServerName myapp.example.com
DocumentRoot "/home/steve/myproject/web"
DirectoryIndex index.php
Alias /sf /$sf_symfony_data_dir/web/sf
<Directory "/$sf_symfony_data_dir/web/sf">
AllowOverride All
Allow from All
</Directory>
<Directory "/home/steve/myproject/web">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>

のように追記し
ブラウザからアクセス

Symfony Project Created

と表示されればインストールは完了


#pecl install Xdebug
php.iniの設定
zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so

FireFoxにプラグインがあったりするので
Xdebug Helperもインストールしてみる

xoopsのテンプレート管理の仕方

今までソース読んで、そこ直接直しちゃってたりしたんだけど
アップデートとか発生した場合に困ったことに……

といことで正しい変更の仕方を勉強してみた
XUGJ
http://www.xugj.org/modules/manual1/content/index.php?id=39
XOOPSサポート&実験室
GIJOEさんの解説
http://xoops.peak.ne.jp/md/news/index.php?page=article&storyid=344

う~ん、いいじゃん最近の更新の仕組み(昔からか!)
上記ページを見ればバッチリ

やらないと覚えないタイプなので以下に自分なりに手順を記述してみる
1.altsysインストール
なぜaltsysがいるかというとテンプレート名の特定や修正した履歴などの管理が楽になるらしい
2.新テンプレート作成
管理画面からテンプレート管理を選択しメインブロックの表の下(グレーのとこ)にある 新規にテンプレートセットを作成する: の下にベースは選択無しのままセット名をcustomとかにして新規作成をする

と思った出来なかったw
ちゃんとベースではリストボックスを開くと下に「空」という項目があるのでそれを選択しないといけないようだ

3.テンプレートの複製
上記で作成したテンプレートは何も入っていない枠、箱のようなものなので
この中に現在のテンプレートの内容をごっそりコピーする
って書いてたら、またごっそりコピーでは無くモジュール毎にコピーを選べるようなので
画面上部の2段目あたりのモジュール一覧のリンクからコピー対象を選ぶ(標準モジュールとか、入れてればpicoとかがある)
その上で下の表の部分よりDB-defaultの左にあるチェックボックスをチェックし、表の一番下でコピー先をcustomとして実行する
この時点で編集したいテンプレートがわかっていればさらに表の中のチェックボックスで選択が出来る
何世代もできたときとかは、きっとこの画面でコピー元を選ぶ

4.編集
モジュールを選択すると先ほど見たテンプレートの表の画面になるが
上記、作業を行っているので一番右側の枠にDB-customの列が作成されているはず
対象となるマスにある編集リンクをクリックすると編集画面に移るので
ここで編集を行う

最初に個別にコピーするとか言ってたけど
上記サイトを拝見すると
がばっとやる方法もあるようだ
ローカルに落として仕事するときなんかは非常によさそう
手順覚えればデザイナさんでもできそうかも
(といってサーバでやっちゃう俺は試さないんですけどw)

前回は管理モジュールのaltsysをインストールしたが
今回はpicoのインストール
picoはxoopsの超メージャーモジュールtinyDの後継にあたるっぽい

基本的には前回の
xoops_trust_path/
html/
以下のファイルをサーバ上の同様の場所
xoops_trust_pathについてはmainfile.phpで設定の場所
へコピーまでは一緒
ただしテンプレート系のモジュールがある場合はそのファイル
もコピーしなければいけない
1.インストール
http://xoops.peak.ne.jp/md/mydownloads/singlefile.php?lid=92&cid=1
よりダウンロード
詳細は前エントリ参照(汗
2.テンプレート設定
上記のXOOPSサポート&実験室のドキュメントにもあるが
(3) アーカイブ内の html/class/smarty/plugins/ にあるファイル2つを class/smarty/plugins/ の下にコピーしてください (d3forum等と同じです)

という作業が必要
function.d3forum_comment.php  function.xoopsdhtmltarea.phpという二つのファイルをサーバ上に設置する
(前エントリーのようにどっさりコピーしていればすでにあります)
3.管理画面よりインストール
ログインしてインストールしてください
4.複製
これが便利かどうかがこのモジュール入れる大きな理由
さて複製しようと思ったのだが
公式的な文章見当たりませんでした(><)

tinyDと同じってことはrenameでいいのかな?
xoops_trust_pathの設定とかやったときに
修正も一箇所で大丈夫てきなこと書いてあったし
ということで
サーバ上の
/home/public_html/xoops/modules(ディレクトリは適時読み替えてください)
とかの下にあるpicoディレクトリをリネームして保存
$cp -rf pico pico2
とかしてみたところ
管理画面よりモジュールインストールに
pico2が現れた!!

そのままインストールを進めるとインストール完了


ということでD3モジュールをインストールしようと思う
さしあたりaltsysを入れようと思う
altsysはblocksadminやtplsadminの後継らしい

1.ダウンロード
http://xoops.peak.ne.jp/md/mydownloads/singlefile.php?lid=76&cid=1
ここにインストールの事も書いてあったりするのだけど……まっ覚書ということで
一応β版のようですが、きっと問題ないでしょうw

2.転送
解凍したファイルをサーバ上に転送する
解凍後のaltsysのディレクトリの
xoops_trus_path/内を、XOOPS_TRUST_PATHに転送
html/内を、XOOPS_ROOT_PATHに転送
サーバでtar で解凍したりするといきなりhtmlディレクトリとかxoops_trust_pathディレクトリ
ができてしまうので
一回テンポラリエリアとか作った方がいいかも

3.xoops上のインストール
xoopsのモジュールなので上記を行っただけでは設定できません
xoopsサイトにログインして管理メニューより
モジュールのインストールを選択
altsysが表示されるので
右側のインストールっぽいアイコンをクリック
確認画面でインストールを選択すれば
インストール完了

どうもxoopsのモジュール昔とは違うパターンが出来たらしい
しばらくxoops触って無かったからしらんかった
D3ってDuplicate v3の略かな?あーなるほど
複製とかするモジュール達が楽なんだ

D3モジュールというのは今までmodules以下にインストールしていた
モジュールをソースが参照できるドキュメントルートじゃ無いとこに

複製が必要なモジュールの場合のアップデートや改変時の対応が楽になったり
ドキュメントルート外にモジュールのソースを置けるといったことのようだ
cgi等でドクメントルート以下にスクリプトを置かない事と同じ理由

D3モジュール利用のために必要な設定を調べてみると
XOOPS Cube Legacy2.1あたりでは最初から利用できる
らしいがmainfile.phpに反映されていなかったので
以下に手順

1.mainfile.phpの修正
$vi mainfile.php
として
define('XOOPS_URL', 'あなたサイトのアドレス');
の下に
define('XOOPS_TRUST_PATH','');
の部分があると思うので以下のように追記
ない場合はその行を作成してください

define('XOOPS_TRUST_PATH','/home/ドキュメントルート外のディレクトリ/xoops_trust_path');
としmainfile.php上でXOOPS_TRUST_PATHを設定してあげる
2.XOOPS_TRUST_PATHディレクトリの作成
上記xoops_trust_pathディレクトリをftpもしくはmkdirで作成する
さらに
.htaccessファイルを作成し
order deny,allow
deny from all
と記述することで外部からのアクセスをはじける

ドキュメントルート内でもD3モジュールは利用可能


久々にXOOPS入れることになったので
Linuxへのインストール方法を記述
1.ファイルのダウンロード 書いている本日現在の最新バージョンは2.1.3
http://sourceforge.net/project/showfiles.php?group_id=159211&package_id=230233&release_id=563620
よりダウンロード
2.ファイルの転送
windowsにダウンロードした場合は解凍ソフト等を利用し
FTP等で解凍してできたディレクトリのうちhtmlディレクトリを
任意のディレクトリに転送する
サーバ上で解凍する場合
$unzip Package_Legacy_2_1_3.zip
などとする
3.ファイルのコピー
必要となるファイルは主に解凍して作成される
docs  extras  html
のうちhtml以下にあるので
$cp -rf 解凍ディレクトリ/html/* /home/public_htmlとかの公開ディレクトリ/
とかしてWEB上で公開するディレクトリにコピーする
(windowsで作業する場合このディレクトリにwindows以下で解凍されたhtml以下をコピーしてもよい)

ちなみに
docsにはマニュアル類、extrasにはssh対応のloginスクリプトや昔のモジュールがあるらしい
4.パーミッション設定
コピーされたhtml以下のディレクトリ
上記では/home/public_html/とかにあるファイル・フォルダのパーミッションを設定する
frpソフトのパーミッション設定を利用してもよいし
chmodコマンドを利用しても良い

uploads 777
cache 777
templates_c 777
mainfile.php 666

コマンドは
$chmod 777 uploads
こんな感じで

5.設定
ブラウザからインストールしたディレクトリにアクセスする
上記手順のようにドキュメントルートにインストールしたのであれば
http://インストールしたディレクトリ
さらにサブディレクトリがあれば
http://インストールしたディレクトリ/サブディレクトリ/
にアクセス
6.データベース設定
ウィザード形式を基本的に次へと進めていくと
XOOPSの設定が行われる
入力されたユーザ/パスワードでデータベースが作成できない場合
別途mysqlのデータベースを作成する必要がある
7.mysql4.1対応
何かとややこしいmysqlの4.1ですけど(そんなことないか)
ここまで来て管理画面ログイン時に文字化けが発生してしまう場合
xoopsにちょっと修正いれて回避します
$vi class/database/mysqldatabase.php
としてデータベース接続クラスに修正をいれます
だいたいこのバージョンだと97行目くらい
    function connect($selectdb = true)
という関数の返り値を返す前に
        //mysql4.1
        mysql_query( "SET NAMES ujis" , $this->conn ) ;<==ここ追加
        //
        return true;<---ここでファンクションから抜けるところ
    }
てな感じにおまじないを入れて回避
(できなかったらごめんなさい)

8.後処理
そのまま適当に次へと押してるとインストール完了します
ただ
/home/kashioka/public_html/xoops/install
のディレクトリが残っていると最後にエラーメッセージが
表示されるのでこれはディレクトリごと消しておきましょう

この先ブロックやモジュールの設定をしようと思うと
mainfile.phpのパーミッションがなんちゃらといわれるので
パーミッションを644とか書き込みできないように変更しておきましょう

こんな感じで次の設定に進めると思います

後は勘でいけちゃうかな?w