WordPressのエラー

 Wordpress操作時にエラーが出た時の対処。

Easy Table of Contentsの設定時にエラー

 プラグインの設定を行った後更新しても下記のエラーが出てしまう。
さくらのファイアーウォールのせいらしいので一時的にOFFにする。

Forbidden
The server refuse to browse the page.
The URL or value may not be correct. Please confirm the value.

ポータブックカーネルパッチ準備手順【Ubuntu編】

ポータブック用のカーネルパッチを作るまでの手順

※ubuntu標準のlinux-sourceパッケージからのパッチ作成
※例はUbuntu18.04の4.15.0-42です。バージョンが変更になるとファイル名は変わる可能性あり。

 もくじ

ビルド環境を作成する。

最新カーネルを取得

カーネルソースをコピー

linux-sourceパッケージをインストールしソースをコピーする。

mkdir kernel415
cd kernel415
cp /usr/src/linux-source-4.15.0.tar.bz2 .

解凍する

tar xvf linux-4.15.0.tar.bz2

configファイルのコピー

/boot/config-4.15.0-42-genericをソースのフォルダに.configとしてコピーする。

configファイルのコピー

cp /boot/config-4.15.0-42-generic ./linux-source-4.15.0/.config

configファイルのmake

cd linux-4.19.8
make oldconfig

gitの準備

.gitignoreを作成する。

 kernel.orgからのソースと違い.gitignoreが無いのでどこかからコピーしてくる。

gitの初期化

差分を取るためにgitで初期化を行う。ベースラインのcommitメッセージは適当に。

git init
git add .
git commit -m "master of kernel4.15.0-42

ctags

ctags用のファイルを作る。

ctags -R

ソースの編集

変更点を確認しつつソースを解析して編集する。

カーネルビルド

変更が終わったらカーネルをビルドする。sudo -sが必要。
下記のパラメータは環境に合わせて変更
・CONCURRENCY_LEVEL(CPUコア数+1)
・-j(CPUスレッド数×2)
・–append_to_version (わかりやすい名前を付ける。)
・–revision (リビジョンを管理したい時に使用する。)

sudo -s
time CONCURRENCY_LEVEL=9 LANG=C make-kpkg -j 18 --rootcmd fakeroot --initrd --append_to_version=-xmc10-custom-20181213001 --revision=001 kernel_image kernel_headers

 ※ commitしていないのでこの時点でビルドされるカーネルバージョンには「+」というsuffixが付加される。

ビルド中のエラー

 下記のエラーが出たらLANG=Cが入っているか確認する。

./scripts/ubuntu-retpoline-extract-one: 134 行: printf: 0x十六進数ダンプ:: 無効な十六進数です
symbolmap: 00000000: invalid section

動作確認

ビルドが正常に完了すると親ディレクトリにdebファイルが作成される。実行端末にコピーしてインストールしてから動作確認を行う。

Lightningでカスタマイズした点

Lightningのテーマから変更した点

子テーマのインストール

カスタマイズが上書きされないように下記のサイトから子テーマをダウンロードし、インストールする。

https://lightning.nagoya/ja/setting/customize/child_theme

子テーマのカスタマイズ

prism用

prismのプラグインもあるが、あまりしっくりこなかったので、prismjs.comから自分でダウンロードしたものを利用するためのカスタマイズ。

prism.jsとprism.cssをサーバに上げる。

以下の2フォルダにそれぞれコピーする。

~/<wordpress_folder>/wp-content/themes/lightning_child_sample/css
~/<wordpress_folder>/wp-content/themes/lightning_child_sample/js

テーマのカスタマイズ

cssとjsを読み込むためにfunctions.phpに下記のコードを書き込む。

/* *** js/cssの読込み *** */
function load_extra_files() {
  // Prism.jsのcssとjsの呼び出し
  wp_enqueue_style('prism-style', get_stylesheet_directory_uri() . '/css/prism.css');
  wp_enqueue_script('prism-script', get_stylesheet_directory_uri() . '/js/prism.js', array(), false, false);
}
add_action('wp_enqueue_scripts', 'load_extra_files');

