今天笔记本上的ubuntu系统出了问题,重装了系统,也把基本的服务器 apache tftp ftp都再做了一遍,也算是又复习了一遍,以前是做好了能用就算了,今天做完了总结一下,省得下次还会遇到麻烦。

要声明的一点是,由于我不是专门弄各种服务器的,我做的是嵌入式,我做这些服务器是为了能在开发板和我的主机之间通信传输一些基本的文件就可以,所以我的配置很简单,主要的就是更改服务器默认登录目录,只保证基本能用,如果你要搭建服务器需要详细配置,我写的这个就没有参考价值了。

ftp服务器

首先安装,aptitude install vsftpd, aptitude install vsftp。vsftpd是服务器,vsftp是客户端,linux下服务器和客户端基本都是这样命名的。我们主要要操作的是服务器,客户端在开发板上,安装好以后,要找到vsftpd的配置文件,/etc/vsftpd.conf,编辑这个文件。

这里要说明的一点是,vsftpd服务器有2种模式,standalone和xinetd模式,standalone可以理解为vsftpd进程独自在后台监听端口,xinetd是由xinetd进程来监听端口,哪个端口有收发就通知哪个服务器进程,这样比较节省资源。

这里dtp采用的是standalone模式,vsftpd.conf中第一条就是listen=YES,如果是xinetd模式的话这里就改成NO,其他的暂时不要改,再添加2句,就是设置本机用户和匿名用户登录的默认目录:

local_root=/work/ftp

anon_root=/work/ftp

等号后面就是你设置的ftp目录了,这样就好了。

对于vsftpd.conf文件中每条的详细含义,我从网上找到了一部分,和大家分享。

ml代码  

  1. anonymous_enable=NO                  #禁止匿名
  2. local_enable=YES                     #允许本地登录
  3. write_enable=YES                     #允许写,如需上传,则必须
  4. local_umask=027                      #将上传文件的权限设置为:777-local_umask
  5. anon_upload_enable=YES               #允许虚拟用户和匿名用户上传
  6. anon_other_write_enable=YES          #允许虚拟用户和匿名用户修改文件名和删除文件
  7. dirmessage_enable=YES
  8. xferlog_enable=YES                   #打开日志记录
  9. connect_from_port_20=YES
  10. xferlog_file=/var/log/vsftpd.log     #日志存放位置
  11. xferlog_std_format=YES               #标准日志格式
  12. idle_session_timeout=600             #空闲连接超时
  13. data_connection_timeout=120
  14. ftpd_banner=Welcome to ChinaRise FTP service       #欢迎信息
  15. guest_enable=yes                     #允许虚拟用户
  16. guest_username=vsftpdguest           #虚拟用户使用的系统账号
  17. virtual_use_local_privs=YES          #虚拟用户拥有本地系统权限
  18. chroot_local_user=YES
  19. chroot_list_enable=YES
  20. #以上两行将虚拟用户限制在其目录下,不能访问其他目录,或直接用
  21. chroot_local_user=YES
  22. listen=yes                #监听/被动模式
  23. listen_port=21            #监听端口
  24. chroot_list_file=/etc/vsftpd/vsftpd.chroot_list    #虚拟用户名单保存在文件/etc/vsftpd/vsftpd.chroot_list 中
  25. user_config_dir=/etc/vsftpd/vsftpd_user_conf       #每个虚拟用户名的更加详细的培植保存在/etc/vsftpd/vsftpd_user_conf 中

最后一步就是要重启服务,service vsftpd restart。可以本机用户登录一下试一下,ftp localhost。 也可以用netstat -lpnt 看一下vsftpd有没有在监听21端口。

tftp服务器

安装,aptitude install tftpd-hpa tftp-hpa,xinetd。这里就要用到xinetd程序了,因为起初我想用standalone模式,但是tftpd一直起不来,所以就换用xinetd模式,让xinetd来监听它,安装好以后,需要先配置一下xinetd,/etc/xinetd.conf,打开,可以看到就是包括xinetd.d目录下的文件,进入xinetd.d目录,这下面就是一些需要xinetd来监听端口的服务的说明配置文件,我安装了之后这个目录下没有关于tftpd服务器的说明,新建文件,仿照其他文件添加如下内容:

service tftp
{
        disable         =no
        socket_type     =dgram
        protocol        =udp
        wait            =yes
        user            =root
        server          =/usr/sbin/in.tftpd
        server_args     =-s /work/tftproot
        per_source      = 11
        cps             = 100 2
        flags           = IPv4
}

server_args参数需要注意下,是来设置tftp服务器的共享目录,参数的解释如下:

