我的 Win8 机器安装了 Dreamweaver 等。此设备主要用于开发。我不想将文件保存到共享托管服务器,而是先在本地保存并测试它们,然后上传它们,这样我的网站就有了 3 个开发阶段:开发、测试版、生产。
所以我买了一台小型机器并安装了 Lubuntu。据我所知,它运行良好,并且已连接到我的网络。我可以使用 VNC 和 SSH 访问该设备,并且可以通过浏览器中的 IP 地址完美访问它。
但是,我不知道如何处理开发部分。或者更简单:
在开发过程中,如何将文件从 Windows 机器传输到 Linux(Web 服务器)?
文件应该实时存储,例如我想直接在服务器上工作。
我可能的解决方案:
- 网络共享 /var/www 文件夹 > 不允许,仅限 root 用户,似乎不是一个好的解决方案
- 在 /home 中设置一个 /www 文件夹并共享该文件夹 > 如何将其包含到 apache/php?
- 使用 FTP > 如果服务器连接到我的本地网络,为什么(以及如何)我应该使用 FTP?
我在 Google 上搜索了几个小时,但没有找到任何听起来不“快速而粗糙”的东西(比如更改 /var/www 的权限)。
我已经设置了:
- 鲁本图
- Apache2、PHP5、MySQL
- 已安装 PhpMyAdmin
那么,最好的解决方案是什么?
一些修改:由于我对 Linux 世界完全陌生,所以我并不完全了解权限/用户/组系统。我设法安装了 vsftpd,现在允许 ftp 用户写入 apache /var/www 文件夹(我认为这是一个非常好的解决方案)。
WebDav(来自评论)听起来也不错。现在我将使用 FTP 解决方案 - 它超级快而且有效,但问题仍然存在,最好的解决方案是什么?
答案1
这是我最近发现的一个 Apache 功能:“userdir”模块。
如果我没记错的话,您可以通过在终端中执行来启用它:
sudo a2enmod userdir
sudo service apache2 restart
此后,如果您public_html
在主文件夹中创建一个名为的文件夹,该文件夹将“包含”在 Apache 中(您的第二个可能解决方案)。从浏览器访问该文件夹中内容的 URL 类型为http://YOUR_SERVER_ADDRESS/~YOUR_USERNAME/
。
例如:localhost/~ubuntu/
如果您的用户名是 ubuntu。
默认情况下,只能使用静态 HTML 文件,出于安全原因不能使用 PHP 脚本。要启用使用 userdir 时的 PHP 处理:
编辑/etc/apache2/mods-available/php5.conf
并注释掉该行,php_admin_value engine Off
方法是在行前添加 #。如下所示:
sudo nano /etc/apache2/mods-available/php5.conf
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
#php_admin_value engine Off
</Directory>
</IfModule>
使用以下方式重新加载 apache2
sudo /etc/init.d/apache2 reload
并在 userdir 目录中测试您的 PHP 代码。
如果你得到没有权限浏览器中出现错误(或类似错误),请确保用户www-data
(我认为这是正确的名称)可以访问该文件夹及其中的文件。这意味着您的主文件夹必须具有执行(X) 许可其他的(o)并且该public_html
文件夹必须具有读(r) 和写权限其他的。
然后您就能够public_html
顺利地与网络共享该文件夹了。