美文网首页我爱编程
Mac 配置自带Apache环境

Mac 配置自带Apache环境

作者: 牛仔裤小毛驴 | 来源:发表于2017-05-14 17:25 被阅读0次

    这里介绍两种方法:


    Mac OS X 中默认有两个目录可以直接运行你的 Web 程序,一个是系统级的 Web 根目录,一个是用户级的根目录,系统级的根目录是:
    /Library/WebServer/Documents/
    用户级的根目录(也是站点目录)是:~/Sites
    这里我们需要注意的是你的家目录下面不一定存在这个Sites目录,如果不存在,你需要自行创建。
    建立”站点”文件夹之后,检查下面这个文件夹下面是不是有”你的用户名.conf”这个文件。/etc/apache2/users/如果没有,那么你需要创建一个,取名为”你的用户名.conf”,你可以使用 vi 或者 nano 这两种编辑器之一来创建。
    sudo vi /etc/apache2/users/你的用户名.conf

    创建之后将下面的这几行内容写到上面的 conf 文件中:

    Options Indexes MultiViews
    AllowOverride
     AllOrder allow,deny
    Allow from all
    </Directory> 
    (请将username改成你的用户名)```
    文件保存之后,给它赋予相应的权限:
    ``` sudo chmod 755 /etc/apache2/users/你的用户名.conf  ```
    运行: 
    ``` sudo chown root:wheel /etc/apache2/users/你的用户名.conf ```
    修改apache的httpd.conf文件
    ``` cd  /etc/apache2/
    sudo vim httpd.conf ```
    找到以下信息,将其前面的#去掉:
    ``` LoadModule php5_module libexec/apache2/libphp5.soLoadModule authz_core_module libexec/apache2/mod_authz_core.soLoadModule authz_host_module libexec/apache2/mod_authz_host.soLoadModule userdir_module libexec/apache2/mod_userdir.soInclude /private/etc/apache2/extra/httpd-userdir.conf ```
    修改: /etc/apache2/extra/httpd-userdir.conf
    ``` sudo vim /etc/apache2/extra/httpd-userdir.conf ```
    找到一下信息修,将其前面的#去掉:
    ``` Include /private/etc/apache2/users/*.conf ```
    此时访问http://localhost/~username/, 依然无法访问,提示:You don't have permission to access /~username/ on this server.
    这里是就是新版本与老版本的区别了,需要重新打开httpd.conf文件,
    ```sudo vim /etc/apache2/httpd.conf ```
    找到
    ```<Directory /> AllowOverride none Require all denied</Directory>```
    修改为:
    ```<Directory /> AllowOverride none Require all granted</Directory>```
    重启apache,sudo apachectl restart浏览器输入:localhost/~username你就可以访问对应~/Sites目录下面的文件内容了(这里需要注意不要使用代理)
    
    -----------------------------
    
    同第一种方法,你也需要创建自己的站点目录:~/Sites,完成之后,
    
    在终端运行``` “sudo vi /etc/apache2/httpd.conf” ```,打开Apache的配置文件
    在httpd.conf中找到```“#Include /private/etc/apache2/extra/httpd-vhosts.conf”```,去掉前面的“#”,保存并退出。
    
    运行```“sudo apachectl restart”```,重启Apache后就开启了虚拟主机配置功能。
    
    运行“sudo vi /etc/apache2/extra/httpd-vhosts.conf”,就打开了配置虚拟主机文件httpd-vhost.conf,配置虚拟主机了。需要注意的是该文件默认开启了两个作为例子的虚拟主机:
    
    

    <VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/usr/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
    CustomLog "/private/var/log/apache2/dummy-host.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> ```

    而实际上,这两个虚拟主机是不存在的,在没有配置任何其他虚拟主机时,可能会导致访问localhost时出现如下提示:
    "Forbidden
    You don't have permission to access /index.php on this server"
    最简单的办法就是在它们每行前面加上#,注释掉就好了,这样既能参考又不导致其他问题。
    增加如下配置:

    <VirtualHost *:80>
        DocumentRoot "/Library/WebServer/Documents"
        ServerName localhost
        ErrorLog "/private/var/log/apache2/localhost-error_log"
        CustomLog "/private/var/log/apache2/localhost-access_log" common
    </VirtualHost>
     
    <VirtualHost *:80>
        DocumentRoot "/Users/snandy/work"
        ServerName mysites
        ErrorLog "/private/var/log/apache2/sites-error_log"
        CustomLog "/private/var/log/apache2/sites-access_log" common
        <Directory />
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride None
                    Order deny,allow
                    Allow from all
          </Directory>
    </VirtualHost>```
    
    保存退出,并重启Apache。
    运行“sudo vi /etc/hosts”,打开hosts配置文件,加入"127.0.0.1 dev.cloudlab.com",这样就可以配置完成sites虚拟主机了,可以访问“http://dev.cloudlab.com”了.
    

    相关文章

      网友评论

        本文标题:Mac 配置自带Apache环境

        本文链接:https://www.haomeiwen.com/subject/neritxtx.html