-l 使用standalone模式运行,此模式下,将会忽略-t选项
        -a address:port 在standalone模式下服务所在的IP与端口,如果不指定,则在本机所有IP,/etc/service中指定的port上侦听连接
        -c 允许在服务器上新建文件,否则只允许更新现有的文件。如果未指定-U或-p选项,则允许任何人上传文件
        -s directory 服务器端默认的目录,默认为/var/lib/tftpdboot
        -u username tftp服务以什么身份运行,默认是nobody,一般可以新建一个tftp的账号来运行
        -U umask 上传文件的掩码,如果未指定-p则为000,如果指定了-p,则采用指定的umask
        -p 对于通过-u指定的用户执行的动作,不做额外的权限检查

我是将/work/tftproot作为我tftp服务器的默认目录。修改好了tftpd文件,也就是把tftpd服务器的监听任务给了xinetd进程,然后重启xinetd进程。

测试一下,tftp ip地址,get一个文件,或者用netstat -lpnu查看一下,69端口有没有监听。

需要注意的一点是传输的文件的权限必须是全部打开的,不然传输会出错。

apache服务器

安装 aptitude install apache2,配置文件再/etc/apache2目录下,主配置文件是apache.conf,这个文件里其实已经将apache2目录下其余的配置文件用include都包括进来了。

在/etc/apache2/下面,会发现有两对目录,分别是mods-available和mods-enabled,sites-available和sites-enabled,*-available是提供可用的一些配置,*-enabled是启动你需要的一些配置。如果需要把可用的配置启动,就在enabled目录下做一个available的符号连接,这样用起来比较的方便。

apache服务器的默认分享目录实在sites-enabled下的000-default文件中,打开,会发现这样一句:

DocumentRoot /work/www

这就是服务器的默认目录,将此文件中用到这个路径全部修改成你的路径就可以了。

重启服务service apache2 restart,这时再本机浏览器上输入127.0.0.1(本地环回),如果显示IT WORK!就表明apache成功了。也可以查看一下端口,netstat -lpnt看一下80端口有没有在监听。

附加ftp tfp的一些基本知识:

文件传输协议(FTP)实际上就是传输文件的协议,它可以应用在任意两台主机之间,但是FTP不仅仅是一个协议,它同时也是一个程序。作为协议,FTP是被应用程序所使用的;而作为程序,用户需要通过手动方式来使用FTP并完成文件的传送。FTP允许执行对目录和文件的访问,并且可以完成特定类型的目录操作,例如将文件重新定位到不同的目录中。显然,FTP是与Telnet合作一同来完成对FTP服务器的登录操作,并在这之后再开始提供文件传送服务的。

     然而,通过FTP访问主机这只是第一步。随后,用户必须通过一个由系统管理员为保护系统资源而设置的安全登录认证,这个认证需要输人正确的口令和用户名。但是,也可以通过使用用户名“anonymous” 来尝试登录,当然,通过这种方式完成登录后,所能访问的内容将会受到某些限制。即使FTP可以被用户以应用程序的方式来使用,FTP的功能也只限于列表和目录操作、文件内容输人,以及在主机间进行文件拷贝。它不能远程执行程序文件。
    简单文件传输协议(TFTP)是FTP的简化版本,只有在你确切地知道想要得到的义件名及它的准确位置时,才可有选择地使用TFTP。TFTP是一个非常易用的、快捷的程序!TFTP并不提供像FTP那样的强大功能。TFTP不提供目录浏览的功能,它只能完成文件的发送和接收操作。这个紧凑的小协议在传送的数据单元上也是节省的,它发送比FTP更小的数据块,同时它也没有FTP所需要的传送确认,因而它是不可靠的。正是由于这个内在的安全风险,事实上只有很少的站点支持TFTP服务
    FTP 是完整、 面向会话、常规用途文件传输协议。而 TFTP 用作 bones bare - 特殊目的文件传输协议。
    交互使用 FTP。 TFTP 允许仅单向传输的文件。
    FTP 提供身份验证。而TFTP 不。
    FTP 使用已知 TCP 端口号: 20 的数据和 21 用于连接对话框。 TFTP 用于 UDP 端口号 69 其文件传输活动。
    因为 TFTP 不支持验证 WindowsNT ,所以FTP 服务器服务不支持 TFTP。
    FTP 依赖于 TCP,是面向连接并提供可靠的控件。 TFTP 依赖 UDP, 需要减少开销, 几乎不提供控件。

