如何在macOS/M1 Mac上通过Apache结合自定义.htaccess文件部署SlothCreator示例项目的Xcode 13 DocC文档?
在macOS(含M1机型)上用Apache托管SlothCreator的DocC文档
我来一步步带你完成配置,完全遵循苹果《向外部开发者分发文档》和WWDC21《托管并自动化你的DocC文档》的指导:
1. 启用并验证Apache服务
macOS自带Apache,先打开终端执行以下命令启动服务:
sudo apachectl start
打开浏览器访问 http://localhost,如果看到"It works!"页面,说明Apache运行正常。
2. 导出SlothCreator的DocC归档
打开Xcode 13中的SlothCreator项目:
- 点击菜单栏
Product > Build Documentation,等待文档构建完成 - 打开Xcode的Organizer(快捷键
⇧⌘9),切换到Documentation标签页 - 找到刚生成的SlothCreator文档归档,右键选择
Show in Finder - 将
.doccarchive文件复制到Apache的文档根目录(默认路径是/Library/WebServer/Documents/),建议在该目录下创建专门的子文件夹(比如slothcreator-docs),把归档文件放在这个子文件夹里。
3. 配置Apache允许.htaccess
默认Apache不允许使用.htaccess,需要修改配置文件:
- 打开终端,用nano编辑Apache主配置:
sudo nano /etc/apache2/httpd.conf
- 找到文档根目录的配置块:
<Directory "/Library/WebServer/Documents"> # ... 其他配置 AllowOverride None # ... 其他配置 </Directory>
- 将
AllowOverride None改为AllowOverride All,保存退出(nano中按Ctrl+O回车确认,再按Ctrl+X退出)。 - 重启Apache使配置生效:
sudo apachectl restart
4. 创建并配置.htaccess文件
在slothcreator-docs目录下创建.htaccess文件,写入以下重写规则(注意替换SlothCreator.doccarchive为你实际的归档文件名):
RewriteEngine On # 当请求路径不存在时,转发到DocC归档内 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ SlothCreator.doccarchive/$1 [L]
5. 设置正确的文件权限
Apache以_www用户身份运行,需要确保文档目录权限正确:
sudo chown -R _www:_www /Library/WebServer/Documents/slothcreator-docs sudo chmod -R 755 /Library/WebServer/Documents/slothcreator-docs
6. 测试访问
打开浏览器,访问以下地址就能查看SlothCreator的DocC文档了:
http://localhost/slothcreator-docs/documentation/slothcreator
如果遇到404或权限错误,先检查.htaccess规则是否正确,再确认文件权限是否设置到位,或者重启Apache重试。
内容的提问来源于stack exchange,提问作者Ralf Ebert
相关产品推荐
相关产品推荐

