我刚刚在全新的 Ubuntu 系统中安装了 LAMP 服务器。
我遇到的主要问题是 webroot 位于“/var/www”,而我的默认用户名无权在此处写入。我可能sudo
一直都在 -ing,但这很麻烦。我尝试过使用权限和符号链接,但似乎从未解决这个问题。
我如何设置新的开发机器,以便能够快速高效地开始开发?
答案1
更改 /var/www
我建议你编辑/etc/apache2/sites-enabled/000-default
并更改DocumentRoot
并Directory
指向类似以下内容
DocumentRoot /home/USERNAME/web/
和
<directory /home/USERNAME/web>
而不是包含 /var/www 的文件
用户目录
或者,你可以启用 Userdirs,只需
sudo mv /etc/apache2/mods-available/userdir.* /etc/apache2/mods-enabled/
然后您可以/home/USERNAME/public_html
从访问您的目录http://127.0.0.1/~USERNAME
注意:这两种方法都需要你重新启动 Apache,你可以使用以下命令进行重新启动
/etc/init.d/apache2 restart
我希望这有帮助
答案2
您可以创建一组对该/var/www
目录具有写权限的用户。例如www-users
:
sudo addgroup www-users
然后将自己添加到该组:
sudo adduser $(whoami) www-users
最后将所有权授予组,并设置组可写的权限:
sudo chgrp www-users /var/www
sudo chmod –R 775 /var/www
sudo chmod g+s /var/www
现在,只要文件也属于您的组,您就可以创建和修改它们/var/www
。如果您需要 Apache 具有写入权限,您也可以adduser www-data www-users
授予它写入权限。
答案3
这是一个常见的问题,我发现最好的解决方案是 vagrant。
基本上,Vagrant 是一款与 Virtual Box 集成的软件,可让您快速启动 VM。然后,可以非常轻松地将 /var/www 目录映射到项目主目录。对该目录所做的任何更改都会立即显示在 Web 服务器上。
Vagrant 的优点:
- 通过盒子图像为所有开发人员标准化环境。
- 文件夹的自动符号链接
- 快速安装/拆卸