前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >macOS本地开发环境全攻略 Part-1:Apache

macOS本地开发环境全攻略 Part-1:Apache

原创
作者头像
iguojun
修改2020-05-09 17:27:36
1.7K0
修改2020-05-09 17:27:36
举报
文章被收录于专栏:高清无码

macOS本地开发环境全攻略 Part-1:Apache

安装 XCode 命令行工具

代码语言:txt
复制
xcode-select --install

安装 Homebrew 软件包管理器

  1. 安装 Homebrew
代码语言:txt
复制
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
  1. 确认安装的版本
代码语言:txt
复制
brew --version

Homebrew 2.2.15 Homebrew/homebrew-core (git revision 50345f; last commit 2020-05-07)

  1. 检测 Homebrew 是否配置完好
代码语言:txt
复制
brew doctor

安装 macOS Catalina 系统必须的库

代码语言:txt
复制
brew install openldap libiconv

安装 Apache

停用预装的 Apache 版本

最新的 macOS 10.15 Catalina 系统预装了 Apache 2.4.42。

苹果这个预装的 Apache 版本,移除了不少常用的软件和脚本,填上这个坑可不是件容易的事儿。

最好的选择是停用它。

代码语言:txt
复制
sudo apachectl stop
代码语言:txt
复制
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null

安装最新的 Apache 版本

  1. 使用 Homebrew 安装
代码语言:txt
复制
brew install httpd
  1. 设置 Apache 随系统自动运行
代码语言:txt
复制
sudo brew services start httpd
  1. 打开浏览器,访问http://localhost:8080

It works!

常用的 Apache 管理命令

  1. 启动 Apache 服务
代码语言:txt
复制
sudo apachectl start
  1. 停止 Apache 服务
代码语言:txt
复制
sudo apachectl stop
  1. 重启 Apache 服务
代码语言:txt
复制
sudo apachectl restart
  1. 快速重启 Apache 服务
代码语言:txt
复制
sudo apachectl -k restart
  1. 查看 Apache 系统进程
代码语言:txt
复制
ps -aef | grep httpd
  1. 查看 Apache 错误日志
代码语言:txt
复制
tail -f /usr/local/var/log/httpd/error_log

配置 Apache 服务器

确认 Apache 配置文件的位置:

代码语言:txt
复制
/usr/local/etc/httpd/httpd.conf

配置好 VS Code 来编辑配置文件

将 VS Code 设置为可以从命令行启动。

  1. 启动 VS Code。
  2. 按 F1 键打开命令面板(Command Palette),

输入“shell",

选择”Shell 命令:在 PATH 中安装“code”命令。

  1. 重新启动终端(Terminal),使其生效。

修改 Apache 服务器配置文件

  1. 使用 VS Code 打开配置文件
代码语言:txt
复制
code /usr/local/etc/httpd/httpd.conf
  1. 修改 默认的监听端口

找到:

代码语言:txt
复制
Listen 8080

修改为:

代码语言:txt
复制
Listen 80
  1. 修改默认的 DocumentRoot

找到:

代码语言:txt
复制
DocumentRoot "/usr/local/var/www"

修改为:

代码语言:txt
复制
DocumentRoot "/Users/yourName/pathToDir"

yourName: 你的用户名

pathToDir:要修改的文件路径

  1. 修改默认的 Directory

找到:

代码语言:txt
复制
DocumentRoot /usr/local/var/www

修改为:

代码语言:txt
复制
DocumentRoot /Users/yourName/pathToDir
  1. 启用 mod_rewrite

找到:

代码语言:txt
复制
#LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

修改为:

代码语言:txt
复制
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

找到:

代码语言:txt
复制
AllowOverride None

修改为:

代码语言:txt
复制
AllowOverride All
  1. 修改 User和 Group

找到:

代码语言:txt
复制
User  _www
Group _www

修改为:

代码语言:txt
复制
User  yourName
Group staff
  1. 修改 Servername

找到:

代码语言:txt
复制
#ServerName www.example.com:8080

修改为:

代码语言:txt
复制
ServerName localhost
  1. 保存 /usr/local/etc/httpd/httpd.conf文件。

测试 Apache 服务

  1. 创建测试文件

建立网站根目录文件夹

代码语言:txt
复制
mkdir -P /Users/yourName/pathToDir

创建测试用的 index.html

代码语言:txt
复制
echo "<h1>It also works!!</h1>" > /Users/yourName/pathToDir/index.html
  1. 重启 Apache 服务器
代码语言:txt
复制
sudo apachectl -k restart
  1. 开打浏览器,访问 http://localhost

It also works!!

