[非VM] 安裝 LAMP @ Ubuntu @ WSL 子系統 @ Windows 10

Windows 10 最新令人躍躍欲試的功能就是給 Linux 用的子系統環境了( Windows Subsystem for Linux ),微軟在 Windows 底下植入一個子系統環境,可以執行起一個功能完備的 Ubuntu 14.04 核心程式,這個子系統有點像 VM 但又不是 VM,像是在一套硬體內執行起一個系統上的系統, Windows 能夠在工作管理員、記憶體管理員內看到這個子系統概況,這個子系統也可以處理到 Windows 底下的文件。

如果把這個子系統上的 Ubuntu 當作小 server 來用,惡搞的可能性就很多,例如安裝一套 Wordpress 在 LAMP 環境內(Linux + Apache + PHP + MySQL) 在這個子系統上,未嘗不可。

更新 Windows 到最新版

先確定 Windows 10 已經更新到最新的 Anniversary Update 才有開啟子系統功能。

安裝 Windows Subsystem for Linux

1. 開啟設定、進入更新與安全、在開發人員專用頁面開啟測試人員模式


2. 開啟設定、進入應用程式、點擊程式和功能、點擊開啟或關閉 Windows 功能、裡面找到適用於 Linux 的 Windows 啟動後安裝、並重新開機


安裝 Ubuntu

1. 點擊開始選單執行 Bash.exe (這並不是真的 bash、這並不是真的 bash、這並不是真的 bash,很重要、說三次),就會開始從網路安裝 Ubuntu


2. 安裝後會請你設定一組預設的使用者帳號與密碼登入這個 Ubuntu 環境


設定好之後就可以從開始選單內啟動 Ubuntu 內的 Bash


好了,現在已經有一套 Ubuntu 環境,Windows 環境的磁碟機資料也已經掛載在 /mnt 底下,可以開始惡搞了。

更新與安裝其他 Ubuntu 元件

更新 Ubuntu

sudo apt update
sudo apt upgrade

安裝 Apache + MySQL + PHP5 + 工具程式

sudo apt-get install apache2 php5 libapache2-mod-php5 php5-mcrypt mysql-server php5-mysql unzip

啟動網站伺服器服務

Bash 內啟動服務

/etc/init.d/apache2 start
/etc/init.d/mysql start

網頁路徑就在子系統內

/var/www/html

標標準準,可以丟網頁進去測試看看了。

安裝 Wordpress 試試看

設定 MySQL 建立 Wordpress 資料庫

mysql -uroot -p
輸入安裝 SQL 過程中建立的密碼
create database wordpress

然後去下載 Wordpress 後放到網站資料夾內

cd /var/www/html/
sudo cp /mnt/c/Users\[YOUR-USERNAME-]\Downloads\wordpress* #用 Windows 下載後預設應該都放在這個路徑內,* 是抓到版本號,tab 可以幫忙補命令列文字 
unzip wordpress-4-5-3.zip
sudo chown -R www-data:www-data /var/www

瀏覽器開啟 Wordpress 開始設定吧!

http://localhost/wordpress/

其他的 Wordpress 應用就自行參照其他 Wordpress 的說明了。


其他惡搞

當然是跑跑看 X widnow 啊:

也可以安裝 Ruby on Rails 試試看,雖然說還有些問題,但也有人覺得很夠用了啊:

安裝個 Python 玩玩看

管理/安裝/移除 Linux 子系統

對於 Linux 子系統, Windows 提供一個新的指令 lxrun 

/install 安裝子系統
/uninstall 解除安裝子系統
/setdefaultuser 重設子系統使用者
/update 更新子系統套件索引

所以惡搞完 Ubuntu 已經有點覺得亂七八糟,要還原子系統嗎?輸入底下指令就可以還原:

lxrun /uninstall /install

其實就是整個環境砍掉重裝...

茶餘飯後

為什麼會稱這是子系統內的 Ubuntu 而不像有些人稱做是 Ubuntu 子系統呢?因為光是看這個安裝流程大概就知道,這套系統環境不單是為 Ubuntu 準備的,之前微軟曾考慮過要將 Android 系統搬到 Windows 上,所以之後的子系統內可能還會有 Android 或 BSD 也說不定,Ubuntu 只是這條路上的試金石。

從安裝結果可以知道,這個子系統其實是跟 Windows 系統整個結合在一起的程式層,當啟用網站伺服器後占用的 80 port 正是 Windows 系統所用的 80 port ,記憶體管理也是由 Windows 管理,執行的 Linux 程式也會放在 Windows 工作管理員內一併管理(工作管理員看是連同記憶體需求歸在 Bash.exe 底下),使用上也不像 VM 一樣需要切分記憶體(切太多怕 VM 閒置沒用到、切太少怕 VM 不夠用),使用錯了就移除重來就好,做個簡單家庭用伺服器也綽綽有餘,省卻了安裝 Windows 版 AMP 環境把 Windows 搞得很混亂的風險,真的是很方便。

近兩年微軟就像是吃了炸藥一樣突飛猛進,像是從墨守成規、老成嚴肅的公務員突然變成極富實驗與創新心態的年輕人一樣,開始嘗試各種可能性,蘋果則像是從意氣風發的中年大叔突然變成老頭一樣啊。

這個網誌中的熱門文章

Gatsby 廣告中木村拓哉機械舞的背後

Google Doodle : Pacman 小精靈

自架 Android BT / NAS 機:超靜音超省錢超低功耗