Mac系统自带apache服务器
-
查看apache版本
sudo apachectl -v
启动apache
sudo apachectl start
重启apache
sudo apachectl restart
-
配置apache
apache的主配置文件在路径/etc/apache2/下- 修改httpd.conf 文件
备份原来的文件
sudo cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf.backup修改主配置文件
$vi /etc/apache2/httpd.conf-
主要修改内容
//181行
User _www
Group _www
//改为(rootname为本机用户名)
User rootname
Group wheel //219行
<Directory />
AllowOverride none
Require all denied
</Directory>
//改为(修改apache配置:设置访问代理资源被默认不受限制)
<Directory />
Require all granted
AllowOverride all
</Directory> //498行
# Virtual hosts
#Include /private/etc/apache2/extra/httpd-vhosts.conf
//改为(去掉前面的#,这样就开启了httpd-vhosts虚拟主机文件)
# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf -
小技巧
如果你不会使用vi编辑器,没关系- 打开Finder
- 按快键盘 Command + Shift + G调出前往文件夹
- 输入/etc/apache2即可看到apache配置文件,用自己熟悉编辑器打开httpd.conf就可以求改了,保存的时候需要输入root密码
- 修改httpd.conf 文件
-
设置虚拟主机
apache的默认的根目录在/Library/WebServer/下,配置虚拟主机后可以不用理会默认的网站根目录,根据自己的需要在合适的地方建立不同的网站目录- 修改httpd-vhosts.conf文件,文件位置在/etc/apache2/extra/
- 备份原来的文件
sudo cp /etc/apache2/extra/httpd-vhosts.conf /etc/apache2/extra/httpd-vhosts.conf.backup - 修改主配置文件
$sudo vi /etc/apache2/extra/httpd-vhosts.conf - 主要修改内容
//在文件里加入,前面的例子可以用# 注释掉
<VirtualHost *:80>
DocumentRoot "项目文档根目录"
ServerName 服务器名称
ErrorLog "/private/var/log/apache2/mysites-error_log"
CustomLog "/private/var/log/apache2/mysites-access_log" common
<Directory "项目文档根目录">
Options FollowSymLinks Multiviews Indexes
MultiviewsMatch Any
AllowOverride None
Require all granted
</Directory>
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
// 配置请求转发服务器 和 环境路径(反向代理)
ProxyPass /web http://example.com/web
ProxyPassReverse /web http://example.com/web
</VirtualHost>设置hosts
- 备份原来的文件
- 修改httpd-vhosts.conf文件,文件位置在/etc/apache2/extra/
- 打开/etc/hosts文件,加入
127.0.0.1 你的网站地址 -
重启Apache服务器
sudo apachectl restart - 打开浏览器输入http://你的网站地址
apache设置用户名密码登录验证
实现效果
google 浏览器
Safari 浏览器
1.修改http.conf文件设置指定目录的配置,例如设定test目录的配置,增加验证。
<Directory "/www/test">
Options Indexes
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
2.在指定目录下增加.htaccess文件
文件内容如下:
AuthName "sys"
AuthType Basic
AuthUserFile /www/test/.htpasswd
require user admin
第一行,验证提示信息。
第二行,验证类别。
第三行,密码文件所在路径,绝对路径。
第四行,指定登录用户名。指定admin用户登录。
3.增加.htpasswd文件
/usr/local/apache2/bin/htpasswd -c /www/test/.htpasswd admin // 如果加上 -b 选项可以直接在 admin 输入用户密码,否则会在回车后提示输入密码
利用Apache附带的程序htpasswd,生成包含用户名和密码的文本文件
输入上面命令,htpasswd目录写自己的目录,最后一个参数即为登录账号名,会提示输入两次密码。
重启apache。
访问设定的地址,看下是否已经有apache的登录验证。