配置 Virtual Host

启用 Virtual Host 支持

  1. 打开 Apache 配置文件
代码语言:txt
复制
code /usr/local/etc/httpd/httpd.conf
  1. 启用 mod_vhost_alias.so

找到:

代码语言:txt
复制
#LoadModule vhost_alias_module lib/httpd/modules/mod_vhost_alias.so

修改为

代码语言:txt
复制
LoadModule vhost_alias_module lib/httpd/modules/mod_vhost_alias.so
  1. 启用 httpd-vhosts.conf

找到:

代码语言:txt
复制
# Virtual hosts
#Include /usr/local/etc/httpd/extra/httpd-vhosts.conf

修改为:

代码语言:txt
复制
# Virtual hosts
Include /usr/local/etc/httpd/extra/httpd-vhosts.conf

创建 Virtual Host 站点

  1. 打开 Virtual Host 配置文件
代码语言:txt
复制
code /usr/local/etc/httpd/extra/httpd-vhosts.conf
  1. 配置 Virtual Host 站点

找到:

代码语言:txt
复制
<VirtualHost *:8080>
 ………
 DocumentRoot "/usr/local/opt/httpd/docs/dummy-host.example.com"
 ServerName dummy-host.example.com
 ………
</VirtualHost>

<VirtualHost *:8080>
 ………
 DocumentRoot "/usr/local/opt/httpd/docs/dummy-host2.example.com"
 ServerName dummy-host2.example.com
 ………
</VirtualHost>

修改为:

代码语言:txt
复制
<VirtualHost *:80>
 DocumentRoot "/Users/yourName/pathToDir/redSite"
 ServerName localhost.dev
</VirtualHost>

<VirtualHost *:80>
 DocumentRoot "/Users/yourName/pathToDir/blueSite"
 ServerName localadmin.dev
</VirtualHost>
  1. 保存 /usr/local/etc/httpd/extra/httpd-vhosts.conf 文件
  2. 创建 Virtual Host 站点测试文件
代码语言:txt
复制
echo "<h1>Welcome to redSite!</h1>" > /Users/yourName/pathToDir/redSite/index.html
代码语言:txt
复制
echo "<h1>Welcome to blueSite!</h1>" > /Users/yourName/pathToDir/blueSite/index.html
  1. 重启 Apache 服务器
代码语言:txt
复制
sudo apachectl -k restart
  1. 打开浏览器,

访问 http://localhost.dev

Welcome to redSite!

访问 http://localadmin.dev

Welcome to blueSite!

注意:这里可能会访问失败,因为我们还没有配置本地的域名解析。接下来马上搞。

配置本地域名解析服务

安装Dnsmasq

代码语言:txt
复制
brew install dnsmasq

创建 *.dev 域名

代码语言:txt
复制
echo 'address=/.dev/127.0.0.1' > /usr/local/etc/dnsmasq.conf

配置 *.dev 域名解析规则

代码语言:txt
复制
sudo mkdir -v /etc/resolver
代码语言:txt
复制
sudo bash -c 'echo "nameserver 127.0.0.1" > /etc/resolver/test'

测试*.dev 域名解析

  1. 随机 ping 一个*.dev` 域名
代码语言:txt
复制
ping youcanuse.dev

PING youcanuse.dev (127.0.0.1): 56 data bytes 64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.019 ms 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.042 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.032 ms

  1. 访问之前创建的 Virtual Host

打开浏览器,

访问 http://localhost.dev

Welcome to redSite!

访问 http://localadmin.dev

Welcome to blueSite!

这个*.dev` 域名就完全在本地自由使用了。当然完全可以自定义成任何你想要的域名(只在本机有效)。


下一篇,我们继续配置SSL PHP,MySQL, APC caching, YAML, and Xdebug等

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装 XCode 命令行工具
  • 安装 Homebrew 软件包管理器
  • 安装 macOS Catalina 系统必须的库
  • 安装 Apache
    • 停用预装的 Apache 版本
      • 安装最新的 Apache 版本
        • 常用的 Apache 管理命令
          • 配置 Apache 服务器
            • 确认 Apache 配置文件的位置:
            • 配置好 VS Code 来编辑配置文件
            • 修改 Apache 服务器配置文件
          • 测试 Apache 服务
            • 配置 Virtual Host
              • 启用 Virtual Host 支持
              • 创建 Virtual Host 站点
            • 配置本地域名解析服务
              • 安装Dnsmasq
              • 创建 *.dev 域名
              • 配置 *.dev 域名解析规则
              • 测试*.dev 域名解析
          相关产品与服务
          云数据库 MySQL
          腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档