在我的旧机器上(回到 Lucid!)我使用 XAMPP 进行本地开发工作。XAMPP 为您安装了一切,包括设置 FTP 到您的本地主机 (/var/www) 目录,因为权限不允许您直接写入它。
我有一台运行 Precise 的新机器,并决定以成熟的方式做事。我使用 taskel 安装了所有东西,并启动并运行了 apache、php、mysql 和 phpmyadmin。但必须通过命令行上的 gksudo gedit 创建和编辑所有文件,这有点麻烦,而且我迟早要上传图片。
如何设置 FTP 以便我可以将文件“上传”到我的本地服务器?
编辑以添加
按照第一个视频操作,但当我看到他创建文件的部分时(大约 7:25),我挂断了。这是我尝试进入 /srv 目录时终端的样子(我已验证该目录确实存在于 Nautilus 中):
我需要做什么才能解决这个问题?
答案1
嗯,我只是想做同样的事情......
我在 Youtube 上查了一下,他解释了如何使用 GUI 来实现。如果您使用的是 CLI,那么它基本上与 CLI 相同,只是全部都是文本 - 显然如此。
这是编辑 vsftpd 的 .conf 文件的第一部分:
第二部分,他完成了添加权限和访问控制:
祝你好運...
答案2
我想得到类似于快速启动 HTTP 服务器的技巧
python -m SimpleHTTPServer
我用它来下载(而不是上传)文件,也就是说,我想要类似的东西,但是对于 FTP 服务器来说
- 我的网络(例如 localhost)不存在安全问题
- 无需安装或仅进行极少安装
- 无需配置,如创建用户等。
- 无需系统范围的注册,我只需要此 ftpd 一次
- 快速启动服务器并为当前路径提供服务
我最终
sudo pip install pysendfile
sudo pip install git+git://github.com/giampaolo/pyftpdlib
wget https://raw.githubusercontent.com/giampaolo/pyftpdlib/master/demo/unix_ftpd.py
sudo /usr/bin/python unix_ftpd.py
您的工作文件夹应该是要提供服务的文件夹。提示:在 github 上查看更多带有其他/无授权处理程序的演示。与 vsftpd 相比,这个基于 python 的服务器的性能还不错
答案3
您可以使用vsftpd设置本地 FTP 服务器。使用以下方式安装
sudo apt install vsftpd
配置
对于您来说,您必须更新配置以允许用户登录到他们的主目录,通过添加/取消注释以下行/etc/vsftpd.conf
:
chroot_local_user=YES
allow_writeable_chroot=YES
⚠ 警告:这将允许任何系统用户通过 FTP 登录并使用其用户名和密码阅读并修改文件。不使用时请务必禁用它(见下文)。
接下来,您需要创建一个新用户,并将主目录设置为您的 Web 根目录:
sudo adduser ftpuser
sudo usermod --home /var/www/html ftpuser
重新启动vsftpd
服务器以使用更新的设置:
sudo systemctl restart vsftpd
现在,您应该能够/var/www/html
使用刚刚创建的用户的用户名/密码登录并修改文件。
禁用系统
作为副作用,当前设置还允许任何系统用户使用其用户名和密码通过 FTP 登录,这是一个潜在的安全风险。您可能可以编辑/etc/vsftpd.conf
以微调这些权限(我对此了解不够多,无法指导您)。
但是,我建议在不使用时禁用 vsftpd 服务器。可以使用以下命令完成此操作:
sudo systemctl disable vsftpd
这将阻止 vsftpd 在启动时自动启动。然后你可以使用以下命令手动启动它
sudo systemctl start vsftpd
使用完毕后再次停止
sudo systemctl stop vsftpd
这将停止 vsftpd 服务器并禁用所有 FTP 连接,直到您再次启动它。