Hyper-Vの仮想環境に必要最小限のLinux互換サーバを立ててECCUBE4を実行できるまでの環境を構築するテスト。
ここでは、小型のLinuxディストリビューションとして、Xubuntuを選択。
使用PC
OS Windows10Pro 1909
CPU i5-4690S
メモリ 16GB
ドライブ1 システム用SSD(以下、Cドライブ)
ドライブ2 データ用SSD(以下、Dドライブ)
■Hyper-V 有効化
・「プログラムと機能」で「Windowsの機能の有効化または無効化」を選択、「Windowsの機能」一覧から「Hyper-V」にチェックを入れてOKボタン、再起動。
・再起動すると、スタートメニューに「Hyper-Vマネージャー」のリンクができています。
・タスクマネージャーのパフォーマンスタブを開くと、通常使用している「イーサネット」のほかにもう一つ、vEthernetの名前の付いたイーサネットが増えています。
これが、Hyper-V用の仮想イーサネット。
・Hyper-V用データフォルダ D:\hyper-v とiso仮保存用フォルダ D:\iso を作成。
(Hyper-V用データフォルダはデフォルトのままでも問題ありませんが、私はシステムドライブにデータを保存するのがあまり好きではないので場所を移しています)
■xubuntuインストール
・xubuntuのサイト https://xubuntu.org/ からインストーラのisoイメージをダウンロード。
私はミラーサイト http://ubuntutym2.u-toyama.ac.jp/xubuntu/18.04/release/ から
isoファイル xubuntu-18.04-desktop-amd64.iso をダウンロードしました。
これを D:\iso\に保存。
・スタートメニューから「Hyper-Vマネージャー」を起動。
左ペインの自分のPC名をクリック。
右ペイン「操作」パネルの「新規」から「仮想マシン」を選択。
名前と場所の指定: 名前を「新しい仮想マシン」から「xubuntu」に変更
「仮想マシンを別の場所に格納する」にチェックを入れて、場所を「C:\ProgramData\Microsoft\Windows\Hyper-V\」から「D:\Hyper-V\」に変更後、「次へ」
世代の指定: 「第1世代」を選択して「次へ」
メモリの割り当て: 起動メモリ 適当に2048MBくらいに設定、「次へ」
ネットワークの構成: 「接続」で「Default Switch」を選択、「次へ」
仮想ハードディスクの接続: 「仮想ハードディスクを使用する」を選択、名前を「xubuntu.vhdx」に、場所を「D:\Hyper-V\xubuntu\Virtual Hard Disks\」、サイズを適当に64GBくらいに変更、「次へ」
インストールオプション: 「ブートCD/DVD-ROMからオペレーティングシステムをインストールする」を選択、イメージファイルに先ほどダウンロードした「D:\iso\xubuntu-18.04-desktop-amd64.iso」を指定、「次へ」
要約を確認。
> 名前: xubuntu
> 世代: 第 1 世代
> メモリ: 2048 MB
> ネットワーク: Default Switch
> ハード ディスク: D:\Hyper-V\xubuntu\Virtual Hard Disks\xubuntu.vhdx (VHDX、容量可変)
> オペレーティング システム: D:\iso\xubuntu-18.04-desktop-amd64.iso からインストールされます
とくに問題なさそうなら「完了」
「仮想マシン」パネルに「xubuntu」が追加されるので、xubuntuをダブルクリックするか、右クリック->接続 で仮想マシンウインドウを表示。
起動ボタンを押して仮想マシンを起動。
起動するとxubuntuインストーラが立ち上がるので、言語選択後、指示に従って「Xubuntuをインストール」を進めます。
途中設定するユーザー名とパスワードは、ユーザー名 username、パスワード password として以下話を進めますが、適宜変更して読み替えてください。
インストール完了後、xubuntu再起動。
・xubuntu起動後、デスクトップ画面左上のメニューアイコンから「ターミナルエミュレーター」を実行
・SSHをインストール
$
$
$
・ipアドレスを確認
$
とすると、
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:00:0c:25 brd ff:ff:ff:ff:ff:ff
inet 192.168.89.14 /28 brd 192.168.89.15 scope global dynamic noprefixroute eth0
valid_lft 86299sec preferred_lft 86299sec
inet6 fe80::54ac:19ca:fdf:1eda/64 scope link noprefixroute
valid_lft forever preferred_lft forever
のような内容(一例)が表示されます。
上記の場合、2: eth0:のほうの「192.168.89.14」(赤字部分)がこの仮想サーバのipアドレスになります。
このipアドレスに対して、Windows側のSSHコマンドやWinSCP等のツールからアクセスできるようになりますが、Windowsを再起動などするとこのipアドレスは変動してしまうことも多いので、ホスト名でアクセスします。
$
で現在のホスト名が表示されますが、あまり長すぎても扱いにくいので適当に変更します。
(ここで変更するのが面倒な場合は、xubuntuインストール時に「コンピューターの名前」で指定してしまっても構いません)
$
でホスト名が保存されているファイルを開き、ここでは「vm-xubuntu」に変更しておきます。
変更したら Ctrl+O、Enterで保存、Ctrl+Xでnanoエディタを終了。
再起動します。
$
再起動が完了したら変更したホスト名になっているか確認
$
・Windows側から仮想マシン上のxubuntuにログインできるか確認
Windowsからは、ホスト名に「.mshome.net」を付けた「vm-xubuntu.mshome.net」でHyper-V上のxubuntuにアクセスできます。
コマンドプロンプトから
>
初回は接続を続行するか聞いてくるので、yesを入力
パスワードを入力してコマンド入力状態になればOK。
ssh username@vm-xubuntu.mshome.net
と1行だけ書いたバッチファイル(例えば 仮想サーバssh.batという名前で保存)をデスクトップ上に置いておけば、ダブルクリックだけでSSHシェルが立ち上がるので楽。
以降、Windows側からSSHで接続して各設定を行います。
(仮想マシン上のxubuntuのターミナルエミュレーター側でもできますが、コマンドのコピペ等を考慮するとWindows側からリモートで操作したほうが楽ですし処理も軽く済みます。コマンドプロンプトへのコピペができない場合、コマンドプロンプトのプロパティから簡易編集モードにチェックを入れるとできるようになります。)
Hyper-Vは最小化、あるいは閉じてしまってもバックグラウンドで動いているので大丈夫です。
作業を終えて仮想マシンを止めたい場合は、Hyper-Vマネージャーから該当の仮想マシンを「停止」「シャットダウン」「保存」などして、「実行中」以外の状態にすれば止まります。
■LAMP環境のインストール
■ECCUBE4に必要な拡張ライブラリのインストール
■mod_rewriteの有効化
■.htaccessオーバーライドの有効化
デフォルトでは/var/www以下での.htaccessのオーバーライドが無効になっているので有効化します。
まず、nanoエディタでapache2.confを開きます。
$
変更前
<Directory /var/www/ >
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
となっている部分があるので、この中の
AllowOverride None の None を All に変更します。
青字部分が「/var/www/」ではない、同じ構造のDirectoryブロックが並んでいる場合があるので注意。
変更後
<Directory /var/www/ >
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
変更したら Ctrl+O 、Enter で書き込み、Ctrl+Xでnanoエディタを終了。
apache2 リスタート
$
■phpMyAdminインストール
参考ページ
phpMyAdmin インストールメモ
インストール
$
$
(途中、自動再生webサーバ を聞いてきたらapache2を選択(上下キーで選ぶだけではなくスペースキーを押して「*」を付けないと選択したことにならないので注意)、dbconfig-commonで設定しますか?に対しては「はい」を選択、phpmyadmin用MySQLアプリケーションパスワードはpasswordを入力)
$
$
$
http://vm-xubuntu.mshome.net/phpmyadmin で表示されたらOK
パスワード eccube4user、パスワード passwordでログイン、eccube4で使用するデータベースを作成しておきます。
「データベース」タブをクリック
データベース名 eccube4
照合順序 utf8mb4_general_ci
で作成
このバージョンのphpmyadminはphp7.3に対応していないのか、いくつかの画面(テーブル閲覧、インポート、エクスポートなど)でwarningが出てしまうので対応します。
該当箇所を修正するかphp7.3に対応したバージョンを探せばよいのだけれど、とりあえず動いてくれればいいので、以下の方法で簡易対応。
(エラーが出ないようなら対応不要です)
エディタでcommon.inc.phpを開く。
$
冒頭の「<?php」の次の行に
error_reporting(0);
を追加。
変更前
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
:
:
変更後
<?php
error_reporting(0);
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
:
:
Ctrl+O、Enterで保存、Ctrl+Xでエディタを終了。
■ECCUBE4インストール
WinSCPで仮想マシンにアクセス。
/var/www/html/ に eccube-4.0.3.zip をアップロード
SSHで /var/www/html/ に移動
$
zipファイルを解凍
$
WinSCPで eccube-4.0.3.zip を削除、ディレクトリ eccube-4.0.3 を eccube4 に変更
(SSHシェル操作で解凍したファイルがウィンドウに表示されていなかったら更新ボタン またはCtrl+r を押す)
ブラウザから http://vm-xubuntu.mshome.net/eccube4/ にアクセス、ECCUBEをインストールします。
データベースのホスト名 localhost
データベース名 eccube4
ユーザ名 eccube4user
パスワード password
以上の手順に沿って、Hyper-VへのXubuntuインストール、EC-CUBE4のインストールを行なった様子
VIDEO
仮想環境上のファイルへのアクセスが面倒な場合
通常、Hyper-V仮想環境のXubuntu上のファイルへのアクセスはWinSCP等のクライアントソフトを使うことになりますが、Sambaを利用することでネットワークドライブとしてエクスプローラで直接読み書きできるようにすることもできます。
・Sambaインストール
$
・smb.confを編集
$
nanoエディタでsmb.confが開きますので、一番下までスクロールさせて以下を追加します。
[vm-xubuntu]
comment = hyper-v_xubuntu
path = /var/www/html
writeable = yes
guest only = yes
force user = username
追記したら Ctrl+O 、Enter で書き込み、Ctrl+Xでnanoエディタを終了。
Sambaを再起動します
$
Windows側設定
デスクトップ上またはエクスプローラ上のPC(マイコンピュータ)アイコンを右クリック、「ネットワークドライブの割り当て」を選択
ドライブ: 空いている好きなドライブ名を選択
フォルダー: \\VM-XUBUNTU\vm-xubuntu (参照ボタンから辿っても可)
「サインイン時に再接続する」にチェックして[完了]ボタン
以上で、設定したドライブ名から /var/www/html へのファイルアクセスが行なえるかと思います。