启用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 条评论
登录 后参与评论

相关文章

来自专栏我的博客

apache多站点配置汇总

今天一个网友咨询多站点配置,于是就捣鼓了一番,现在总结出来给大家分享 多站点总的来说就三种:基于多ip多站点,基于单ip多域名多站点,基于单ip多端口站点 1、...

4674
来自专栏电光石火

apache域名绑定(appserv环境)

假定你的服务器网站根目录下有两个子目录,一个为 /appserv/www/web01,另一个为 /appserv/www/web02 。现在你想访问 www...

4135
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Rsyslog,Logstash和Elasticsearch集中日志

了解组织生成的数百万条日志行是一项艰巨的挑战。一方面,这些日志行提供了应用程序性能,服务器性能指标和安全性的视图。另一方面,日志管理和分析可能非常耗时,这可能会...

5622
来自专栏www.96php.cn

Apache多虚拟主机多版本PHP(5.2+5.3+5.4)共存运行配置全过程

    因为某种需求,可能是因为早期的项目需要低版本的php,和目前开发所用的版本不太一致,我们需要给不同的虚拟主机配置不同版本的PHP。避免去额外配置多个A...

56712
来自专栏电光石火

apache域名绑定(appserv环境)

假定你的服务器网站根目录下有两个子目录,一个为 /appserv/www/web01,另一个为 /appserv/www/web02 。现在你想访问 www.w...

3095
来自专栏WindCoder

ELK实时日志管理-系统搭建

Filebeat轻量级的日志传输工具,可以读取系统、nignx、apache等logs文件,监控日志文件,传输数据到Elasticsearch或者Logst...

2742
来自专栏北京马哥教育

ELK(ElasticSearch, Logstash, Kibana)搭建日志分析平台

1624
来自专栏linux运维学习

linux学习第三十八篇: Apache和PHP结合,Apache默认虚拟主机

ctrl+r 可以通过输入相关命令查找你使用过的命令 Apache和PHP结合 httpd主配置文件: /usr/local/apache2.4/conf/...

2218
来自专栏PHP在线

apache服务器配置

昨天弄了个PHP小程序,想在本地跑一下测试,可是工作电脑没有安装环境,于是下载了一个wamp,一路畅通,Apache、Mysql、PHP就 全有了。启动wamp...

61615
来自专栏腾讯云Elasticsearch Service

一文快速上手Logstash

Elasticsearch是当前主流的分布式大数据存储和搜索引擎,可以为用户提供强大的全文本检索能力,广泛应用于日志检索,全站搜索等领域。Logstash作为E...

14.3K13

扫码关注云+社区

领取腾讯云代金券