■symfony1.2.xのインストール
OpenPNE3では、Webアプリケーションフレームワークであるsymfonyを採用しているため、これがインストールされていないと動かない。更に、symfonyのバージョンは1.2系でなければならない。
■ファイルのダウンロードとアップロード
wgetでも構わないがクライアントに一旦ダウンロードしてみる。
解凍
解凍すると以下のディレクトリとファイルができる。
- apps
- cache
- config
- data
- doc
- lib
- log
- plugins
- test
- web
- LICENSE(ファイル)
- NOTICE(ファイル)
- README(ファイル)
- symfony(ファイル)
注意
「web」ディレクトリが公開ディレクトリとなるように設定を各自変更する必要がある。以下の「プログラム側設定ファイル」か「サーバの設定ファイル」のどちらかを変更しなくてはならない。どちらかというと「web」というディレクトリ名で運用しているサーバは少なかった(個人的な経験)。
プログラム側設定ファイルで変更する
以下の変更例は、「web」を「public_html」に変更する場合である。
<?php # FROZEN_SF_LIB_DIR: /private/tmp/symfony/lib require_once dirname(__FILE__).'/../lib/symfony/autoload/sfCoreAutoload.class.php'; sfCoreAutoload::register(); class ProjectConfiguration extends sfProjectConfiguration { public function setup() { $this->enableAllPluginsExcept(array('sfCompat10Plugin')); $this->setIncludePath(); } public function setIncludePath() { sfToolkit::addIncludePath(array( //PEAR dirname(__FILE__).'/../lib/vendor/PEAR/', )); } }
上述を以下のように変更する。
<?php # FROZEN_SF_LIB_DIR: /private/tmp/symfony/lib require_once dirname(__FILE__).'/../lib/symfony/autoload/sfCoreAutoload.class.php'; sfCoreAutoload::register(); class ProjectConfiguration extends sfProjectConfiguration { public function setup() { $this->enableAllPluginsExcept(array('sfCompat10Plugin')); $this->setIncludePath(); $this->setWebDir($this->getRootDir() . '/public_html'); } public function setIncludePath() { sfToolkit::addIncludePath(array( //PEAR dirname(__FILE__).'/../lib/vendor/PEAR/', )); } }
追記部分は以下のコードである。
$this->setWebDir($this->getRootDir() . '/public_html');
サーバの設定ファイルを変更する
httpd.confファイルなどに以下のような記述が存在するはずだ。
DocumentRoot /var/www/sample.com/public_html
以下のように変更して、サーバを再起動する。
DocumentRoot /var/www/sample.com/web
アップロード
「web」ディレクトリが公開ディレクトリとなるようにする。つまり、「web」フォルダの中の「index.php」が(公開ディレクトリの)トップページとなるような配置にしなければならない。
■インストール
ファイルをアップロードしたディレクトリにある「symfony」と同じ階層までコマンドラインで移動する。そして以下のコマンドを実行する。
./symfony openpne:install
以下の項目について質問される。
- DBのタイプ(mysql, pgsql, sqlite)
- DB名
- DBのユーザ名
- DBのパスワード
- DBのホスト名(localhostなど)
- 使用するソケットへのパス(未入力可)
足りないパッケージなどなければ通常はこれで上手くいく。
■初期設定
管理側
http://sample.com/pc_backend.phpにアクセスして初期パスワード「password」を必ず変更する。
ユーザ側
http://example.com/index.phpにアクセスして初期ユーザーのパスワード「password」を必ず変更する。