VirtualBox エクステンションPack

Oracle のVirtualBox のダウンロードページから、(2017年7月24日現在

VirtualBox 5.1.24 Oracle VM VirtualBox Extension Pack

をダウンロードして、[ファイル]-[環境設定]-[拡張機能] とポイントし、ダウンロードしたExtension Pack を選択しインストールします。

ゲストOSでもUSB機器が使えるようになりました。

参考URL:

http://vboxmania.net/content/%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%86%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%91%E3%83%83%E3%82%AF%E3%81%AE%E5%B0%8E%E5%85%A5

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 新規ボリューム追加

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%に空き容量が増えました。

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/

Windows10 ホストにOracle VirtualBox

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

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

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

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

TeraTermカスタムショートカット

毎回、SSH接続するときにユーザー名を入力する手間に辟易していたところ、TeraTermの便利なショートカットカスタム方法がヒットしたのでシェアしますね。

Tera TermでSSH接続する際に、自動ログインするショートカットを作成 – サラリーマンから起業するリアル

ショートカットのプロパティを開いて、リンク先を下記のように設定します。

"C:¥Program Files¥teraterm¥ttermpro.exe"  対象サーバ:22  /ssh2  /auth=publickey /user=ログインユーザ名 /ask4passwd /keyfile="証書ファイルの絶対パス"

property_teraterm

 

VirtualBoxのホストもカスタムショートカットを作ればデスクトップからダブルクリックひとつでログインできて便利ですね。

VirtualBoxでCentOS7にApache2.4をインストール

前回のエントリーOpenSSL バージョンアップ からの続きです。

今回は、「CentOS7にApache2.4をインストール」です。

環境としてはテストとしてVirtualBoxに、Centos7.1をBase.repoでminimalインストールしてからを前提として始めます。参考にしたのは以下のサイトです。

Apache2.4系をソースからインストール – Qiita

作業ディレクトリは、/usr/local/src です。

必要なパッケージをyumでまとめてインストール
# yum -y install gcc gcc-c++ git wget tar m4 autoconf libtool zlib zlib-devel
# yum -y install httpd-devel libxml2-devel mysql-devel t1lib-devel openssl-devel
# yum -y install bzip2-devel curl-devel gmp-devel aspell-devel recode-devel
PCREのインストール
# wget http://sourceforge.net/projects/pcre/files/pcre/8.37/pcre-8.37.tar.gz
# tar zxvf pcre-8.37.tar.gz
# mkdir /usr/local/pcre
# cd pcre-8.3.7
# ./configure --prefix=/usr/local/pcre
# make && make install
aprのインストール
# wget http://ftp.meisei-u.ac.jp/mirror/apache/dist//apr/apr-1.5.2.tar.gz
# tar zxvf apr-1.5.2.tar.gz
# mkdir /usr/local/apr
# cd apr-1.5.2
# ./configure --prefix=/usr/local/apr
# make && make install

apr-iconvの展開
# wget https://www.apache.org/dist/apr/apr-iconv-1.2.1.tar.gz
# tar zxvf apr-iconv-1.2.1.tar.gz

apr-utilのインストール
# wget http://ftp.meisei-u.ac.jp/mirror/apache/dist//apr/apr-util-1.5.4.tar.gz
# tar apr-util-1.5.4.tar.gz
# mkdir /usr/local/apr-util
# cd apr-util-1.5.4
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=../apr-iconv-1.2.1
# make && make install

ポイントは、APR-Utilのconfigureの際に、APRをインストールしたディレクトリ名を- -with-apr=/[aprディレクトリパス] オプションで指定することです。

同じく、APR-Utilのconfigureの際に、apr-iconvを追加コンパイルするときには、- -with-apr-iconv=/[apr解凍ディレクトリ] と指定してあげて下さい。(apr-iconvは解凍するだけでmakeしなくても良い。)

libiconvは日本語patchが必要らしく、以下のサイトを参考にしました。

libiconv 1.13インストール手順 – Knowlege Database

# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz
# wget http://www2d.biglobe.ne.jp/~msyk/software/libiconv/libiconv-1.13-ja-1.patch.gz
# tar xfvz libiconv-1.13.tar.gz
# cd libiconv-1.13
# yum install patch
# gzip -dc ../libiconv-1.13-ja-1.patch.gz | patch -p1
./configure
# make && make install

※ apache起動時にlibiconv のエラーを回避する方法を拾ったのでメモです。
ライブラリのパスを通す http://fisherman23.blog112.fc2.com/blog-entry-140.html

# vi /etc/ld.so.conf
/usr/local/lib  ←これを追加し、保存
# ldconfig  (実行)

やっと、Apache本体のインストールです。(httpd-2.4.18 2016年1月21日現在最新版.)

# wget http://ftp.meisei-u.ac.jp/mirror/apache/dist//httpd/httpd-2.4.18.tar.gz
# tar zxvf httpd-2.4.18
# cd httpd-2.4.18
# ./configure --enable-suexec --prefix=/usr/local/apache2 --enable-cache --enable-disk-cache --enable-mem-cache --enable-logio --enable-header --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-ssl --with-ssl=/usr/local/ssl --enable-rewrite --enable-so --enable-proxy --enable-mods-shared=all
# make && make install

VirtualBoxでは関係ありませんが、Apacheのリクエスト並列処理オプションとして –enable-mpms-shared を本番環境では設定すると良いそうです。

httpd設定ファイル編集は、Webサーバー構築(Apache) – CentOSで自宅サーバー構築 を参考にしました。

# vi /usr/local/apache2/conf/httpd.conf
Group apache
User apache
ServerName www.southerncross.net
<Directory "/usr/local/apache2/htdocs">
AllowOverride All
・・・

起動確認の前に、firewalldの80番ポート解放です。

# firewall-cmd --add-service=http --zone=public --permanent
# firewall-cmd --reload

CentOS7では、ホスト名の管理は/etc/hostnameの編集だけで済むようになりました。

# vi /etc/hostname
www.southerncross.net

VirtualBoxで[設定]→[ネットワーク]→[アダプター1]→[ポートフォワーディング]から、ゲストの80番をポートフォワーディングして

portfowording

本番環境では宅内ルーターのファイアウォール80番ポートの解放、さらにサーバーのプライベートIPアドレスを固定して、[静的アドレス変換]などの設定項目からTCPのhttp80番を指定してポートフォワーディングします。

一方、今回はVirtualBoxでホスト機のブラウザでアドレス名でアクセスするとのことですので、C:\Windows\System32/Dirvers\etc のhostファイルの編集が必要です。

# ip addr show

で表示されたプライベートIPをメモ帳で直接hostファイルを編集します。例えば、

192.168.56.101    www.southerncross.net

とします。Base.repoで入っているhttpdの起動を停止。

# systemctl disable httpd
# systemctl stop httpd

OS起動で自動起動させるには、起動スクリプトをコピーして、

# cp -ip /usr/local/src/httpd-2.4.18/build/rpm/httpd.init /etc/rc.d/init.d/apache2
 設定ファイルを以下のように書き換えます。参考:URL
2015年末 最新LAMP環境 Apache HTTP/2+PHP7+MySQL5.7 インストールメモ | あぱーブログ
# vi /etc/rc.d/init.d/apache2
[修正内容]
httpd=${HTTPD-/usr/sbin/httpd}
 pidfile=${PIDFILE-/var/run/${prog}.pid}
 lockfile=${LOCKFILE-/var/lock/subsys/${prog}}
 ↓
 httpd=${HTTPD-/usr/local/apache2/bin/httpd}
 pidfile=${PIDFILE-/usr/local/apache2/logs/${prog}.pid}
 lockfile=${LOCKFILE-/usr/local/apache2/logs/${prog}}
  
 CONFFILE=/etc/httpd/conf/httpd.conf
 ↓
 CONFFILE=/usr/local/apache2/conf/httpd.conf 
 [ここまで]

chkconfig に登録、Apache2を起動します。

# chkconfig --add apache2
# chkconfig apache2 on
# /usr/local/apahce2/bin/apachectl start

ブラウザから、http://www.southerncross.net/ を入力して [It works!] と表示されれば成功です。It works! だけでは味気ないなと思ったら、ちょっと遊んで

# cp /usr/share/httpd/noindex/index.html /usr/local/apache2/htdocs/index.html
# cp -r /usr/share/httpd/noindex/css /usr/local/apache2/htdocs/css
# cp -r /usr/share/httpd/noindex/images /usr/local/apache2/htdocs/images
# chown -R apache. /usr/local/apache2/htdocs/

すると、Apache2.4 テストページが表示されます。お疲れ様でした。

test123