LINUX下如何搭建apache和svn。(centos 5.3)
配置了几天的linux服务器上的apache和svn好使了,写下这个文档,以便自己能记住。也希望有相同兴趣的朋友可以指点我配置过程中的不足。 申明:我是在虚拟机上配置的。 一、安装虚拟机 具体哪个版本的记不住了,不过这个简单,直接下载安装重启就OK了。
配置了几天的linux服务器上的apache和svn好使了,写下这个文档,以便自己能记住。也希望有相同兴趣的朋友可以指点我配置过程中的不足。
申明:我是在虚拟机上配置的。
一、安装虚拟机
具体哪个版本的记不住了,不过这个简单,直接下载安装重启就OK了。
二、新建虚拟机
我用的是CENTOS 5.3,所以客户机操作系统的版本选择的是Red Hat Enterprise Linux 5,在新建虚拟机的时候可以根据自己的操作系统版本进行选择(不知道可以在网上搜,一般能搜索到)。
打开虚拟机,点新建一个虚拟机然后点下一步,自定义——Workstation 6——Linux(Red Hat Enterprise Linux 5)(客户机操作系统及版本选择)——虚拟机名称及位置(名称采用默认也可,位置可以选在自己电脑磁盘空间相对大的地方)——处理器配置(默认)——内存(我的是512MB)——网络连接(桥接)——选择I/O适配器类型(默认)——选择一个磁盘(创建一个新的虚拟磁盘)——虚拟机磁盘类型(SCSI(推荐))——磁盘大小(我的是60G)(根据自己的磁盘空间而定)——指定磁盘文件(默认)——完成。
到此虚拟机已经建好,下一步在虚拟机里装linux操作系统。
三、在虚拟上安装linux系统
1.设置:设置虚拟机的CD-ROM,双击虚拟机的CD-ROM,设置为:打开电源时连接,并将使用ISO镜像作为VMware的光驱。(没有光盘的情况下)。
2.启动该虚拟机,装linux系统。(下面提到的是可以选择的,没有提到的均选择默认的)
A.语言:简体中文.
B.键盘:美国式英语。
C.设置网络设备:
a.点编辑设置:
选择Enable IPv4 support Manual configuration
设置IP和子关掩码(例如192.168.0.*及255.255.255.0).并且把Enable IPv4 support的勾去掉。
b.设置网关及主DNS 如:网关:192.168.0.1 主DNS:192.168.0.1
D.防火墙:禁用。
3.调整虚拟机的分辨率。
虚拟机的系统装好之后,默认的分辨率是800*600,如有需要可调整其分辨率。
调整分辨率:虚拟机——安装VMware Tools。
这个过程有时候比较慢,需要耐心等待。直到桌面上出现VMware,此时可打开将其COPY到桌面上。然后点VMwareTools-6.0.2-59824.i386.rpm进行应用安装,安装成功后,解压缩VMwareTools-6.0.2-59824.tar.gz,解压缩后文件名为vmware-tools-distrib,打开后点vmware-install.pl,让其在终端中运行。一直按回车即可。装好以后点系统——显示——调整自己需要的分辨率。
重启虚拟机即可。
四、安装apache,svn并配置。
在此我选择的是用yum安装。
所用安装的有apr,apr-util,httpd(即apache),subversion.
打开终端:
1.安装apr
输入yum install apr* #根据提示安装apr相关的一些东西,包括apr在内。(也可用yum install apr,这样将只安装apr,可能会缺失一些东西,没有试过。)
2.安装apr-util
如果上面用的是yum install apr*,则已经装上apr-util了。
3.安装subversion
yum install subversion*
4.安装httpd
yum install httpd*
到此为止所有的都已经安装完毕。
5.安装dav模块
yum install mod_dav_svn
注:yum安装命令语法为: yum install 软件名,后面加*则下载所有相关的。
6.配置svn和apache
打开apache的httpd.conf文件,应该在/etc/httpd/conf/httpd.conf下
将231,232行改为User apache Group apache ,如果已经改过来就不用改了。
在最后添加(注意:要在英文状态下输入)
<Location /repository>
DAV svn
SVNParentPath /usr/linux
AuthType Basic
AuthName "svn repos"
AuthUserFile "/etc/httpd/passwd"
AuthzSVNAccessFile "/etc/httpd/accessfile"
Require valid_user
</Location>
注意:输入的所有内容均应在英文状态下输入。
SVNPath /usr/linux/xiu #单库时需要这么写,xiu为库名。
SVNParentPath /usr/linux #库路径(多库),根据实际情况而写路径。
AuthUserFile "/etc/httpd/passwd" #存放用户名及密码的文件路径。
AuthzSVNAccessFile "/etc/httpd/accessfile" #存放权限的路径。
五、建项目仓库并导入文件
1.建项目仓库
cd /etc/subversion(subversion目录)
首先在/usr 下建一个空文件夹,名字自己起, 在此我建的是名为linux的文件夹。xiu即为所建仓库的名字,可根据自己的意愿起名。
mkdir /usr/linux
svnadmin create /usr/linux/xiu
svnadmin create /usr/linux/xiu1
将项目仓库的所有者设为apache
cd /usr
chown apache:apache -R linux # -R指设置对linux的子文件夹及文件也有效。
2.导入文件至项目仓库
svn import 要导入项目的路径 file:///usr/linux/xiu (项目仓库路径) -m "提交信息"
六、权限设置
1、建用户名 username:用户名,自己起的名字。
第一次建:htpasswd -c 路径(/etc/httpd/passwd) username # 因为没有passwd文件,故用-c创建
第二次建:htpasswd -m 路径(/etc/httpd/passwd) username
2.权限设置
在目标位置(/etc/httpd下)建个名为accessfile的空文档,在里面添加以下内内容。
并将其所有者设置为apache,命令:chown apache:apache accessfile
a.多库
[groups]
admin=user1,user2,...
dev=user1,..
[项目名:/]
@admin=rw
@dev=r
b.单库
[groups]
admin=user1,user2,...
dev=user1,..
[/]
@admin=rw
@dev=r
然后启动apache,用service httpd start 或者 httpd -k start
客户端访问路径:http://IP:80/repos/xiu (xiu即库名),根据自己的实际情况而定。如果不出意外,能看见到刚才添加进去的内容。
七、注意:
1.可能所有的配置好了,在客户端可以访问项目仓库,但是貌似没有写的权限,提交或者添加文件时会提示,Can't create directory '...svnroot/db/transactions/0-1.txn': Permission denied ,这样的话,修改/etc/sysconfig/selinux,把SELINUX设定为disable,下次启动系统后将不会自动启动SElinux即可。
2.linux下如何设置apache开机启动
在/etc/rc.d/rc.local中增加启动apache的命令,例如:/usr/local/httpd/bin/apachectl start
更多推荐
所有评论(0)