「WordPress」タグアーカイブ

原因ははっきりしないまま

現在2つの問題で頭を悩ませています。1つは WordPress のブロック冒頭の文字残り問題。もう一つはあきらめたと言いつつ、しつこくいじり回している Raspberry Pi のカメラ問題です。

WordPress の文字残りというのは、

文字残りの実例

動画にしてみましたが、先頭に「t」が残ってますよね。全てのブロックにこの現象が出るのです。 Safari だと出ません。 Chrome だと少なくとも私の環境では必ず出てきます。他にも出ているという人もいるのですが、少数派のようですね。バージョンアップで消えてくれることを祈ってます。


さて、 Raspberry Pi のカメラ問題ですが、撮影を連続しているとどのタイミングかエラーも出ずにカメラモジュールがハングアップしてしまうという現象です。これ、エラーを出さずに突然ハングアップしてくれるので困ります。ハングアップすると画像はブラックアウトします。ログを見てもエラーが出ていないので厄介です。

いちどハングアップしてしまうと、戻ることはないのかというとそんなこともなく、突然正常に戻ったりもします(頻度は低い)。カメラモジュールが認識していないのかというと、そうでもありません。

vcgencmd get_camera

これはカメラモジュールの認識をテストするもので、ハード面・ソフト面で認識しているかどうかをチェックします。結果はハード面・ソフト面ともに問題なしと報告されます。ホントお手上げ状態なのですが、リスタートすると治ることが多いです。カメラモジュールをシステムが取り合っているという話も見聞きしたのですが、私の場合は考えにくいと思うのですね。撮影時間が短すぎるとおかしくなるという話を聞いたので、撮影の合間に時間のかかる処理を挿入したり、 sleep 命令を入れたりしたのですが、結果は変わりません。1時間程度問題なく動いていたり、数枚撮影したところでハングアウトしたりします。傾向がつかめません。

「 PiCam 異常時の現象 | Research 」などというレポートがあったりするので、私だけの問題ではなさそうなのですが、カメラモジュールの不具合という話もありますよね。ということは、買い換える必要があるんでしょうか。全く問題が出ない人もいるので、わかりません。今後は買い換えも視野に考えつつ実験を繰り返してみようと思っています。


自分の仕事は自分の一生を充実させるためにある。

武者小路実篤

Raspberry Pi で WordPress を動かす

やったことのメモ。七転八倒。疲れた。

  1. Apache2 のインストール 
  2. PHP7.1 のインストール 
  3. MariaDB のインストール
  4. データベース設定 
  5. WordPress のダウンロード・解凍 
  6. WordPress の設定
  7. ルーターの設定

まずはここまで。順に説明していく。

1.Apache2 のインストール

これは簡単。

sudo apt-get -y install apache2

2.PHP7.1 のインストール

これはちょっと面倒。まず、リポジトリを追加する。 /etc/apt/sources.list に以下を追記する。

deb http://repozytorium.mati75.eu/raspbian jessie-backports main contrib non-free

続いて dirmngr をインストールする。実はこれ、次の手順(リポジトリのキーの設定)をやったら怒られたので、慌てて追加した手順。

sudo apt-get install dirmngr

準備できたので、リポジトリのキーを設定する。

sudo gpg --keyserver pgpkeys.mit.edu --recv-key CCD91D6111A06851
sudo gpg --armor --export CCD91D6111A06851 | sudo apt-key add -

やっと PHP7.1 のインストール。

sudo apt-get install php7.1

更に追加のモジュールをインストール。

sudo apt-get install php7.1-cli php7.1-gd php7.1-mysqlnd php7.1-pgsql php7.1-mcrypt php7.1-dev

3.MariaDB のインストール

これ、引っかかったヤツですね。前のエントリを見てもらうとわかりますが、一度バックアップから戻りました。 MySQL をインストールしても MariaDB がインストールされます。メッセージはなし。メッセージぐらい出して欲しいよね。

sudo apt-get -y install mysql-server php7.1-mysql

MySQL をインストールしてるけど、入るのは MariaDB 。

4. データベース設定

MariaDB は癖があって、ルートの扱いが雑。ルートパスワードは””( null )。データベース作成まで一気に行きます。

sudo mysql -u root -p
(MariaDB) CREATE DATABASE <データベース名>;
(MariaDB) GRANT ALL PRIVILEGES ON <データベース名>.* TO <ユーザー名> IDENTIFIED BY <パスワード>;
(MariaDB) exit

< データベース名 > 、 < ユーザー名 > 、 < パスワード > この 3 つは後で使うので忘れないようにメモしておきましょう。

