NFS/SVN/XWindow介绍 尚观 day10

来源:互联网 发布:大数据机房建设方案 编辑:程序博客网 时间:2024/04/29 17:51

 第一、NFS服务的搭建

    涉及的软件包:
    nfs-utils
    服务依赖的软件包:
    portmap ---> portmap服务  

    service portmap restart  <---为了保证nfs正常使用,无论客户端还是服务器端都要开启这个服务
    service  nfs restart


    1、配置文件
vim /etc/exports
/share/rhel_source *(ro)    <---语法: 共享资源的本地路径   接受共享目标(共享的限制参数)
/share/soft 10.1.1.0/24(rw)
/share/ftp_source 10.1.1.108(rw) 10.1.1.110(ro)
                ^注意:没有空格
/share/ftp_source/class/weeken   192.168.20.0/255.255.255.0(rw,root_squash)

[A]  --->  [B NFS_Serv]
root        root



例子:

/ftp    10.1.1.0/24(ro)
/u1     10.1.1.0/255.255.255.0(rw)

为了让/u1挂载之后能够顺利写入文件,/u1这个目录在服务器上本身必须具有可写的权限,
由于/u1被挂载之后,一般会把root映射成nfsnobody的普通帐号(默认带有root_squash),这个帐号在服务器上是一个普通帐号,也就是对于/u1(属于root:root的属性)这个文件夹是一个other的角色,所以为了有写的权限必须在服务器上修改一下: chmod 777 /u1

把上面的配置改一下:
/u1     10.1.1.0/255.255.255.0(rw,no_root_squash)  <--这个时候你用root进行挂在操作的时候,你就具有root的权限


为了避免用户身份的混乱,可以这样作:

/u1     10.1.1.0/255.255.255.0(rw,all_squash)   默认就映射成nfsnobody


别的一些参数:
    sync
    async


修改完配置文件就重新启动服务或者重新加载配置文件
service nfs restart

service nfs reload  <---思考一下区别


    

=========================
第二、Svn(版本管理)

配置步骤:
    1、安装apache服务器
    yum install httpd -y
    yum install httpd-devel -y

    2、解压subversion源码包并进行相关编译安装

shell> tar xvf neon-0.28.4.tar.gz -C /usr/src
shell> tar xvf sqlite-amalgamation-3.6.13.tar.gz -C /usr/src
shell> tar xvf subversion-1.6.5.tar.bz2 -C /usr/src

shell> mkdir /usr/src/subversion-1.6.5/sqlite-amalgamation
shell> cp /usr/src/sqlite-3.6.13/sqlite3.c /usr/src/subversion-1.6.5/sqlite-amalgamation/
shell> mv /usr/src/neon-0.28.4  /usr/src/subversion-1.6.5/neon
shell> cd /usr/src/subversion-1.6.5/neon
shell> ./configure && make && make install

shell> cd usr/src/subversion-1.6.5/
shell>./configure --prefix=/usr/local  --with-apxs=/usr/sbin/apxs  && make && make install

    编译完成产生两个apache的扩展模块还有相关的svn命令
[root@station67 subversion-1.6.5]# ls /etc/httpd/modules/ | grep svn
mod_authz_svn.so
mod_dav_svn.so

[root@station67 subversion-1.6.5]# svn
svn            svndumpfilter  svnserve       svnversion     
svnadmin       svnlook        svnsync


    3、验证版本

[root@station67 subversion-1.6.5]# svn --version
svn,版本 1.6.5 (r38866)
   编译于 Oct 31 2009,13:59:47

版权所有 (C) 2000-2009 CollabNet。
Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。
此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。

可使用以下的版本库访问模块:

* ra_neon : 通过 WebDAV 协议使用 neon 访问版本库的模块。   <----确定这个模块存在
  - 处理“http”方案
* ra_svn : 使用 svn 网络协议访问版本库的模块。  - 使用 Cyrus SASL 认证
  - 处理“svn”方案
* ra_local : 访问本地磁盘的版本库模块。
  - 处理“file”方案


    4、添加日常管理用户和库版本所在的目录
[root@station67 /]# useradd svnroot
[root@station67 /]# passwd svnroot
Changing password for user svnroot.
New UNIX password:
BAD PASSWORD: it is WAY too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@station67 /]# mkdir /home/svnroot/reposistory   <--把这个目录作为所有项目的根目录


    5、分别建立两个模拟的软件项目(版本库),一个叫做sqlite,另外一个叫google,名字随便取,但项目的路径一定要在/home/svnroot/reposistory/下

[root@station67 /]# mkdir /home/svnroot/reposistory/sqlite
[root@station67 /]# svnadmin create /home/svnroot/reposistory/sqlite
[root@station67 /]# ls /home/svnroot/reposistory/sqlite
conf  db  format  hooks  locks  README.txt
[root@station67 /]# mkdir /home/svnroot/reposistory/google
[root@station67 /]# svnadmin create /home/svnroot/reposistory/google
[root@station67 /]# ls /home/svnroot/reposistory/google
conf  db  format  hooks  locks  README.txt


    6、分别对两个项目导入各自导入数据(也就是项目的源文件)

[root@station67 /]# svn import /usr/src/sqlite-3.6.13/ file:///home/svnroot/reposistory/sqlite/ -m "Initail import"

。。。。
提交后的版本为 1。

[root@station67 /]# svn import /usr/src/subversion-1.6.5 file:///home/svnroot/reposistory/google/ -m "Initail import"


查看项目的文件列表:
[root@station67 /]# svn list file:///home/svnroot/reposistory/sqlite/
[root@station67 /]# svn list file:///home/svnroot/reposistory/google/




    7、配置httpd
vim /etc/httpd/conf/httpd.conf

LoadModule dav_svn_module     /usr/lib/httpd/modules/mod_dav_svn.so
LoadModule authz_svn_module   /usr/lib/httpd/modules/mod_authz_svn.so

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

<Location /svn>
        DAV svn
        SVNParentPath /home/svnroot/reposistory
        AuthzSVNAccessFile /home/svnroot/reposistory/authz.conf
        AuthType Basic
        AuthName "Subversion Reposistory"
        AuthUserFile /home/svnroot/reposistory/authfile
        Require valid-user
</Location>



WebDAV  目录发布和版本管理,可以通过浏览器基于http的协议对文件进行管理


    8、添加访问版本库的用户
[root@station67 conf]# htpasswd -c /home/svnroot/reposistory/authfile tom
New password:
Re-type new password:
Adding password for user tom
[root@station67 conf]# htpasswd  /home/svnroot/reposistory/authfile mary
New password:
Re-type new password:
Adding password for user mary

    9、修改项目目录的相关权限

[root@station67 conf]# chgrp -R apache /home/svnroot/
[root@station67 conf]# chmod -R 770 /home/svnroot/
[root@station67 conf]# chmod g+s /home/svnroot/


    10、添加svn本生的访问控制规则文件
vim /home/svnroot/reposistory/authz.conf
[/]
* = rw

    11、启动httpd验证

service httpd restart






===========================

第三、Xwindow的介绍

    基于C/S架构的协议
        X-Server 《---用来驱动硬件的,包括显示器,键盘,鼠标
        X-Client  《---可以理解为产生窗体的程序(的那台电脑)

    协议: tcp/ip

    实现步骤:

        vim /etc/inittab
            id:3:initdefault:  <---让系统开机进入控制台模式
        init 6
        重启之后:
        X  《----启动一个X Server端,他的功能就是驱动我们的I/O设备
        ctrl + alt + F2 登录另外控制台输入以下命令:
        DISPLAY=127.0.0.1:0.0 gnome-terminal &
        ctrl + alt + F7  <----你会发现出现了一个没有标题栏的图形终端
        然后你在这个终端输入命令:
        gnome-session &  <---这是启用我们的gnome桌面环境,也就是DE,常见DE有gnome,kde ,如果是启用kde,那么你可以运行kde,前提你安装了kde的桌面环境相关的软件包
        
        另外的实现:
        startx    《---直接启用X-server以及对应的桌面环境(调用了gdm 或者 kdm)
        startx -- :1  ctrl + alt + F8  <---打开另外一个X-server+DE
    

课外引申:制作个性的grub背景
        yum install ImageMagick.i386 -y
        convert -resize 640x480 image.jpg  -colors 14 splash.xpm && gzip splash.xpm  <---把image.jpg转换成xpm格式并且打包
        cp splash.xpm.gz  /boot/grub/
        
    
    
========================================

新建立一个虚拟机,启用网络安装,安装的时候输入: ule10  回车


综合练习:
第一、用Grub命令行进引导系统,进到系统后建立grub.conf
第二、用hda剩下的空间建立一个分区,分区类型为82,并使用这个分区作为系统的swap分区,让设置永久生效(配置fstab)
第三、手工建立用户(useradd命令被故意删除)mary
    要求:密码有效期为30天,提前5天警告,过期7天还不修改密码就停止账号
第四、建立用户组uploking,并且把mary加到改组,组管理员是mary,组密码为123456
第五、修复网络,要求网卡的静态配置IP(注意:如果IP和其他人冲突,重新再指定),设定网关,设定DNS,最后能够正常使用命令访问10.1.1.1 (测试命令: elinks http://www.baidu.com)
第五、设定时间任务,要求每隔5分钟同步时间一次 ,同步时间的命令是ntpdate 10.1.1.1   
第六、定义个永久的命令别名mymnt 让运行命令mymnt的时候,就能快速挂载我的服务器的共享资源/share/soft   
第七、新添加两个磁盘,并搭建raid0,并挂在到/www.要求支持acl,开机自动挂载
第八、对于/www,要求除了mary不能写权限之外任何人都能读写,但文件只能是拥有者才能删除,并且用户tom只能使用20M的空间
第九、要求支持nfs资源访问,要求能够使用yum命令 (提示:系统缺少portmap和nfs-utils软件包)

原创粉丝点击