Mac OSX 搭建 Apache php mySql phpMyAdmin 开发环境
基本环境和配置
Mac 系统: OS X EI Caption 10.11.4
当前Mac用户名:
ceshi
需要熟知的几个基本概念和操作:
1. 新建一个终端默认的是路径是:
/Users/当前用户名, 因此本教程的结果是:
/Users/ceshi

2. 命令行显示文件
显示非隐藏文件:
ls
显示隐藏文件和非隐藏文件:
ls -a
3. 显示mac系统的所有隐藏文件
defaults write com.apple.finder AppleShowAllFiles -bool true
一: Apache配置
1.1 启动Apache
OSX 已经自带Apache服务,所以只有一行命令行就可以启动Apache
开启Apache服务:
sudo apachectl start
停止Apache服务:
sudo apachectl stop
重启Apache服务:
sudo apachectl restart
以上3条命令,在我本机上测试没有返回信息(这太让人崩溃了).
查看Apache版本:
httpd -v

Apache配置的默认目录是:
/etc/apache2 貌似这个无法去更改.主要修改里面的httpd.conf文件
验证Apache服务器是否开启:
在浏览器中输入: localhost
会在浏览器页面显示:
It works!
因为在默认的Apache配置情况下,Apache的Document Root目录是:
/Library/WebServer/Documents
这个It works 就是里面的info.php打印出来的。下面介绍如何将apache的这个默认目录更改到用户目录下。
你可以打开info.php文件:可以看到是:

