Mac OS X 上的Apache配置

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密码
  • 设置虚拟主机
    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
  • 打开/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的登录验证。

 

posted @ 2018-11-10 16:42  Ryan_zheng  阅读(1923)  评论(0编辑  收藏  举报