5.WordPress のダウンロード・解凍

6.WordPress の設定

ここからはいつものパターン。 Raspberry Pi だからといって特に変更はない。所定のパッケージをダウンロードして解凍。上でメモした < データベース名 > 、 < ユーザー名 > 、 < パスワード > を php-config.php に書き込んで … という手順。ここはネット上にたくさんあるので省略。 Apache2 のデフォルトフォルダは、 /var/www/html/ なので、ここに展開する。

7. ルータの設定

これはルータによって微妙に違うと思う。

私のルータの場合

要するにポート 80 番を今回の場合 Raspberry Pi の IP アドレスからだけ通す設定にした。

まだ何にも記事を書いていないけど、 WordPress が立ち上がってくれた。これをあらかじめ用意したドメインで運用することにする。ところで、 DynamicDNS って数が減りましたね。以前はけっこうあったと思うんですが …  今回は MyDNS さんにお願いしています。 Mac の場合(というか私の環境では)、 wget を使って BASIC 認証で IP アドレスの通知を行うと、 IP6 の方を通知してしまう。これでちょっとはまった。

www.mydns.jp への通知だとそうなってしまうので、 ips4.mydns.jp/ips6.mydns.jp と言う具合に 2 回に分けて IP4/IP6 を明示して通知するようにした。後は、 launchd に登録して終わり。しかし、 plist は書きにくい。専用のソフトを探している。 Xcode のヤツは使いにくくていかん。情報があったらお願いしたい。今回は mi.app で行った。

日本語と半角英数の間にスペースを挿入する

最初に言っておきますが、コピペです。作者の方にはまだ許可を取っていません連絡しました。。私が書いたコードではありませんです。

私も困っていたんです。半角英数が日本語の中に突然挿入されると、見にくいと思いませんか。私は改行位置云々よりも見にくくって仕方がありませんでした。で、半角英数が間に挟まる場合に自分で半角スペースを挿入していました。これめんどくさいんですよね。つい忘れるし。

ということで、つらつらと Web を徘徊していたら見つけてしまいました。まさにこれです。これ! ということで、早速コピペしましたよ。

WordPress  にて日本語文中で半角英数字の使用するとき前後に狭いスペース   を自動で挿入し文字間隔(字送り)を調節する関数をつくりました。変な位置での改行がなくなるし、半角英数字の前後に少し間が開くので文章も読みやすくなります。 

WordPress にて日本語と半角英数字の間に狭いスペースを自動で挿入する : トイレのうず/ブログ

これです。丁寧な説明がリンク先にありますので、それを参照していただければ OK です。しかし、同じような悩みがある場合、あちこちリンクをたどるのも何ですので、コードはこっちにも書いておきますね。

function add_space_full_width_half_width( $content ){
	//<pre>タグで分割
	$content_arr = preg_split('/(<pre\s*(?:"[^"]*"|\'[^\']*\'|[^\'">])*>.*?<\/pre>)/is', $content, -1, PREG_SPLIT_DELIM_CAPTURE);
	
	$content = '';
		
	foreach($content_arr as &$value){
		if(strpos($value,'<pre') === false){
		  //<>[]"'改行を除く半角英数字と隣り合ってるとき狭いスペースを挿入、タグの接するときはタグを覗いたパターンで判断
		  $content .= preg_replace( array( '/(?<![!-~\s]|^)((?:<("[^"]*"|\'[^\']*\'|[^\'">])*>)*)(?=[!#-&(-;=-Z\\\-~])/', '/(?<=[!#-&(-=?-\\\^-~])((?:<\/[a-zA-Z0-9]+>)*)(?![!-~\s]|$)/', '/(?<![!-~\s]) +(?=[!-~])/', '/(?<=[!-~]) +(?![!-~\s])/' ) , array( ' $1', '$1 ', ' ', ' ' ) , $value );
			} else {
			$content .= $value;
		}
	}
	
	return $content;
}
add_filter( 'the_content', 'add_space_full_width_half_width', 5);
add_filter( 'comment_text' , 'add_space_full_width_half_width', 5 );
add_filter( 'the_title' , 'add_space_full_width_half_width', 5 );

