07月26, 2016

Mac OS X 10.9配置AMP环境

2016年9月27日更新

MySQL 5.7 更新密码的方式修改(以前的 password 字段不存在,修改为 authentication_string

遇到的错误提示:

ERROR 1054 (42S22): Unknown column 'password' in 'field list'

解决的办法:

update user set authentication_string=password("小撸") where user="root";
flush privileges;

2015年5月9日更新

更新内容:针对Mac OS X 10.10.3不能访问用户目录

http://localhost/~lulin

检查Apache版本是否升级

Server version: Apache/2.4.10 (Unix)
Server built:   Jan  8 2015 20:48:33

修改的地方有以下 3 点:

(1)/etc/apache2/httpd.conf

打开如下配置(去除#注释)

LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
# 这两项是重点检查对象
LoadModule userdir_module libexec/apache2/mod_userdir.so
Include /private/etc/apache2/extra/httpd-userdir.conf

修改完后访问会出现,所以还需要修改(2)中的文件

Forbidden
You don"t have permission to access /~lulin/ on this server.

(2)/etc/apache2/extra/httpd-userdir.conf

打开如下配置(去除#注释)

Include /private/etc/apache2/users/*.conf

(3)修改之前 10.9 中 /etc/apache2/users/.conf

<Directory "/Users/lulin/Sites/">
    Options Indexes MultiViews
    AllowOverride None
    Require all granted
</Directory>

前言

因为每次重新安装系统都需要配置一下Apache、MySQL、PHP的环境,网上的文章又不完整或者不完全符合自己的情况,所以写下一篇文章来记录一下,保证99%配置成功,还剩1%由于各种奇葩环境原因。。。主要从 6 个方面进行记录:

  1. 启动Apache
  2. 建立个人的网站目录
  3. 启动php的解析功能
  4. 安装、启动mysql
  5. 修改mysql root密码
  6. 使用客户端连接mysql

一、启动Apache

查看Apache的版本信息:

$ httpd -v

Server version: Apache/2.2.26 (Unix)
Server built:   Dec 10 2013 22:09:38

启动Apache

$ sudo apachectl restart

如果终端中显示:

org.apache.httpd: Already loaded

就表示已经启动过了,可以使用重启命令:

$ sudo apachectl restart

这样我们的准备工作就做完了,第一步不要太复杂,不然配置会混乱,不太好还原之前的状态。接下来访问:

http://localhost

如果出现如下图情况,就表示一切顺利,我们再接下去配置,如果没有成功,其实就不推荐再折腾啦,重装系统是最快的解决方案。。。

It works!

接下来我们来看看为什么吧。

  • Apache默认的网站目录:/Library/WebServer/Documents
  • 默认访问的文件:/Library/WebServer/Documents/index.html.en

好吧,这样就很好理解了,我们不需要看Apache的配置文件,这样只会让配置变得复杂。

当然,配置好啦之后,我们就应该了解为什么是这个目录,现在可以使用快捷键(shift+command+G)打开对应目录(有界面还是尽量使用可视化操作,会让你更加专注的学习正在配置的东西):

/etc/apache2

你会发现有一个:httpd.conf 文件,这个文件里面就配置了默认的网站目录,你可以使用sublime text等编辑器(使用编辑器可以更好的处理权限等问题)查找“/Library/WebServer/Documents”,一看就明白了。

OK,现在上面的入门配置好啦,接下来就需要在/Users/下配置自己的网站目录,你可能要问为什么,首先,使用默认的目录不是程序员的范,其次就是那个目录的权限太高,每次修改内容都需要使用sudo权限,不太方便。

二、建立个人的网站目录

首先,需要在你的个人目录下面创建一个Sites目录(为什么叫这个名字呢?可以google一下,是有故事的,这里就不多描述了,单纯的先把成果搞出来),网上教使用:

$ mkdir Sites

这种方式来创建目录,这里必须要说一下,既然你用的Mac OS X可视化系统,需要这么复杂吗?右键,新建文件夹,就OK。

接下来我们就需要修改一些配置了:

  • 搞一个自己的配置文件,放入:/etc/apache2/users,比如我的配置
/etc/apache2/users/lulin.conf
  • 提升你对该配置文件的权限,这个用终端瞬间秒杀
$ sudo chmod 755 /etc/apache2/users/lulin.conf
//验证一下修改正确没有,首先验证lulin.conf文件,其次验证/etc/apache2/users这个目录的权限,不然遇到蛋疼的时候没头绪
$ cd /etc/apache2/users && ls -la
$ cd .. && ls -la

显示如下图情况就表示没问题了:

验证权限

最后需要配置一下"/etc/apache2/users/lulin.conf"这个conf文件,使用sublime text打开加入内容如下:

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

改了配置嘛,不管怎么,要我们的环境保证是修改后的结果,就重启一下Apache吧。

$ sudo apachectl restart

输入访问地址:

http://localhost/~lulin/

如果出现权限问题,那么可以查看一下“/etc/apache2/users/lulin.conf”这里的文件权限是否正确。

个人网站目录

这样个人的自定义目录也搞定了,接下我们如果想访问php文件的话就还需要一点简单配置,不然的话php文件会被当做普通文本来解析,离成功不远啦。

三、启动php的解析功能

使用快捷键直接定位到配置文件:

/etc/apache2/httpd.conf

打开后只需要去除一句话的注释即可搞定,使用编辑器来搜索吧,so easy!(去除前面的#号即可,这就是conf的特性而已)

LoadModule php5_module libexec/apache2/libphp5.so

接下来老规矩,保证不踩坑,重启一下Apache。

$ sudo apachectl restart

写一个简单的php文件测试一下配置结果,这次我们把php文件建在我们个人的网站目录"/Users/lulin/Sites"吧。

  • 新建一个 index.php 页面,Apache会默认解析index.php
  • 敲入简单代码,别偷懒,敲完整哦,不然万一你的某个配置没开就踩坑里了:
<?php
    echo phpinfo();
?>

PHP经典页面

显示下面经典测试php的页面,即OK。

四、安装、启动mysql

安装去官网下载一份就行,我这里下载的版本是:mysql-5.6.21-osx10.9-x86_64.dmg

建立下载dmg文件,安装方便,会默认建立软连接等东西。

安装完后,我们先找到安装的mysql,这样方便以后配置,简单的查看目录就在:

//软连接
/usr/local/mysql
//真实目录
/usr/local/mysql-5.6.21-osx10.8-x86_64

安装的详情可以查看官方说明,我找了很多资料发现还是官方比较直观。

MySQL安装官网

不过官网更新不是特别快,其中的安装默认启动项已经在我安装的版本不需要自己搞了,已经有了,可以查看【系统偏好设置查看】,安装MySQL后默认是关闭的,我们也进去启动一下。

入口

MySQL启动配置

现在依然在终端输入:mysql 命令还不能识别到命令,我们需要配置环境变量,这个在终端下面好弄一点,我们就采用命令的方式修改:

$ sudo vim ~/.bash_profile

在.bash_profile文件中加入MySQL的可执行目录:

export PATH="/usr/local/mysql/bin:$PATH"

最后刷新一下配置:

$ source ~/.bash_profile

接下来我们就可以在终端之间输入:mysql 命令就能够以非root用户登录了。

现在MySQL环境搭建完成,要正常使用我们需要配置root用户,默认root用户的密码是空值,实际使用肯定需要修改一下。

五、修改mysql root密码

网上介绍了很多方法,我觉得最直接,最快速的方法是使用空密码,以root用户的身份登录进入MySQL控制台,然后再去更新密码即可。

$ mysql -u root -p
$ 直接回车登录
//下面模拟MySQL控制台
//因为是在MySQL下,所以SQL关键字采用小写更方便,如果你是Oracle的话还是推荐都是用大写
mysql > show databases; //看一下所有数据是否齐全
        > use mysql; //切换到mysql库
        > update user set password=password("lulin") where user="root";
        > flush privileges; //一定要记住刷新权限,不然修改密码不生效
        > exit; //退出,使用修改后的密码重新登录,确定是否修改成功

现在MySQL的配置基本上结束了,更多的配置可以配置my.cnf,在windows下是my.ini,都是其他文件重命名的,这个可以google查阅到详细配置。

六、使用客户端连接mysql

上面的配置结束啦,我们不可能每次都在MySQL控制台搞吧,效率太low,这里我介绍几个客户端:

  • Mac OS X平台

Querious

这个使用过一段时间,需要收费,不太好破解官方出的最新版本,不过还挺好用,这里我就不用了,找个免费的用用。

Sequel Pro

下载地址:http://www.sequelpro.com/download

可能被墙访问有点慢,我就将最新版放入了360云盘,大家可以去下。

云盘地址:http://yunpan.cn/cA5FY26fdqTsm (提取码:b343)

使用就so easy啦,Sequel Pro 配置如下图:

Sequel Pro 连接MySQL

记得把常用连接加入收藏就行,不然每次都要输来输去,Host建立使用127.0.0.1,原因可以google,不过Querious之前我用的时候输入localhost会默认转换成127.0.0.1,还比较人性化。

  • Windows平台

只推荐一款利器,用过很多,没有之一,就它最好用:

navicat for mysql

这个客户端是收费的,不过如果你使用的时8.0版本,在baidu搜索:

navicat for mysql 注册码

关键字,第一个搜索结果里面就有注册码。

本文链接:http://www.60sky.com/post/mac-os-x-10.9-config-amp.html

-- EOF --

Comments