我有一个 Ubuntu 发行版,其中 localhost 设置/var/www/html/mysite
工作正常。我遇到的问题是,当我编辑此文件夹中的文件时,我必须以 root 身份执行,但这www-data
不太好,因为我必须一直运行每个mkdir
withsudo -u
或 use chown
,而且我的文本编辑器 (Sublime text) 无法与我的 Unity 桌面正确集成。
我尝试在我的主目录中设置本地主机,但是发现了一些问题并且我不太喜欢这个想法。
作为一个更好的选择,我尝试mysite
在我的主目录中拥有由我拥有并具有权限的,并创建一个由拥有的drwxr-xr-x
符号链接,但我收到一个错误:/var/www/html/mysite
www-data
403-您无权访问此服务器上的/。
有什么想法吗?你是如何解决这个问题的?
PS:我的用户确实属于www-data
该组
答案1
最简洁但也最复杂的解决方案是将您的网站放在 git 中。然后,拥有一个支持 webhook(gitlab、github、bitbucket)的外部存储库。编写一个 CGI 脚本,从存储库中提取正确的分支,将其复制到 www 文件夹中,并相应地更改权限。然后配置一个 webhook,每当提交时都会调用此脚本。虽然这需要一些时间来设置,但它有一些优点:
- 您的生产服务器上始终有最新的生产版本
- 您的开发人员无需再登录服务器进行部署
- 如果你已经使用版本控制,它可以很好地集成并自动部署
- 如果你不使用版本控制,它会强制你这样做