如何将文件从 Windows 机器传输到 Ubuntu 网络服务器进行开发?

如何将文件从 Windows 机器传输到 Ubuntu 网络服务器进行开发?

我的 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顺利地与网络共享该文件夹了。

相关内容