本文講解來源特定背景,作為軟體工程師使用mac作為開發機,難免會使用到雙系統,用虛擬機器裝雙系統是一個很好的選擇,當然裝windows系統很少使用虛擬機器,作為桌面作業系統,最好使用bootcamp進行安裝,因為這樣能夠很好利用系統硬體資源,而使用虛擬機器裝linux有時候十分必要,特別作為服務端工程師而言,有臺linux虛擬機器能夠很好的進行學習、研究和測試。

安裝linux系統

虛擬機器選擇

      mac環境下有多種虛擬機器軟體,比較典型的虛擬機器有Parallels和VMware Fusion,我選擇的是VMware Fusion, 版本是7.0.1,原因是在windows系統下使用管理,對其介面以及很熟悉,容易掌握。這裡不做任何推薦,大家自由選擇。

下載linux發行版iso

     linux發行版有很大,比較典型的如centos,redhat,ubuntu,fedora,debain, 我選擇的是ubuntu 10.04伺服器版本,原因是個人偏向伺服器,使用linux伺服器版本下載體量小,並且安裝包比較少,可自由的進行配置。

虛擬機器安裝

     這裡就不上圖了,基本上是傻瓜式操作,一步一步進行選擇。

安裝典型工具

     安裝完ubuntu伺服器版本後,相當一部的工具沒有進行安裝,可以認為是一臺裸伺服器,下面羅列一些需要安裝的工具。

編譯環境安裝

gcc
g++
make
ubuntu下使用sudo apt-get install xxx就可以進行安裝,十分便捷。

LAMP安裝

作為伺服器的經典架構模型(Linux, Apache, Mysql, PHP)的安裝也十分有必要。
1、安裝apache2
sudo apt-get install apache2
安裝完成後,預設網站主目錄在/var/www 下。
在瀏覽器中訪問127.0.0.1進行測試是否安裝成功。
2、安裝php 
sudo apt-get install libapache2-mod-php5 php5
安裝完成後重啟下apache2服務,如下命令
sudo /etc/init.d/apache2 restart

3、安裝Mysql
sudo apt-get install mysql-server mysql-client
4、安裝phpmyadmin-mysql
安裝這個工具是相當於PHP對Mysql的驅動程式
sudo apt-get install phpmyadmin

將phpmyadmin與apache2的主目錄發生關聯,便於在瀏覽器中訪問phpmyadmin工具
sudo ln -s /usr/share/phpmyadmin /var/www

5、修/var/www目錄許可權屬性
sudo chmod 777 /var/www
目的是使用網頁主目錄可讀、可寫

Mac與linux虛擬機器間共享

背景

當linux虛擬機器安裝完成後,需要完成mac與虛擬機器間的共享,這樣可以方便的在Mac上開發程式,在linux下進行編譯、執行、測試等等工作,可以在Mac下載好原始碼,到linux下進行安裝測試等,總之如果不共享,幾乎無法進行高效協作。

共享方法

理論上有兩種共享方式。
1、將mac的目錄掛載到linux下。
2、將linux的目錄掛載到mac下。
在windows系統下使用vm進行虛擬機器安裝,可以在虛擬機器軟體中配置共享目錄,這樣在linux下的/mnt/hgfs目錄下就能夠訪問到window的目錄,這招在mac下失效。應該是虛擬機器不支援的問題吧,起碼我試驗多次無法生效。
目前我選擇第1種方案進行檔案共享。後續如果研究出其他共享方案,在進行更新吧。

mac目錄掛載到linux下

1、如果要將mac的目錄進行共享,必須現在Mac上進行共享目錄配置。
開啟 ”系統偏好設定“ -> "共享” -> "檔案共享“,如下圖所示:

2、在linux的虛擬機器上進行掛載
例子:
<p class="p1"><span class="s1">sudo mount -o username=simon,password=123456,sec=ntlmssp,nounix //192.168.1.105/vm_share /mnt/vm_share</span></p>
之前一直嘗試掛載不上的原因是沒有新增選項sec=ntlmssp,nounix,此處是關鍵選項。

小結

本文講解了一個典型的mac系統下使用虛擬機器安裝linux系統的步驟,記錄了常用工具安裝手段和檔案共享問題,希望看到本文的同學能夠快速搭建自己的開發環境,希望對你有所幫助。

參考

Ubuntu下安裝LAMP         軒轅一站的技術部落格

修訂

初稿                                       2014-12-14              Simon