SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

Ubuntu on Windows で開発・勉強用LAMP環境を作る

問題

Ubuntu on Widnows で開発用LAMP環境、作れます?

Ubuntu on Windows

答え

いけそうです。

ファイルはWindowsとUbuntuとで共有できて、Windows側のテキストエディタでphpファイルを編集 → Ubuntu側のphpですぐ実行なども可能。

Ubuntu on Windows を有効にする

Windowsの機能の有効かにて、Windows Subsystem for Linux (Beta) 機能を有効化する。

Windowsの設定 → 更新とセキュリティ → 開発者向け → 開発者モードを選択 → 確認メッセージを読んで「はい」をクリック。

Bash on Ubuntu on Windows をインストールする

コマンドプロンプトを開く → bash と入力、Enter → インストールが始まる。

インストール後は、スタートメニューの Bash on Ubuntu on Windows をクリックするか、コマンドプロンプトを開いて bash コマンド実行で、bashが利用できる。

これでWindowsの中にUbuntuの仮想マシンができたような感じになる。でもCドライブが/mnt/cで見えたりするので、まったく別の環境でもない。

なお、この後いろいろやってからUbuntu環境を作り直したくなったら、コマンドプロンプトで以下のコマンドでできる。

・アンインストール

C:\> lxrun /uninstall /full

・インストールしなおし

C:\> lxrun /install

多少でもファイルが残っているのも気になるときは以下の中も削除

%USERPROFILE%\AppData\Local\lxss

LAMP環境を作っていく

Apache2.4

apt-get install apache2

最初からある設定ファイル /etc/apache2/sites-available/000-default.conf のVIrtualHostの設定内容を書き換えるなら、以下のような感じで変更。

# vi /etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
        # プログラムが C:\var\www においてあるとしたら
        DocumentRoot /mnt/c/var/www

        # 閲覧可能にするのと、.htaccess を使えるようにするのと
        <Directory /mnt/c/var/www>
                Options FollowSymLinks
                AllowOverride All
                Require all granted
        </Directory>
</VirtualHost>

MySQL5.5

apt-get install mysql-server

面倒だったら、設定はそのままでもかまわない。

InnoDB関連の設定、デフォルトの文字コードなど変えたいので、以下のような設定を少しだけ追記。

# vi /etc/mysql/my.cnf

...
[mysqld] セクションに追記
...
...

innodb_buffer_pool_size=1G
innodb_log_file_size=512M
character-set-server=utf8

...
...

php5.5

apt-get install php5 php5-mysql php5-gd php5-curl ... (必要なものを追加)

サービス起動

service apache2 start
service mysql start

これで C:\var\www\index.php を置いて、ブラウザから http://127.0.0.1/ にアクセスすると、動作が確認できる。

普段使うとき

Bash on Ubuntu on Windows では、Apache、MySQLは勝手に起動しないので、Bashwo起動したら、最初に手作業で各サービスを起動する操作が必要になる。

Apacheの気になるエラー

以下のエラーが気になるときは

Invalid argument: AH00076: Failed to enable APR_TCP_DEFER_ACCEPT

以下の設定を追加するとよい

AcceptFilter http none
AcceptFilter https none

sshもしたい!

/etc/ssh/sshd_config の以下の個所を編集

UsePrivilegeSeparation no
PasswordAuthentication yes

sshd起動

service start ssh

これでTeraTermなどのsshクライアントで 127.0.0.1 に接続すればよい。

関連するメモ

コメント