MAC OSX10.10上搭建Apache,PHP,MySQL5.6.22,phpMyAdmin开发环境

澳门新葡亰赌995577 7

Mac下搭建lamp开发环境很容易,有xampp和mamp现成的集成环境。但是集成环境对于经常需要自定义一些配置的开发者来说会非常麻烦,而且Mac本身自带apache和php,在brew的帮助下非常容易手动搭建,可控性很高。

用惯了在Windows上一个appserv或phpStudy压缩包搞定,要在MAC上捣腾一个PHP开发环境还不大习惯。但自己亲自配一下环境还是有所收获的。众所周知OSX上自带了Apache和php,所以这两个搞起来还比较顺利。装MySQL的最新版5.6.22版颇费周折,本文详细记录之。

Brew

apache的配置

apache已经自带了,只需如下三个命令就可以了。
开启apache服务 sudo apachectl start
澳门新葡亰赌995577,停止apache服务 sudo apachectl stop
重启服务 sudo apachectl restart
查看版本 httpd -v

手动打开apache服务后,在浏览器输入localhost,将看到如下:
澳门新葡亰赌995577 1

程序的根目录在/Library/WebServer/Documents/ 下,这个It works
就是里面的info.php打印出来的。下面介绍如何将apache的这个默认目录更改到用户目录下。
1,在自己的用户目录下新建一个Sites文件夹,我的用户目录为yanzi

2,进到cd /etc/apache2/users/目录下,sudo vim username.conf,内容为:

<Directory "/Users/yanzi/Sites/">
AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted
</Directory>

上面第一行里的yanzi就是用户目录。然后将该文件权限改为644:
sudo chmod 644 username.conf

3,进到/etc/apache2/目录,sudo vim 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
注释放开。
PS:在vim下只要切换到命令模式,然后输入/”words you need
find”就能快速找到需要查找的词。

