d3diaryで画像のアップロードだけ出来ません><


投稿ツリー


前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 | 投稿日時 2009/12/20 10:47
hitman2 

D3Diaryがとても気に入ったので是非使いたいのですが、インストール後に画像がアップできません。
ご助言頂きたいです。お願いします。

環境です↓
CENTOS5.3
Apache 2.2.3
PHP 5.1.6
Perl 5.8.8
Mysql 5.0.45-7

トップ > 趣味の部屋 > XOOPSサイト構築 > d3diary > d3diary
http://www.naaon.com/modules/plactice/index.php/home/hobby/xoops/d3diary.htm?naaon_session=4dq3r5vlt4o0fl9ksh2vbcrkj639mt90
d3diary_0.05a2.zip が最新だったのでそれをダウンロード
     ↓
それを解凍するとd3diaryフォルダが作成される。
     ↓
/tmp/xoops/d3diary/html/modules/d3diaryフォルダを、/var/www/html/xoops/modulesに移動させる。
     ↓
/tmp/xoops/d3diary/trust/modules/d3diary
/tmp/xoops/d3diary/trust/modules/d3pipes
の2つのフォルダを、
/var/www/html/xoops_trust_path/modules
に移動させる。
     ↓
ローカルからxoopsに管理者権限でログインする。
管理者メニュー→モジュールのインストールをクリックする。
     ↓
下記のエラーが表示されていた。
Warning [PHP]: D3LanguageManager::require(/var/www/html/xoops/modules/d3diary/mytrustdirname.php) [function.D3LanguageManager-require]: failed to open stream: Permission denied in file /var/www/html/xoops_trust_path/libs/altsys/class/D3LanguageManager.class.php line 40

SELinux関連のエラー。
下記の3つのコマンドを入力してエラーを解除した。
restorecon -R -v '/var/www/html/xoops/modules/d3diary'

restorecon -R -v '/var/www/html/xoops_trust_path/modules/d3diary/language/japanese'

restorecon -R -v '/var/www/html/xoops_trust_path/modules/d3diary'

インストール実施。
エラー無し。
     ↓
アクセス権の変更を実施
[root@test01 d3diary]# cd /var/www/html/xoops/modules/d3diary
[root@test01 d3diary]# chmod 777 cache/
[root@test01 d3diary]# chmod 777 upimg/
     ↓
SELinuxのエラーが出たので下記コマンドで回避。
[root@test01 ~]# restorecon -R -v '/var/www/html/xoops/class/smarty/plugins'
restorecon reset /var/www/html/xoops/class/smarty/plugins/function.d3forum_comment_postscount.php context root:object_r:tmp_t:s0->system_u:object_r:httpd_sys_content_t:s0
restorecon reset /var/www/html/xoops/class/smarty/plugins/function.d3forum_comment.php context root:object_r:tmp_t:s0->system_u:object_r:httpd_sys_content_t:s0
restorecon reset /var/www/html/xoops/class/smarty/plugins/function.d3comment.php context root:object_r:tmp_t:s0->system_u:object_r:httpd_sys_content_t:s0
restorecon reset /var/www/html/xoops/class/smarty/plugins/function.d3forum_comment_topicscount.php context root:object_r:tmp_t:s0->system_u:object_r:httpd_sys_content_t:s0
[root@test01 ~]#
     ↓
ここまででインストール作業終了。

youtubeの動画は問題なくアップ出来ます。
画像を選択するとどの画像(jpeg)でも、アップ後に画面が真っ白になってしまいます。
そのままだといつまでも真っ白です><

アクセス権の変更をする前に写真をアップしようとしましたが、
そのときは無効なファイルですとxoops上でエラー表示がちゃんと出ていました。
その後、権限変更をしてアップすると、真っ白になってしまいます。

xoopsプロテクターの設定変更をしましたが変わらずでした。
 F5アタックへの対処 exit→どれでも変わらず
 DoS監視の対象から外すモジュール d3diary を指定しても変わらずでした

minidiaryでも同様に画像アップすると画面が真っ白になってしまいました。

