Mac中搭建Apache+PHP+Mysql环境

虽作为前端,web后端的知识也少不了啊,那就先从php开始开始吧。

首先是环境的配置,在mac OS X系统中已集成了 Apache+PHP ,只需在命令行里设置一下就ok了,至于mySql,就得手动装一下,废话不多说,Let’s go.

Apache

常用命令:

  • 启动 Apache: sudo apachectl start
  • 关闭 Apache: sudo apachectl stop
  • 重启 Apache: sudo apachectl restart
  • 查看 Apache 版本:httpd -v

设置root目录:

OS X 中默认有两个目录可以直接运行你的 Web 程序

  • 一个是系统级的 Web 根目录
    • 根目录及对应网址是/Library/WebServer/Documents/ http://localhost
  • 一个是用户级的根目录(以用户名oulafen为例)

    • 根目录及对应网址是~/Sites http://localhost/~oulafen/
    • ~/Sites 也就是用户目录下面的”站点”目录,在OS X 中,这个目录可能没有,所以需要手动建立一个同名目录。在终端运行sudo mkdir ~/Sites即可建立站点文件夹
    • 建立站点文件夹后,检查 /etc 下是否有 oulafen.conf 这个文件,若没有则新键,并插入如下内容

      1
      2
      3
      4
      5
      6
      <Directory "/Users/oulafen/Sites/">
      Options Indexes MultiViews
      AllowOverride All
      Order allow,deny
      Allow from all
      </Directory>
    • 文件保存之后,赋予读写权限 sudo chmod 755 /etc/apache2/users/oulafen.conf

    • 然后重启Apache,使该文件生效, sudo apachectl restart
    • ~/Sites文件夹中放入测试网页,访问http://localhost/~oulafen/ 试一下是否配置成功。

更改根目录:

  • /etc/apache2/httpd.conf文件里的 /Library/WebServer/Documents/ 都替换成自己的路径,比如 ~/Sites
  • 重启Apache,再次访问 http://localhost,即可显示修改后的文件路径中的内容。

配置虚拟主机:

  • sudo vi /etc/apache2/httpd.conf
  • 在 httpd.conf 中找到 #Include /private/etc/apache2/extra/httpd-vhosts.conf ,去掉前面的# ,重启Apache sudo apachectl restart
  • 配置虚拟主机文件 httpd-vhost.conf

    1
    sudo vi /etc/apache2/extra/httpd-vhosts.conf

    在文件中加入类似如下代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <VirtualHost *:80>
    DocumentRoot "/Users/oulafen/Sites"
    ServerName localhost
    DirectoryIndex index.php
    <Directory />
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
    </VirtualHost>
    <VirtualHost *:80>
    DocumentRoot "/Users/oulafen/Sites/mysite" ##项目根目录
    ServerName mysite.com ##在本地访问的域名,最好不要与线上的冲突
    DirectoryIndex index.php
    <Directory />
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
    </VirtualHost>

    保存并退出后,重启Apache,访问 http://localhost/mysite/http://mysite.com 查看效果。

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(); ?>

关于 php.ini:

  • 先复制一份 php.inisudo cp /etc/php.ini.default /etc/php.ini
  • 然后就可以通过php.ini来配置各种PHP功能了。
    例如修改 upload_max_filesizememory_limitpost_max_size三项值,来调整PHP提交文件的最大值,比如phpMyAdmin中导入数据的最大值。

mySql

  • OS X Mavericks 中并没有集成 Mysql,需要手动安装。可以点击 http://dev.mysql.com/downloads/mysql/ 去官网下载 MySQL 的安装包。建议下载稳定版。
  • 安装。安装过程中会提示初始密码,切记要记住此密码。
  • 安装成功后,从‘系统偏好设置 → 拉到最下边看到 MySQL → 点击进入可以看到MySQL状态’,最终让其保持在开启状态即可。
  • 设置 mysql命令
    • vi ~/.bash_profile
    • 然后按字母 i 进入编辑模式,将下面的这句代码贴进去:
      export PATH="/usr/local/mysql/bin:$PATH"
    • 保存并退出
    • 重新加载一下 Shell 以让上面的环境变量生效:source ~/.bash_profile
    • 之后你就可以在终端的任意目录使用 mysql 命令了,可运行 mysql -v 测试
  • 下载workbench 或 phpmyadmin安装,进行mysql的可视化操作。

常见问题:

  • 2002 socket 错误
    • 杀掉mysql进程后再进行操作
      sudo mkdir /var/mysql
      sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock