如果你是一名 Web 开发者,很多时候都需要在本地搭建服务器测试环境,比如 Apache+Mysql+PHP 这样的环境。事实上 Mac OS X 中想要搭建这样的环境很简单,本文我们就会将详细的教程分享给大家。

首先需要说明的是,Mac OS X 系统其实已经集成了 Apache+PHP环境,用户手动开启即可。在之前的 OS X 系统中,只需要进入「系统偏好设置——共享」,然后开启「Web 共享」就可以打开 Apache。不过在最新的 Mountain Lion 中苹果取消了这个共享功能的图形界面,只能从命令行开启。

Mountain Lion 中已经没有”Web共享”

启用 Apache/Web 共享

打开终端,运行启动 Apache 命令:

sudo apachectl start

关闭命令:

sudo apachectl stop

重启命令:

sudo apachectl restart

查看 Apache 版本命令:

httpd -v

Mountain Lion 中集成的 Apache 版本如下:

mbp:~ eyon$ httpd -v
Server version: Apache/2.2.22 (Unix)
Server built: Jun 20 2012 13:57:09

启用 Apache 之后,你可以直接在浏览器中访问 http://localhost,如果出现”It works!”就表示运行正常。

Root 目录

启用 Apache 之后,你首先得知道网页文件应该放到哪个目录才能正常运行,相信有过 Linux 服务器配置经验的对此不会陌生。OS X 中默认有两个目录可以直接运行你的 Web 程序,一个是系统级的 Web 根目录,一个是用户级的根目录,大家记下即可。

系统级的根目录是:

/Library/WebServer/Documents/

它对应的网址是:

http://localhost

用户级的根目录是:

~/Sites

~/Sites 也就是你用户目录下面的”站点”目录,在 OS X Mountain Lion 中,这个目录可能没有,所以你需要手动建立一个同名目录。建立方式很简单,直接在终端中运行:

sudo mkdir ~/Sites

建立”站点”文件夹之后,检查下面这个文件夹下面是不是有”你的用户名.conf”这个文件。

/etc/apache2/users/

如果没有,那么你需要创建一个,取名为”你的用户名.conf”,你可以使用 vi 或者 nano 这两种编辑器之一来创建。

sudo vi /etc/apache2/users/你的用户名.conf

创建之后将下面的这几行内容写到上面的 conf 文件中:

<Directory "/Users/username/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

文件保存之后,给它赋予相应的权限:

sudo chmod 755 /etc/apache2/users/你的用户名.conf

接下来重启 Apache,以使该配置文件生效:

sudo apachectl restart

之后你就可以通过浏览器访问你的用户级目录网页了,你可以随便防个网页进去测试一下。根目录地址为:

http://localhost/~username/

(请将username改成你的用户名)

启用 PHP

Mountain Lion 中已经集成了 PHP 5.3.13 版本,也需要手动开启。你可以用 vi 或者 nano 编辑器打开下面这个文件:

sudo nano /etc/apache2/httpd.conf

然后搜索”php”,第一条匹配的应该是下面这句代码:

LoadModule php5_module libexec/apache2/libphp5.so

请将这句代码前面的#去掉,然后保存文件。

接下来再一次重启 Apache:

sudo apachectl restart

现在 PHP 应该已经开始工作了,你可以在用户级根目录下(~/Sites/)放一个PHP测试文件,代码如下:

<?php phpinfo(); ?>

安装 MySQL

Mountain Lion 中并没有集成 Mysql,需要手动安装。你可以点击这个链接下载 MySQL 的安装包,请下载 Mac OS X ver. 10.6 (x86, 64-bit), DMG Archive(可以在 Mountain Lion 下正常工作)。

点击下载之后,会跳转到一个注册/登录页面,你不需要注册也不需要登录,直接点登录框下面的:No thanks, just take me to the downloads! 就可以跳过这个步骤直接开始下载了,整个 DMG 包大约是113MB。

下载完DMG之后,双击你会提取出三个文件和一个 RedMe.txt 文档。这三个文件分别是:

  • mysql5.5.xxx.pkg
  • MySQLstartupitem.pkg
  • MySQLPrefPane

你需要逐一安装这三个文件,双击之后系统可能会提示你由于该软件包来自身份不明的开发者,不能安装。遇到这种情况,你可以按住 command 键,然后右键点击安装文件,再点击右键菜单中的”打开”,这样就可以绕过这个安全限制了(当然你也可以在系统偏好设置——安全性与隐私——通用中改成可打开”任何来源”的应用程序)。

三个文件都安装完成之后,进入「系统偏好设置」,在面板的最下面你会看到一个 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 试试。

最后一步,你还应该给你的 MySQL 设置一个 root 用户密码,命令如下:

mysqladmin -u root password \'这里填你要设置的密码\'

(请记住密码一定要用半角单引号包起来)

上面的 mysqladmin 命令,我没有写完整路径。因为上面我们已经设置了环境变量,如果你没有设置环境变量的话,就需要用/usr/local/mysql/bin/mysqladmin ******** 来运行。

安装 phpMyAdmin

在安装 phpMyAdmin 之前,请首先修复 2002 socket 错误:

sudo mkdir /var/mysql

sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

然后去 phpMyAdmin 网站下载安装包,推荐下载 english.tar.gz。解压之后,将解压出来的文件夹改名为”phpmyadmin”,并放到上面建立的”站点”目录下(~/Sites)。然后在 phpmyadmin 下建立一个 config 文件夹:

mkdir ~/Sites/phpmyadmin/config

修改权限:

chmod o+w ~/Sites/phpmyadmin/config

之后就可以从浏览器中访问phpmyadmin的初始设置页面了:

http://localhost/~username/phpmyadmin/setup/

(请将 username 修改成你的用户名)

打开页面之后,基本上不需要配置。进去之后点击”New server”,在 Basic settings 页面确保 Serverhostname 是 localhost,在 Authentication 配置好登陆用户名和密码(之前设置的 root 密码),点击保存就可以了。

phpMyAdmin配置完成之后,上面建立的 /config 目录中会出现一个 config.inc.php 文件,将这个文件移到 phpmyadmin 根目录(上一级),然后删除这个空的 /config 目录。

到这里就算完成了,接下来你就可以访问 http://localhost/~username/phpmyadmin/ (将username替换成你的用户名)来通过 phpmysql 管理你的数据库了。

以上便是在 OS X Mountain Lion 上配置 Apache+Mysql+Php 的完整教程。如果大家有任何不明白的地方,请在下面评论框中提问。

版权声明:本文为lalaza原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/lalaza/articles/2951978.html