CSSのカスタマイズ

 見出しと表のデザインを変えたかったのでCSSにカスタマイズを加える。

LightningのCSSカスタマイズ

 下記のいずれかに設定すれば反映される。

  1. ExUnitのCSSカスタマイズ
  2. 「外観」→「カスタマイズ」→「追加CSS」
  3. 「外観」→「テーマの編集」→「style.css」を編集

ウィジットの変更

サイドバー共通上部

  1. 検索
  2. カテゴリー
  3. VK最新記事
  4. VK固定ページ本文:プロフィールなど固定したいページ

サイドバー投稿

 投稿記事を開くと共通上部の下に表示されるようになる。

  1. 検索

インストールしたプラグイン

AmazonJS

 Amazonのリンクを作成できるので使用しています。Gutenbergには対応していませんが、asinを調べてショートコードを埋め込むだけで済みます。

Easy Table Of Contents

 目次を埋め込むためのプラグイン。自動で最初の見出しの前に目次を埋め込んでくれます。設定も細かく可能。

Shortcodes Ultimate

 色々なショートコードを利用できるプラグイン。内部リンクするのに便利なので使用しています。

Table Press

 投稿記事とは別にテーブルを管理でき、また柔軟にテーブルを作成できるので使用しています。

Pz-LinkCard

 ブログ記事等をきれいにカード形式で貼れるようになるプラグイン。

Insert Headers and Footers

 ヘッダーとフッターにスクリプトを埋め込むためのプラグイン

ポータブック用カーネルパッチの準備

ポータブック用のカーネルパッチを作るまでの手順
※例は4.19.8です。バージョンが変更になるとファイル構成が変わる可能性あり。

最新カーネルを取得

カーネルソースをダウンロード

https://www.kernel.orgからカーネルソースをダウンロード

mkdir kernel419
cd kernel419
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.8.tar.xz

解凍する

tar xvf linux-4.19.8.tar.xz

configファイルの取得

カーネルのメジャーリリースの場合は、configが大幅に変更されているため、対話形式で設定するのは面倒である。従って、開発PCにgeneric版のdebパッケージをインストールしてからgeneric版のconfigファイルを利用すると楽。

debパッケージの取得

 http://kernel.ubuntu.com/~kernel-ppa/mainline/からダウンロード。
・linux-headers…deb
・linux-headers…-generic…deb
・linux-image-unsigned…generic…deb
・linux-modules-…generic…deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19.8/linux-headers-4.19.8-041908_4.19.8-041908.201812080831_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19.8/linux-headers-4.19.8-041908-generic_4.19.8-041908.201812080831_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19.8/linux-image-unsigned-4.19.8-041908-generic_4.19.8-041908.201812080831_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19.8/linux-modules-4.19.8-041908-generic_4.19.8-041908.201812080831_amd64.deb

debパッケージのインストール

sudo dpkg -i *.deb

configファイルのコピー

cp /boot/config-4.19.8-019108-generic ./linux-4.19.8/.config

configファイルのmake

cd linux-4.19.8
make oldconfig

gitの準備

差分を取るためにgitで初期化を行う。ベースラインのcommitメッセージは適当に。

git init
git add .
git commit -m "master of kernel.org"

ctags

ctags用のファイルを作る。

ctags -R

ソースの編集

変更点を確認しつつソースを解析して編集する。

カーネルビルド

変更が終わったらカーネルをビルドする。sudo -sが必要。
下記のパラメータは環境に合わせて変更
・CONCURRENCY_LEVEL(CPUコア数+1)
・-j(CPUスレッド数×2)
・–append_to_version (わかりやすい名前を付ける。)
・–revision (リビジョンを管理したい時に使用する。)

sudo -s
time CONCURRENCY_LEVEL=9 make-kpkg -j 18 --rootcmd fakeroot --initrd --append_to_version=-xmc10-custom-20181213001 --revision=001 kernel_image kernel_headers

 ※ commitしていないのでこの時点でビルドされるカーネルバージョンには「+」というsuffixが付加される。

動作確認

ビルドが正常に完了すると親ディレクトリにdebファイルが作成される。実行端末にコピーしてインストールしてから動作確認を行う。