http://www.cnblogs.com/fengyv/archive/2012/07/27/2612096.html
由于最近需要布置mantis用来进行bug追踪,在此记录其过程。
由于PHP apache环境在Mac OS上是自带的,所以不需要另处下安装包,只需要简单配置一下即可。
首先打开终端输入命令:
sudo vim /etc/apache2/httpd.conf
其中有一行是这样的
#LoadModule php5_module libexec/apache2/libphp5.so
将前面的#号去掉。
然后打开系统偏好设置中的共享,将web共享勾上,如下图
重启apache, 命令如下:
sudo apachectl restart
这样就可以在浏览器中输入http://localhost/,如果出现
It works!
说明成功配置php环境
下面来配置MySql环境。
首先下载MySql的dmg安装包。下载地址在:http://dev.mysql.com/downloads/mysql/
打开dmg文件,里面有三个安装项,在此我三个都安装,MySQLStartupItem.pkg安装后,mysql会随系统启动而自启动,MySQL.prefPane表示可以在系统偏好设置中看到mysql选项,还有一个就是mysql的安装项。
这样一来就安装成功了,在系统偏好设置中打开mysql,并将服务开启。安装好后默认的用户名是root,密码为空。为了安全,我们设置一个密码。
打开终端,如果你输入mysql提示没有这个命令,那么需要配置mysql bin目录的环境变量。目录是,/usr/local/mysql/bin/, 将其加入到PATH变量中。在这儿我介绍另一种方法,
在终端中输入
sudo vim /etc/bashrc
然后在其中加入
#mysql
alias mysql='/usr/local/mysql/bin/mysql'
alias mysqladmin='/usr/local/mysql/bin/mysqladmin'
这样一来,在终端中输入mysql就有这个命令了, 其实它与我们C/C++中的宏定义有点类似,别名代替的作用。
接着我们修改root的密码,命令如下:
mysqladmin -uroot password 12345
这样就将root的密码改为了12345.
要管理Mysql,如果用命令行比较麻烦,开源的phpMyAdmin采用C/S的模式,方便管理。接着我们就装一个phpMyAdmin. 它是由php开发的,下载地址是:http://www.phpmyadmin.net/home_page/downloads.php
将下载下来的解压放在/Library/WebServer/Documents/目录下,完整的目录为:/Library/WebServer/Documents/phpmyadmin/,那么命令行进入这个目录,
再输入命令:
cp config.sample.inc.php config.inc.php
vim config.inc.php
按照下面进行修改:
$cfg['blowfish_secret'] = '';//用于Cookie加密,随意的长字符串
$cfg['Servers'][$i]['host'] = '127.0.0.1';//MySQL守护程序做了IP绑定
现在可以在浏览器中输入URL:http://localhost/phpmyadmin/
用服名为:root
密码为你设置的密码。
就可以login到mysql的管理界面。
设置虚拟主机
在终端运行“sudo vi /etc/apache2/httpd.conf”,打开Apche的配置文件
在httpd.conf中找到“#Include /private/etc/apache2/extra/httpd-vhosts.conf”,去掉前面的“#”,保存并退出。
运行“sudo apachectl restart”,重启Apache后就开启了它的虚拟主机配置功能。
运行“sudo vi /etc/apache2/extra/httpd-vhosts.conf”,这样就打开了配置虚拟主机的文件httpd-vhost.conf,配置你需要的虚拟主机了。需要注意的是该文件默认开启了两个作为例子的虚拟主机:
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/usr/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "/usr/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
</VirtualHost>
而实际上,这两个虚拟主机是不存在的,在没有配置任何其他虚拟主机时,可能会导致访问localhost时出现如下提示:
Forbidden
You don't have permission to access /index.php on this server
最简单的办法就是在它们每行前面加上#,注释掉就好了,这样既能参考又不导致其他问题。
增加如下配置
<VirtualHost *:80>
DocumentRoot "/Users/[用户名]/Sites"
ServerName sites
ErrorLog "/private/var/log/apache2/sites-error_log"
CustomLog "/private/var/log/apache2/sites-access_log" common
</VirtualHost>
保存退出,并重启Apache。