4,进到/etc/apache2/extra/目录,
sudo vim httpd-userdir.conf
将Include /private/etc/apache2/users/*.conf 这句话放开注释。

然后终端输入:sudo apachectl restart 重启apache,浏览器输入:
loacal/~yanzi/
就能看到效果了。(yanzi是我的用户目录的名字,后面不用再加/Sites
经过以上步骤apache就搞好了。

brew对于mac,就像apt-get对于ubuntu,安装软件的好帮手,不能方便更多…

PHP配置

PHP的配置非常简单,就一个事,进到/etc/apache2/目录,编辑httpd.conf,找到LoadModule
php5_module libexec/apache2/libphp5.so将其放开注释就行了。

然后sudo apachectl restart
重启,在用户目录的Sites文件夹下,新建一个index.php,里面echo phpinfo()
,就可以看到效果了:
澳门新葡亰赌995577 2

brew的安装方式如下:

安装MySQL5.6.22

这个版本是最新的MySQL,安装方法跟5.5的略有不同。在官网下载mysql-5.6.22-osx10.9-x86_64.dmg,下面是安装方法:
1,双击安装的时候,不要勾选StartUp Item这一项:
澳门新葡亰赌995577 3
如此安装完毕后,在设置---MySQL手动开启MySQL服务。
澳门新葡亰赌995577 4
我这里已经打开了MySQL服务。下面要将其设置为开机自动启动。

2,默认状态下,我们用mysql的命令每次都要输入全路径,如sudo
/usr/local/mysql/support-files/mysql.server start
开启mysql服务,/usr/local/mysql/bin/mysql
-v查看mysql版本,得先把bin目录配到环境变量里。切换到用户根目录 ,vim
.bash_profile,输入:
export PATH=”/usr/local/mysql/bin:$PATH”
保存后,source
.bash_profile使环境变量生效。接着就可以直接在终端里输入mysql命令了。
最后,通过mysqladmin -u root password ‘yourpasswordhere’
给mysql的root用户设置密码。单引号里的内容就是要设的密码。

备注:有时上面这个命令不能修改root密码,需要借助phpmyadmin来修改。其实mysql这个版本默认的root密码为root。

3,修复socket error的问题。有一个负责mysql 服务器
客户端通讯的socket文件,mysql的这个版本将其放在/tmp目录,但是OSX却默认的找
/var/mysql 这个目录,所以要建个软链接。新建目录 /var/mysql, 然后sudo ln
-s /tmp/mysql.sock /var/mysql/mysql.sock 就ok了。

4,让mysql开机自动启动。
sudo vim /Library/LaunchDaemons/com.mysql.mysql.plist,里面内容输入:

KeepAlive

Label
com.mysql.mysqld
ProgramArguments

/usr/local/mysql/bin/mysqld_safe
–user=mysql

保存后,修改权限:
sudo chown root:wheel /Library/LaunchDaemons/com.mysql.mysql.plist
sudo chmod 644 /Library/LaunchDaemons/com.mysql.mysql.plist
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
这样mysql就ok了!

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"

phpMyAdmin的安装


下载,我下的是phpMyAdmin-4.4.2-all-languages.zip这个版本,将其解压。然后最外层文件夹名字修改为phpmyadmin,进到~/Sites/phpmyadmin这个目录,新建文件夹:mkdir
config 修改读写权限:chmod o+w config
然后浏览器输入: (注意
中间的yanzi 换成自己的用户名称)
澳门新葡亰赌995577 5
点击 “新建服务器“,我上面已经新建好了,然后在这个界面:
澳门新葡亰赌995577 6
密码处输入mysql的root用户密码。然后点击”应用”,记得在如下界面点击保存按钮这样config文件夹下就生成了config.inc.php,将该文件拷贝到phpmyadmin的根目录下。
澳门新葡亰赌995577 7
然后删除整个config文件夹。输入
就可以看到登陆phpmyadmin的界面了。 如此,phpMyAdmin搞定。

brew常用选项

读写权限和分组问题

最后遗留一个读写权限和归属问题,如果本地开发测试的话,这个步骤可以忽略。如果想让自己的mac切实作为一台服务器,那么这个还要设置下的。这个步骤等同于在布阿里云代码的时候,让public_html文件夹的所有东西可写,且归属于www一个意思。假设Sites文件夹下有个自己的项目:testsite
sudo chmod -R a+w ~/Sites/testsite 设置所有人都可以读写

sudo chown -R _www ~/Sites/testsite 设置testsite文件夹只归属_www组。

OK,PHP在MAC上的搭建到此结束。

参考文献:
1.
2.
(参考这个没有搞成功)

附一个设置php虚拟主机的链接:

另外 ,如果你一不小心安错了,那么可以参考下面删除mysql:

版权声明:本文为博主原创文章,未经博主允许不得转载。


brew install xxx
brew uninstall xxx
brew list 
brew update xxx

Apache || Nginx

Apache

Apache的话使用mac自带的基本就够了,我的系统是10.9,可以使用以下命令控制Apache

sudo apachectl start
sudo apachectl restart
sudo apachectl stop

唯一要改的是主目录,mac默认在home下有个sites(站点)目录,访问路径是

http://localhost/~user_name

这样很不适合做开发用,修改/etc/apache2/httpd.conf内容

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

这样sites目录就是网站根目录了,代码都往这个下头丢

Nginx

要使用Nginx也比较方便,首先安装

brew install nginx

启动关闭Nginx的命令如下(如果想要监听80端口,必须以管理员身份运行)

#打开 nginx
sudo nginx
#重新加载配置|重启|停止|退出 nginx
nginx -s reload|reopen|stop|quit
#测试配置是否有语法错误
nginx -t

配置Nginx

cd /usr/local/etc/nginx/
mkdir conf.d

修改Nginx配置文件

vim nginx.conf

主要修改位置是最后的include

worker_processes  1;  

error_log       /usr/local/var/log/nginx/error.log warn;

pid        /usr/local/var/run/nginx.pid;

events {
    worker_connections  256;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log      /usr/local/var/log/nginx/access.log main;
    port_in_redirect off;
    sendfile        on; 
    keepalive_timeout  65; 

    include /usr/local/etc/nginx/conf.d/*.conf;
}

修改自定义文件

vim ./conf.d/default.conf

增加一个监听端口

server {
    listen       80;
    server_name  localhost;

    root /Users/username/Sites/; # 该项要修改为你准备存放相关网页的路径

    location / { 
        index index.php;
        autoindex on; 
    }   

    #proxy the php scripts to php-fpm  
    location ~ .php$ {
        include /usr/local/etc/nginx/fastcgi.conf;
        fastcgi_intercept_errors on; 
        fastcgi_pass   127.0.0.1:9000; 
    }   

}

这个时候还不能访问php站点,因为还没有开启php-fpm。

虽然mac
10.9自带了php-fpm,但是由于我们使用了最新的PHP,PHP中自带php-fpm,所以使用PHP中的php-fpm可以保证版本的一致。

这里的命令在安装完下一步的php后再执行

sudo nginx
sudo php-fpm -D

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图