
こんにちは。
自社サーバにSNSのOpenPNEを設置しようとしています。
手順書通りにインストールした後、セットアップ画面にアクセスしようとすると、真っ白な画面になってしまいます。
エラーログを見ると、
PHP Warning: main(/usr/local/OpenPNE/config.php):
failed to open stream: Permission denied in /var/www/pne/OpenPNE/public_html/config.inc.php on line 21
PHP Fatal error:
main(): Failed opening required '/usr/local/OpenPNE/config.php' (include_path='.:/usr/share/pear')
in /var/www/pne/OpenPNE/public_html/config.inc.php on line 21
と書いてありました。
これはPHPのエラーでしょうか。
config.phpファイルの中身が悪いのでしょうか・・・。
PHP及び、サーバ・データベースなどについて、ほとんど初心者です・・・。
(そして英語もよくわかってない・・・)
ひょっとしたら、すっごく単純な間違いかもしれませんが、
ご指南の程、よろしくお願いいたします。
No.8
- 回答日時:
最初からやりましょうか(笑)
・OpenPNE_2_2_8.zip(安定版です)を/var/www/pneの下に置く。
・cd /var/www/pne
・unzip OpenPNE_2_2_8.zip
これで/var/www/pne/OpenPNEのディレクトリができるはずです。public_htmlを別ディレクトリに移動するとややこしくなるのでこのままいきましょうよ!
後はリンク先見てください。
それと、httpd.confを書き換えたらhttpdのreloadしないと反映されないですよ。
参考URL:http://tejimaya.org/openpne/docs/2_2/OpenPNE_Set …
この回答への補足
ありがとうございます。
最初からやってみました。
>・OpenPNE_2_2_8.zip(安定版です)を/var/www/pneの下に置く。
>・cd /var/www/pne
>・unzip OpenPNE_2_2_8.zip
そして /var/www/pne/OpenPNE ができたので、後は手順書通りに・・・。
結果は変わらず・・・Warning~のエラーがでています。
そんなに多くの手順ないのにな・・・。
・OpenPne/var以下のパーミッションを777にする。
・OpenPNE/config.php.sampleの中身を、config.phpにコピーする。
・config.phpの中身を編集する。
(OPENPNE_URLに絶対パスを入れる。http://*****.jp)
(DSNで、ユーザ名・パスワード・DBホスト・DB名を入れる)
(ENCRYPT_KEYを適当に入れる。)
(メールサーバのドメイン名を入れる)
・サーバ設定として、httpd.confを編集。
DocumentRoot /var/www/pne/OpenPNE/public_html
・httpdを停止→起動
・MySQLでデータベースの作成
・create_tables.sqlとinsert_data.sqlを実行
作業は以上です。
何か足りないものはありますでしょうか・・・。
何度もすみません。よろしくお願いいたします。
ありがとうございます。
入れた直後はWarning~のエラーが出ていたんですが、
少したってから確認すると、DBエラーに変わっていました。
DBに接続できません。というものでしたが、上のMySQL設定変更により
セットアップ画面にいくことができました。
ありがとうございました。
No.7
- 回答日時:
> 2.3.4というのは開発版でしょうか。
> 開発版は、ベータ版のようなものなのでしょうか・・・。
はい、開発版です。
ですが、2.2.8に比べ機能・セキュリティに配慮されているのでは?と思います。
> 教えていただいたので、チャレンジしてみようかと思いますが、
> 2.2.8版を残しつつってできるんでしょうか・・・。
はい、別のディレクトリにセットすれば良いと思います。
ダウンロード後解凍したものの中にそのバージョンに適した
ライセンスやセットアップ方法のファイルがあるはずですが
それらに一度目を通した方がよいと思います。
この回答への補足
ありがとうございます。
早速2.3.4を落としてきてインストールしてみました。
が、見事に同じ症状になってしまいました。
ディレクトリ構成そのままだと Apache 2 test の画面が出ます。
public_htmlを移動すると、Warning~のエラー画面が出ます。
BH5A5CDさんのおっしゃっていた、httpd.confがやはり怪しいのかな?
それともサーバー自体の問題なのでしょうか・・・。
No.6
- 回答日時:
> セットアップ画面(?m=setup)にいこうとすると、
> Apache 2 test page
> powered by Centos
> という(下に英文がずらずら)画面になってしまっていました。
それはhttpd.confの設定の問題じゃないのですか?
http://hoge/?m=setupを実行しようとしたとき、http://hoge/のDocumentRootが/var/www/pne/OpenPNE/public_htmlになっていないのでは?
この回答への補足
ありがとうございます。
httpd.confには手順書をマネして
<VirtualHost *:80>
ServerName ******.jp
DocumentRoot /var/www/pne/OpenPNE/public_html/
DirectoryIndex index.html index.php
</VirtualHost>
と、入れました。
ちなみに、ディレクトリ構成を落としてきたそのままの時は
DocumentRootのところが /usr/local/OpenPNE/public_html でした。
ServerNameは、config.phpで設定したOPENPNE_URLのhttp://以降と同じです。
No.5
- 回答日時:
OPENPNE_DIRはconfig.phpの位置を設定するだけには使われていません。
config.phpの中をOPENPNE_DIRで検索して見ると解ると思いますが。
> 元々ダウンロードしてきたものを解凍してできた「OpenPNE」フォルダを
> /usr/localの下に置きました。
> そして、「OpenPNE」フォルダの中にあった「public_html」フォルダを
> 別の場所/var/wwwの下に/pne/OpenPNE とフォルダを作りその下に置きました。
この方法で動かすのは変更しなければならない箇所が沢山出てくると思いますよ。素直に解凍してできたままのディレクトリ構成で動かした方が早く解決すると思います。
この回答への補足
ありがとうございます。
実は、最初はそのままの構成でやっていたんですが
セットアップ画面(?m=setup)にいこうとすると、
Apache 2 test page
powered by Centos
という(下に英文がずらずら)画面になってしまっていました。
これがどういう画面なのか調べてもわかりませんでした・・・。
それでネットでインストール方法を調べていたら、他の場所に置く方法があったので、それでやってみたところ、
Warning~のエラーが出るようになったのです。
エラー文が出るだけ、調べやすいかと思ったのですが、
実際たくさん出てきましたが解決には至っていない状況です・・・。
No.4
- 回答日時:
私が試しているのはOpenPNE-2.3.4ですが
まだ設定途中ですが、問題無いようです。
tanutanu23さんは
OpenPNE2.2.8ですよね
このバージョンはconfig.inc.phpに
define('OPENPNE_DIR', realpath('../'));
require_once OPENPNE_DIR . '/config.php';
となっていて素のままではpublic_htmlを所定の位置から変更できないのでは?
define('OPENPNE_DIR', '/usr/local/OpenPNE');
にすれば通ると思いますが、その先でエラーになるかも知れません。
http://sourceforge.net/project/showfiles.php?gro …
から新しいものを入手しトライしてみてはどうでしょう?
参考URL:http://sourceforge.net/project/showfiles.php?gro …
この回答への補足
ありがとうございます。
OpenPNE2.2.8は
http://docs.openpne.jp/
ここのダウンロードのところから、最新安定版というのを落としてきました。
2.3.4というのは開発版でしょうか。
開発版は、ベータ版のようなものなのでしょうか・・・。
教えていただいたので、チャレンジしてみようかと思いますが、
2.2.8版を残しつつってできるんでしょうか・・・。
No.3
- 回答日時:
OpenPNEは"/usr/local"下にインストールしているのでしょうか?
"/var/www/pne/"下にインストールしているように思うのですが。
もしそうなのであれば
>20行目 define('OPENPNE_DIR', realpath('/usr/local/OpenPNE'));
は
define('OPENPNE_DIR', realpath('/var/www/pne/OpenPNE'));
なのではないですか(フルパスだとrealpath()は不要な気がしますが)?
この回答への補足
ありがとうございます。
元々ダウンロードしてきたものを解凍してできた「OpenPNE」フォルダを
/usr/localの下に置きました。
そして、「OpenPNE」フォルダの中にあった「public_html」フォルダを
別の場所/var/wwwの下に/pne/OpenPNE とフォルダを作りその下に置きました。
ですので、「OpenPNE」という名前のフォルダは2つあります。
情報不足&ややこしくてすみません。
そして、config.phpファイルは、先の/usr/local/OpnePNE の下にあります。
ですので、パスは合っているような気はするのですが、
なにかすごく単純なところを見落としてる気もします。
あと、realpath() を削ってみましたが、状況変わりませんでした・・・。
あと何か考えられることはあるでしょうか。
申し訳ありませんが、アドバイスお願いいたします。
No.1
- 回答日時:
tanutanu23さん、こんにちは
私も英語は苦手です。
が、phpなどのopen softを利用したい場合どうしても英文を読まなければ前に進めない事があります。
私はウェブ翻訳などを利用したり、
原因が分からない場合、メッセージをそのまま検索エンジンで問合せると「なぁーんだ、そういうことか」って事が多いです。
そんな方法でやって見るとすぐ解決できると思いますが
PHP Warning: main(/usr/local/OpenPNE/config.php):
failed to open stream: Permission denied in /var/www/pne/OpenPNE/public_html/config.inc.php on line 21
は、/usr/local/OpenPNE/config.php の 21行目に
/var/www/pne/OpenPNE/public_html/config.inc.php を
require しているが、
ファイルのPermissionに問題があり開けないと言っているようです。
/usr/local/OpenPNE/config.php があれば
chmod 755 /usr/local/OpenPNE/config.php
または
chown www /usr/local/OpenPNE/config.php
但し、wwwはhttpdを動かしているユーザがwwwの場合です。
この回答への補足
ありがとうございます。
パーミッションや所有者を変更してみましたが、同じ症状でした。
ネットでエラー文をコピペしていろいろ検索してみました。
・mbstringやgdがない
・include_pathの設定がない
などの原因があげられるようなので、試してみましたがあいかわらずです。
config.phpには
20行目 define('OPENPNE_DIR', realpath('/usr/local/OpenPNE'));
21行目 require_once OPENPNE_DIR . '/config.php';
と、入っています。
更に検索していたら
・文字コードがおかしい
というものがありました。
文字化け防止のために、php.iniファイルの中に
default_charset = "UTF-8" を追加しましたが、
これが何か影響しているのでしょうか。
もうかなりお手上げ状態です・・・(泣)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セッション関数を使わずにファ...
-
PHP8でWarning:Undefined varia...
-
phpの問い合わせフォームを作っ...
-
SplFileObject を利用したとき...
-
composerをインストールしたい...
-
php でqiitaのサイトにあったフ...
-
【初心者】XAMPPのapacheの(恐...
-
PHPの勉強してます。 配列のと...
-
複数のパソコンの中の1つのパソ...
-
phpに関わる所での、form actio...
-
PHP8を使うと、大量のWarningが...
-
Q&Aサイトを作成していてURLの...
-
PHPで画像の渡しが上手く行きま...
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
返信機能のツリー構造の深さを...
-
PHPについて。
-
[php初心者]サイトを見てデータ...
-
入力フォームの空白や改行を制...
-
reuterの記事をbeautiful.soup....
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHP8でWarning:Undefined varia...
-
phpの問い合わせフォームを作っ...
-
composerをインストールしたい...
-
BASIC認証のフォームをデザイン...
-
SplFileObject を利用したとき...
-
phpでcookieがうまく保存されない
-
PHPのセッション有効期限について
-
PHPで画像の渡しが上手く行きま...
-
PHP8を使うと、大量のWarningが...
-
フォームで戻った際に入力済み...
-
Q&Aサイトを作成していてURLの...
-
PHPを使って、別サイトの一部を...
-
$_SESSIONに渡した後はそのまま...
-
reuterの記事をbeautiful.soup....
-
PHPSpreadsheetを使って関数を...
-
PHPのエラーの解消法について教...
-
ファイルの遷移がうまく行われ...
-
PostgreSQLからCSV形式でエクス...
-
php エラー
-
HTML PHP ラジオボタンのイベント
おすすめ情報