Mac OS X 配置 Apache+Mysql+PHP 详细教程
网上的教程已经有很多,这里简洁的记录一下。以 Mac OS X Mavericks 10.9.X 为例。
先附上如何进入指定目录文件夹,按键盘 Command + Shift + G ,然后输入指定目录名即可。
工具/原料
- 以 Mac OS X Mavericks 10.9.X 为例。
一、启动 Apache
- 1
Mac OS X 系统已经集成了 Apache+PHP 环境,依次进入“系统偏好设置 -> 共享” ,开启“Web 共享”,就可以打开 Apache。
但新版的 Mac OS X 中,苹果取消了这个共享功能的图形界面,只能从命令行开启。
- 2
在终端里输入命令,启动 Apache: sudo apachectl start
关闭 Apache: sudo apachectl stop
重启 Apache:sudo apachectl restart
查看 Apache 版本:httpd -v
Mac OS X 10.9.X 中的 Apache 版本信息:
Server version: Apache/2.2.26 (Unix) Server built: Dec 10 2013 22:09:38
- 3
启用 Apache 之后,在浏览器中访问 http://localhost 或 http://127.0.0.1,如果出现“It works!”就表示运行正常。
END
二、Root 目录
- 1
OS X 中默认有两个目录可以直接运行你的 Web 程序,一个是系统级的 Web 根目录,一个是用户级的根目录,大家记下即可。
注:以下 haibor 为用户名,需要按实际修改。
Apache系统级的根目录及对应网址是:
/Library/WebServer/Documents/ http://localhost
用户级的根目录及对应网址是:
~/Sites http://localhost/~haibor/
~/Sites 也就是你用户目录下面的”站点”目录,在 OS X 中,这个目录可能没有,所以你需要手动建立一个同名目录。
建立方式很简单,直接在终端中运行:
sudo mkdir ~/Sites
- 2
建立“站点”文件夹之后,检查 /etc/ 文件夹下面是不是有“haibor.conf”这个文件:
/etc/apache2/users/
如果没有,那么你需要创建一个,取名为“haibor.conf”,可以使用 vi 或者 nano 这两种编辑器之一来创建。
sudo vi /etc/apache2/users/haibor.conf
创建之后将下面的这几行内容写到上面的 conf 文件中:
<Directory "/Users/haibor/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
- 3
文件保存之后,给它赋予相应的权限:
sudo chmod 755 /etc/apache2/users/haibor.conf
接下来重启 Apache,以使该配置文件生效:
sudo apachectl restart
之后你就可以通过浏览器访问你的用户级目录网页了,你可以随便防个网页进去测试一下。根目录地址为:
http://localhost/~haibor/
也可以更改根目录,但要记得给新文件夹设置,文件夹需要有执行权限x,设置了755就可以了:
mkdir /Users/user/workspace chmod 755 /User/user/workspace
把/etc/apache2/httpd.conf文件里的 /Library/WebServer/Documents/ 都替换成自己的路径,比如 /User/user/workspace
重启Apache:apachectl restart,再次访问localhost即显示的是更改后的文件里的内容了。
END
三、启动 PHP
- 1
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(); ?>
END
四、安装 MySQL
- 1
OS X Mavericks 中并没有集成 Mysql,需要手动安装。
你可以点击 http://dev.mysql.com/downloads/mysql/ 去官网下载 MySQL 的安装包。
请下载 Mac OS X 10.7 (x86, 64-bit), DMG Archive (如有更新版本,可下载)。
下载完DMG之后,双击你会提取出三个文件和一个 RedMe.txt 文档。这三个文件分别是:
mysql-5.6.15-osx10.7-x86_64.pkg
MySQLstartupitem.pkg
MySQL.PrefPane
你需要逐一安装这三个文件,MySQLStartupItem.pkg安装后,mysql会随系统启动而自启动,MySQL.prefPane表示可以在系统偏好设置中看到mysql选项,还有一个就是mysql的安装项。
- 2
三个文件都安装完成之后,进入「系统偏好设置」,在面板的最下面你会看到一个 MySQL 的设置项,点击它之后就可以启动MySQL。
也可以通过命令开启mysql:
sudo /usr/local/mysql/support-files/mysql.server start
如果你想查看 MySQL 的版本,可以用下面这个命令:
/usr/local/mysql/bin/mysql -v
运行上面这个命令之后,会直接从命令行中登录到 MySQL,输入命令 \q 即可退出。
到这里 MySQL 已经配置完成,并且可以运行。
- 3
为了更加方便使用,最好再设置一下系统环境变量,也就是让 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 试试。
- 4
最后一步,安装好后默认的用户名是root,密码为空,你还应该给你的 MySQL 设置一个 root 用户密码,命令如下:
mysqladmin -u root password '这里填你要设置的密码'
(请记住密码一定要用半角单引号包起来)
上面的 mysqladmin 命令,我没有写完整路径。因为上面我们已经设置了环境变量,如果你没有设置环境变量的话,就需要用/usr/local/mysql/bin/mysqladmin ******** 来运行。
END
五、安装 phpMyAdmin 或 adminer
- 1
在安装 phpMyAdmin 之前,请首先修复 2002 socket 错误:
sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
接着可以在 phpMyAdmin官网下载安装包,推荐下载 english.tar.gz,也可以下载 all-languages.tar.gz 使用中文版,解压之后,将解压出来的文件夹改名为”phpmyadmin”,并放到上面建立的”站点”目录下(~/Sites)。
然后在 phpmyadmin 下建立一个 config 文件夹:
到这里就算完成了,接下来你就可以访问 http://localhost/~haibor/phpmyadmin/
来通过 phpmysql 管理你的数据库了。
也可以使用 adminer 来管理,很方便的说,推荐相关文章 轻量级主流数据库Web端管理工具Adminer。
END
六、设置虚拟主机
- 1
配置 Apache 文件:
sudo vi /etc/apache2/httpd.conf
在 httpd.conf 中找到“#Include /private/etc/apache2/extra/httpd-vhosts.conf”,去掉前面的“#”,“:wq!” 保存并退出。
重启 Apache:sudo apachectl restart 。
- 2
配置虚拟主机文件 httpd-vhost.conf
sudo vi /etc/apache2/extra/httpd-vhosts.conf
实际上,这两个虚拟主机是不存在的,在没有配置任何其他虚拟主机时,可能会导致访问localhost时出现如下提示:
Forbidden You don't have permission to access /index.php on this server
最简单的办法就是在它们每行前面加上#,注释掉就好了,这样既能参考又不导致其他问题。
END
七、关于 php.ini
- 1
先复制一份 php.ini,然后就可以通过php.ini来配置各种PHP功能了。
sudo cp /etc/php.ini.default /etc/php.ini
例如修改 upload_max_filesize、memory_limit、post_max_size 三项值,来调整PHP提交文件的最大值,比如phpMyAdmin中导入数据的最大值。
Mac OS X 配置 Apache+Mysql+PHP 详细教程的更多相关文章
- (转)OS X Mountain Lion 系统配置 Apache+Mysql+PHP 详细教程
如果你是一名 Web 开发者,很多时候都需要在本地搭建服务器测试环境,比如 Apache+Mysql+PHP 这样的环境.事实上 Mac OS X 中想要搭建这样的环境很简单,本文我们就会将详细的教程 ...
- 在Mac OS环境下安装MySQL服务
在Mac OS环境下安装MySQL服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我之前介绍过window环境下安装mysql服务,以及在Linux环境下安装mysql服务,今 ...
- 在Mac OS下配置PHP开发环境
实在厌倦了windows无缘无故的宕机.病毒了吗,哈哈哈,这个跟我都没什么关系.准备使用下现如今牛X到不行的云平台没有办法只好研究下PHP. 现在的云平台支持的语言只有PHP.Java和Python. ...
- mac系统中搭建apache+mysql+php的开发环境,安装mysql后,登录报错:mac ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
php新手在mac系统中搭建apache+mysql+php的开发环境(按照这篇博客来操作的:http://my.oschina.net/joanfen/blog/171109?fromerr=xvC ...
- LAMP----linux+apache+mysql+php详细安装步骤之一APACHE篇(openldap等)
LAMP----linux+apache+mysql+php详细安装步骤之一APACHE篇(openldap等) linux详细版本为RHEL5.3 [root@localhost mail]# un ...
- windows7配置Nginx+php+mysql的详细教程
windows7配置Nginx+php+mysql的详细教程 作者:Vincent.李 字体:[增加 减小] 类型:转载 时间:2016-09-04我要评论 这篇文章主要介绍了windows7配置Ng ...
- Mac OS 自带apache 启动不了的问题
问题:Mac OS 自带apache,启动不了,拒绝访问. 1.先看一下错误日志 /etc/apache2/httpd.conf 2.然后我去找了一下/private/var/log/apache2/ ...
- MySQL安装详细教程(数据库免安装版)
MySQL安装详细教程(数据库免安装版)mysql-5.7.33-winx64.zip 一.软件下载 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产 ...
- mac os x 启用apache 和 php
Mac OS X 是自带 Apache 和 PHP 的,但默认情况下并没有开启,此文说明如何启用这两个服务,环境基于 Mac OS X 10.6 Snow Leopard. 启动 Apache 命令行 ...
随机推荐
- Codeforces 377
简单说一下. A 搜索出任意一个剩余细胞个数的联通块.剩下的填X. B 二分加贪心加数据结构. /* * Problem: * Author: Shun Yao */ #include <str ...
- JAVA NIO 类库的异步通信框架netty和mina
Netty 和 Mina 我究竟该选择哪个? 根据我的经验,无论选择哪个,都是个正确的选择.两者各有千秋,Netty 在内存管理方面更胜一筹,综合性能也更优.但是,API 变更的管理和兼容性做的不是太 ...
- linux appear packet loss solution
故障排查: 早上突然收到nagios服务器check_icmp的报警,报警显示一台网站服务器的内网网络有问题.因为那台服务器挂载了内网的NFS,因此内网的网络就采用nagios的check_icmp来 ...
- 第二百六十五天 how can I 坚持
每天上班闲着没事干好蛋疼啊.周报都不知道怎么写了. 今天加上了毕梦琪,哎,不知咋聊.好烦. 要搞angelarjs了,希望有机会,多搞点东西,要当架构师,哈哈. 量子计算,什么高深的东西,百度百科了下 ...
- c语言中register类型的变量
C语言中: 一.register变量 关键字regiter请求编译器尽可能的将变量存在CPU的寄存器中.有以下几点注意的地方. register变量必须是能被CPU寄存器所接受的类型,这通常意味着re ...
- thymeleaf条件表达式
条件表达式形式:condition, then and else <tr th:class="${row.even}? 'even' : 'odd'"> ... < ...
- ID生成器详解
概述 ID 生成器也叫发号器,它的主要目的就是"为一个分布式系统的数据object产生一个唯一的标识",但其实在一个真实的系统里可能也可以承担更多的作用.概括起来主要有以下几点: ...
- animate平滑回到顶部
Js: //回到顶部 $(".totop").click(function () { $("body,html").animate({scrollTop: 0} ...
- [Ruby01]Class, Module, Object,Kernel的关系
puts Class.ancestorsputs '11111111111111111111'puts Module.ancestorsputs '2222222222222222222'puts O ...
- 百度地图 >> 自定义控件
前言 百度地图API中预定义的UI控件,比如NavigationControl平移缩放控件,CopyrightControl版权控件,MapTypeControl地图类型控件....,这些都继承自抽象 ...