OpenPNE on FreeBSD 7.1

OpenPNE 3.0.2 をFreeBSD7.1-p3で運用するまとめ

php5

コンパイルオプションはフルチェック。さらに--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

php-extensions で、XSLを有効化するため、/usr/ports/lang/php-extensions/Makefile に

XSL             "XSL support (Implies DOM)" on \  <-- off を on へ

databases/php5-pdo_mysql

portinstall databases/php5-pdo_mysql

php5 のMax_memoryはデフォルトの128Mから256M へ

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 を有効にしておく

例えば、設置先が/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

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

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

/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

>> 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>

して、ユーザログイン出来ました :) お粗末様


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS