ショートコードテスト

ショートコードとはWordPressで投稿内にマクロを使うために導入された。画像のギャラリーに使われたりする。
具体的には、ビルトインとして、gallery,audio,caption,embed,playlist,videoがある。
ショートコードAPIを使って、自前のショートコードを作ることができる。

ショートコード作ってみたよ。
2月の目標:5
投稿記事数 65 固定ページ数 2

リターンで文を返すのはできた
投稿記事数は wp_count_posts(); を使ったらできた。
$wp_query->found_posts;は動かなかった。
固定ページも$wp_queryだと動かなかった。

ショートコードAPIは便利に使えるとわかった。サイドバーに使うにはさらにおまじないが必要みたい。

add_filter( 'widget_text', 'shortcode_unautop' );
add_filter( 'widget_text', 'do_shortcode' );>

[参考] http://gimmicklog.main.jp/wordpress/633/

WordPressで前の記事へのリンクをはるもの

http://yotsuba-d.com/blog/post-5675/
カテゴリごとにできない?かな
カテゴリごとに表示させた後、一つの記事を表示させると前の記事へが投稿日での前の記事になるんだけど。知りたい情報はそのカテゴリでの前の記事でしょうな。他のカテゴリは見たくないってあるでしょ。どうすりゃいいん?教えてー。という訳で何とかやって見よう
先ほどのリンクにヒントがありそう
http://sole-color-blog.com/blog/php/57
こことか
つづく

UbuntuにBrotherのプリンターを設定 16.04

http://note.kurodigi.com/post-0-30/ LinuxでBrother製プリンターを使う

/usr/libx32/libstdc++.so.6 をインストールする
$ sudo apt-get install libx32stdc++6
$ sudo apt-get install gdebi
$ sudo gdebi dcpj525nlpr-3.0.1-1.i386.deb
$ sudo gdebi dcpj525ncupswrapper-3.0.0-1.i386.deb

