網上的教程已經有很多,這裏簡潔的記錄一下。以 Mac OS X Mavericks 10.9.X 爲例。
先附上如何進入指定目錄文件夾,按鍵盤 Command + Shift + G ,然後輸入指定目錄名即可。
一、啓動 Apache
-
Mac OS X 系統已經集成了 Apache+PHP 環境,依次進入“系統偏好設置 -> 共享” ,開啓“Web 共享”,就可以打開 Apache。
但新版的 Mac OS X 中,蘋果取消了這個共享功能的圖形界面,只能從命令行開啓。
-
在終端裏輸入命令,啓動 Apache: sudo apachectl start
關閉 Apache: sudo apachectl stop
重啓 Apache:sudo apachectl restart
查看 Apache 版本:httpd -v
Mac OS X 10.9.X 中的 Apache 版本信息:
Server version: Apache/2.2.26 (Unix) Server built: Dec 10 2013 22:09:38
-
啓用 Apache 之後,在瀏覽器中訪問 http://localhost 或 http://127.0.0.1,如果出現“It works!”就表示運行正常。
END
二、Root 目錄
-
OS X 中默認有兩個目錄可以直接運行你的 Web 程序,一個是系統級的 Web 根目錄,一個是用戶級的根目錄,大家記下即可。
注:以下 haibor 爲用戶名,需要按實際修改。
Apache系統級的根目錄及對應網址是:
/Library/WebServer/Documents/ http://localhost
用戶級的根目錄及對應網址是:
~/Sites http://localhost/~haibor/
~/Sites 也就是你用戶目錄下面的”站點”目錄,在 OS X 中,這個目錄可能沒有,所以你需要手動建立一個同名目錄。
建立方式很簡單,直接在終端中運行:
sudo mkdir ~/Sites
-
建立“站點”文件夾之後,檢查 /etc/ 文件夾下面是不是有“haibor.conf”這個文件:
/etc/apache2/users/
如果沒有,那麼你需要創建一個,取名爲“haibor.conf”,可以使用 vi 或者 nano 這兩種編輯器之一來創建。
sudo vi /etc/apache2/users/haibor.conf
創建之後將下面的這幾行內容寫到上面的 conf 文件中:
<Directory "/Users/haibor/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
-
文件保存之後,給它賦予相應的權限:
sudo chmod 755 /etc/apache2/users/haibor.conf
接下來重啓 Apache,以使該配置文件生效:
sudo apachectl restart
之後你就可以通過瀏覽器訪問你的用戶級目錄網頁了,你可以隨便防個網頁進去測試一下。根目錄地址爲:
http://localhost/~haibor/
也可以更改根目錄,但要記得給新文件夾設置,文件夾需要有執行權限x,設置了755就可以了:
mkdir /Users/user/workspace chmod 755 /User/user/workspace
把/etc/apache2/httpd.conf文件裏的 /Library/WebServer/Documents/ 都替換成自己的路徑,比如 /User/user/workspace
重啓Apache:apachectl restart,再次訪問localhost即顯示的是更改後的文件裏的內容了。
END
三、啓動 PHP
-
OS X Mavericks 中已經集成了 PHP 5.4.30 版本,需要手動開啓。你可以用 vi 或者 nano 編輯器打開下面這個文件:
sudo nano /etc/apache2/httpd.conf
然後按ctl+W進行查找,搜索”php”,第一條匹配的應該是下面這句代碼:
LoadModule php5_module libexec/apache2/libphp5.so
請將這句代碼前面的#去掉,然後保存文件。
接下來再一次重啓 Apache:
sudo apachectl restart
現在 PHP 應該已經開始工作了,你可以在用戶級根目錄下(~/Sites/)放一個PHP測試文件,代碼如下:
<?php phpinfo(); ?>
END
四、安裝 MySQL
-
OS X Mavericks 中並沒有集成 Mysql,需要手動安裝。
你可以點擊 http://dev.mysql.com/downloads/mysql/ 去官網下載 MySQL 的安裝包。
請下載 Mac OS X 10.7 (x86, 64-bit), DMG Archive (如有更新版本,可下載)。
下載完DMG之後,雙擊你會提取出三個文件和一個 RedMe.txt 文檔。這三個文件分別是:
mysql-5.6.15-osx10.7-x86_64.pkg
MySQLstartupitem.pkg
MySQL.PrefPane
你需要逐一安裝這三個文件,MySQLStartupItem.pkg安裝後,mysql會隨系統啓動而自啓動,MySQL.prefPane表示可以在系統偏好設置中看到mysql選項,還有一個就是mysql的安裝項。
-
三個文件都安裝完成之後,進入「系統偏好設置」,在面板的最下面你會看到一個 MySQL 的設置項,點擊它之後就可以啓動MySQL。
也可以通過命令開啓mysql:
sudo /usr/local/mysql/support-files/mysql.server start
如果你想查看 MySQL 的版本,可以用下面這個命令:
/usr/local/mysql/bin/mysql -v
運行上面這個命令之後,會直接從命令行中登錄到 MySQL,輸入命令 \q 即可退出。
到這裏 MySQL 已經配置完成,並且可以運行。
-
爲了更加方便使用,最好再設置一下系統環境變量,也就是讓 mysql 這個命令在任何路徑都可以直接啓動(不需要輸入一長串的準確路徑)。
設置環境變量也很方便,直接用命令(這裏筆者用 vi 編輯器舉例):
cd ; vi .bash_profile
然後按字母 i 進入編輯模式,將下面的這句代碼貼進去:
export PATH="/usr/local/mysql/bin:$PATH"
然後按 esc 退出編輯器,再輸入 :wq(別忘了冒號)保存退出。當然你如果使用 nano 或者別的編輯器的話,操作方式跟這個可能不一樣,反正意思就是將上面那句話寫入到 .bash_profile 文件中。
接下來還要重新加載一下 Shell 以讓上面的環境變量生效:
source ~/.bash_profile
之後你就可以在終端的任意目錄使用 mysql 命令了,你可以運行 mysql -v 試試。
-
最後一步,安裝好後默認的用戶名是root,密碼爲空,你還應該給你的 MySQL 設置一個 root 用戶密碼,命令如下:
mysqladmin -u root password '這裏填你要設置的密碼'
(請記住密碼一定要用半角單引號包起來)
上面的 mysqladmin 命令,我沒有寫完整路徑。因爲上面我們已經設置了環境變量,如果你沒有設置環境變量的話,就需要用/usr/local/mysql/bin/mysqladmin ******** 來運行。
END
五、安裝 phpMyAdmin 或 adminer
-
在安裝 phpMyAdmin 之前,請首先修復 2002 socket 錯誤:
sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
接着可以在 phpMyAdmin官網下載安裝包,推薦下載 english.tar.gz,也可以下載 all-languages.tar.gz 使用中文版,解壓之後,將解壓出來的文件夾改名爲”phpmyadmin”,並放到上面建立的”站點”目錄下(~/Sites)。
然後在 phpmyadmin 下建立一個 config 文件夾:
到這裏就算完成了,接下來你就可以訪問 http://localhost/~haibor/phpmyadmin/
來通過 phpmysql 管理你的數據庫了。
也可以使用 adminer 來管理,很方便的說,推薦相關文章 輕量級主流數據庫Web端管理工具Adminer。
END
六、設置虛擬主機
-
配置 Apache 文件:
sudo vi /etc/apache2/httpd.conf
在 httpd.conf 中找到“#Include /private/etc/apache2/extra/httpd-vhosts.conf”,去掉前面的“#”,“:wq!” 保存並退出。
重啓 Apache:sudo apachectl restart 。
-
配置虛擬主機文件 httpd-vhost.conf
sudo vi /etc/apache2/extra/httpd-vhosts.conf
實際上,這兩個虛擬主機是不存在的,在沒有配置任何其他虛擬主機時,可能會導致訪問localhost時出現如下提示:
Forbidden You don't have permission to access /index.php on this server
最簡單的辦法就是在它們每行前面加上#,註釋掉就好了,這樣既能參考又不導致其他問題。
END