[[OpenPNE on FreeBSD 7.1]]
#contents
*OpenPNE 3.0.2 をFreeBSD7.1-p3で運用するまとめ [#k841151f]
**php5 [#sd46bad2]
コンパイルオプションはフルチェック。さらに--enable-xsltする。

/usr/ports/lang/php5/Makefile
 CONFIGURE_ARGS=	\
 		--with-layout=GNU \
 		--with-config-file-scan-dir=${PREFIX}/etc/php \
 		--disable-all \
 		--enable-libxml \
 		--with-libxml-dir=${LOCALBASE} \
 		--enable-xslt \
 		--enable-reflection \
 		--program-prefix=""
 
 USE_GNOME=	libxml2
**php-extensions [#t56adea9]
php-extensions で、XSLを有効化するため、/usr/ports/lang/php-extensions/Makefile に
 XSL             "XSL support (Implies DOM)" on \  <-- off を on へ
**databases/php5-pdo_mysql [#afcb6668]
 portinstall databases/php5-pdo_mysql
**php5 のMax_memoryはデフォルトの128Mから256M へ [#ma4c1005]
memory_limit = 256Mとする。

/usr/local/etc/php.ini をつくり、以下のように記述。
 [PHP]
 memory_limit = 256M      ; Maximum amount of memory a script may consume (128MB)
 ; Maximum size of POST data that PHP will accept.
 post_max_size = 12M
 ; Maximum allowed size for uploaded files.
 upload_max_filesize = 10M

**OpenPNE 設置先で、.htaccess を有効にしておく [#d60803eb]
例えば、設置先が/usr/local/www/apache22/data/OpenPNE-3.0.2/だとすると、.htaccess の実行許可を与えるために以下のように記述する

vi /usr/local/etc/apache22/httpd.conf

 <Directory "/usr/local/www/apache22/data/OpenPNE-3.0.2">
    #Options Indexes FollowSymLinks
 	Options FollowSymLinks ExecCGI
 #    AllowOverride None  <-- これだと.htaccess が動作しません
     AllowOverride ALL
    Order allow,deny
    Allow from all
 </Directory>



*OpenPNE 3.0.2 [#oad8d77b]
OpnePNE 2.12.8のインストールが出来、カスタマイズも出来たので、つづいて3.0.2をインストールしてみる。

テストベンチは http://210.255.122.222/

公式サイト http://www.openpne.jp/ からソースをDLし、インストールガイド
http://www.openpne.jp/openpne3_setup_guide/に沿ってインストール。
 このドキュメントは、 OpenPNE バージョン 3.0 を基にして書かれています。
 OpenPNE3 は以下のようなサーバ環境で動作させることを想定しています。
 
 Webサーバ 
 Apache
    mod_rewrite を使用可能 
  
 PHP 
    PHP5.2.3 以降
 
 PHP の mbstring 拡張モジュールを使用可能 
 PHP の XML 拡張モジュールを使用可能 
 PHP の PCRE 拡張モジュールを使用可能 (UTF-8 サポート) 
 PHP から GD ライブラリを使用可能 (JPEG/GIF/PNG サポート) 
 PHP の mcrypt 拡張モジュールの使用を推奨          ---->  ns# portinstall security/libmcrypt
 
 データベースサーバ 
  MySQL4.1以降(5.1 以降を推奨) 
Zipファイルを展開し、インストールコマンドを実行する
 k222# cd /usr/local/www/apache22/data/OpenPNE-3.0.2
 k222# ./symfony openpne:install
最初、対話式にデータベースの設定をする
  Choose DBMS (mysql, pgsql or sqlite)
 mysql
  Type database username
 pne
  Type database password (optional)
 xxxxx
  Type database hostname
 localhost
  Type database port number (optional)
 Type database name
 PNE
  Type database socket path (optional)
 The DBMS                        mysql
 The Database Username           pne
 The Database Password           ******
 The Database Hostname           localhost
 The Database Port Number
 The Database Name               PNE
 The Database Socket
  Is it OK to start this task? (y/n)
 y

その後、インストールスクリプトがインストールを自動実行。エラーを見ながら対処する。遭遇したエラーは以下の様なモノ

 >> propel    Running "om" phing task
 [propel-om] Could not perform XLST transformation.  Make sure PHP has been compiled/configured to support XSLT.
 [propel-om] Could not perform XLST transformation.  Make sure PHP has been compiled/configured to support XSLT.
 [propel-om] Could not perform XLST transformation.  Make sure PHP has been compiled/configured to support XSLT.
 [propel-om] Could not perform XLST transformation.  Make sure PHP has been compiled/configured to support XSLT.
 [propel-om] Could not perform XLST transformation.  Make sure PHP has been compiled/configured to support XSLT.
 [propel-om] Could not perform XLST transformation.  Make sure PHP has been compiled/configured to support XSLT.
 [propel-om] Could not perform XLST transformation.  Make sure PHP has been compiled/configured to support XSLT.
 [propel-om] Could not perform XLST transformation.  Make sure PHP has been compiled/configured to support XSLT.

FreeBSD ports デフォルトの lang/php5 のMakefileにはxsltをサポートするように成っていないので、エラーがでる。一旦 /usr/ports/lang/php5 で、make deinstall したあと、xslt を有効化するため、lang/php5/Makefile に --enable-xslt \ を書き込んでから
 portinstall lang/php5
また、php-extensions で、XSLを有効化するため、/usr/ports/lang/php-extensions/Makefile に
 XSL             "XSL support (Implies DOM)" on \  <-- off を on へ

http://www.doyouphp.jp/inst/inst_unix_dso_4_xslt.shtml

%%portinstall textproc/p5-XML-XSLT%%  <--これは関係なかった :)

また、現時点では、php-extensions に含まれるcurl-7.19.2はセキュリティの関係でmakeがエラーするため、curl-7.19.4を取ってきて http://curl.haxx.se/ 手動でインストール。
 ns# cd /usr/home/kuji/bin
 ns# tar xvfzp curl-7.19.4.tar.gz
 ns# cd curl-7.19.4
 ns# ./configure
 ns# make
 ns# make install
 ns# apachectl restart
つぎは、

 >> file+     config/generated-opMessagePlugin-schema.xml
 >> file-     /usr/local/www/apache22/data/Op...ated-opMessagePlugin-schema.xml
 >> file+     config/generated-opOpenSocialPlugin-schema.xml
 >> file-     /usr/local/www/apache22/data/Op...d-opOpenSocialPlugin-schema.xml
 >> propel    Running "insert-sql" phing task
 
 Execution of target "insert-sql" failed for the following reason:
 /usr/local/www/apache22/data/OpenPNE3/lib/symfony/plugins/sfPropelPlugin/lib/vendor/propel-generator/build-propel.xml:275:1:  
 [wrapped: could not find driver]
 [phing] /usr/local/www/apache22/data/OpenPNE3/lib/symfony/plugins/sfPropelPlugin/lib/vendor/propel-generator/build-propel.xml:275:1:  
 [wrapped: could not find driver]
 
  Some problems occurred when executing the task:
    build-propel.xml:275:1:  [wrapped: could not find driver]
    Read the logs to fix them

というエラーで頓挫。これには、
**portinstall databases/php5-pdo_mysql [#g7c36dc7]
 portinstall databases/php5-pdo_mysql
で対応。

http://ms76.jp/2009/01/29/openpne3_install/

上記のエラーが消えたら、今度は、メモリーエラー。オイオイ

 Fatal error: Allowed memory size of 134217728 bytes exhausted
 at /usr/ports/lang/php5/work/php-5.2.8/Zend/zend_hash.c:499 (tried to allocate 99 bytes) in
 /usr/home/OpenPNE-  3.0.2/lib/symfony/plugins/sfPropelPlugin/lib/vendor/propel/map/TableMap.php on line 330

といわれる php5 のMax_memoryはデフォルトの128Mだが、たりないのか???

** /usr/local/etc/php.ini  memory_limit = 256M [#g9c4f7a6]
/usr/local/etc/php.ini をつくり、以下のように記述。
 [PHP]
 memory_limit = 256M      ; Maximum amount of memory a script may consume (128MB)
 ; Maximum size of POST data that PHP will accept.
 post_max_size = 12M
 ; Maximum allowed size for uploaded files.
 upload_max_filesize = 10M

これで、赤い文字のエラー?が無くなって最終行までスクリプトが実行された模様。

 k222# ./symfony openpne:permission

して、終了。ふぅ・・。

と思いきや、ログイン画面でユーザ認証でエラー???。そういえば、ログにWarning: があった!
**Warning: symlink(): File exists [#yd180e43]
 >> plugin    Configuring plugin - sfDoctrinePlugin
 
 Warning: symlink(): File exists in /usr/local/www/apache22/data/OpenPNE3/lib/symfony/task/sfFilesystem.class.php on line 224
 >> plugin    Configuring plugin - sfPropelPlugin
 
 Warning: symlink(): File exists in /usr/local/www/apache22/data/OpenPNE3/lib/symfony/task/sfFilesystem.class.php on line 224
 >> plugin    Configuring plugin - sfProtoculousPlugin
 
 Warning: symlink(): File exists in /usr/local/www/apache22/data/OpenPNE3/lib/symfony/task/sfFilesystem.class.php on line 224
 >> plugin    Configuring plugin - opAshiatoPlugin
 >> plugin    Configuring plugin - opAuthMailAddressPlugin
 >> plugin    Configuring plugin - opAuthMobileUIDPlugin
 >> plugin    Configuring plugin - opAuthOpenIDPlugin
 >> plugin    Configuring plugin - opBlogPlugin
 
 Warning: symlink(): File exists in /usr/local/www/apache22/data/OpenPNE3/lib/symfony/task/sfFilesystem.class.php on line 224
 >> plugin    Configuring plugin - opCommunityTopicPlugin
 
 Warning: symlink(): File exists in /usr/local/www/apache22/data/OpenPNE3/lib/symfony/task/sfFilesystem.class.php on line 224
 >> plugin    Configuring plugin - opDiaryPlugin
 
 Warning: symlink(): File exists in /usr/local/www/apache22/data/OpenPNE3/lib/symfony/task/sfFilesystem.class.php on line 224
 >> plugin    Configuring plugin - opFavoritePlugin
 >> plugin    Configuring plugin - opIntroFriendPlugin
 >> plugin    Configuring plugin - opInviteFriendPlugin
 
 Warning: symlink(): File exists in /usr/local/www/apache22/data/OpenPNE3/lib/symfony/task/sfFilesystem.class.php on line 224
 >> plugin    Configuring plugin - opMessagePlugin
 
 Warning: symlink(): File exists in /usr/local/www/apache22/data/OpenPNE3/lib/symfony/task/sfFilesystem.class.php on line 224
 >> plugin    Configuring plugin - opOpenSocialPlugin
 
 Warning: symlink(): File exists in /usr/local/www/apache22/data/OpenPNE3/lib/symfony/task/sfFilesystem.class.php on line 224
 >> plugin    Configuring plugin - opRankingPlugin
 
 Warning: symlink(): File exists in /usr/local/www/apache22/data/OpenPNE3/lib/symfony/task/sfFilesystem.class.php on line 224
 >> plugin    Configuring plugin - opWebAPIPlugin
 >> plugin    Configuring plugin - sfFormExtraPlugin
 
 Warning: symlink(): File exists in /usr/local/www/apache22/data/OpenPNE3/lib/symfony/task/sfFilesystem.class.php on line 224
 >> plugin    Configuring plugin - sfImageHandlerPlugin
 >> plugin    Configuring plugin - sfWebBrowserPlugin
 >> cache     Clearing cache type "all" for "api" app and "dev" env
 >> file+     /usr/local/www/apache22/data/OpenPNE3/data/api_dev-cli.lck
 >> chmod 777 /usr/local/www/apache22/data/OpenPNE3/data/api_dev-cli.lck
 >> file-     /usr/local/www/apache22/data/Op...config/config_databases.yml.php

と、%%プラグインの設置に失敗?している。%%と思ったけど、関係なかったみたい・・・

http://labs.uechoco.com/blog/2009/01/openpne3-released_and_i-tried-installation.html

のコンテンツにも同様のログがあるのに、ユーザログイン後の画面が掲載されてますね???
%%関係ないのかな??%% やっぱり関係ないようでした。

**ユーザでログインしようとするとリダイレクト先が変?? [#kbe1eb67]
ユーザログイン画面から入ろうとすると、member/login/authMode/MailAddress へジャンプしてエラーになる。 :(

このキーワードでググると、海老原氏のコンテンツがヒット!をぉ!! :)

http://d.hatena.ne.jp/co3k/20090220/1235130722

どうやらPHPのSUHOSINがあると問題がややこしくなりそうな模様なので、再度PHPのコンパイル(あれ?5.2.9になってる)オプションを変える。こんどは、FreeBSD Ports のデフォでチェックが入っているSUHOSINのみ外してインストール。php5-extensions も再度いれかえ。

現象、かわらず・・・・う~~ん。 :(
**【解決】ユーザでログインしようとするとリダイレクト先が変? [#b8029fef]
これ、設置した/usr/local/www/apache22/data/OpenPNE-3.0.2/に、.htaccess の実行許可をしてなかったため(超~脱力)でした。

vi /usr/local/etc/apache22/httpd.conf

 <Directory "/usr/local/www/apache22/data/OpenPNE-3.0.2">
    #Options Indexes FollowSymLinks
 	Options FollowSymLinks ExecCGI
 #    AllowOverride None
     AllowOverride ALL
    Order allow,deny
    Allow from all
 </Directory>

して、ユーザログイン出来ました :) お粗末様
**管理画面へのアクセスは [#i912a455]
pc_backend

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS