Fork me on GitHub

Linux 笔记 —— SVN和FTP的安装

时隔3年,重新在虚拟机上装了个Linux,开始研究,每次写Blog都会感叹一下时间如梭啊,就像小敏,时不时晚上要对我说:我现在心情不好。S:为啥?M:又老了一天。


Ok,这次主要抱怨下Linux下的SVN和FTP的部署,说错了,是记录下。


Linux给我最大的感觉就是太不人性化了,这么多年了,M$,烂苹果都意识到了用户体验的重要性,可是Linux就是不学乖,跟IBM一个德行,也许是为了提升整个系统的运行效率而放弃了图形化的界面(啥?Linux的图形界面?鸡肋,食之无味,弃之可惜),也许是故意提高Linux系统的管理门槛,以便催生类似“牛B的Linux系统管理员”这样称号的职业,谁知道呢,反正Linux可以用一句话来总结一下,就是,谁用谁蛋疼。PS:更有人用Linux来做为日常使用的电脑,办办公,上上网,这就是蛋疼菊紧了,然后还要来论坛秀一下下限,看我用Linux,多NB!这里就要表扬下Win8了,当初也只是为了装B,装了个WDP版本,结果发现M$这次厚道啊,虽说是WDP,但是稳定性,兼容性都相当的好,甚至在资源占用,资源管理等方面都比Win7还好,在我笔记本上测试了下游戏性能,WOW的运行效率比在Win7上还高,小小的期待下Win8的正式版。(啥?Metro才是重头?鸡肋)。好了,徐庶说的言多必失,回归正题。


SVN的安装:
Subversion,Apache的源代码管理工具,本来是不想用SVN的,其实Windows下的TFS蛮好用的,集成了源代码管理和项目管理(包括了Bug Track)。但是TFS太臃肿了,而且安全性太好了,上次Windows崩溃,我把TFS进行了一次备份,费了九牛九虎之力在另外一台电脑上恢复了,结果客户端使用同样一个用户名,都不能继续使用原来的工作空间,导致没有签入的源代码都要被覆盖,只有用很苯的办法来保证不丢失源代码,太坑爹了。SVN就Light多了,要迁移环境啥的,方便的多。


安装很简单,官方网站有说明,三句命令搞定(SLES11,下同):
zypper addrepo http://download.opensuse.org/repositories/devel:tools:scm:svn/SLE_11/devel:tools:scm:svn.repo
zypper refresh
zypper install subversion



添加源,刷新,安装,这步骤好眼熟,越狱的IOS么?


SVN配置:
也不复杂,先建立一个目录:
mkdir /home/svn/efreda
这个目录做为SVN的根据地。


然后建立SVN相关配置文件:
svnadmin create /home/svn/efreda
运行之后,可以导航到该目录,生成了几个相关配置文件。


对svnserve.conf进行配置,用经典的VI(还记得4年前,李老教我们用Linux下的VI,我一直不怎么理解什么叫末行模式,哈哈)打开。
几个地方都需要修改:
anon-access = none # 设置是否允许匿名访问,内部的话,就不允许匿名了
auth-access = write # 设置登录用户的权限,可写


passwd-db = passwd # 这个可配可不配,由于我们采用的是加密的认证方式,所以这个不配置,保持屏蔽
authz-db = authz # 如果需要按目录按组分权限,这个就需要进行配置,网上说明一大堆


realm = Efreda Repository # 为仓库取一个唯一的名字,后面的加密认证需要用到


use-sasl = true # 是否使用SASL加密认证,这个启用,要不登录保存的是明文,SLES11下这个是默认可以使用的,相关依赖项都安装完毕了。


min-encryption = 128 # 加密的配置,分别设置成0,1,>1有不同的意思,网上也是说明一大堆
max-encryption =256
改完保存。


配置SASL:
导航到 /etc/sasl2,还是使用VI新建一个svn.conf文件,内容如下:
pwcheck_method: auxprop
auxprop_plugin: sasldb
sasldb_path: /home/svn/efreda/sasldb
mech_list: DIGEST-MD5



然后新建SVN用户:
saslpasswd2 -c -f /home/svn/efreda/sasldb -u "Efreda Repository" sweet -p
接着输入密码就行了。


删除用户就是把-c 改成 -d。


另外还有一个命令:sasldblistusers2 -f [path] 列出所有用户


启动SVN:
svnserve -d -r /home/svn/efreda
停止SVN:
killall svnserve


建立FTP:
实际上SLES11在安装完成后,FTP服务器已经安装好了,pure-ftpd,在YaST中启动它即可,图形配置没啥要改的,就是拒绝匿名用户,然后把目录改一下。


主要的配置改动还是在文件当中,导航到:/etc/pure-ftpd/pure-ftpd.conf (VI),
主要的改动如下:
PureDB 把这个的注视去掉,以便允许虚拟帐户访问FTP。
Umask 127:027 #原本是 177:077,这个是权限掩码,不改的话,通过管理员帐户创建的文件,默认情况下,其他正常用户无法下载,今天配置的时候,我就卡在这里了,搞了半天,我上传的东西,别人都不能下载。
AutoRename no
CreateHomeDir no # 如果只是为了共享资源,没必要创建个人目录
NoRename no # 这个必须改,否则管理员帐户登录都无法修改文件名


其他默认即可。


然后创建1个分组,2个Linxu帐户,分组取名:ftpgrp,两个帐户分别为:ftpuser,ftpadmin。然后对ftpadmin赋予FTP目录的拥有权限,我用的目录是 /home/ftp 用命令:chown ftpadmin:ftpgrp /home/ftp 即可。


之后创建虚拟帐户:
pure-pw useradd sweet -u ftpadmin -d /home/ftp # 这里我把自己加为管理员,即拥有RW权限。


pure-pw useradd fred -u ftpuser -d /home/ftp # 普通权限,只能下载。


最后记得使用命令 pure-pw mkdb 以便虚拟帐户生效。


还有些命令 pure-pw show sweet 显示用户信息,pure-pw passwd sweet -m 修改密码,pure-pw userdel sweet -m 删除用户。PS:后面的-m是让虚拟帐户信息立即生效,相当于使用了pure-pw mkdb.


最后重新启动FTP:rcpure-ftpd restart。


完毕!
posted @ 2011-10-23 15:08  sweetwxh  阅读(1163)  评论(0编辑  收藏  举报