专栏首页csxiaoyao启用mac自带Apache & 虚拟主机配置

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

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • HDU 1002 高精度 大数据加法

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Ot...

    csxiaoyao
  • HDU 1509

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Ot...

    csxiaoyao
  • macos下golang配置

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

    启用mac自带Apache & 虚拟主机配置 Write By CS逍遥剑仙 我的主页: www.csxiaoyao.com GitHub: ...

    CS逍遥剑仙
  • 读懂这些spring boot的核心注解,快速配置完成项目搭建

    在spring boot中,摒弃了spring以往项目中大量繁琐的配置,遵循约定大于配置的原则,通过自身默认配置,极大的降低了项目搭建的复杂度。同样在sprin...

    宜信技术学院
  • HTML基本语法和语义(转)

    该声明位于文档中最前面的位置,处于html标签之前,此标签告知浏览器文档使用哪种HTML或者 XHTML规范。

    山河木马
  • 结合 MultiType 实现加载更多

    MultiType 是一个分发管理类,帮助我们轻松实现复杂布局.建议大家阅读源码,作者的思路并不复杂但很巧妙.

    夏洛克的猫
  • ARTS改版啦,在改变中前行

    这次打卡,稍微进行了一次改版,在算法和英文文档上进行了拆分,具体的内容在前两天的文章里已经输出,所以在这篇上针对这两块做了一个汇总。

    程序员小跃
  • Django-admin组件

    py3study
  • 解决 Linux 挂载 NTFS 分区只读不能写的问题

    有没有小伙伴也是跟我一样电脑上同时装有 Windows 和 Linux 双系统的呢?对于用不起苹果电脑但是又无法抛弃 Windows 精彩生活的我们...

    悠风

扫码关注云+社区

领取腾讯云代金券