OpenPNE3 をさくらのレンタルサーバにインストールしてみました
05 / 13 水曜日 2009
OpenPNE開発チームの小川です。
OpenPNE 3 のリリース以来、「OpenPNE 3 ってレンタルサーバでも動くの?」という質問をたくさんもらっていましたので、今回はその実証のため OpenPNE 3.0.4 を「さくらのレンタルサーバ」のスタンダードで設置してみました。
結論としてはまったく問題なく設置できたましたので、その手順を紹介します。
インストール手順
MySQL データベースの作成
まず、事前の準備としてさくらインターネットのサーバコントロールパネルから MySQL のデータベースを作成します。
- ユーザ名(さくらのレンタルサーバのアカウント名と同じ)
- データベース名(さくらのレンタルサーバのアカウント名と同じ)
- ホスト名(「mysql***.db.sakura.ne.jp」のような形式)
- パスワード(自分で入力したもの)
の情報を控えておきましょう。
SSH ログイン
ここからの作業は SSH でサーバにログインして行います。
OpenPNE3 をダウンロード
今回は OpenPNE-3.0.4 の zip アーカイブを使って設置してみます。wget でダウンロード、unzip で解凍します。
%wget "http://nchc.dl.sourceforge.net/sourceforge/openpne/OpenPNE-3.0.4.zip" %unzip OpenPNE-3.0.4.zip %ls MailBox OpenPNE-3.0.4 OpenPNE-3.0.4.zip db sblo_files www
openpne:install タスクの実行
OpenPNE 3 では、DB のセットアップ・ディレクトリパーミッションの設定・標準プラグインのインストールなどの作業を openpne:install タスクを実行すれば一括で行ってくれます。
さっそく OpenPNE ディレクトリに移動して、タスクを実行してみます。
%cd OpenPNE-3.0.4 %php symfony openpne:install
タスクを実行すると DB のセットアップに必要な情報を聞かれるので、サーバ環境に合わせて入力していきます。
Choose DBMS (mysql, pgsql or sqlite)
使用する DBMS の種類を入力します。
ここでは、「mysql」と入力します。
Type database username
データベースのユーザ名を入力します。
ここではさくらのアカウント名を入力します。
Type database password (optional)
データベースのパスワードを入力します。
ここではコントロールパネルで設定したパスワードを入力します。
Type database hostname
データベースサーバのホスト名を入力します。
ここでは「mysql***.db.sakura.ne.jp」という形式のものを入力します。
Type database port number (optional)
データベースのポート番号を入力します。未入力の場合は DBMS ごとのデフォルト値が使用されます。
ここでは未入力のまま Enter を押します。
Type database name
データベース名を入力します。
ここではさくらのアカウント名を入力します。
最後に入力した内容の確認をします。問題なければ「y」を入力します。
The DBMS mysql
The Database Username (さくらのアカウント名)
The Database Password ******
The Database Hostname mysql***.db.sakura.ne.jp
The Database Port Number
The Database Name (さくらのアカウント名)
The Database Socket
Is it OK to start this task? (y/n)y
確認が終わると自動的にインストールが進んでいきます。途中 Warning がたくさん表示されてびっくりしますがインストールは問題なく完了しています。(Fatal Errorが表示されて止まっている場合は失敗しています。この Warning エラー表示については今後の開発で改善されるはずです!)
公開ディレクトリの設定
ここでは「http://(アカウント名).sakura.ne.jp/sns/」というURLで設置すると仮定します。(「/sns/」の部分は自由に決めてOK)
.htaccess ファイルを編集します。変更点は2か所です。
%vi web/.htaccess
#Options +FollowSymLinks +ExecCGI # コメントアウトする
<IfModule mod_rewrite.c>
RewriteEngine On
# uncomment the following line, if you are having trouble
# getting no_script_name to work
RewriteBase /sns/ # 自分で決めたパス「sns」を入れる
# we skip all files with .something
#RewriteCond %{REQUEST_URI} \..+$
#RewriteCond %{REQUEST_URI} !\.html$
#RewriteRule .* - [L]
# we check if the .html version is here (caching)
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
# no, so we redirect to our front web controller
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
最後に公開ディレクトリにシンボリックリンクを作成します。
%cd ../www %ln -s ../OpenPNE-3.0.4/web _sns_
ブラウザからアクセス
ここまででインストール作業は完了です!
ブラウザから「http://(アカウント名).sakura.ne.jp/sns/」にアクセスして OpenPNE 3 のログイン画面が表示されれば OK です。(初期アカウントはセットアップガイドにある通り、sns@example.com / password となっています。変更して使ってください)
また、管理画面は「http://(アカウント名).sakura.ne.jp/sns/pc_backend.php」へアクセスすれば表示されます。(初期アカウントはセットアップガイドにある通り、admin / password となっています。変更して使ってください)
「500 Internal Server Error」の場合はさまざまなエラー原因が考えられるので、以下の手順でエラーログの内容を確認してもらえますでしょうか。
(1) web/index.php を dev 環境に変更する
OpenPNE3 の web ディレクトリにある index.php で、'prod' となっているところを 'dev' に変更してしてください。
$configuration = ProjectConfiguration::getApplicationConfiguration('pc_frontend', 'prod', false);
↓↓↓
$configuration = ProjectConfiguration::getApplicationConfiguration('pc_frontend', 'dev', false);
(2) ブラウザから SNS へアクセスする
「500 Internal Server Error」のエラーが表示されたら(3)へ
(3) エラーログを確認する
OpenPNE3 の log ディレクトリに pc_frontend_dev.log というログファイルができていると思いますので、その中で [err] となっている行に直接の原因が記録されているはずです。
symfony project エラーが表示されました。
Oops! An Error Occurred
The server returned a "500 Internal Server Error".
よろしいでしょうか?
私もruphy と同様の事象によりインストールができません
3.0.5ですと正常終了いたします
追加手順等ございましたらご教示ねがいます
って、どういう意味なんですか?
これにより「Options~」の行が無効になります(行自体を削除するのと意味は同じです)
さくらのレンタルサーバでは .htacess による Options の使用が禁止されているのでここでは無効にしています。
Fatal error: Class 'DomDocument' not found in /var/www/OpenPNE3/lib/symfony/plugins/sfPropelPlugin/lib/vendor/propel-generator/classes/propel/phing/AbstractPropelDataModelTask.php on line 428
ちなみにマイサーバーのOSはFedoraCore9です。
# yum install php-xml
で解決できました。
参考
http://www.php-seed.net/blog/archives/83
ただ、インストールできたものの、今度は「sns設定」がひらかなかったり、初期の sns@example.com でログインできない問題がでてきたり、初心者の悲しさで行き詰っています。よろしかったら、またアドバイスください。妻がフィリピーナだもんで、なんとか英語のSNSがつくりたいんです。よろしく。
Back to previous page」とメッセージが出ます。
何が悪いのでしょうか?
SNS設定で「You can’t access this page.Back to previous page」
アクセス権がらみかと思い、試行錯誤してみましたがどうしてもなおりません。
FreeBSD、Apache2、MySQLです。
解決方法をご教示頂けましたら幸いです。
php symfony openpne:install
が動かないようです。
./symfonyが壊れてるのかなぁ
Aliasの設定はやめて例と同様にシンボリックリンクにしてみました。でもだめでした。
エラーログに
Action "config/index" does not exist.
とあるのが手がかりっぽいけど。。。
携帯にはいかがなんでしょう?
私も同じ状況に。。。うちは
example.com/sns/
にインストールするためにmod_rewirteとAlias設定をいじってるので Alias の
Alias /sns *******/web
としてあるのが悪さをしてるのかな~なんて思ってますが、今からちゃんと調べるところです。
以下のようなLogが残りました。
5 15 22:13:52 symfony [err] {PDOException} SQLSTATE[HY000]: General error: 1193 Unknown system variable 'NAMES'
SQLのバージョンが、MySQL4.0でした。
動作環境は MySQL 4.1 以降ですので、可能でしたら環境を変えてぜひまたお願いします!
http://www.openpne.jp/openpne3_setup_guide/
http://d.hatena.ne.jp/ponkme/20090515/1242403724 OpenPNEを入れてみる案を試行。 railsplaygroundではメモリ確保できずインストール失敗したので、深追いせずにさくらに入れてみようと思ったら、既ににOp...
私も上の方々と同様に、管理画面のSNS設定で
「このページにはアクセスできません。」と表示されました。
試行錯誤した結果、どうやらsnsというフォルダ名だと
この不具合が発生するようです。
別のフォルダ名を指定すると、正常に表示されました。
既に、解決されているのかもしれませんが
ご報告とさせて頂きます。
やはりそうえすよね。。。
そろそろ2系→3系へのコンバータができそうなので、さわってみようかな、と思い、開発用のサーバーに3.2-betaをインストールしてみたのですが、やはりサブディレクトリ名がsnsだとSNS設定にいけないようですね。
m
mod_rewriteの設定をいじったらどうかなるのかも知れません。どなたか解決した方がいるといいのですが、しばらく試行錯誤してみようと思います。
『symfony』ファイル内で、
『ProjectConfiguration.class.php』ファイルを指定しているのですが、
実際に展開されたファイル名が『ProjectConfiguration.class.php.sample』になっていますので、
後ろのsampleを取ってあげることで、
php symfony openpne:installが実行可能になります。
ブログを書く時間は、プライベートな時間ですから、仕事のことはあまり書きたくないのですが、どうも近い将来、SNSと関わり合いになりそうな予感がします。 本来なら、Mixiあたりにア...
インストールを終えて、公開ディレクトリ自分は「SNS」に設定したところにブラウザからアクセスすると
You don't have permission to access /sns on this server. と出てきてしまいます。
上記の質問回答にあったように、フォルダ名を変えてみようと、もう一度.htaccessの編集をしようとしたのですが、今度は違う名前のフォルダが作成されません。(FTPソフトで確認)
どなたかご教授お願いします。
私も手順通りに実施して、いざアクセスしたら以下のメッセージがでてまいりました。
You don’t have permission to access /sns on this server.
googleで検索しても解決方法はなく、ファイルやディレクトリのアクセス権の問題かとも思われましたがこれも解なし。
1)>今度は違う名前のフォルダが作成されません。
この件は、シンボリックファイルのことであれば.htaccess、ではなく、
%cd ../www
%ln -s ../OpenPNE-3.0.4/web sns
上記操作です。
2)インストール成功⇒3.0.6.1にて
ここの手順の、一番最初のダウンロードファイル、3.0.4を見限り、多少更新されているであろう、3.0.6.1番をダウンロードして、あとはここの手順道理に進めたところ、さくらインターネットでも問題なくインストールが完了しました。
最初の手順を以下とした訳です。
%wget "http://nchc.dl.sourceforge.net/sourceforge/openpne/OpenPNE-3.0.4.zip"
サーバー環境:
さくらスタンダード
MySQL5.1
PHP5.2.12
サーバー内を一旦きれいにしてまっさらから取り組まれてはいかがでしょうか?
誤)%wget “http://nchc.dl.sourceforge.net/sourceforge/openpne/OpenPNE-3.0.4.zip”
正)%wget “http://nchc.dl.sourceforge.net/sourceforge/openpne/OpenPNE-3.0.6.1.zip”
ver.3.0.4と同じ状態のようです。
3.0.7でのインストールは出来ないのでしょうか。
誰でも無料で商用でも使えるオープンソースのSNSがあります。 株式会社手嶋屋が中心になって開発している「OpenPNE」です。 PHPとMySQLを利用したシステムで、日記帳やコミュニティ機能は...
サーバー環境:
さくらスタンダード
MySQL5.1
PHP5.2.12
管理画面に接続するURLを以下のように変更したら
SNS設定メニューが使えるようになりました。
http://さくらID.sakura.ne.jp/sns//pc_backend.php/
snsの後/を二つ付けてください。
これが根本的に間違っていますので「sns」はという名前は使わない用にしてください。
原因は管理画面のSNS設定ですに「sns」のルーティングを使用しているためです。
ですので、「sns」以外で他とバッティングしない名前にすれば大丈夫です。
上記を参考にpc_frontend_dev.logを見たところこのようなエラーがありました。
Unable to open PDO connection [wrapped: SQLSTATE[28000] [1045] Access denied for user '
どのように対処していいのかわかりません。教えてください。よろしくお願いします。
: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead in /home/sord1/OpenPNE3/lib/vendor/symfony/lib/config/sfRootConfigHandler.class.php on line 91
が4回繰り返して表示されるだけで、ログイン画面が表示されません。
この解決策か、それにつながるよううなヒントがあればお教えください。
お手数ですが、どうかよろしくお願いします。
敬具
3.4では「打つ手なし」なので、OpenPNE-3.0.4をここの手順通りにインストールしてみました。
が、何故かopenpne:install タスクを実行中に…
Installation of "opOpenSocialPlugin" plugin failed: unable to unpack /home/sord1/OpenPNE-3.0.4/cache/.pear/opOpenSocialPlugin-0.8.2.tgz
というメッセージが出て中断してしまいます。
ちなみにopOpenSocialPlugin-0.8.2.tgzは存在します。
なぜunpackできないのでしょうか?
ちなみにさくらインターネットは…
・マネージドサーバ Atomプラン
・FreeBSD 7.1-RELEASE-p15
・MySQL 5.1
です。
ただ、データベース管理に関する仕様が変更されたのか、
「mysql***.db.sakura.ne.jp」形式のURLはどこ
にも見当たらず、代わりにデータベースサーバ欄の
「localhost」を入力しました。
またHostnameとDatabase Nameにさくらのアカウント
名を入力すると、より早々に落ちてしまうので、作成し
たデータベース名を入力しました。
それでもテーブルは出来ているようなのでデータベース
にはアクセスできているようです。
以上のことから何か分かることがありましたらご教授く
ださい。
どうか、よろしくお願いします。
「データベース管理に関する仕様」の件。
さくらインターネットに問い合わせたところ「レンタルサーバーではなく、・マネージドサーバなのでそうなる。ホスト名は"localhost"で良い。」とのことでした。
これで少なくとも「データベース設定の問題ではない事」だけはハッキリしました。
It is not safe to rely on the system’s timezone settings.
システムのタイムゾーン設定を信頼するのは安全ではありません。
You are *required* to use the date.timezone setting or the date_default_timezone_set() function.
date.timezone設定を使用するか、date_default_timezone_set()の使用が「要求」されます。
In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier.
これらの方法を使用しているのに警告が出る場合は、タイムゾーンの記述子をスペルミスしている可能性があります。
We selected ‘Asia/Tokyo’ for ‘JST/9.0/no DST’ instead in /home/****/OpenPNE3/lib/vendor/symfony/lib/config/sfRootConfigHandler.class.php on line 91
私たちは「アジア・東京」を、sfRootConfigHandler.class.phpの91行目の記述の変わりに使用しました。
ファイル開いてご確認をお願いします。
というメッセージが出て中断してしまいます。
ちなみにopOpenSocialPlugin-0.8.2.tgzは存在します。
なぜunpackできないのでしょうか?
パーミッションは設定OKですよね。
ユーザログインでなく、管理画面にまずアクセスしてみても、切り分けができることがあります。
このページの通り試したところインストールは完了しましたがブラウザで閲覧したところ
403Forbidden You don't have permission to accessとエラーが表示されます。
FTPでシンボリックリンクを確かめると550エラーが返ってきました。
何が悪さをしてるのか判断できない状態におりいってしまって困っています。
何か思いあたるようなことがあればアドバイスいただけないでしょうか?
%ln -s ../OpenPNE-3.0.4/web sns
の部分を絶対パスにしたら直りました。
さくらレンタルサーバーにOpenPNE3.4.11をインストールしたのですが携帯からのメール投稿や携帯へのメール配信方法がわかりません。参考になる資料等ご指導いただけませんでしょうか。
OpenPNEは、本当に情報が少ないオープンソースですね。
ユーザが少ないから?
バージョンは新しくなり、プログラムの構造が変わっているのに情報は出さない!
自分でソース嫁ってことでしょうね、きっと。
これじゃユーザが増える訳けない。
OpenPNE6.3.1を利用させて頂いております。
招待メールやメールアドレス変更などの際に、メールに表記されるURLが、シンボリックリンクの中身を展開したような形式になり、リンクを踏んでもエラーメッセージ「Not Found」になります。
実際に送られるURL
http://さくらID.sakura.ne.jp/home/さくらID/OpenPNE/web/member/register/token/~
正しいURL
http://さくらID.sakura.ne.jp/sns/member/register/token/~
これを正しいURLにするにはどうすればよろしいでしょうか。お忙しいところお手数とは存じますが、是非ご教示下さい。
なにか、基本的な間違いを犯しているかもしれません。
皆様ご繁忙とは存知ますが、助けていただきたく、お願いします。
このページを見て、さくらインターネットのビジネスを契約して、Mysql5.5でOpenpne3.0.4
インストールしたのですが、インストール中、「 Running "insert-sql" phing task
[propel-sql-exec] Failed to execute:」のブロックのテーブル生成のSQLがすべてエラーしてしまいます。
エラーメッセージは以下のとおりで、Create文のシンタックスエラーが出てしまいます。
「[propel-sql-exec] SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Type=InnoDB' at line 20
[propel-sql-exec] Failed to execute:」
念のため、インストール後に、デバグモードにして、LOGファイルには、あたりまえなのですが、以下のようにテーブルがないのでエラーします。
「ymfony [err] {PropelException} [wrapped: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'vovit_sns.sns_config' doesn't exist]」
ちなみに、以下の確認と試みもしました。
・DBサーバーへの接続情報、DBのログイン情報はなんども確認したので間違いないと思います。
・Openpne3.0.4→Openpne3.0.8.5でも実施したが、同様の結果
・インストール時のエコーにあるCreate文をデータベース管理ツールのSQLから実行しても、同様のシンタックスエラーの表示がでます。
ちなみに、index.phpの中をprodからdevにかえてみたのですが、エラーログが残らないのですが。
Not Found
The requested URL /soko/sns/index.php was not found on this server.
となり、見ることができません。
どなたかご教授願います。
OpenPNE3.8.9の導入で質問がありますので、ここに書かせていただきます。
http://www.独自ドメイン/sns/index.phpにアクセスしたところ、「You don't have permission to access /sns/index.php on this server.」とエラーが出ました。
ここまで来ているので、終盤だとは思いますが、どなたか、解決方法をご教授願えればと思います。
・さくらレンタルサーバースタンダード
・Poderosaを使用しました。
一説によると、index.phpの手前を「sns」にするのがいけないということですが、どうなのでしょうか?