服务器安装ubuntu系统具体步骤,ubuntu做文件服务器
构建Ubuntu BT server FTP server来公开种子。最近为了上传下载文件,要求带简易BT服务器。因为公共种子是内部用的,所以想做FTP,但是中间踩了几个洞,所以自己写了个博客记录具体过程。
358 www.Sina.com/http://www.Sina.com/implementation版:Ubuntu 17.04/18.04已经全部测试完毕。
BT服务器构建工具——BitTorrent使用BitTorrent工具可以很容易地创建自己的BT Tracker服务器,但是现在很难在网上找到该工具的资源,可以访问BitTorrent的官网。我自己上传了一张,在这里取的。链接:https://pan.Baidu.com/s/1 GKG gkjgahvzeslevj 5 ftv密码:cef5
不管你用什么方法,请先把它放在你的Linux系统下。不管在什么地方。这是基于把它放在/home下(虽然我从来没有真正尝试过把它放在另一个位置,但实践证明,把它放在/usr/local/src文件夹下是可行的)。在进行下一步之前,确保Python2存在于下一个系统中,然后直接安装一个即可。
Apt安装python。
如果你没有许可,须藤。没有解释。
安装python后,解压上传到Linux的tar文件。
塔尔-xzvf BitTorrent-4.0.3.tar.gz
该命令完成后,您将在同一目录中获得BitTorrent-4.0.3文件夹。进入目录后输入ls,一大堆。将显示py文件。所以我需要Python2。因为是BT服务器搭建工具-BitTorrent,只有Python3还不行。
有很多。以bt开头的py文件,但这里只需要用几个。我们以后再谈。现在,首先运行setup.py,将运行其他BT源代码所需的库文件添加到Python2中。
python setup.py安装
该命令完成后,您可以开始运行。目录中的py文件。首先,搭建BT服务器是最重要的跟踪器。
python ttracker . pyport 6969 dfile/home/log
指定端口跟踪器使用的端口号。
Dfile:指定服务器运行日志的输出文件。
使用此命令生成跟踪器,并通过输入http://服务器的ip:端口号来访问它。
因为现在服务器刚刚启动,所以没有种子可以跟踪。您必须手动创建自己的种子。当然,你可以用BitTorrent等工具来创建一个种子,但我从未亲自尝试过。因此,下面介绍如何使用BitTorrent源工具创建种子。不如直接拿到刚解压但没有删除的tar压缩包来练习。
首先,创建一个用于存储和管理源文件的新文件夹,然后创建一个用于存储种子文件的新文件夹。它们分别被命名为data和torrent。将压缩包放在data文件夹下,然后执行以下操作:
Python MakeTorrent.py3358服务器ip:端口号/announce/home/data/BitTorrent-4 . 0 . 3 . tar . gz
这个命令可以在目标文件所在的目录中创建一个种子文件,并使用指定的跟踪器来跟踪它。现在,种子文件应该出现在数据文件夹下。导航到种子文件夹。
现在有种子了。使用F5查看服务器页面。但是追踪器还没有开始追踪。这是因为种子产生后实际上没有人启动,所以服务器不知道你产生了这样的种子。然后,通知服务器种子已经创建,服务器自己开始创建第一个源供其他用户下载。要实现这个功能,请运行btlaunchmany.py
python tlaunchmany . pydata _ dir/home/data torrent _ dir/home/torrent
这样,我们的种子文件已经为服务器所知。
?但是服务器上显示的是下载,说明正在下载,种子生产还没有开始…
这是因为种子目录中没有必需的文件。btlaunchmany认为是失败文件,正在申请下载。在这种情况下,只需将数据文件夹中的原始文件硬连接到torrent目录。
ln/home/data/BitTorrent-4 . 0 . 3 . tar . gz/home/torrent
然后运行btlaunchmany,这样其他电脑就可以开始下载了。
在Ubuntu中搭建FTP服务器FTP服务器才是真正的一步……基本上除了第一次sudo apt安装vsftpd,你只需要不断踩坑就可以了。冷静下来,进入下一步。
在Ubuntu搭建FTP服务器
它被认为是Linux上最简单的FTP服务器构建工具,但是在实际使用中
反而一步一个脚印的踩了个坑。网上的教程太乱了,我自己总结了一个,方便以后用。
apt安装vsftpd
注意:vsftpd需要的环境一般配置在默认的Ubuntu系统中,可以直接使用。
配置vsftpd
安装后,不像网上有些版本的介绍,vsftpd 3 . 0 . 3版本的配置文件直接放在/etc文件夹下,可以直接用vim编辑器编辑。贴出以下个人vsftpd.conf设置仅供参考:
Listen=NO #默认情况下配置为NO,这意味着vsftpd直接在systemctl中启动。listen_ipv6=YES #默认配置为YES,也就是说vsftpd监听ipv6端口aNOnymous_enable=NO #默认配置为NO,禁止匿名用户访问,可以在一定程度上提高FTP的安全性。Local_enable=YES #配置为YES,表示允许本地用户访问。这是本教程访问FTP服务器的主要方式。Write_enable=YES #配置为YES,这意味着允许用户写入数据。Local_umask=022 #默认配置是一个注释。这里的取消意味着默认的umask是022(你可以移到http://blog.sina.com.cn/s/blog_49fd52cf0100nekk.html了解详情)。DIRMessage _ ENABLE=YES #将其配置为YES意味着用户在输入新目录时将返回目录信息。Use_localtime=YES #使用服务器时间。Xferlog_enable=YES #记录上传/下载日志。Connect_from_port_20=YES #从端口20连接,保持默认设置即可。Ftpd _ banner=欢迎来到blah ftpservice。#用户登录时返回的问候语。Chroot_local_user=YES #设置本地用户登录是否仅限于其主目录。Chroot_list_enable=YES #设置是否使预设的受限用户列表生效。ch root _ list _ file=/etc/vsftpd . ch root _ list #使用的受限用户列表路径。启用并配置了以上三个建议。secure _ ch root _ dir=/var/run/vsftpd/empty #建议保留默认配置,即vsftpd不需要文件系统权限时访问的空目录。Pam_service_name=vsftpd #保持默认配置,表示使用的Pam服务名。RSA _ cert _ file=/etc/SSL/certs/SSL-cert-snake oil . PEM RSA _ private _ key _ file=/etc/SSL/private/SSL-cert-snake oil . keysl _ enable=no #不使用SSL,所以不要更改# enable允许登录的用户列表。这样的配置意味着Userlist _ enable=yes Userlist _ deny=nouserlist _ file=/etc/user _ list #启动ftp服务器的被动模式PASV _ enable=yes pasv _ min _ port=12800 pasv _ max _ port=12900配置完成后,使用vim创建两个新文件,一个名为user _ list,另一个名为vsftpd.chroot_list,并写入两个文件中都要使用的用户名。个人准备是两个用户,上传者和测试,分别专用于上传和下载。用户名从一行开始。
配置pam
配置vsftpd之后,下一步是配置pam,以便登录身份验证可以正确生效。在这里贴一个参考链接:vsftpd架设(pam模块配置)
这部分内容主要取自本教程。
首次安装数据库:
apt安装db-util
然后转到/etc/pam.d文件夹,创建一个新文件logins.txt,并写入用户名和密码。注意,这是一行用户名和一行密码。
保存后,执行以下命令:
sudo db _ load-T-T hash-f logins . txt/etc/vsftpd _ log in . db
sudo chmod 600/etc/vsftpd _ log in . db
从而确保数据库的权限是正确的。
然后编辑pam.d下的vsftpd文件,注释/删除所有原始内容,并添加以下几行:
#/etc/PAM . d/vsftpd auth required/lib/x86 _ 64-Linux-GNU/security/PAM _ userdb . sodb=/etc/vsftpd _ log in account required/lib/x86 _ 64-Linux-GNU/security/PAM _ userdb . sodb=/。
invoke-rc.d vsftpd重新启动
将配置Pam。
用户设置
配置pam后,设置用户。首先,在Ubuntu的系统中,vsftpd的useradd命令不会自己添加新的用户默认home文件夹,所以我们需要手动创建。我在主文件夹下创建了它们,并将它们命名为上传和下载。
创建文件夹后,我们使用useradd添加用户:
user-s/sbin/nologin-d/home/upload uploader #使用此命令只能创建一个用户。
Passwd uploader #使用此指令设置密码。我个人没试过,但是不建议设置成和pam设置不一样的密码。
这将创建一个用户。然而,这还不够。新创建的上传者实际上还没有获得/home/upload的权限,所以我们需要手动修改:
chown上传程序/主页/上传
chmod u rwx/home/上传
这将上传文件夹的权限授予上传者。用同样的方法设置test的权限,注意只给下载用户可读的权限。
准备就绪后,您可以重新启动我们的vsftpd服务:
systemctl重新启动vsftpd.service
那么去看看我们的服务器吧!
附:自动执行种子制作脚本#!/bin/bash for file in/home/test/* do if[-d $ file ]then echo $ file is a directory elif [ -f $file ]然后Echo $ file a=` basename $ file ` Echo $ a CP/home/test/$ a/home/files python/home/BitTorrent-4 . 0 . 3/btmakerorent . py 3358您的服务器IP地址:您设置的跟踪器端口/announce /home/files/$a b=$a 。 torrent echo $ b mv/home/files/$ b/home/torrent ln/home/files/$ a/home/torrent CP/home/torrent/$ b/home/download else echo $ file fidone
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。