2013年08月06日

プラグインのアップデートでトラブルの巻

WordPress の管理画面に行くと、プラグインのアップデート表示が。じゃあアップデートしてみましょうかとクリックするとまたしてもエラーが。
古いプラグインを削除出来ませんでした
「古いプラグインを削除出来ませんでした。」とな。
なんだかディレクトリの権限っぽい感じですね。

とおもって、wp-content やwp-content/plugin のパーミッションを777にしたり、ユーザーを appache にしたりとやってみたけどダメ。
にゃんだよ〜。

だいぶんハマったあとでふと、プラグインが入っているディレクトリのユーザーを変えてみようと思い立った。
おおもとの plugin ディレクトリではなくて、そのなかのディレクトリね。
こんかい対象ブラグインのディレクトリ名は akismet なので、コマンドはこう。wp-content にいるとして、
 chown apache:apache plugin/akismet

するとあっさり成功。
プラグインの更新に成功しました。
そうですか対象ディレクトリのユーザーを変えないとダメですか。多分わかってる人には当たり前なんだろうなぁ。
もう wp-content 以下のディレクトリとファイルは全部 apache の持ち物にしてやる!
ルートにいるとして、
 chown -R apache:apache wp-content

パーミッションも 707 や 777 にしてたのを 755 に変えてみる。安全対策?いいえ、気分の問題です。
 chown 755 wp-content

これで権限関係のトラブルは全てなくなるのでしょうか。そんなわけないよなぁ、きっと。


posted by 万年初心者 at 20:31| Comment(0) | TrackBack(0) | トラブルと対処 | このブログの読者になる | 更新情報をチェックする

2013年08月01日

WordPress の写真アップロードでエラーの巻

ほぼ数ページおきにエラーに遭遇するのでネタは尽きない。良いことだ。ん?今回は P73 記事編集での「画像の挿入」。
ファイルを選択してアップロードしようとすると下のエラーが。
ディレクトリを作れない。
ディレクトリ wp-content/uploads が作れないと。
「この親ディレクトリのアクセス権はサーバーによる書き込みを許可していますか?」
してないんだろうね、きっと。

さすがになんとなく想像がつくようになってきました。あれですね、アクセス権とかパーミッションとかいうやつの設定。

wp-content ディレクトリの中をみると uploads なんてディレクトリはありません。
uploads は初回アップロードするときに自動的に作られるっていう噂。
つまり wp-content に書き込んでいいよアクセス権を設定すれば良いと。

今のパーミッションを確認してみる。
wp-content のパーミッションは755
755 であります、隊長!

とりあえずみんな大好き 707 にしてみよう。なぜみんなが好きなのかはしらない。
CentOS のコマンドラインからおもむろに変更をかける。ルート(index.phpのとこ)に移動してと。
 chmod 707 wp-content
と。コマンドを忘れて調べなおしたことは秘密だ。

すかさず WordPress に戻りアップロードをためす。
見事に成功。めでたしめでたし。

おまけ
パーミッションを変えてもまだ
「アップロードしたファイルを xxx に移動出来ませんでした。」
とか
「画像のデータがありません。再度アップロードしてください。」
などといったエラーが出ることがあるようです。原因は PHP がセーフモードで動いているとかいないとか。
そんな時は下の内容で .htaccess をつくり、/wordpress/wp-admin にアップロードすると。
 <files async-upload.php>
 AddHandler application/x-httpd-phpcgi .php
 </files>
wp-admin ってところが私が今まで遭遇してきた .htaccess 関係のエラーとは違いますな。
今回私は大丈夫でしたが、忘却録として一応のこしておきます。

posted by 万年初心者 at 21:41| Comment(0) | TrackBack(0) | トラブルと対処 | このブログの読者になる | 更新情報をチェックする

WordPress で404 Not Found 発生の巻

いやー、ページを進めるたびに続々とトラブルが起きますなぁ。前回プラグインがインストールできたので、P64 の「投稿されている記事の確認」に。
はじめから投稿されている「Hello! World」をみてみる。
なにげにページを表示してみようと思ったら
Hello World! の表示 なにげに表示しようとしている図

なんと 404 Not Found のエラー画面に。
鬼教官だぜ WordPess、世界にこんにちはも簡単には言わせてもらえない。

色々調べてみると .htaccess がどうとかこうとか。
これってパーマリンク設定の時に作ったりしましたよね。

そう思ってパーマリンク設定を「デフォルト」に戻すと表示される!
でも他の設定(「月と投稿名」とか)にすると 404 Not Found エラー!がぉー。

うわさによるとパーマリンク設定したら .htaccess には下のように書き込まれていないといけないらしい。
 # BEGIN WordPress
 <ifmodule mod_rewrite.c=”">
 RewriteEngine On
 RewriteBase /wp/
 RewriteRule ^index\.php$ ? [L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /index.php [L]
 </IfModule>
 # END WordPress

開けてみる。
 # BEGIN WordPress

 # END WordPress
ほぼからやん。

調べてみると、.htaccess に書き込むには httpd.conf 内の 「AllowOverride」 と 「mod_rewrite」 の設定が必要だと。なにゅそれ。
まあとにかく CentOS のコマンドラインから httpd.conf を開く。
 vi /etc/httpd/conf/httpd.conf

まずは AllowOverride を検索。vi エディターでの検索コマンドはこれだ!覚えておけ、俺。
 /AllowOverride

こんなのが出てくる。ちなみに n でどんどん下向きに N で上向きに「次へ検索」されます。
# AllowOverride controls what directives may be placed in <span class="searchword">.htaccess</span> files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit

    AllowOverride None

None を All に修正。None にカーソル持ってきて x で消去。
i でインサートモードにして All と書き込み。 ESC でもどる。
おい、お前のためのメモだぞ、俺。

続いて mod_rewrite の検索。
 /LoadModule rewrite_module ってしてみた。

LoadModule rewrite_module modules/mod_rewrite.so の先頭に # がついていなければオッケー。ついていたら # を消す。

そして :wq でvi をセーブして終了。
すかさず apache を再起動。
 /etc/rc.d/init.d/httpd restart

だれだ、再起動せずに .htaccess が変わらないってってるやつは(僕です)。

ここまでしたら、パーマリンクの設定を変えてみる。
「デフォルト」 から 「月と投稿名」に変えてもみごと表示されましたとさ。

しかしこのわかってなさ感は半端ないな。いつかわかる日はくるのか。そんな気配は毛頭ない。
豆大福食べてねよっと。

posted by 万年初心者 at 17:52| Comment(0) | TrackBack(0) | トラブルと対処 | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。