RHEL6 安装apache
来源:互联网 发布:易顺佳服装软件 编辑:程序博客网 时间:2024/06/05 20:57
- 服务器版本和安装软件
- 服务器版本:
RedHatCentOS 5.5 32 bit
- 安装软件:
- apr-1.3.5.tar.gz
(APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。)
下载地址:http://apr.apache.org/download.cgi
- apr-util-1.3.7.tar.gz
下载地址:http://apr.apache.org/download.cgi
- httpd-2.2.11.tar.gz
(apr和apache的版本要对应,如果Apache为2.0.x,对应的APR版本应为0.9.x;Apache为2.2.x,对应的APR版本应为1.2以上版本)
下载地址:http://httpd.apache.org/download.cgi
- neon-0.28.2.tar.gz
下载地址:http://www.webdav.org/neon/neon-0.28.2.tar.gz
- subversion-1.5.0.tar.gz
下载地址:
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=9755&expandFolder=9755&folderID=260
- subversion-deps-1.5.0.tar.gz
(因为手头下载的有1.4.4版本的和1.5.0版本的,就用高版本的来测试了)
下载地址:
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=9755&expandFolder=9755&folderID=260
- 安装
- 安装apr-1.3.5.tar.gz 和apr-util-1.3.7.tar.gz
- 安装apr-1.3.5.tar.gz
# tar zxvf apr-1.3.5.tar.gz
# cd apr-1.3.5
# ./configure
#make
#make install
安装如图:
- 安装apr-util-1.3.7.tar.gz
# tar zxvf apr-util-1.3.7.tar.gz
# cd apr-util-1.3.7
# . /configure --with-apr=/usr/local/apr
# make
# make install
安装如图:
- 安装httpd-2.2.11.tar.gz
# tar zxvf httpd-2.2.11.tar.gz
# ./configure --prefix=/usr/local/apache2 --enable-dav --enable-maintainer-mode --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-pcre=/usr/local/pcre
# make
# make install
注意:安装过程中会报错,要去安装pcre,建议下载pcre.tar.gz格式,用./configure --prefix=/..,
编辑httpd.conf文件,搜索"#ServerName",添加ServerName localhost:80 ,把监听Listen 80改为 8080
启动Apache服务:
# /usr/local/apache2/bin/apachectl start
1 启动apache命令:/usr/local/apache2/bin/apachetl start
2 停止: stop ,重启:restart
3 查看进程: ps -aux | grep http用浏览器查看http://localhost/,得到It works!
说明apache已经配置成功了。
测试完成后关闭服务,因为还要安装SVN,否则会报错
# /usr/local/apache2/bin/apachectl stop
安装如图:
- 安装neon-0.28.2.tar.gz
此步至关重要!
#tar zxvf neon-0.28.2.tar.gz
#cd neon-0.28.2
#./configure –prefix=/usr/local/neon
此时需修改Makefile文件:
配置neo-0.28.2/src/Makefile,将CFLAGS = -g -O2 改成 CFLAGS = -fPIC -g -O2
#make
#make install
安装此步neon至关重要,否则会提示如下错误:
could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [subversion/libsvn_ra_dav/libsvn_ra_dav-1.la] Error 1
安装如图:
- 安装Subversion
# tar zxvf subversion-1.5.0.tar.gz
# tar zxvf subversion-deps-1.5.0.tar.gz
# cd subversion-1.5.0
# rm -rf apr
# rm -rf apr-util
# cd zlib
#./configure --prefix=/usr/local/zlib
#make
#make install
#cd ..
#./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config –with-neon=/usr/local/neon --with-ssl --with-zlib=/usr/local/zlib --enable-maintainer-mode
#make
#make install
注:
- 由于subversion-deps包里的APR是0.9.x的,因此编译svn时要删除从deps里解压出来的apr, apr-util,改而使用apache 2.2里提供的;
- ./configure的时候必须加上–with-neon=/usr/local/neon,否则会提示错误(安装neon的时候强调过);
- 查看Apache的配置文件:/usr/local/apache2/conf/httpd.conf
看到下面两个模块说明安装成功
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
安装如图:
- 配置
1.建立仓库
#mkdir-p/home/svnroot/repository
#cd/usr/local/subversion/bin
#./svnadmin create /home/svnroot/repository/test ' 这里假设我们的项目是test
#./svnimport/bootfile:///home/svnroot/repository/test-m"boot"
'这里假设我们以前的项目文件在/boot目录下,现在导入到test库里
#chmod -R apache:apache/home/svnroot/repository
'这里把仓库目录权限给apache用户及apache用户组,主要是因为我们要通过http来访问svn
2.配置http服务器
首先测试一下服务器是否可以正常访问,命令如下:
#cd/usr/local/apache2/bin
#./apachectlstart
然后在浏览器里输入http://运行apache的ip地址
出现It Works,表示成功。
更改apache2的配置文件"/usr/local/apache2/conf/httpd.conf",在文件末尾添加如下内容:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
'上面两行其实安装软件时,已经自动添加,如果没有的话,手工添加就行
<Location/svn>
DAV svn
SVNParentPath /home/svnroot/repository/
AuthzSVNAccessFile /home/svnroot/repository/authz.conf '配置svn权限的文件
AuthType Basic
AuthName "SubVersion"
AuthUserFile /home/svnroot/repository/valid-user '用户配置文件
Require valid-user
</Location>
我们使用"#/usr/local/apache2/bin/apachectl restart"重启apache服务器,通过浏览器访问"http://ip/svn/test",如果提示输入用户名、密码的话,配置成功。
接着,我们生成valid-user文件,这个文件其实就是创建可以访问http的用户,使用的是htpasswd命令,方法如下:
#cd/usr/local/apache2/bin
#./htpasswd-c/home/svnroot/repository/valid-user hrwang
'会提示输入密码,这个密码以后就是访问http时的用户口令。
'如果要继续添加用户,去掉-c 选项,使用:
#./htpasswd/home/svnroot/repository/valid-user yli
现在配置访问svn的用户权限,这里就涉及到上面提到的authz.conf文件了,方法如下:
# vi/home/svnroot/repository/authz.conf '建立authz.conf文件,添加如下三行
[test:/] //这表示,仓库test的根目录下的访问权限
hrwang = rw //test仓库hrwang用户具有读和写权限
yli = r //test仓库yli用户具有读权限
'附加的一些说明
[test2:/] //test2仓库根目录下的访问权限
hrwang = r //hrwang用户在test2仓库根目录下只有读权限
bao = //bao用户在 test2仓库根目录下无任何权限
[/] //这个表示在所有仓库的根目录下
*= r //这个表示对所有的用户都具有读权限
#[groups] //这个表示群组设置
#svn1-developers= hrwang, bao//这个表示某群组里的成员
#svn2-developers= hrwang
#[svn1:/]
#@svn1-developers= rw//如果在前面加上@符号,则表示这是个群组权限设置
例如我们把权限配置成这样:
[groups]
valid-user=hrwang,yli
invalid-user=bao
[test:/]
@valid-user=rw
@invalid-user=
这样的话,用户hrwang和yli可以读写,而bao不可以读写。
Ok,配置完成,重启apache服务器,在浏览器里输入http://ip/svn/test,在出现的输入框里输入用户名hrwang和密码,看看出现了什么,是/boot目录下的文件,:)
四、注意
因为我们对svn的操作都是通过http,而http默认是以用户deamon,用户组deamon来运行的(这个可以从httpd.conf配置文件中的"User" "Group"两个选项看出)。我把这两项更改为apache,让其以apache用户及apache用户组来运行httpd服务。这就是为什么上面我把仓库的目录权限设置为apache:apache的原因。
- RHEL6 安装apache
- 在RHEL6上安装基于APACHE的SVN
- RHEL6 安装 MPlayer
- RHEL6 XWindow安装
- RHEL6.2 安装 mplayer
- sysbench RHEL6 安装备忘
- Awstats RHEL6下安装
- RHEL6 KVM安装备忘
- RHEL6系统安装教程
- RHEL6.4安装ftp
- RHEL6 sysbench的安装
- RHEL6.4安装varnish
- RHEL6-1:系统安装
- RHEL6安装JDK7
- rhel6 gnome安装
- RHEL6 安装KVM
- RHEL6.4安装nginx
- RHEL6.3系统安装
- 111111111111111111111
- 将myeclipse 控制台信息输出到文本文件
- 《高效学习OpenGL》之 通用的变换函数 glMatrixMode(),glLoadIdentity(),glLoadMatrixf(),glMultMatrixf();
- Swing开发之JTextField篇
- Binary String Matching 字符串的查找匹配 STL
- RHEL6 安装apache
- JAVA基础加强之反射2
- 互联网/移动互联网软件测试工程师的知识体系
- Android 获取当前系统时间
- oc 代理委托继承与其他基础知识
- 通过RCU建立OSB和SOA Suite的database schemas
- 水处理设备中纯净水设备的应用
- 工业紫外线消毒器应用工艺优势体现
- cross-dll和智能指针