IE11のリセット

先週、Wordpress で再ログインしようとするとユーザー名とパスワードを要求されたのでいつもの通り[ログイン状態を保存する] にチェックを入れてログインできたのですが、ブラウザを終了するたび再びユーザー名とパスワードを求められるようになりました。

IE11だけで起きる不具合でEdgeではログインできました。またEPSON機のIE11でもログインできたのでVAIO機のIE11が壊れていることがわかりました。

Google 先生に訊いてみるとIEをリセットすると良いとのことで、[コントロールパネル]-[プログラムと機能]-[Windowsの機能の有効化または無効化]から、IE11のチェックを外して[OK]、再起動、再び[コントロールパネル]からチェックを入れて有効化したところ直りました。

原因は不明ですが今回は解決済みとしておきます。

WordPressの再インストール

WordPress でJavaScript を動かそうとしてファイルを色々いじったらカレンダーのレイアウトが壊れたのでWordpress の再インストール経緯をメモ。

# service httpd stop
# cp /pass/to/wordpress/.htaccess /home/gusachan/
# cp /pass/to/wordpress/wp-content/uploads /home/gusachan/
# cp /pass/to/wordpress/wp-content/plugins /home/gusachan/
# cd ..
# rm -rf wordpress/
# cp -R wordpress/ /pass/to/wordpress/
# cd /home/gusachan
# cp -R uploads/ /pass/to/wordpress/wp-content/
# cp -r plugins/ /pass/to/wordpress/wp-content/
# cp .htaccess /pass/to/wordpress/
# cp wp-config-sample.php wp-config.php
# vi wp-config.php (データベース、ユーザー、パスワード編集
# chmod 400 wp-config.php
# cd ..
# chown -R apache:apache wordpress/
# service httpd start

一応、[ダッシュボード]-[ツール]-[エクスポート]からデータをエクスポート、uploads ディレクトリをバックアップしてから行いました。

[ダッシュボード]-[更新]にも[再インストール]ボタンがありましたね。(^^;

WP-Snowプラグイン

WordPress 背景に雪を降らせるJavaScript を設置しようとしましたが、canvas タグの挿入場所がわからなかったので同様の機能を持つプラグインを使いました。

WP Super Snow Plugin
https://ja.wordpress.org/plugins/wp-super-snow/installation/

zip ファイルを解凍して、wp-super-snow ディレクトリを ./wp-content/plugin/ ディレクトリに移動。ダッシュボードからプラグインを有効化します。

春は桜吹雪のプラグインを使ってみたいですね。

sedコマンド

今回は、以前のエントリーで「ゾンビ探しのスクリプト」をご紹介しましたがその時には理解できなかった、sed コマンドを取り上げます。

sed -e "s/foo/bar/g" ファイル名

意味は、ファイル[ファイル名]の中の文字列を次の条件式”s/foo/bar/g”で、foo をbar に書き換えるということで、

sed 's/^ \{1,\}//g'

の場合は、PID出力の中の先頭にマッチ^する半角スペース の1回以上の繰り返し{1,}をすべて削除する//、という意味になります。

前回のエントリーで、Wordpress のメディアライブラリを表示するadmin-ajax.phpファイルを書き換えるシェルスクリプトは、-i でファイルの上書き保存とバックアップを作るオプションを使って、

sed -i".bak" -e "s/foo/bar/g" admin-ajax.php

実際には、foo とbar に前回のコードを代入して「/(スラッシュ)」と「;(セミコロン)」と「$(ダラー)」をエスケープして、「\n(改行コード)」を追加して

sed -i".bak" -e "s/@header( 'Content-Type: text\/html\; charset=' . get_option( 'blog_charset' ) )\;/if(in_array(\$_POST['action'], array('query-attachments', 'send-attachment-to-editor'))){\n@header('Content-Type: application\/json\; charset=' . get_option('blog_charset'))\;\n}else{\n@header( 'Content-Type: text\/html\; charset=' . get_option( 'blog_charset' ) )\;\n}/g" admin-ajax.php

となります。

参考URL:https://open-groove.net/linux-command/sed-edit-files/
http://qiita.com/takech9203/items/b96eff5773ce9d9cc9b3
http://www.megasoft.co.jp/mifes/seiki/meta.html

WordPressのメディアライブラリ

WordPress のメディアライブラリが表示されず、[メディアの追加]をしても画像が挿入できないことがあります。

当方の環境でWordpressの新バージョンをインストールすると発生する不具合のようです。Google先生によると、/wordpress/wp-admin/admin-ajax.php のとある行を編集すると直るそうです。

@header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) );
@header( 'X-Robots-Tag: noindex' );

上記コードを以下のように編集して保存します。

if(in_array($_POST['action'], array('query-attachments', 'send-attachment-to-editor'))){
@header('Content-Type: application/json; charset=' . get_option('blog_charset'));
}else{
@header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) );
}
@header( 'X-Robots-Tag: noindex' );

 

参考URL:WordPressの投稿時のメディアライブラリで画像が表示されない、http://karinto.in/2014/05/19/wordpress/

WordPressでHTMLコードを使う

WordPressで部分的にフォントを変えたいときに使えるHTMLコード<span style=””>をご紹介します。

ようこそ<span style="font-size:16pt;">WordPress</span>サイトへ

実際に使うときには、HTML編集画面[テキスト]に切り替えて行います。

span_tag

複数のプロパティを指定するときには;で区切りします。

