コンパイルオプションはフルチェック。さらに--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 で、XSLを有効化するため、/usr/ports/lang/php-extensions/Makefile に
XSL "XSL support (Implies DOM)" on \ <-- off を on へ
portinstall databases/php5-pdo_mysql
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
例えば、設置先が/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>
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
で対応。
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 をつくり、以下のように記述。
[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: があった!
>> 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
のコンテンツにも同様のログがあるのに、ユーザログイン後の画面が掲載されてますね???
関係ないのかな?? やっぱり関係ないようでした。
ユーザログイン画面から入ろうとすると、member/login/authMode/MailAddress へジャンプしてエラーになる。
このキーワードでググると、海老原氏のコンテンツがヒット!をぉ!!
http://d.hatena.ne.jp/co3k/20090220/1235130722
どうやらPHPのSUHOSINがあると問題がややこしくなりそうな模様なので、再度PHPのコンパイル(あれ?5.2.9になってる)オプションを変える。こんどは、FreeBSD Ports のデフォでチェックが入っているSUHOSINのみ外してインストール。php5-extensions も再度いれかえ。
現象、かわらず・・・・う~~ん。
これ、設置した/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>
して、ユーザログイン出来ました お粗末様