Bash on Ubuntu on WindowsでLAMP開発環境構築
LAMP=Linux+Apache+MySQL+PHPを、Bash on Ubuntu on Windowsで構築しました。
Bash on Ubuntu on Windowsとは
Windowsのサブシステム(拡張機能)として、Ubuntuを動かし、その上でBashを動かすというWindows10 Proの標準機能です。
Microsoft公式ではWindows Subsystem for Linux(WSL)と呼んでいます。
Hyper-Vなどによる仮想化よりも軽くWindowsでLinuxの機能を使うことができます。
Windows Subsystem for Linux - Wikipedia
WSLのインストール
Cortanaに「Windowsの機能の有効化と無効化」でサーチをかけてもらうと、
コントロールパネルの設定画面を教えてくれます。
その画面からWindows Subsystem for Linux(Bata)を見つけチェックを入れ、OKをクリックします。
ここでいったん再起動を行います。
今度はCortanaに「Bash」でサーチをかけてもらうと、
「Bash」のアプリを見つけてくれます。
これを起動しましょう。
ライセンスの確認が出てきます。「y」を入力します。
Ubuntuのインストールが開始されます。この、もし気になるようであれば
/etc/apache2/apache2.conf に次の2行を足しましょう
AcceptFilter http none
cceptFilter https none
参照:【BoUoW】Apache起動時の「Failed to enable APR_TCP_DEFER_ACCEPT」 - Qiita
Apacheが起動したらMicrosoft Edgeを使ってURL「localhost」にアクセスしましょう。
「Apache2 Ubuntu Default Page」が表示されれば成功です。
次にphpの動作を確認します。
「cd /var/www/html」コマンドで、カレントディレクトリーを/var/www/htmlというapacheのルートディレクトリーに移動します。
「sudo vi info.php」と入力し、info.phpを編集します。sudo をつけているのは、/var/www/htmlのファイル編集権限を得る必要があるからです。
iを入力し、インサートモードに切り替えたら、
次のコードを入力します。
<?php phpinfo() ?>
入力したらESCキーでインサートモードを抜けて、「:wq」で保存しましょう。
無事保存することができたら、Microsoft EdgeでURL「localhost/info.php」にアクセスします。
するとPHPinfoと呼ばれるphpのモジュール情報などが見られるページが表示されます。
表示されればphpの動作を確認できました。
最後にMySQLの動作を確認しましょう。
ここではphpMyAdminをインストールして、MySQLにアクセスしてみます。
まず「sudo service mysql start」コマンドでmysqlを起動してみましょう。これはphpmyadminを正常にインストールするために必要です。
「sudo apt-get install phpmyadmin」コマンドでphpMyAdminをインストールします。
確認の「y」を入力します。
途中でphpMyAdminをインストールするwebサーバを聞かれます。apache2を選択(スペースキーを入力しapache2にチェックを入れ、tabキーで了解を選びエンターキーを入力)しましょう。
またその後phpcofig-commonの自動設定を進められますので、tabキーではいを選択し、エンターを入力します。
さらに途中でphpmyadmin用のパスワードの設定をします。適当なモノを入力します。
このとき、phpMyAdminの依存関係の「php7.0-mbstring」「php7.0-mycript」がインストールされるのは地味にうれしいです。もしphpMyAdminが必要なければ、「apt-get」コマンドで別途インストールが必要です。
インストールが完了したらMicrosoft EdgeでURL「localhost/phpmyadmin」にアクセスします。ユーザー名とパスワードを入力し、データベースの動作確認をしましょう。
以上でLAMP環境のインストールは完了です。
Apache2におけるModuleの設定
/etc/apache2/http.confではなく、/etc/apache2/apache2.confで設定するバージョンでは、confファイルにLoadModuleを書くのではなく、a2enmodを使って設定するようです。
たとえばmod_rewriteを適用させるには、「sudo a2enmod rewrite」コマンドを実行します。
ほかにも、適用できるModuleが/etc/apache2/mods-availableの中にあります。必要あれば、a2enmodコマンドで適用しましょう。
適用を外すには、a2dismodコマンドを使用します。