1.2 更改Apache默认目录
1. 选择你想更改后的Apache默认目录例如:
/Users/ceshi/Documents/apache/sites 这里的目录可以随便填写
2. 进到 /etc/apache2/users/目录下,输入一下命令行
sudo vim ceshi.conf 这里 一定要用 sudo, 否则你无法编辑
注意把 ceshi 用户名换成你自己的 用户名
编辑的内容:
<Directory "/Users/ceshi/Documents/apache/sites">
Options Indexes MultiViews
AllowOverride All
Require all granted
</Directory>
3. 更改该文件的权限:
sudo chmod ceshi.conf
4. 进到/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”就能快速找到需要查找的词。
注释就是把前面的 # 给去掉.
同时修改:
DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">
为:
DocumentRoot "/Users/ceshi/Documents/apache/sites"
<Directory "/Users/ceshi/Documents/apache/sites">
5.进到/etc/apache2/extra/目录,
sudo vim httpd-userdir.conf
将Include /private/etc/apache2/users/*.conf 这句话放开注释。
6. 重启Apache
sudo apachectl restart
7. 复制文件
cp /Library/WebServer/Documents/index.en /Users/ceshi/Documents/apache/sites/index.html
8. 这个时候再在浏览器输入localhost.

这样Apache就成功修改目录了.
注释:
在此期间如果遇到类似于这样的错误:
403 Forbidden “Forbidden You don't have permission to access / on this server” 或者是其他各种错误.
一定要先去Apache错误log日志里去找到错误的原因:
错误log日志目录:
/private/var/log/apache2
下面有两个文件

用文本编辑器打开error_log文件,找到里面的错误,然后自行google一下就能找到修复的答案, 不要直接搜Forbidden You don't have permission to access / on this server, 因为有很多种情况都会导致上述的错误的.
例如文件夹的权限
在apache目录下没有index.php,index.html等文件.
二: php配置
PHP的配置非常简单,就一个事,
1. 进到/etc/apache2/目录,编辑httpd.conf,找到LoadModule php5_module libexec/apache2/libphp5.so将其放开注释就行了。
2. 然后sudo apachectl restart 重启,
3. 在Apache的目录上
/Users/ceshi/Documents/apache/sites apache配置的目录
新建一个index.php,里面echo phpinfo() ,就可以看到效果了.
4. 在浏览器上刷新localhost, 就会看到:

三:安装MySql
如果你是初次接触服务端知识: 一定要先问问你周围的朋友当前MySql的主要用哪个版本.
我在安装MySql的时候,先去官网看的,发现5.7是最新的,然后开始各种安装,遇到的问题,上网各种搜索.结果完全无法解决.
因为5.7 有很多的情况跟当前主要用的5.6版本都是有区别的.
1. 去官网下载5.6的版本:
最好选择dmg格式的
http://dev.mysql.com/downloads/mysql/5.6.html#downloads
需要注册Oracle账号,才能下载.
我当前下载的是这个:

http://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.30-osx10.11-x86_64.dmg
2. 双击dmg文件直接傻瓜式安装就可以了.
默认状态下, mysql的配置目录在:
/usr/local/mysql

3. 启动MySql
sudo /usr/local/mysql/support-files/mysql.server start
4. 配置环境变量
打开新的终端,默认的是用户根目录:
/Users/ceshi
输入
vim .bash_profile 输入:
export PATH=”/usr/local/mysql/bin:$PATH”
注释: .bash_profile 有可能不存在.
退出 vim
然后在终端输入:
source .bash_profile
使环境变量生效。接着就可以直接在终端里输入mysql命令了。
然后通过:
mysqladmin -u root password '123456'
去更改密码,123456 就是你的密码,可以换成任意的密码.
有的时候
启动 Apache 命令: sudo apachectl start
关闭命令: sudo apachectl stop
重启命令:sudo apachectl restart
查看 Apache 版本命令:httpd -v
apache默认站点目录: /Library(资源库)/WebServer/Documents/
修改俺怕车站点目录: 编辑这个文件的相关行:
sudo vi /etc/apache2/httpd.conf
apache log日志路径: /private/var/log/apache2
Mac OSX 搭建 Apache php mySql phpMyAdmin 开发环境的更多相关文章
- Mac下搭建Apache+PHP+MySql运行环境
https://www.cnblogs.com/xiaovw/p/8854896.html 前言 我们在Mac上搭建Apache+PHP+MySql环境是非常方便的,因为Mac预装的有Apache和P ...
- Mac下搭建基于PlatformIO的嵌入式开发环境(STM32开发)
PlatformIO简介 PlatformIO是开源的物联网开发生态系统.提供跨平台的代码构建器.集成开发环境(IDE),兼容 Arduino,ESP8266和mbed等 支持在Windows.Lin ...
- Ubuntu搭建 Apache、MySQL、PHP环境
以Ubuntu 16.04为例: 1.安装MysSQL 打开命令行输入 :sudo apt-get install mysql-server 输入管理员密码 选择Y 在安装的中间会出现输入Mysql的 ...
- Apache+MySQL+PHP开发环境的搭建(二)
通过自主选择相应的apache,mysql,php等软件,根据自己的应用开发需求进行安装.此方法搭建的环境自主性较强,搭建过程较为复杂,繁琐. 1.所需软件: Apache: http-2.2.22- ...
- Apache+MySQL+PHP开发环境的搭建(一)
通过套件来安装和配置php开发环境. 1.所需软件:AppServ(因为是开源,任何网站都能下载) 安装本软件基本上就是下一步. 2.进行安装 选择一个盘安装该软件点击next继续: 根据自己的实际情 ...
- Apache+PHP+MySQL+phpMyAdmin环境搭建
最近在学习web服务端开发,一开始是使用wamp的,后来决定自己完整配置一下环境,并把整个过程记录下来.其中,Apache是服务器,php是用来编写服务端的语言,MySQL作为数据库,phpMyAdm ...
- windows下搭建Apache+Mysql+PHP开发环境
原文:windows下搭建Apache+Mysql+PHP开发环境 要求 必备知识 熟悉基本编程环境搭建. 运行环境 windows 7(64位); Apache2.2;MySQL Server 5. ...
- 腾讯云服务器搭建Apache/PHP/MySQL环境
软件环境 Windows Server 2008 R2 企业版 SP1 64位 刚刚进入 Windows Server ,你会看到以下界面: 列出了服务器的基础信息和常用配置 下载 XAMPP htt ...
- Django Python MySQL Linux 开发环境搭建
Django Python MySQL Linux 开发环境搭建 1.安装Python 进行Python开发,首先必须安装python,对于linux 或者Mac 用户,python已经预装. 在命令 ...
随机推荐
- 使用charles抓取htpps的方法
自己整理的步骤做个记录 1.下载证书,官方地址:http://www.charlesproxy.com/ssl.zip 可直接点击链接下载:http://charlesproxy.com/getssl ...
- 简谈-如何使用Python和R组合完成任务
概述 和那些数据科学比赛不同,在真实的数据科学中,我们可能更多的时间不是在做算法的开发,而是对需求的定义和数据的治理.所以,如何更好的结合现实业务,让数据真正产生价值成了一个更有意义的话题. 数据科学 ...
- 创建,删除DOM
需求说明: 1.上传图片,有删除功能,可上传5张,至少上传一张 html代码如下 <div class="imgUpBox"> <div class=" ...
- css3常用方法以及css3选择器
最重要的 CSS3 模块包括: 选择器 框模型 背景和边框 文本效果 2D/3D 转换 动画 多列布局 用户界面 CSS3 边框 CSS3 边框 通过 CSS3,您能够创建圆角边框,向矩形添加 ...
- [Git]03 如何查看提交历史
在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 gitlog 命令查看. 常用命令 1.查看提交历史 $ git log 2.查看某个文件或者某个目录的递交历史 $ gi ...
- 蓝桥杯-搭积木-java
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...
- 一个大数据平台省了20个IT人力——敦奴数据平台建设案例分享
认识敦奴 敦奴集团创立于1987年,主营服装.酒店.地产,总部位于中国皮都-海宁.浙江敦奴联合实业股份有限公司(以下简称"敦奴")是一家集开发.设计.生产.销售于一体的大型专业服装 ...
- [故障公告]14:39-15:39博客站点部分负载均衡遭遇3次20G以上的流量攻击
非常抱歉,今天下午14:39-15:39左右,博客站点的部分负载均衡遭遇3次20G以上的流量攻击,造成很多用户不能正常访问.由此给您带来麻烦,请您谅解. 攻击的过程是这样的: 14:39,第1次攻 ...
- 深入浅出理解yield
索引 转载部分内容来自:http://www.jianshu.com/p/d09778f4e055 [彻底理解yield] http://blog.csdn.net/haskei/article/de ...
- vue视频学习笔记02
video 2 vue制作weibo交互 vue-> 1.0vue-resource ajax php服务器环境(node) this.$http.get()/post()/jsonp() th ...