ようこそ<span style="font-size:24px;font-weight:bold;color:#0000FF">WordPress</span>サイトへ

http://www.htmq.com/style/index.shtml

※ 注 ディスプレイの解像度によって画面に表示されるフォントサイズも変わるそうです。解像度に依存しない単位としてpxで指定すると良いかもしれません。

http://daredemopc.blog51.fc2.com/blog-entry-776.html

WordPressのパスワード再設定

パスワードをメモ書きしたPCを初期化する際にバックアップを取っていなかったのでログインできずに困りました。

WordPressのログインパスワードを忘れてリセットメールも飛ばない時に何とかする方法 (下記URL)

でmysqlを起動してデータベースからパスワードをリセットできました。ありがたや~m(_ _)m

参考URL http://d.hatena.ne.jp/tanamon/20131017/1382023373

ターミナルエミュレータにConsolasフォントを入れる

きっかけは、/tmpディレクトリに謎のvirtual-userディレクトリが大量に作られるというバグ。こちらのサイトに

増え続ける謎のディレクトリ | Ari’s Blog

/etc/rc.d/rc.sysinitの #Clean up various /tmp bitsの項目の最下行に/tmp/virtual-*を追加しよとあるので追加しようと試みましましたが、半角バックスラッシュが入力できませんでした。

・・・\
/tmp/virtual-*

Google先生に聞いてみるとConsolasフォントをインストールしてレジストリからFontLink機能をConsolasに追加、

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink

を開いて、ConsolasのREG_MULTI_SZに

MEIRYOKECONSOLE.TTF
MSGOTHIC.TTC,MS UI Gothic

TERATERM.INIのVTFontを再設定すると幸せになれるらしいです。

;VTFont=Terminal,0,-19,128(コメントアウト)
VTFont=Consolas,0,-19,128

ちなみにWordpress上で表示させたいときは、欧文フォントを指定してあげます。

<span style="font-family: Arial;">\</span>

参考URL http://tm.root-n.com/misc:consolas

http://d.hatena.ne.jp/ShiroKappa+_tech/20120303/1330727092

http://www.accacom.jp/blog/wordpress/170

WordPress の更新エラー「要求されたリクエストを完了できる http トランスポートがありません」

WordPress 4.3.1 にバージョンアップされてから、プラグインのダウンロード先がhttps をサポートするようになったからでしょうか。更新エラーがでます。Google 検索をすると、curl openssl モジュールを有効にすると良いらしい。この1か月、いろいろ悩みましたが、PHPのリビルドをすることにしました。下記を参考にphp.ini を更新。

PHP5.4以降をソースビルド(apache2,mysqli対応) – Qiita

curlを組み込むために以下のサイトを参考に、インストール。

PHP用にcURLをインストール、設定する | 渋谷生活

PHPリビルドの呪文を唱えます。

# service apache stop
# cd /usr/local/src/php-5.6.14
# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --includedir=/usr/include --with-config-file-path=/usr/local/lib --with-config-file-scan-dir=/etc/php.d --bindir=/usr/bin --sbindir=/usr/sbin --with-openssl=/usr/local/ssl --with-mysql --with-jpeg-dir=/usr --with-png-dir=/usr --with-freetype-dir=/usr --with-gd=shared --with-zlib --with-curl --with-xsl --enable-gd-native-ttf --with-gettext --with-libxml-dir=/usr/bin/xml2-config --enable-mbstring
# make && make install

途中 configure error が出たので、yum install libjpeg-devel freetype-devel libxslt-devel で追加のパッケージをインストール。無事、プラグインの更新に成功しました。

ポイントは、–with-curl –with-openssl オプションを付けたことです。

(Apache は、/usr/loccl/apache2/にインストールして以下サイトを参考に自動起動のシェルを作成。PHPインストール前にstopコマンドで停止する。) apache2.2 起動と自動起動設定

wordpress/ は、リビルド作業前にバックアップを![ダッシュボード] → [ツール] → [エクスポート] からファイルに保存。画像ディレクトリ、wordpress/wp-content/uploads/を保存。

SELinux によるWordPress のパーミッション設定

メディアライブラリへの画像追加
 wordpress アップロード中「この親ディレクトリのアクセス権はサーバーによる書き込みを許可していますか。」とエラーが出る。
プラグインのインストール
 ある時突然、プラグインのインストールをしようとして「ディレクトリを作成できませんでした。」とプラグインのインストールに失敗。
google で検索しても「パーミッションが悪い」「.htaccess を見直してみたら?」と言われいろいろ設定をいじっても解決しなかったので途方に暮れた

経験はありませんか。

httpdのドキュメントルートが通常とは違う場合、もしかしたら、SELinux のアップデートでポリシーが変わって書き込みが出来なくなったのかもしれません。

誤)# semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/wordpress/wp-admin/uploads (/.*)?"

誤)# restorecon -R "/var/www/html/wordpress/wp-admin/uploads"

正)# semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/wordpress/wp-content/uploads (/.*)?"

正)# restorecon -R "/var/www/html/wordpress/wp-content/uploads"
(uploads/ の他に、plugins/ themes/ ディレクトリも同様に設定が必要かもしれません

パーミッション、.htaccess、所有権のチェックでも問題がない場合、疑うべき選択候補ではあると思います。↓

CentOS7のSELinuxが有効な状態でhttpdからファイルに書き込みを行う設定