Re: VPS、専用サーバーで自動アップグレードに失敗した時

2011年1月1日 at 16:41

おっと、アップグレードページのご指摘ありがとうございました。
徹夜明けだったので、適当です。



自動アップグレードですね
幾つか考えられます。
root権限を持つ他の方向けに、いくつかのトラブルシューティングを書いておきます。

・unzip のパス
・memory_limit
・files/tmp と updatesの権限

あと、エラーが発生した文章ですが、ちょっとツールバーで隠れちゃいましたね・・・。

そのページの HTMLソースを直接見ると、きちんとしたエラー文がプリントされていると思うので、どの部分のエラーだったのかが、詳しく分かれば、もっと分かると思います。

━━━━━━━━━━━━━━━━━━━━
■ unzip のパス
━━━━━━━━━━━━━━━━━━━━

念の為に、zip、unzip のパスの確認をお願いします。
マーケットプレイスを利用されているのであれば、確認の必要はありません・・・。

concrete5 では、

/usr/bin/unzip

を unzip の保存先としています。
それでなければ

define('DIR_FILES_BIN_UNZIP', '新しいパス');


を/config/site.php の1行に入れてみてください。




━━━━━━━━━━━━━━━━━━━━
■ memory_limit や post_ の値
━━━━━━━━━━━━━━━━━━━━

そして、memory_limit の値が32Mなのが気になります。
んで、64M。そして128MBまで増やしてみていただけませんか?
ちなみに、この concrete5 Japan サイトの memory_limit は256MBまで許可してます。

php の他の設定は、問題ありません。




━━━━━━━━━━━━━━━━━━━━
■ ファイルの所有者 (PHPモジュールモード)
━━━━━━━━━━━━━━━━━━━━

VPSや専用サーバーで運用されている方は FastCGI、 PHP CGIモードではなくて、モジュールとしてPHPを走らせている場合があります。chmod 777 にしないと PHP が走らない方がおそらくそうです。

その場合、root 権限からディレクトリーやファイルのグループ所有者を apache & apache (デフォルトではこう)に chown されることをお勧めします。

こうすると、 chmod 777 する必要はなく chmod 755 で大丈夫になり、セキュリティー的にも安心です。

変更すべきディレクトリーは

/files/
/config/
/sitemap.xml
/updates/

そして、マーケットプレイスの自動ダウンロード機能を運用したければ

/packages/

ディレクトリーのグループ・オーナーを apache: apache にされることをおすすめします。




VPS、専用サーバーなどで、CentOSで考えられる問題はこんな感じです。

この concrete5 Japan サイトも CentOS + Plesk で運用しています。

# concrete5 バージョン
5.4.1.1

# concrete5 パッケージ

# concrete5 オーバーライド
languages/ja_JP, languages/ja_JP.UTF8

# サーバーソフト
Apache/2.2.3 (CentOS)

# サーバーAPI
apache2handler

# PHPバージョン
5.2.6

# PHP エクステンション
apache2handler, apc, bz2, calendar, ctype, curl, date, dbase, dom, exif, filter, ftp, gd, gettext, gmp, hash, iconv, imap, ionCube Loader, json, ldap, libxml, mbstring, mcrypt, mhash, mysql, mysqli, ncurses, odbc, openssl, pcre, PDO, pdo_mysql, PDO_ODBC, pdo_sqlite, posix, pspell, Reflection, session, shmop, SimpleXML, snmp, sockets, SPL, standard, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib.

# PHP 設定
log_errors_max_len - 1024
max_execution_time - 5
max_input_nesting_level - 64
max_input_time - 180
memory_limit - 256M
post_max_size - 8M
safe_mode - Off
safe_mode_exec_dir - <i>no value</i>
safe_mode_gid - Off
safe_mode_include_dir - <i>no value</i>
sql.safe_mode - Off
upload_max_filesize - 2M
apc.max_file_size - 1M
mysql.max_links - Unlimited
mysql.max_persistent - Unlimited
mysqli.max_links - Unlimited
odbc.max_links - Unlimited
odbc.max_persistent - Unlimited
pcre.backtrack_limit - 100000
pcre.recursion_limit - 100000
session.cache_limiter - nocache
session.gc_maxlifetime - 7200
safe_mode_allowed_env_vars - PHP_
safe_mode_protected_env_vars - LD_LIBRARY_PATH

Re: Re: VPS、専用サーバーで自動アップグレードに失敗した時

2011年1月1日 at 18:22
ありがとうございました。無事できました。

/files/tmp のアクセス権の問題でした。

この症状、普通のレンタルサーバでは問題ないとおもいます。

私は、自分でapache(httpd)の設定をしているのでそうなったんだと思います。