このモジュールを使っているサイトをみて、是非このモジュールをインストールしたいと
思いました。
blogとして使いたいです。
解決方法を教えてください! お願いします!

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009/12/20 15:53 | 最終変更
なーお  長老   投稿数: 1784

hitman2さん、こんにちは。

SELinux環境ですか。。 自鯖ですか?
企業用のwebサイトでもないかぎり、SELinuxはなかなか大変と思います。
こちらではその環境もないので、検証ができません。

まずは、画像アップ時にapacheのログに何らかのfatalなphpエラーが出ていると思います。 それを教えてください。

まさかphpにGDが入っていないとか、そんなオチは無いでしょうし。。

それから、管理画面の「写真の縮小保存」を「縮小保存しない」 にして試してみて変化があるか確認してみてください。

あと、画像アップ操作後に、画像はサーバーに格納されたのかどうか、サムネイルファイルが生成されたのかどうかも調べてください。 もしアップされているのでしたら、それらの画像をchmod 404 で権限を変更してみてください。

ちょっとエスパーしてみますと、main/edit.php の469行目あたり、

468
469
    }
    list($width, $height, $type, $attr) = getimagesize($_FILES['filename']['tmp_name'][$i]);

に、下記のように1行追加してみてください。

468
469
470
    }
    chmod($_FILES['filename']['tmp_name'][$i],0404);
    list($width, $height, $type, $attr) = getimagesize($_FILES['filename']['tmp_name'][$i]);
投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009/12/20 21:28
ゲスト 

自鯖環境です。
SELinuxをOFFにしても変わりはありませんでした。

下記がエラーログとアクセスログです。

tail -100 /var/log/httpd/error_log

[Sun Dec 20 10:18:57 2009] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Sun Dec 20 10:18:57 2009] [notice] Digest: generating secret for digest authentication ...
[Sun Dec 20 10:18:57 2009] [notice] Digest: done
[Sun Dec 20 10:18:59 2009] [notice] mod_python: Creating 4 session mutexes based on 256 max processes and 0 max threads.
[Sun Dec 20 10:18:59 2009] [notice] Apache configured -- resuming normal operations
[Sun Dec 20 10:48:19 2009] [notice] caught SIGTERM, shutting down
[Sun Dec 20 20:07:36 2009] [notice] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
[Sun Dec 20 20:07:36 2009] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Sun Dec 20 20:07:36 2009] [notice] Digest: generating secret for digest authentication ...
[Sun Dec 20 20:07:36 2009] [notice] Digest: done
[Sun Dec 20 20:07:37 2009] [notice] mod_python: Creating 4 session mutexes based on 256 max processes and 0 max threads.
[Sun Dec 20 20:07:37 2009] [notice] Apache configured -- resuming normal operations
[root@test01 ~]#

投票数:1 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/12/20 21:32
ゲスト 

管理画面の「写真の縮小保存」を「縮小保存しない」に変更しましたが真っ白のままです。

サーバー上には、画像が1つアップされていました。
名前はランダムな英数字でした。これは元画像かサムネイルか分かりません。
どちらか一方のみ、サーバーにアップされていました。

画像をchmod 404 で権限変更しました。その後、
ご指示のとおり、main/edit.phpに1行追加し、サーバーリブートしましたが結果はかわらずでした。

phpにはgdがインストールされていました。

年末でお忙しいのに申し訳ありません。
手厚いサポート助かります。
さらに、このモジュール使いたくなりました><

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/12/20 23:54 | 最終変更
なーお  長老   投稿数: 1784

だめでしたか。

SELinuxをOFFにしてもダメ、となると、phpの設定とかですかね。 メモリリミットは大丈夫ですか?

あと、apacheのログは、phpのログが吐かれるようになっていれば(普通はそうなっているはず)実際に画像をアップした時のエラーログの部分を切り取ってくださいね。 もはやそのログがないと何とも。。

