VirtualBox GuestAdditions のインストール

VirtualBox のコンソールとホストOS(Windows10)の間でクリップボードを共有するため、GuestAdditions のインストールをしました。メニューバーの[デバイス]-[Guest Additions CDイメージの挿入] するとデスクトップにデバイスが表示されます。

# yum -y install make gcc kernel-devel
# mount /dev/sr0 /media/
# cd /media/VBOXADDITIONS-*
# ./VBoxLinuxAdditions.run

後は同じくメニューバーの[デバイス]-[クリップボードの共有]-[双方向]をチェックすると、コンソールとホストOS(Windows10)の間でコピペができるようになりました。

CentOS7 LibreOffice

CentOS7.3 でGNOMEデスクトップに付いてくるオフィスアプリ、LibreOffice。

Calc, Writer, Draw, Impress と表計算、ワープロ、図形描画、プレゼンテーションの機能を持ったMS オフィス互換ソフトのひとつを触ってみました。

プログラムはJava で動くとのことで、表計算のcalc から[ツール]-[マクロ]-[マクロの管理]-[Libre Office Basic…] とポイントして当該ブックの[Standard]から[新規作成] をクリック。

プロシージャの先頭に、「Option VBASupport 1」と入力して試みに、Range(“A1”) = “Hello World” を「F5」キーで走らせると実行できました。

サーバーからGUI でオフィスを触る機会はないと思いますがLinux でも表計算、ワープロが使えるという発見でした。(セキュリティ的には好ましくありませんが・・・。

参考URL:

LibreOfficeマクロ入門講座 最低限知っておきたいこと

LibreOfficeでVBAを使う方法。1行おまじないを書くだけ!

CentOS7 新規ボリューム追加

VirtualBox のCentOS7 にXウィンドウズをインストールしようとしたら容量が足りず検索したところ、[設定]-[ストレージ]から新規ストレージの追加ができるようなので試みました。

が、しかしOSインストール時にパーティションを「標準パーティション」、「ext4」で作ってしまったので論理ボリューム拡張できずここで詰みました。CentOS7 のデフォルトは「xfs」だったのですね。CentOS7以前のresize2fs コマンドが通らずエラーが出るのでハマりました。xfs_growfs コマンドを通すためフォーマットも「LVM」、「xfs」でOSインストールからやり直しです。(うわぁ~ん

改めてOS再インストール後、新規ボリューム作成。

[コントローラー: SATA] を選択すると下のアイコンから追加ボタンが現れるのでウィザードから[新規追加]していきます。[ハードディスクのファイルタイプ] は私の場合、[VDI] で作ったので[VDI] にチェックして次へ。

[仮想ハードディスクファイル] に適当な名前を付けて容量を8GB と多めに取りました。[作成] ボタンをクリックしてOSを起動します。

# ll /dev/sd*

とコマンドするとストレージに/dev/sdb が追加されていることが確認できます。

これから新規ディスクにパーティションを作って論理ボリューム拡張して容量を増やしていきます。まず、fdisk /dev/sdb から。

# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x31600b47.
コマンド (m でヘルプ):

プロンプトで p と打つとパーティションが確認できます。はい、何もありませんね。

コマンド (m でヘルプ): p

Disk /dev/sdb: 8589 MB, 8589934592 bytes, 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x31600b47

デバイス ブート 始点 終点 ブロック Id システム

コマンド (m でヘルプ):

新しくパーティションを作成していきますのでプロンプト n と打ちます。

コマンド (m でヘルプ): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):

Primary かextended か聞かれるのでprimary の p です。

Select (default p): p
パーティション番号 (1-4, default 1): 1

パーティション番号は、1 と入力します。次にセクター番号を設定します。開始を2048 、終了を16777215 とします。

最初 sector (2048-16777215, 初期値 2048): 2048
Last sector, +sectors or +size{K,M,G} (2048-16777215, 初期値 16777215): 16777215
Partition 1 of type Linux and of size 8 GiB is set

コマンド (m でヘルプ):

再び、p で確認すると/dev/sdb1 が作られていることが確認できます。

コマンド (m でヘルプ): p

Disk /dev/sdb: 8589 MB, 8589934592 bytes, 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x31600b47

デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 2048 16777215 8387584 83 Linux

コマンド (m でヘルプ):

プロンプトから t でパーティションの種類(8e)を選択します。

コマンド (m でヘルプ): t
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

プロンプトから w で設定を書き込みます。

コマンド (m でヘルプ): w
パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。

ここからpvcreate コマンドで物理ボリューム作成、vgextend コマンドからボリュームグループ拡張、lvextend コマンドから論理ボリューム拡張して、

xfs_growfs /dev/cl/root でルートディレクトリを拡張していきます。

df でルートの使用率を見ると、36%から16%に空き容量が増えました。

数式表示プラグイン 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

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 日本語版