启用mac自带Apache & 虚拟主机配置 【原创】

启用mac自带Apache & 虚拟主机配置

Write By CS逍遥剑仙
我的主页: www.csxiaoyao.com
GitHub: github.com/csxiaoyaojianxian
Email: sunjianfeng@csxiaoyao.com
QQ: 1724338257

 

1. 启动Apache

mac 自带 Apache,在系统的私有目录 /private/etc 下

sudo apachectl start

启动apache,浏览器中输入 http://localhost,看到 “It works” 说明启动成功

apache默认虚拟主机(网站根目录)目录:/Library/WebServer/Documents/

2. 在apache中开启PHP

修改 httpd.conf 前先备份 -> httpd.conf.bank

sudo vim /etc/apache2/httpd.conf

找到并去掉注释符号(#)

#LoadModule php5_module libexec/apache2/libphp5.so

3. 查看 phpinfo()

复制一份 /Library/WebServer/Documents/index.html.en,命名为 info.php

<html>  
<body>
    <?php phpinfo(); ?>
</body>
</html>

浏览器中输入 http://localhost/info.php

4. 设置虚拟主机和虚拟目录

1. 配置 Apache 主配置文件 —— httpd.conf

设置监听网卡的IP地址和端口

#Listen 12.34.56.78:80
Listen 80

指定可以访问虚拟主机的IP地址和端口,其中IP地址必须是自己的网卡的IP地址

NameVirtualHost *:80
Include conf/vhosts.conf

2. 配置 Apache 虚拟主机 —— vhosts.conf

3. 配置本地 DNS 文件 —— hosts

设置自己的网站的根目录(虚拟主机)

sudo vim /etc/apache2/httpd.conf

找到并去掉注释符号(#)

#LoadModule authn_core_module libexec/apache2/mod_authn_core.so
#LoadModule authz_host_module libexec/apache2/mod_authz_host.so
#LoadModule authz_core_module libexec/apache2/mod_authz_core.so
#LoadModule dir_module libexec/apache2/mod_dir.so
#LoadModule userdir_module libexec/apache2/mod_userdir.so
#LoadModule alias_module libexec/apache2/mod_alias.so

找到并修改

DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">

DocumentRoot "/Users/sunshine/Workspace"
<Directory "/Users/sunshine/Workspace">

找到并去掉注释符号(#)

#Include /private/etc/apache2/extra/httpd-userdir.conf
#Include /private/etc/apache2/extra/httpd-vhosts.conf
#Include /private/etc/apache2/other/*.conf

创建虚拟主机

sudo vim /etc/apache2/extra/httpd-vhosts.conf

找到并去掉注释符号(#)

#Include /private/etc/apache2/users/*.conf

用#注释掉原有的两个VirtualHost并添加

<VirtualHost *:80>
    DocumentRoot "/Users/sunshine/Workspace"
    ServerName phpworkspace
    ErrorLog "/private/var/log/apache2/phpworkspace-error_log"
    CustomLog "/private/var/log/apache2/phpworkspace-access_log" common
    <Directory />
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

Apache 配置说明:

1. Listen 命令

Listen 80    //监听本机的所有IP地址的80端口的请求
Listen 192.168.3.100   //监听本机的指定IP地址192.168.3.100的所有端口的访问
Listen 192.168.18.89:8080  //监听本机指定IP地址192.168.18.89的8080端口的访问

2.

设置网站根目录的外部的(客户端)访问权限

Options:指定服务器将启用哪些服务器特性。取值:none、All、Indexes
  None:禁用启用服务器特性
  All:开启所有服务器特性
  Indexes:如果首页文件不存在,则显示目录列表
Order:指定Allow(允许)和Deny(禁止)的执行顺序
  Order Allow,Deny   先允许访问,再禁止IP访问
  Order Deny,Allow   先禁止所有访问,再开启指定IP的访问
Deny:禁止哪些IP访问主机
  Deny From All  禁止所有IP访问主机,包括自己
  Deny From 192.168.18.76 192.168.18.74    禁止指定IP访问你的主机。禁止客户端的IP地址
  Deny From 192.168.18    禁止网段介于192.168.18.0~192.168.18.255之间所有IP访问
Allow:允许哪些IP访问主机
  Allow From All  允许所有IP访问主机,包括自己
  Allow From 192.168.18.76  192.168.18.74   允许指定IP访问主机
  Allow From 192.168.18   允许网段介于192.168.18.0~192.168.18.255之间所有IP访问

5. 添加DNS解析

sudo vi /etc/hosts

添加

127.0.0.1        phpworkspace

将先前创建的info.php拷贝到网站的根目录,在浏览器中输入创建的主机名 http://phpworkspace/info.php

6. 遇到的问题

打开网站错误码403,检查根站点下有没有页面文件,若有文件,尝试设置默认页面,若还有问题,尝试修改目录权限

修改 httpd.conf

DirectoryIndex index.html index.php index.jsp index.htm

修改目录权限

sudo chmod -R 775 /Users/sunshine/Workspace

www.csxiaoyao.com

【By CS逍遥剑仙】 未经允许不得转载:禅林阆苑 » 启用mac自带Apache & 虚拟主机配置 【原创】

赞 (0) 打赏

评论 0

如果觉得有用就请我喝一杯咖啡吧

支付宝扫一扫打赏

微信扫一扫打赏