转自:http://www.linuxidc.com/Linux/2015-02/113577.htm
当自己在家敲代码需要发请求时,就可以配置本地Apache,Mac电脑自带的服务器。这个比windows上的本地服务器还要好用,下面写下最快速配置方案。
0.在开始之前需要给自己的电脑设置下开机密码,想开本地服务器这一点是必须的。
一。本地apache服务器
1.首先在自己的电脑昵称的文件夹下 建一个WebSite文件夹
里面随便放上一些后台的假数据。 比如我的就是在/Users/pengyingh/workspace 目录下
2.找到配置文件,给原来文件备份
接下来都是在终端下操作 输入下面指令($后面的代码可以直接复制)
// 切换工作目录
$cd /etc/apache2
// 备份文件,以防不测,只需要执行一次就可以了
$sudo cp httpd.conf httpd.conf.bak
// 提示:下面这行代码不要打,如果后续操作出现错误!才需要使用以下命令,恢复备份过的 httpd.conf 文件
$sudo cp httpd.conf.bak httpd.conf
3.开始修改配置文件
// 用vim编辑httpd.conf
$sudo vim httpd.conf
// 查找DocumentRoot
/DocumentRoot
按下 i 进入编辑模式
可以看到有两个路径 把他们都改成你刚才建的那个WebSite 文件夹的路径
//Esc退出编辑模式
再查找下 php
/php
定位到
#LoadModule php5_module libexec/apache2/libphp5.so
//i 进入编辑模式(或者将光标放在#前面,按x删除后面的“#”)
删除#
(如果是10.10系统的话还有一步:查找Options 输入/Options 也可以目测自己找到图中的位置,在Options和Follow之间增加一个单词)
Options Indexes FollowSymLinks Multiviews
改好之后先按下esc键退出编辑模式,再输入:wq 保存并退出 如果打错了不想保存就是 :q!
4.收尾工作与确认成功
//拷贝配置文件
进入etc cd /etc
$sudo cp php.ini.default php.ini
// 重新启动apache服务器 之后下面说这句话是正常的
$sudo apachectl -k restart
再确认下到底成功了没有,就到浏览器里输入localhost或者本机ip地址,如果能来到下面界面就对了
5.注意事项
注意前面的备份。不要多次备份。
注意再vim编辑下全部使用英文符号和字母
服务器开关的命令就是
$sudo apachectl -k start
$sudo apachectl -k stop
每次关机开机之后再想用服务器就要重新敲下开启的指令
二。webDav服务器
接下来是WebDav服务器,这个是基于apache的,就是你apache已经启动了才能开启webDav服务器的。
当然如果apache已经完全配置好了那webDav也就很好配置了
WebDav完全可以当成一个网络共享的文件服务器使用!
1.继续修改
$ cd /etc/apache2
$ sudo vim httpd.conf
// 查找httpd-dav.conf
/httpd-dav.conf
还是和刚才一样按 i 编辑,定位到这一行后,光标移到最左边按 x 删除 # 号,
(如果你的电脑是10.10系统,还需要有以下下划线的操作:)
通过搜索找到这几行
LoadModule dav_module libexec/apache2/mod_dav.so
LoadModule dav_fs_module libexec/apache2/mod_dav_fs.so
LoadModule auth_digest_module libexec/apache2/mod_auth_digest.so
并且把他们行首的#号删除 (友情提示,他们这些行长的都很像一定要看清了别改错了)
按esc完成编辑,输入:wq退出
// 然后切换目录
$ cd /etc/apache2/extra
// 备份文件(切记只要备份一次就行)
$ sudo cp httpd-dav.conf httpd-dav.conf.bak
// 现在要编辑这个文件了
$ sudo vim httpd-dav.conf
// 查找Digest 把编辑模式从Digest改成Basic 还是那几步,改完了之后保存退出
/Digest
AuthType Digest 改为
AuthType Basic
三。开多端口
Listen 6688
然后去掉 #Include /private/etc/apache2/extra/httpd-vhosts.conf 前面的#
复制DocumentRoot 后面地址到剪贴板
$sudo vi extra/httpd-vhosts.conf
注释掉原内容
#<VirtualHost *:80> # ServerAdmin webmaster@dummy-host1.example.com # DocumentRoot "/usr/docs/dummy-host1.example.com" # ServerName dummy-host1.example.com # ErrorLog "/private/var/log/apache2/dummy-host1.example.com-error_log" # CustomLog "/private/var/log/apache2/dummy-host1.example.com-access_log" common #</VirtualHost> #<VirtualHost *:80> # ServerAdmin webmaster@dummy-host2.example.com # DocumentRoot "/usr/docs/dummy-host2.example.com" # ServerName dummy-host2.example.com # ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log" # CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common #</VirtualHost>
添加新内容
<VirtualHost *:80> DocumentRoot "/Users/yinghui/workspace/WebSite" </VirtualHost> <VirtualHost *:6688> DocumentRoot "/Users/yinghui/workspace/WebSite" </VirtualHost>
重启apache
$sudo apachectl -k restart
注:如果遇到报错
Could not reliably determine the server's fully qualified domain name, using xxxxxxxxxxx. Set the 'ServerName' directive globally to suppress this message
/#ServerName www.example.com:80
改为ServerName localhost:80