Windows Subsystem for LinuxでEC-CUBE4を動かす方法その3です。
今回はWebインストーラーを利用してEC-CUBE4をインストールします。
EC-CUBE4のインストールは大きく、Web上で行う方法と、コマンドラインから行う方法の2つがあります。
まずはWeb上からインストールする方法を紹介します。
今回の投稿は長くなったので3回に分けて投稿されています。
Windows Subsystem for LinuxでEC-CUBE4を動かす その1(WSLインストール)
Windows Subsystem for LinuxでEC-CUBE4を動かす その2(LAMP環境構築)
Windows Subsystem for LinuxでEC-CUBE4を動かす その3(Webインストーラー)
公式サイトからダウンロードしてきたeccube-4.0.0.zipをアップロードして解凍します。
WindowsからLinuxへのファイルの転送はsshやFTPを使っても良いですが、Windows Subsystem for Linuxからは/mnt/cでWindows上のCドライブにアクセスできるので、直接コピーしてきてもOK。
eccube-4.0.0というディレクトリが作成されるので、ec4と名前を変えて/var/www/html/ec4に配置。
http://{Windows Subsystem for LinuxのIP}/ec4/にアクセスしてみます。
下のようにインストールページが表示されればOK。
何らかのエラーが表示されるならエラー内容を確認して修正。
主に権限の問題でファイルが作成できないか、PHPのライブラリが足りない。
404の場合は http://{Windows Subsystem for LinuxのIP}/ec4/index.php にアクセスしてみる。
これで http://{Windows Subsystem for LinuxのIP}/ec4/index.php/install/step1 というようなURLになったら、mod_rewriteが機能していない。
あとは403 Forbiddenが出たら権限を見直す。
ここをクリアすれば、インストール完成は目前です。
「次へ進む」をクリックするとEC-CUBEの動作に必要なファイル・フォルダの権限をチェックします。
下の画像のように「アクセス権限は正常です」と表示されればOK。
表示されない場合は、表示に従い権限を変更します。
続いて、サイトの設定を行います。
店名やメールアドレスなどを設定します。
メーラー、SSLは動かしていないのでとりあえず未記入で進みます。
続いてデータベースの設定。
今回はMySQLを利用するので以下のように入力します。
データベースの種類: MySQL
データベースのホスト名: 127.0.0.1
データベースのポート番号: (空欄)
データベース名: eccube4 (というデータベースをその2で作成したので)
ユーザー名: root
パスワード: (設定したパスワード)
あとは設定することはないので、そのまま次へを進んで行きインストールを完了します。
エラーが表示されず処理が完了したら、お店のフロントページと管理ページにアクセスしてみます。
続いてコンソールからのインストールですが、そもそもコンソールから導入する人はこういう説明要らないんじゃないかなと思うので、気が向いたら・・・。
Windows Subsystem for LinuxでEC-CUBE4を動かす方法その2です。
今回はWindows Subsystem for LinuxにApache、PHP、MySQLを導入します。
今回の投稿は長くなったので3回に分けて投稿されています。
Windows Subsystem for LinuxでEC-CUBE4を動かす その1(WSLインストール)
Windows Subsystem for LinuxでEC-CUBE4を動かす その2(LAMP環境構築)
Windows Subsystem for LinuxでEC-CUBE4を動かす その3(Webインストーラー)
まずは apt-getを更新します。
#sudo apt-get update #sudo apt-get upgrade
続いてApacheをインストールします。
#sudo apt-get install apache2 #sudo service apache2 start
ブラウザでアクセスしてページが表示されることを確認します。
Apacheのバージョンは2.4.29がインストールされました。
# apache2 -version Server version: Apache/2.4.29 (Ubuntu) Server built: 2018-10-03T14:41:08
EC-CUBE4はmod_rewriteを有効にする必要があります。
コンフィグファイルで.htaccessを使えるようにします。
# sudo vi /etc/apache2/sites-enabled/000-default.conf
<Directory /var/www/html>
AllowOverride All
</Directory>
mod_rewriteを有効にします。
# sudo a2enmod rewrite # sudo service apache2 restart
続いてPHPを導入します。
EC-CUBE4の要件はPHP7.1以上です(PHPのバージョンが低いとEC-CUBEのインストール時にバージョン不足がエラーとして表示されます)。
ライブラリも一緒にインストール。必要なライブラリは公式のシステム要件で確認してください。依存関係で一緒に入ったライブラリなどもありますので、導入後に必要なライブラリが入っているか確認してみてください。
# sudo apt-get install php # sudo apt-get install php-mysql # sudo apt-get install php-devel # sudo apt-get install php-mbstring # sudo apt-get install php-pdo # sudo apt-get install php-xml # sudo apt-get install php-intl # sudo apt-get install php-zip # sudo apt-get install php-json # sudo apt-get install php7.2-curl
シンプルな状態にしたいので推奨されているAPC(Alternative PHP Cache)はインストールしませんでした。
Apacheを再起動して、適当なPHPファイルを作成して実行されることを確認します。
データベースはMySQLを利用することにします。
# sudo apt-get install mysql-server # sudo service mysql start # sudo mysql -u root
最後のmysqlコマンドもsudo付きなので注意してください。
パスワードを指定しない状態のrootは要sudoです。
MySQLに入って、rootのパスワードとデータベースを作成します。
ちゃんとしたいならroot以外のユーザーを作るべきですが、今回は簡略。
mysql > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pass'; mysql > FLUSH PRIVILEGES; mysql > create database eccube4;
mysql_native_password BY ‘pass’の「”」内は任意のパスワードを指定してください。
これで最低限EC-CUBE4を動かす設定は完了です。
(メールとかSSLは割愛)
次回はようやくEC-CUBE4をインストールします。
せっかくトライしたのでメモを残す。
結論からいうと、私の環境では表示速度が遅かったので今後のパフォーマンス向上に期待という結果でした。
今回の投稿は長くなったので3回に分けて投稿されています。
Windows Subsystem for LinuxでEC-CUBE4を動かす その1(WSLインストール)
Windows Subsystem for LinuxでEC-CUBE4を動かす その2(LAMP環境構築)
Windows Subsystem for LinuxでEC-CUBE4を動かす その3(Webインストーラー)
WindowsでLinux環境を構築できるサブシステム。
Windows上からLinuxのファイルが覗けたり、その逆ができたりと便利かつアクロバティックな仕組み。
XAMPPなどでLinuxを構築するより本番環境に近く、XAMPPからの乗り換えに期待・・・なんだけど、まだ途上感はある。
そもそも「Unixに親和性が高いMac使おうぜ」というのがOSS開発者の最適解な気もするけど、Visual Studio無いから!
「Windowsの設定」から「アプリ」をクリック。
右側の項目「プログラムと機能」をクリック。
コントロールパネルから「プログラムと機能」をダブルクリックしても同じ結果になります。
左の「Windowsの機能の有効化または無効化」をクリック。
「Windowsの機能の有効化または無効化」で「Windows Subsystem for Linux」にチェックを入れて有効にする。
PCの再起動を促されたら、再起動する。
これでWindows Subsystem for Linuxが有効になりました。
次は実際にインストールするディストリビューションを選びます。
今回は「Ubuntu」をインストールします。
Microsoft Storeを立ち上げる。
右上の「検索」から「Ubuntu」で検索。
検索結果の一覧から「Ubuntu」をクリック。
「インストール」をクリック。
インストールが完了するとボタンが「起動」に代わるので起動をクリック。
起動すると新しいユーザーとパスワードの設定を促されるので入力。
ユーザー名とパスワードは忘れないように控えておく。
これでWindows Subsystem for Linuxの導入は完了です。
現時点でインストールされたUbuntuのバージョンは18.04.1 LTSでした。
次回は、EC-CUBEを動かすためのLAMP環境を構築します。
タイトルの通り、昨日公開されたEC-CUBEの最新版4.0.0をインストールしてみました。
先に公開されていたRC版はAzureの仮想マシンで動かしていたので、今回はVirtualBoxのCentOS7で動かしてみる。
まずは出来上がったページを見てみたいという方は管理ページもログインできるデモサイトが公式で公開されているので、そちらを参考にしてみてください。
まずはシステム要件を確認しつつ、サーバーにLAMPを導入。
推奨ライブラリはとりあえず入れずに動かしてみる。後で速度を比較してみよう。
今回はeccube4というユーザーのユーザーディレクトリで動かしてみる。
ユーザーディレクトリはオーソドックスにpublic_html以下とした。今回の場合は/home/eccube4/public_html/。
EC-CUBE4のページからeccube-4.0.0.zipをダウンロードしてくる。
(ダウンロードにはEC-CUBEメンバーのアカウントが必要です)
ダウンロードしたファイルを/home/eccube4/以下にアップロード。
#unzip eccube-4.0.0.zip
フォルダーの権限などは、そのまま特に変更しなくても解凍したままの状態でインストールできました。
public_html以下にeccube-4.0.0というディレクトリができるので、これをpublic_htmlとリネーム。
ドキュメントルート直下ではなくユーザーディレクトリの/~eccube4/でアクセスするのでpublic_html直下の.htaccessにRewriteBaseの設定を追記。
RewriteBase /~eccube4
http://{ホスト}/~eccube4/ にアクセスすると、以下の画像のようにインストールページが表示されればOK。
file not foundかつ http://{ホスト}/~eccube4/index.php にアクセスすると上記ページ(もしくはライブラリが足りないといったエラーページ)が表示されるならmod_rewriteが効いてないので設定を確認。
権限が問題なければ以下のように「アクセス権限は正常です」と表示されます。
チェックに引っかかったらそのディレクトリの権限を変更してください。
店名、店舗用のメールアドレス、管理者アカウントの設定などを行います。
データベースの設定を行います。
あとはインストーラーの指示に従ってインストールを進めればOK。
PHPのライブラリなどが足りない場合はインストールの流れでエラーになったり、ライブラリが足りない旨表示されるので、システム要件を確認しつつ足りないライブラリを導入。
こんな感じでユーザーページ、管理ページが表示できました。
新しく環境を作るということでMySQLもバージョンアップしてみました。
$ mysqld –version
/usr/sbin/mysqld Ver 8.0.12 for Linux on x86_64 (MySQL Community Server – GPL)
バージョン8です。
いまだに5とか使っていたので格段の進歩!
・・・だったんですが、EC-CUBE 4 RCのインストールでエラー。
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
コンソールからはログインできているのに・・・。
ネットで調べてみるとmy.cnfに以下の一行を追加する必要があるとのこと。
default_authentication_plugin= mysql_native_password
これで解決。
というわけで、正式版が出たにも関わらずインストールしたRC版。
RC版を触ってみなければなぁ・・・と考えているうちに正式版がリリースされてしまいました。
EC-CUBE4
https://www.ec-cube.net/product/4.0/
細かいレビューなどは後程。
ログを見るとこんな感じ
#less /var/log/mysqld.log
[System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.12) MySQL Community Server – GPL.
[System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.12) starting as process 43902
[ERROR] [MY-012681] [InnoDB] InnoDB: mmap(137428992 bytes) failed; errno 12
[ERROR] [MY-012956] [InnoDB] InnoDB: Cannot allocate memory for the buffer pool
[ERROR] [MY-012930] [InnoDB] InnoDB: Plugin initialization aborted with error Generic error.
「Cannot allocate memory for the buffer pool」という感じでメモリーを確保できてないみたい・・・。
ネットで検索するとAWSでの事例が良く出てくる。
AWSの場合も小さいインスタンスで発生する模様。
・・・Swapする回避策などもあるようだけど、素直にインスタンスをアップグレード。簡単にサイズを変えれるのはクラウドのいいところですね。
仕事で半月ほどオーストリアのグラーツ(Graz)に滞在することになったのだけど、日本語の情報があまりなくて困ったので、少しだけ記録に残しておくことにします。
現在、5日目の仕事を終えて、ホテルで書いています。
今回は駅前の焼きそば&丼屋に行ってみたのでその第一報を・・・。
朝食はホテル、お昼は職場で供されるものが美味しので、今のところ課題は晩御飯です。
現在、試したい未確認情報は3つ。
・駅のそばに中国人が経営する焼きそばと丼の店がある
・サンドイッチはスーパーより、駅中の専門店の方が美味しい
・駅中のスーパーより少し離れたところにある緑のスーパーの方が美味しい
今回は、一番上の焼きそばと丼の店に行ってみました。
職場の日本人の方に教えていただいた情報を元に、Grill and Boxというお店に行ってみました。
(地図)https://www.google.at/maps/place/Grill+%26+Box/@47.0726058,15.4190519,15z/data=!4m5!3m4!1s0x0:0xa4fb4b067894e08!8m2!3d47.0726058!4d15.4190519
(外部サイト)https://www.mjam.net/restaurant/graz/grill-box/
注文はレジ前にチラシがあるので、それを見ながら指をさして行いました。
言葉が話せなくても注文しやすいのはありがたいです。
具なしの焼きそ(3ユーロほど)ばと、お肉の乗った丼(5ユーロ)を注文。
箱にぎっしり詰まっています。
現在の課題は味の選択で、「スパイシー?」と聞かれたので「ノースパイシー」と注文。
ちょっとエスニックな感じで個人的には微妙な味でした。焼きそばも丼もソースが味の決め手っぽいから、選択を間違えたかも。
ホテルに帰って、持ち帰ったチラシを確認すると・・・。
Japanishe Teriyakiって味があるよ!!
味の評価はテリヤキ味を食べるまで保留にします。
ちなみに、その他メニューはこんな感じ。