lpadmin groupにユーザーを登録する(Debianでは不要)これはすでにあったんで略
CUPS Web 管理サイト(http://localhost:631/admin)で設定

Ubuntu16.04のサスペンド、ハイバネート

Ubuntu 16.04でサスペンド、ハイバネートを行う

サスペンドはできるのだが、ハイバネートがうまく動作しない。なぜハイバネート(ハイバネーション)を行いたいのか?

ハイバネーションとは、コンピュータの電源を切る直前の状態を保存して、次に電源を入れたときに電源を切る直前の状態から作業を再開する機能。「休止状態」とも呼ばれる。

サスペンドでもいいんじゃない?と思うだろ

ハイバネーション中はコンピュータの電源を完全に切ってしまうため、(バッテリーの自由放電を除いて)電力を消費しない。ハイバネーションを行うためには、メモリ内容を保存できるだけの空き領域がハードディスクに存在する必要がある。「サスペンド」機能に似ているが、サスペンドは作業状態をメモリに、ハイバネーションはハードディスクに保存する点が異なる。

<電源を完全に切ることが、ハイバネーションとサスペンドの違いである。それは電力を消費しない、つまりエネルギーゼロでメモリの内容を保存できるのである。

電源を切る直前の状態に戻す。いちいちOSやアプリケーションソフトの終了や起動を行う場合よりも時間や手間がかからず、消費電力も抑えることができる。

しかも、ウィンドウズをブートさせてウィンドウズを使用したあと、Ubuntuを立ち上げ、作業の続きをできる。こんな理にかなった方法を使わないことはない。が、Ubuntu 16.04で使えなくなっていた。

Ubuntu 16.04でサスペンド、ハイバネートを行う方法

sudo apt-get purge btrfs-tools

btrfsパーティション、ファイルシステムは使ってないので、要らない。SWAPがRAMより大きく必要になる。

sudo vi /etc/polkit-1/localauthority/50-local.d/enable-hibernate.pkla

このファイルに以下の記述がなければ、書く。

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes

そしてリスタート

sudo service polkitd restart
sudo ls /etc/polkit-1/localauthority/50-local.d
com.ubuntu.enable-hibernate.pkla

ここにファイルができた。

で、これでも動かない。手動でハイバネートを行ってみる。

sudo systemctl hibernate

これでもだめな場合、SWAPの設定をする。

sudo edit /etc/default/grub

ここからが以下のサイトを参考に
http://www.linux.org/threads/all-about-swap.6470/ All About Swap

If your kernel supports hibernation, but your system will not hibernate, then try this. In /etc/default/grub, replace “[GRUB_CMDLINE_LINUX=””]” with “[GRUB_CMDLINE_LINUX=”resume=UUID=4236dabb-fa7d-4066-b171-91ffa7afb4f4″]”, then run “update-grub”. Next, execute the command string below.
echo “RESUME=UUID=4236dabb-fa7d-4066-b171-91ffa7afb4f4” > /etc/initramfs-tools/conf.d/resume; update-initramfs -u
You may be wondering what is happening. Well, GRUB is being informed which swap space contains the hibernated system (if hibernation took place). Initramfs is also informed about the swap space used for hibernation. Obviously, the user must type their own UUID in-place of mine. The UUID is a special way to specify partitions.

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=47ef2af5-e4cd-4f23-9f64-1466b3540905"

/etc/default/grubに、上の記述し、update-grubを行う。
/etc/initramfs-tools/conf.d/resumeに、不明なUUIDの指定があったので、消してSWAP
UUIDを記入し

resume=UUID=47ef2af5-e4cd-4f23-9f64-1466b3540905"

、update-initramfs -uを行う。
*もちろんこのUUIDは、わしの環境のであるが。

sudo blkid |grep 'TYPE="swap"'

とか

lsblk -o name,fstype,uuid

で探るんじゃ。わしのは、fstabでpriでストライピングしてあるやつだ。よくわからないが片方だけのUUIDであるが、これよくないんかな?だったらストライピングやめるか。普通swap使ってないしなぁ。
これでハイバネートできるようになった。ついでにGRUB画面で画像を表示を行った。
https://help.ubuntu.com/community/Grub2/Displays Grub2/Displays
を参考に /boot/grubにJPGファイルを入れた。

  1. ハイバネートを成功させた
  2. GRUBに画像表示をさせた
  3. ハイバネートからのパスワードをかけた xscreensaverをインストールした。

これでUbuntu 16.04で、作業を中断しても、元の状態に戻せる、ハイバネートが使えるようになった。
ところが……つづきはこちら
https://www.exodabe.com/20170124354.html

コメント、質問、感想はお気軽にどうぞ

サーバの設定、wordpressなどはじめる

ワードプレスの設定をすすめる。

どうするか

  • オリジナルのテンプレートを作る。つまりテーマの改造から、オリジナルのテーマの作成
  • 継続して投稿する。飽きても投稿を止めない。これ大事
  • 投稿して終わりでなく、その後のことも考える
  • とりあえず進めること。前向きを忘れない

テーマ twentysixteen 改造していく

子テーマでの改造を行うには、子テーマのディレクトリと2つのファイルが、最低限必要になる。そのファイルとはstyle.cssとfunctions.phpである。

行うこと

  1. 日本語フォントの導入
  2. SSL (Secure Socket Layer)の導入

SSL (Secure Socket Layer)とは、セキュリティ向上のために使用されるプロトコルで、Confident盗聴防止:暗号化により第3者の盗聴を防止。なりすましサイトの検知:SSL証明書により、接続先のサイトが正しいことを証明する。通信改ざんの検知:メッセージのダイジェストにより通信の内容が正しいことを証明する。

SSLの導入が、セキュリティ対策の要だね。という訳で、最優先でSSLの導入を行った。wordpressを使って行った。

プラグインの WP Encrypt https://ja.wordpress.org/plugins/wp-encrypt/ Generate and manage SSL certificates for your WordPress sites for free with this Let’s Encrypt client. バージョン 1.0.0-beta.7 | 作者: Felix Arntz を使用し、SSL証明書を簡単に発行できた。できたものをサーバーにコピペしてSSL化ができた。 詳しくはまた

URLがhttps://になって、鍵のアイコンが見えるだろうか。安全の証しなんだ?

 

つづく

後日 三ヶ月経過 証明書の有効期限が切れて、サイトに繋がらなくなってしまった。手動での更新になるが、やっていなかった。ブラウザでエラーで繋がらないので。ドメインの設定でSSL用ドメインの削除。mysqlでwordpressのオプションを設定するテーブルの、option_idの1と2のURLをhttp://に変更し。ログインしプラグインのLet’s Encrypt CertificateのgenerateCertificateをクリックし新たに発行する。Certificate & Key Locationsにファイルの場所が書いてある。
またまた、ドメインの設定でドメインを削除、SSL用ドメインを追加する。SSL設定での証明書設定でSSLCertificateKeyFile 、SSLCertificateFile 、SSLCACertificateFile それぞれ、private.pem、cert.pem、chain.pemがそれなので、中身をコピーペーストする。最後に、mysqlのoption_idの1と2のURLをhttps://に変更し、待つ。で再設定できた。

三ヶ月後に忘れずにできるか。切れる前に、generateCertificateし、証明書設定を行えば、いいのかな?

切れる数週間前に警告が出て、keyの更新を行った。ここから先はサーバーの仕様で手動で証明書のコピーをwebベースで行うことになる。

Certificate & Key Locations

Certificate: /whom/letsencrypt/live/www.exodabe.com/cert.pem
Certificate Chain: /whom/letsencrypt/live/www.exodabe.com/chain.pem
Certificate Full Chain: /whom/letsencrypt/live/www.exodabe.com/fullchain.pem
Private Key: /whom/letsencrypt/live/www.exodabe.com/private.pem

SSLCertificateKeyFile →private.pem
SSLCertificateFile →cert.pem
SSLCACertificateFile →chain.pem
をコピーする

ドメインウェブの設定、ドメイン設定をクリック、数分待つ。これを行わないと反映されない。

つづく