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已经预装. 在命令 ...
随机推荐
- 2017-4-26 winform 菜单和工具栏
如何让radiobutton进行分组: 用Panel 相当于div 菜单和工具栏: MenuStrip(菜单条) ShortcutKeys-------------------------与菜单 ...
- [ext4] 磁盘布局 - extent tree
传统的类Unix文件系统,比如Ext3,都是使用一个间接数据块映射表来记录每一个数据块的分配情况的.但是这种机制对于超大文件的存储是有缺陷的,特别是当对超大文件进行删除和截断操作时.映射表会对每一个数 ...
- C语言精要总结-指针系列(一)
考虑到指针内容繁多,这里将指针作为一个系列,从简入繁,一点一点深挖并掌握这C语言的精华.初步计划如下 此文为指针系列第一篇: C语言精要总结-指针系列(一) 内存与地址 我们可以把内存看做一排连续的房 ...
- 原创-angularjs2不同组件间的通信
AngualrJs2官方方法是以@Input,@Output来实现组件间的相互传值,而且组件之间必须父子关系,下面给大家提供一个简单的方法,实现组件间的传值,不仅仅是父子组件,跨模块的组件也可以实现传 ...
- 详解Java动态代理机制
之前介绍的反射和注解都是Java中的动态特性,还有即将介绍的动态代理也是Java中的一个动态特性.这些动态特性使得我们的程序很灵活.动态代理是面向AOP编程的基础.通过动态代理,我们可以在运行时动态创 ...
- (详细)php实现留言板---会话控制-----------2017-05-08
要实现留言功能,发送者和接受者必不可少,其次就是留言时间留言内容. 要实现的功能: 1.登录者只能查看自己和所有人的信息,并能够给好友留言 2.留言板页面,好友采取下拉列表,当留言信息为空时,显示提示 ...
- 使用命令行的方式操作hdfs
必须要用打全路径,没有相对路径的概念,或者cd的概念 打印报告: 所有的命令显示出来: 以下的操作分别是创建创建文件夹,删除文件夹,显示文件夹,可见删除文件夹只能够使用-rmr . 从本地拷贝文件到h ...
- PAT1028. List Sorting (25)---strcmp
题目链接为:https://www.patest.cn/contests/pat-a-practise/1028 1028. List Sorting (25) Excel can sort reco ...
- C# 中直接调用js方法
请注意,我这段代码中实现js方法中有 funcName(argument) 这种一个入参的调用. using System; namespace game2_36.Common { public cl ...
- JAVA Semaphore详解
Semaphore(信号量):是一种计数器,用来保护一个或者多个共享资源的访问.如果线程要访问一个资源就必须先获得信号量.如果信号量内部计数器大于0,信号量减1,然后允许共享这个资源:否则,如果信号量 ...