ubuntu11.04下apache tftp以及ftp服务器的安装和基本配置相关推荐

  1. ubuntu11.04上搭建Android推送服务器

    来自:http://download.csdn.net/download/johnny901114/4410546 查阅了一些网上关于Android上实现推送的文章 , 常用的实现方法有: 1.使用a ...

  2. ubuntu11.04下CUDA4.0的安装与配置

    1:下载CUDA 4.0 安装官网最新的显卡驱动: 安装方法可以参考: <Ubuntu11.04下安装Nvidia显卡驱动的方法> 然后从NVIDIA网站(http://developer ...

  3. 怎么在linux下使用ftp服务器,怎么在Linux下建立安全的FTP服务器?

    怎么在Linux下建立安全的FTP服务器? 2018-08-31 15:53 分享人:老牛 学习Linux系统时,你可能会遇到网络服务的问题,这里将介绍linux FTP服务器安全及DHCP服务的实现 ...

  4. linux 复制 u盘 只读,Linux_ubuntu系统下向U盘拷贝数据提示目标是只读的,在ubuntu11.04下使用U盘的时候, - phpStudy...

    ubuntu系统下向U盘拷贝数据提示目标是只读的 在ubuntu11.04下使用U盘的时候,发现U盘变成只读的了,向U盘拷贝数据,提示"目标是只读的",如下: 在网上搜素了一下,发 ...

  5. Linux技巧之Ubuntu11.04下安装极点五笔输入法

    转自:http://os.51cto.com/art/201108/285239.htm Ubuntu11.04是第14个Ubuntu系统发行版本.Ubuntu11.04将支持多点触摸技术,改进用户界 ...

  6. linux搭建ftp修改域名访问,linux下构建建设完美FTP服务器

    关键字:ubuntu linux Apache2 PHP5 Pure-FTPD pureftpd MySQL5 linux下构建建设完美FTP服务器,可管理,WEB管理,管理界面. ========= ...

  7. Linux与云计算——第二阶段Linux服务器架设 第八章:FTP服务器架设—安装配置FTP服务和客户端配置...

    Linux与云计算--第二阶段Linux服务器架设 第八章:FTP服务器架设-安装配置FTP服务和客户端配置 安装Vsftpd [1] 安装并配置Vsftpd. [root@server ~]# yu ...

  8. FTP服务器的安装和配置

    FTP服务器的安装和配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本来是想出一个源码安装ftp的教程,但是想想还是算了,如果你自学python有个10天的话你自己就能写一个f ...

  9. linux下php的安装路径,Linux下Apache、PHP、MySQL默认安装路径

    Apache: 如果采用RPM包安装,安装路径应在 /etc/httpd 目录下 Apache配置文件:/etc/httpd/conf/httpd.conf Apache模块路径:/usr/sbin/ ...

最新文章

  1. 密码学摘要算法之MD5
  2. 面试官:序列化和反序列化为什么要实现Serializable接口?
  3. vue-typescript
  4. 四、Python第四课——Python中列表及其操作(增删改查)
  5. 整理加解释:以太网、快速以太网、千兆以太网和万兆以太网分别的概念和区分 大详解
  6. 仅用10个月!中国高中生拿下Kaggle Master,怎么做到的?
  7. 【HeadFirst设计模式——开篇】
  8. switch java 语法_Java_基础语法之switch语句
  9. jmeter constant timer 如何添加_JMeter性能测试入门篇
  10. mfc 学习的第二天
  11. Unity基础知识之协程
  12. win10 mysql 卸载不干净,安装提示,The service already exists
  13. java fly bird小游戏_JavaScript实现Fly Bird小游戏
  14. Insyde uefi 隐藏设置_Android/iOS QQ 8.1.5测试版同时发布:私密会话可以隐藏
  15. EXCEL常规格式数字转换为日期时间格式的方法
  16. 该知道的都知道 不知道的慢慢了解 MySQL数据库操作
  17. python 比对匹配_用Python从头实现Needleman-Wunsch序列比对算法
  18. Java之Eclipse实现——在海绵宝宝的比基尼海滩里投喂鱼食
  19. 哲理小语:欲望是海水
  20. 2379. 得到 K 个黑块的最少涂色次数

热门文章

  1. Python:如何方便地用Python发outlook邮件
  2. 大数据:计算学生成绩
  3. mysql.proc is wrong_解决警告:数据库错误Column count of mysql.proc is wrong.
  4. 杨可桢机械设计基础第6版笔记和课后答案
  5. html files是什么文件夹,电脑硬盘里的program files文件夹是什么意思
  6. 小班安全使用计算机教案,小班安全教案《使用学习用具》
  7. Workflow规则收藏
  8. Google首席软件工程师Joshua Bloch谈如何设计一款优秀的API【转载】
  9. 闲来无聊 听几首歌 休息的时候
  10. python中应对各种机制