数式表示プラグイン wpmathpub

今回は、WordPress で数式を表示するプラグイン、wpmathpub をご紹介します。

WP Math Publisher – wpmathpub

ダウンロード、解凍した、wpmathpub をディレクトリにコピー。

# cd /passtowordpress/wp-content/plugins/
# cp -R /home/user/wpmathpub/ ./
# chown -R apache:apache wpmathpub/

[ダッシュボード]の[インストール済みプラグイン]から、wpmathpub を[有効化]します。

./wpmathpub/phpmathpulisher/img/ ディレクトリのパーミッションを755 に。

# cd phpmathpublisher
# chmod 755 img/

./wpmathpub/wpmathpub.php の55行目のtrue をfalse に変更。

# cd ..
# vi ./wpmathpub.php
define("AUTOCHMOD", true);
↓
define("AUTOCHMOD", false);

数式をタグで挟むと整えられた数式画像に変換されます。

[pmath size=10]S(f)(t)=a_{0}+sum{n=1}{+infty}{a_{n} cos(n omega t)+b_{n} sin(n omega t)}[/pmath]

参考URL:

http://kensawai.com/blog/wordpress-%E6%95%B0%E5%BC%8F.html

マイクラのヴァージョンアップ

マイクラのクライアントが1.12 にヴァージョンアップしました。

MultiPlayer ではクライアントとサーバーのヴァージョンが同じでないと接続できないようなので早速、鯖のヴァージョンアップ。

# wget https://s3.amazonaws.com/Minecraft.Download/versions/1.12/minecraft_server.1.12.jar
# mv minecraft_server.1.12.jar minecraft_server.jar 

現在のレベルは4ですがライフ回復しないと死にそうです。何か食べないと。死ぬとアイテムをドロップしてしまうので、ドロップは避けたいですね。

WordPress のインポート

今回は、CentOS6.9 からVritualBox のCentOS7.3 mariaDB (サテライト)に、WordPress のxml と、uploads ディレクトリの画像ファイルのインポートを試みました。手順は以下。

1./passtowordpress/wp-content/uploads/ ディレクトリをWinSCPや、TeraTerm のSCP機能を使ってダウンロード、サテライトにアップロード。

2.エクスポートしたxml ファイルや画像URLは引っ越し前のアドレスになっているのでインポートの前にメモ帳などで開いてURLをリプレイス。

3.WordPress の[ダッシュボード] から[ツール]-[エクスポート] プラグインを使ってxml ファイルとしてローカルに保存。サテライトで同様に[インポート] 。

ですが、やってみると画像が表示されなく試行錯誤の連続でした。まず、サテライトのインポートで画面遷移が止まりGoogle 先生に以下のサイトを教えてもらいました。

WordPressのインポート中に画面遷移が止まるときの対処法
http://ytkyk.info/blog/2015/04/22/wordpress_import_error_stop_php_xml/