内容については検証したり解析したりしていません。ホントコピペです(滝汗

テーマの関数ですね。 Function.php ファイルの末尾に貼り付けました。すごいですね。ちゃんと動作します。

さて、作者さんにお礼とブログ転載のお礼をしなければ …


私は木の立つ姿が好きです。なぜなら木々は自分たちの生きねばならぬ道に、ほかのものよりずっと素直に従っているからです。

ウィラ・キャザー

Gutenberg のテスト

新しいバージョンが出てきました。これまで私の環境で出ていたバグっぽい症状がクリアになっているかどうか確認のエントリです。

cd /Volumes/LaCie/

よし!  OK ダナ。実は、コード入力において「 / 」 ( 半角スラッシュ ) を入力すると、自動保存でエラーになっていたんですね。新バージョンでは問題ないようです。これでコードを入力するようなエントリにも問題なくスラッシュを記入できます。

ブログ更新、最近サボってますが、また再開しますね。


いかに弱き人といえども、その全力を単一の目的に集中すれば必ずその事を成し得べし。

春日潜庵

もう一年たつんだ …

何のことかと言いますと、このブログのバックアップを受け持ってくれている UpdraftPlus  というプラグインの登録から 1 年になるんですね。完全に忘れてました。 (^0^;)

このプラグインは、 1 年更新型の料金体系になっていまして、 $56.00 です。ちょっと高いかもしれませんが、データベース及びワードプレスのコアファイルのバックアップを自動で取ってくれて安定しているというのが肝です。プラグインの Update の際にはこれまた自動でバックアップを取ってくれます。バックアップの世代を何世代まで保存するかと言ったところも簡単に設定できます。

そして何より、作ったバックアップをリモートストレージに保存してくれる機能がありがたい。サーバーのストレージに保存してあっても、サーバーが何らかのトラブルでデータを失った場合、同じサーバーの中にだけデータがあるのでは意味がありません。私の場合、 Office365 に付属する OneDrive にデータを保存してもらっています。これもフォルダを自動で作ってくれるので、ストレージ内が散らかりません。ありがたいです。

WordPress のバックアップ・ソリューションはたくさんあるので、自分に合ったものを選択すればいいと思います。私は UpdraftPlus だったと言うことですね。


世界中にさだめられた どんな記念日なんかより あなたが生きている今日は どんなにすばらしいだろう 

THE BLUE HEARTS 「 TRAIN-TRAIN 」

遅延読込プラグインを導入

遅延読込プラグイン (Lazy Load) を導入しました。遅きに失した感はありますが、とりあえず導入して様子を見てみます。

参照したのは「 WordPress でスクロールにより画像を遅延読み込みするプラグイン Lazy Load 」です。ここで記述がある GoogleBot に対する対応と、スマートフォン向けの対応を実施しました。直接プラグインのソースに手を入れますので、 1 度プラグインを OFF にしてから行うのが鉄則です。私は忘れてましたが(汗

上の画像は PageSpeed Insights という Google さんのページでこのブログを評価してもらったものです。どちらもギリギリですが、 GOOD の評価をもらいました。すごい人はいるもので、このページで 90 点以上を稼ぎ出す人もいるらしいです。ただ、速度が速いのはもちろんいいことですが、それ以外のことにも注目しなければいけませんので、私はこの点数を維持することを目標にします。

このプラグインの効果のほどはいかほどか? 楽しみです。


我々は、我々の歴史の中に我々の未来の秘密が横たわっていることを本能的に知る。

岡倉天心

_s(underscore) CSS 改変

[ 新潟 ] Niigata WordPress Meetup in 新潟 Vol.1 「もくもく会」に参加してきました。上級者揃いの中で初心者が一人。次は質問しようと思います。

さて、黙々と作業をするもくもく会ですが、私は _s(underscore) の CSS をいじっていました。いやぁ、複雑だわ。そもそもの WordPress 構造が複雑なので、 CSS の指定が複雑。サンプルデータを入れて、見やすくなってはいたものの、一カ所直すと別のところが影響を受けたり、継承の影響で指定がキャンセルされたりと進まない進まない。 WordPress の CSS って難しいですね。結局、中途半端なまま時間になってしまいました。準備していた SASS は使わないまま。


運がいいからといって得意になるな。不運だからといってがっかりするな。

クレオパルス

_s(underscore) を使ったテーマ作成 準備の巻

「[ 新潟 ] Niigata WordPress Meetup in 新潟 Vol.1 「もくもく会」」に向けて WordPress のテーマを作成していこうと考えておりまして、もうね、その前段階ですよ。

準備としては PeppermintOS をインストールした MacBook(Late2006) を用意しました。 2006 デスよ。遙か昔の MacBook 君なんですが、この程度の用途には必要十分なパワーを発揮してくれます。残念ながら macOS ではセキュリティ的に危ない状態なので、 PeppermintOS をインストールしました。まいやんがデスクトップに鎮座しております。

向かって左が macOS 版、右が Peppermint 版です。まいやんが綺麗ですね。

ここに、 localhost 版 WordPress をインストールしました (別記事参照 ) 。これでほぼ準備完了。

後は、テンプレートとなる _s(underscore):Underscores | A Starter Theme for WordPress をインストールします。まずは、 CSS 周りを整える予定にしています。ちょっと環境を変えて集中して頑張ってみようと思っております。さてうまくいくでしょうか? ちなみにアイキャッチ画像は、現時点の _s テーマによるレンダリングです。

補足: WordPress のデバッグモードを ON 。サンプルデータとして「日本語 Codex : Theme Unit Test 」を WordPress にインポート。プラグイン「 WordPress › Theme-Check « WordPress Plugins 」をインストール。

補足の補足: localhost WordPress のホームフォルダは、 /var/www/html/ ここに wordpress フォルダがある。忘れると悪いので追記。


恋人の欠点を美徳と思えないようなものは恋しているとはいえない

ゲーテ

localhost にインストールした WordPress の設定をちょっとだけ変更

昨日の記事の続きです。 WordPress の更新時に FTP 情報が表示されます。いや、 localhost なんですけど。何とかしたいと思い、ググってみたらありました。

「 WordPress 更新時に FTP 情報入力画面が表示される場合の対処方法 3 つ | sand a lot Web & Music Create [ 札幌 ]」 ここに書かれている対処法のうち 2 つめを適応させました。 wp-config.php に 

を追加するという方法です。

* * *

この記事を書いているときにエラーが頻発して上記のようなへんてこりんな書き方になっています。コードのところ無理矢理画像にしているんですね。こうしないと、保存のときにエラーが出て保存できないんですよ。これはちょっと困りものです。

投稿時のエラー

自分が死んだら、白い花一輪とベートーベンの第九を聞かせて欲しい。他には何もなくていい。

棟方志功

Peppermint に WordPress をインストール

また Peppermint OS の話です。なんせ情報が少ないので、手探りですね。基本的には Ubuntu をベースにしているので Ubuntu の情報が役に立ちます。たくさんネット上の情報に助けられました。この場を借りてお礼申し上げます。

Peppermint に LAMP 環境を整える

LAMP というのは、 Linux 、 Apache 、 MySql 、 PHP の略ですね。これは知ってました。さて、基本「 Ubuntu14.04 に LAMP 環境を導入する」を参照しているのですが、いかんせん情報が古く、 PHP5 シリーズを導入しています。それでは困るので、 PHP7.2 を導入します。 Apache 、 MySql は上記のリンクを参照しました。ただ、あとで MySql で思いっきりはまります。

$ sudo apt-get install apache2 mysql-server

「 Ubuntu に PHP7 の環境をつくる」を参照して PHP7.2 をインストールします。

$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
$ sudo apt install php7.2 php7.2-common php7.2-cli php7.2-fpm php7.2-mysql php7.2-dev php7.2-mbstring php7.2-zip

xdebug ・ composer のインストールと設定変更は、上記参照と言うことで飛ばします。ここまで順調ですね。

MySql でドはまりする

MySql のインストール時にパスワードを聞かれませんでした。最近のはそうらしいのですが、まずこれではまります。 MySql にログイン出来ません。まぁ情報はたくさんあるのですが、 Peppermint にぴったりあうものがなかなかなかったのです。 MySql の設定ファイルを修正しては再度チャレンジ。また修正しては、再度チャレンジの繰り返し。

MySql にログインしようとしても、 root ユーザーのパスワードがわかりません。設定してないので null でいけるかと思いきやそうでもない。そこでパスワードリセットをかけます。「 Mysql で「 Access denied for user ‘ root ’ @ ’ localhost ’ (using password: NO) 」 - IT の隊長のブログ」この方法でとりあえずパスワードをリセットして設定します。

次も難関

とりあえず MySql にログイン出来るようになりましたが、 phpMyAdmin をインストールしたところ、こちらでもエラーが出続けました。まず出たのは「 sql サーバーにログイン出来ません」というエラー。これは設定ファイルに、ホストの IP アドレスを指定してやることで何とか回避。「 PHP – phpMyAdmin で #2002 MySQL サーバにログインできません が出ます (46966) | teratail 」参照させて頂きました。

簡単に書きましたが、半日あっちをいじり、こっちをいじりしていました。もっと詳細に書きたかったのですが、もう訳がわからなくなってます。もう一度やれと言われてやる自信ないですね。アイキャッチ画像はようやくたどり着いた WordPress の最初の画面です。長かった。


神が我々に絶望を送るのは、我々を殺すためではなく、我々の中に新しい生命を呼び覚ますためである。

へルマン・ヘッセ