もう一つやってみるとすれば、suExecもオフにすること、くらいかなあ。。 perlなどのcgiでUserDirectory設定だと実行権限で結構引っかかるんですが、phpだと問題なかったはず。。 suExecのオフは、実行オブジャクトファイルを削除しないといけないので、ググッてやってみてください。
参考は、ここのページあたりですかね。。

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/12/23 21:07
hitman2 

年末でお忙しいと思いますが、手厚いサポートに感謝しております。

実際の動作をapacheのログを見ながら行いました。

簡潔にまとめました。宜しくお願いします。

※※※※※※※※※※※※※※※

1、メインメニューのd3diaryをクリック
→ここではapacheのerror_logには何も表示されない。

     ↓

2、テストで作成した既存の文章があったので、その文章の[編集]ボタンをクリック。
→編集ページに移動。ここで下記のエラーが出た。

[Wed Dec 23 20:59:42 2009] [error] [client 192.168.1.28] File does not exist: /var/www/html/xoops/modules/d3diary/include/prototype.js, referer: http://192.168.1.32/xoops/modules/d3diary/index.php?page=edit&bid=2

     ↓

3、「画像選択(gif/jpeg)MAX3枚640x640以下に縮小されます。」欄の横の[画像を追加する]をクリック。
→ここではapacheのerror_logには何も表示されない。

     ↓

4、[参照]ボタンをクリックし、pc内に保存してあった画像を選択。
→ここではapacheのerror_logには何も表示されない。

     ↓

5、[送信する]ボタンをクリック。
→画面が真っ白になる。ブラウザの更新ボタンをクリックしても症状は変わらず。
さっきとは別のここで下記のエラーが出た。

[Wed Dec 23 21:00:25 2009] [error] [client 192.168.1.28] PHP Fatal error: Call to undefined function imagecreatefromgif() in /var/www/html/xoops_trust_path/modules/d3diary/main/edit.php on line 482, referer: http://192.168.1.32/xoops/modules/d3diary/index.php?page=edit&bid=2

※※※※※※※※※※※※※※※

投票数:1 平均点:10.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/12/23 22:12 | 最終変更
なーお  長老   投稿数: 1784

hitman2さん

ログに答えが出てますね。

imagecreatefromgif関数が使えないとのこと。

まず、php-gdパッケージがインストールされているかどうか調べてください。 インストール後に、Apacheの再起動をお忘れなく・・

それでもだめでしたら、GDのバージョンもご確認ください。 ちょっと調べてみましたら、PHPマニュアルページに以下の記載がありました。

http://php.plus-server.net/function.imagecreatefromgif.html

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/12/26 21:00
hitman2 

出来ました!
画像のアップが出来ました!

とても手厚いサポートありがとうございました。
xoopsインストール時にphpのgdの設定はしたのですが、肝心のgd本体がインストールされていなかったみたいです><

すいません。
動作テスト中ですがとてもよく出来ていると思いました。

blogでd3diaryを使って、本文の一箇所にアフリエイトの紹介URLなどがいれられたらと思いました。
HTMLには対応しているのでしょうか?

とてもよいモジュールなので商用利用は可能でしょうか?

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/12/26 23:08
なーお  長老   投稿数: 1784

hitman2さん、こんにちは。

引用:
出来ました!
画像のアップが出来ました!

そうですか、よかったです。 :-)

引用:
blogでd3diaryを使って、本文の一箇所にアフリエイトの紹介URLなどがいれられたらと思いました。
HTMLには対応しているのでしょうか?

記事内には、残念ながらHTMLは書けません。
BBcodeは使用できます。

もし、全ての記事に同じHTMLで良いのでしたら、テンプレートに直接アフェリエイトHTMLで書いてしまう、という荒業もありますけれども。  :hammer:

引用:
とてもよいモジュールなので商用利用は可能でしょうか?

特に制約はないです。

投票数:0 平均点:0.00
返信する
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009/12/27 12:41
hitman2 

テンプレートとはxoopsの機能のことですか?
色々聞いてしまってすいません。

是非チャレンジしたいです。

投票数:0 平均点:0.00
返信する

このトピックに投稿する

題名
ゲスト名
投稿本文
  条件検索へ