これでテキストのインポートはできたのですが、まず画像がメディアライブラリに表示されない。(やっぱりね!

WordPressのメディアライブラリに画像が表示されない、挿入出来ない、対処方法http://karinto.in/2014/05/19/wordpress/

アップロードプラグイン WordPress Flash Uploader

WordPress Flash Uploader

 

をインストールして以下のサイトの使用法にしたがってアップロード。

WordPress引っ越しインポートで役立つプラグイン4個

WordPress引っ越しインポートで役立つプラグイン4個

これでメディアライブラリには画像が表示されるようになりました。それでもxml の画像リンクが間違っているのか、エントリーのリンク切れが直りません。最終手段でデータベース、画像をサテライトから削除ししてやり直し。以下のプラグインを使ってエクスポート、インポートしたところ成功しました。

 

DeMomentSomTres Export
https://ja.wordpress.org/plugins/demomentsomtres-wp-export/

WordPress のインポート

今回は、CentOS6.9 からVritualBox のCentOS7.3 mariaDB (サテライト)に、WordPress のxml と、uploads ディレクトリの画像ファイルのインポートを試みました。手順は以下。

1./passtowordpress/wp-content/uploads/ ディレクトリをWinSCPや、TeraTerm のSCP機能を使ってダウンロード、サテライトにアップロード。

2.エクスポートしたxml ファイルや画像URLは引っ越し前のアドレスになっているのでインポートの前にメモ帳などで開いてURLをリプレイス。

3.WordPress の[ダッシュボード] から[ツール]-[エクスポート] プラグインを使ってxml ファイルとしてローカルに保存。サテライトで同様に[インポート] 。

ですが、やってみると画像が表示されなく試行錯誤の連続でした。まず、サテライトのインポートで画面遷移が止まりGoogle 先生に以下のサイトを教えてもらいました。

WordPressのインポート中に画面遷移が止まるときの対処法
http://ytkyk.info/blog/2015/04/22/wordpress_import_error_stop_php_xml/

これでテキストのインポートはできたのですが、まず画像がメディアライブラリに表示されない。(やっぱりね!

WordPressのメディアライブラリに画像が表示されない、挿入出来ない、対処方法http://karinto.in/2014/05/19/wordpress/

アップロードプラグイン WordPress Flash Uploader

WordPress Flash Uploader

 

をインストールして以下のサイトの使用法にしたがってアップロード。

WordPress引っ越しインポートで役立つプラグイン4個

WordPress引っ越しインポートで役立つプラグイン4個

これでメディアライブラリには画像が表示されるようになりました。それでもxml の画像リンクが間違っているのか、エントリーのリンク切れが直りません。最終手段でデータベース、画像をサテライトから削除ししてやり直し。以下のプラグインを使ってエクスポート、インポートしたところ成功しました。

 

DeMomentSomTres Export
https://ja.wordpress.org/plugins/demomentsomtres-wp-export/

root になれるユーザーの制限

今回は、su コマンドでroot になれるユーザーを制限するPAM を設定していきます。まず、/etc/login.defs の最下行に、

SU_WHEEL_ONLY yes

を追記。次に、useradd コマンドで、ユーザーをwheel グループに加えます。

usermod -aG wheel username

つづいて、/etc/pam.d/su に以下の行を追加、

auth  required  pam_wheel.so use_uid group=wheel

上記設定で、root になれるユーザーをwheel グループのみに制限できます。

参考URL: http://www.atmarkit.co.jp/ait/articles/0108/18/news003_3.html

CentOS7 の公開鍵認証でのSSHログイン

今回ははCentOS7 における、公開鍵認証でのTeraTerm ターミナルエミュレータによるSSH ログインを設定していきます。

まず、wheel グループに加えたユーザーのホームディレクトリで公開鍵を保存する隠しディレクトリ、.ssh を作成します。つづいてroot にスイッチしてパーミッションを一時的に777 に設定します。

$ mkdir .ssh
$ su (switch user してroot のパスワード入力
# chmod 777 .ssh

次に、TeraTerm のメニューバーの[設定]-[SSH鍵生成(N)…] から公開鍵と秘密鍵を[生成(G)] ボタンをクリックするとパスフレーズを求められるので入力、再入力をして生成します。

[公開鍵の保存] と[秘密鍵の保存] ボタンをクリックしてそれぞれ、id_rsa.pub, id_rsa という名前(デフォルト)でホストの適当なフォルダに保存します。

次にエクスプローラで、id_rsa.pub ファイルをホームディレクトリ上のTeraTerm 画面にドラッグ&ドロップすると以下の画面が表示されるので下図のように、SCP:[.ssh] と入力してファイル転送します。

再びターミナルに戻り、転送した公開鍵をauthorized_keys という名前に変更。(WinSCPなど複数の鍵を追加するときは、cat id_rsa.ppk >> authorized_keys など)鍵のパーミッションを600 に、.ssh ディレクトリのパーミションを700 に変更します。

# cd .ssh
# mv id_rsa.pub authorized_keys
# chmod 600 authorized_keys
# chmod 700 .

それから/etc/pam.d/sshd に以下の行を追記、

account    required     pam_nologin.so
account    required     pam_access.so (追記

デフォルトでは、/etc/security/access.conf を参照しますが、

account required  pam_access.so accessfile=/dir/to/ssh_access.conf

で指定したパスの.conf ファイルを指定することもできます。

一方、/etc/security/access.conf に +:wheel:ALL と、+:username:ALL と、– : ALL: ALL を追記。

# Disallow non-local logins to privileged accounts (group wheel). (の付近
#
#-:wheel:ALL EXCEPT LOCAL .win.tue.nl
+:wheel:ALL (追記
+:username:ALL(追記

# All other users should be denied to get access from all sources.
#- : ALL : ALL (その他のすべてのユーザーを拒否
- : ALL : ALL (wheel グループ以外をアクセス制限するには、- : ALL EXCEPT wheel : ALL

最後に/etc/ssh/sshd_config に公開鍵認証の設定をして

#ServerKeyBits 1024
ServerKeyBits 2048 (たぶん、必要

#PubkeyAuthentication no
PubkeyAuthentication yes (公開鍵認証をyes

#PasswordAuthentication yes
PermitEmptyPasswords no
PasswordAuthentication no (パスワード認証をno

sshd 再起動、ログアウトします。

# systemctl restart sshd

TeraTerm の新しいショートカットのプロパティを以下の属性で作ると、1クリックで公開鍵認証でログインできると思います。

"C:\Program Files (x86)\teraterm\ttermpro.exe" localhost:22 /ssh2 /auth=publickey  /user=username /ask4passwd /keyfile="C:\pass/to/id_rsa"

ログインできない場合、原因はいろいろあると思いますがfirewalld でのポート開放(SSHのポート番号の変更をしたとき。)、鍵やディレクトリの所有権、SeLinux のコンテキストの確認、PAM の書式(設定ファイルの行の前後位置)、ローカル、リモートでのアクセス制限、IPの設定はどうなっているなどを確認してみて下さい。

参考URL:http://qiita.com/tjinjin/items/ca6f5518e881bdf5488c

MySQL 互換MariaDB でWordPress の初期設定

前回の続きで、今回はMySQL 互換のMariaDB でデータベースとユーザーを作成していきます。早速、

# mysqladmin create 'databasename' -u root -p

データベース名、’databasename’ は予め考えたオリジナルの名前(例:wordpress , didital_life, casual など)で何でも良いです。

mariaDB にログインして一意のユーザー名、’username’に対してデータベースのパスワードを設定して、権限を与えていきます。

# mysql -u root -p
# mariaDB [<none>] GRANT ALL PRIVILEGES ON 'databasename'.* TO 'username'@localhost IDENTIFIED BY 'password';

Query OK , 0 rows affected と表示されればOKです。

# mariaDB[<none>] FLUSH PRIVILEGES;

Query OK 。exit または\q でプロンプトから出ます。

 

前回のページからの遷移画面、wp-admin/install.php に、WordPress のタイトル、管理ユーザー名、メールアドレスを入力、パスワードをメモ帳などに記録、[インストール] ボタンをクリックして、ユーザー名と先ほどメモしたパスワードを入力、ログインすればブログサーバーの初期設定、完了です。

 

 

参考URL: WordPress のインストール – WordPress Codex 日本語版

お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。

前回、構築したLAMP にWordpress をインストール。

# cd /var/www/html
# wget https://ja.wordpress.org/latest-ja.tar.gz
# tar zxvf latest-ja.tar.gz
# chown -R apache:apache wordpress/

ブラウザのアドレスバーから、http://localhost/wordpress/ でインストール画面を表示しようとして、PHP が500 サーバーエラーを吐きまくるので解決方法を見つけるまで半日掛かりました。

初めは /etc/httpd/conf/httpd.conf の

DirectoryIndex index.html index.php

を追加し忘れたと思い修正しましたが(もちろん必須の項目ですが。)500 エラー。

<Directory "/var/www/html">
  Options indexes ExecCGI

の追記はもちろん、必要ですがエラーが続きました。/etc/httpd/logs/error.log も見ましたがIE11 ではエラーが表示されず、Edge で閲覧キャッシュを削除するとブラウザに件のメッセージが表示されました。

件のキーワードで検索すると、php-mysql のインストールとphp.ini の設定が欠けていたようです。

一旦、yum remove php … してphp-mysql を再インストール。

# yum install --enablerepo=remi, remi-php70 php php-devel php-mysql php-mbstring php-pdo php-gd

/etc/php.ini に、extension = mysql.so を追記。

# systemctl restart httpd

で、httpd を再起動。すると、WordPress のwp-admin/setup-config.php が無事、表示されました。

参考URL: https://mostworks.wordpress.com/2013/02/16/2013-2-yuminstall-php-mysql-module/

CentOS7 にPHP7 MariaDB をyum でインストール

CentOS7 最新版は、CentOS Linux7.3(2017年6月11日現在)CentOS7-x86_64-DVD-1611.iso をVirtualBox にインストール。

 

インストール画面で

[ネットワークとホスト名] でネットワークアダプターを[ON] にします。

[ソフトウェアの選択] で[ベーシック Web サーバー] を選択し、

・Java プラットフォーム
・MariaDB データベースクライアント
・PHP サポート
・ Perl – Web 向け
・Python(お好みで)
・Web サーブレットエンジン
・開発環境
にチェックをして[完了] をクリックします。

[インストール先] はカスタムパーティションで、

[デバイスタイプ] 標準パーティション
[ファイルシステム] ext4

パーティションは、
/boot 1024MB sda1
/          残り全部 sda2
swap  sda3

とし、完了をクリック、ユーザーとパスワードを作成。

 

[インストールの開始] ボタンをクリックすると始まります。

Virtualbox で[起動] ボタンを押すとサーバーが起動しコンソールが表示されます。早速、epel remi リポジトリをインストール。

# yum install epel-release
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

PHP7 をインストール

# yum install --enablerepo=remi,remi-php70 php php-devel php-mbstring php-pdo php-gd

/etc/php.ini を編集

基本は、変更すべき php.ini の設定項目 | // sakura note を参考に以下の行を修正。

mbstring.detect_order = UTF-8,SJIS,EUC-JP

(Mysql) MariaDB をインストール

# yum install mariadb mariadb-server mariadb-devel
# systemctl start mariadb
# MySQL_secure_installation

MariaDB の初期設定、基本[Yes] で。
httpd.conf を編集。

# vi /etc/httpd/conf/httpd.conf

Servername localhost:80 (追記

<Directory "/var/www/html">
 AllowOverride All(追記

その他、初期設定は以下のページを参考にしました。
http://www.server-memo.net/centos-settings/centos7/hostname.html#hostnamectl

ホストネーム設定、Apacheの起動。

# hostnamectl set-hostname localhost
# systemctl restart httpd

VirtualBox の[設定]-[ネットワーク]ペインの[アダプター1]-[ポートフォワーディング]の項目を追加。

ホスト80 ゲスト80 を設定して、ホスト側のWindowsのC:\Windows\System32/Drivers/etc ファイルをメモ帳で開き、 ip addr show コマンドでDHCP取得されたアドレスをホストネームと併記して保存。ブラウザで、http://localhost/ と入力するとApacheテストページが表示されます。

 

以上、下記URLを参考にしました。

CentOS7のhttpd設定で詰まった点
http://qiita.com/sky_y/items/b92fa6ba57d926f25370

CentOS 7 で sshd のポートを変更する(firewalld, SELinuxの設定)

CentOS7にPHP7をyumでインストールする – Qiita
http://qiita.com/inakadegaebal/items/b57cf10339978d638305
LAMP環境(CentOS 7, Apache, MariaDB, PHP 7)を構築する – みそしりんぐ

Windows10 ホストにOracle VirtualBox

Oracle VM VirtualBox 最新版5.1.22(2017年6月8日現在

Windows10リリース直後は対応できないバグがあり、インストールできない状態でしたが現在は解消されたようですね。VirtualBox NDIS6 Bridged Networking Driver 普通にインストールできます。

Windows10 をホストに VirtualBox をインストールしようとしたら苦労した話

またCentOS7の勉強できますね。