--------------------------------------首先安装apche-----------------------------------------

  1. 服务器版本:


BT5 R2


  1. 安装软件:
    1. apr-1.3.5.tar.gz

      (APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。)

      下载地址:http://apr.apache.org/download.cgi


    2. apr-util-1.3.7.tar.gz

      下载地址:http://apr.apache.org/download.cgi


    3. 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


    4. neon-0.28.2.tar.gz

      下载地址:http://www.webdav.org/neon/neon-0.28.2.tar.gz


    5. subversion-1.5.0.tar.gz

      下载地址:

      http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=9755&expandFolder=9755&folderID=260


    6. 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

  1. 安装


  1. 安装apr-1.3.5.tar.gz 和apr-util-1.3.7.tar.gz
    1. 安装apr-1.3.5.tar.gz

      # tar zxvf apr-1.3.5.tar.gz

      # cd apr-1.3.5

      # ./configure

      #make

      #make install


安装如图:





  1. 安装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


安装如图:







  1. 安装httpd-2.2.11.tar.gz

    # tar zxvf httpd-2.2.11.tar.gz

    # ./configure --prefix=/usr/local/apache2 --enable-dav --enable-modules=so --enable-maintainer-mode --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config

    # make

    # make install


    启动Apache服务:

    # /usr/local/apache2/bin/apachectl start


    用浏览器查看http://localhost/,得到It works!

    说明apache已经配置成功了。


    测试完成后关闭服务,因为还要安装SVN,否则会报错

    # /usr/local/apache2/bin/apachectl stop


安装如图:









  1. 安装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


安装如图:









  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


    注:

    1. 由于subversion-deps包里的APR是0.9.x的,因此编译svn时要删除从deps里解压出来的apr, apr-util,改而使用apache 2.2里提供的;
    2. ./configure的时候必须加上–with-neon=/usr/local/neon,否则会提示错误(安装neon的时候强调过);
    3. 查看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. 配置

1.建立仓库

#mkdir -p/home/svnroot/repository
#cd /usr/local/subversion/bin
#./svnadmin create /home/svnroot/repository/test ' 这里假设我们的项目是test
#./svn import/boot file:///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
#./apachectl start

然后在浏览器里输入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服务。这就是为什么上面我把仓库的目录权限设置为apacheapache的原因。


---------------------------------------安装 PHP-----------------------------------------------

1.获取安装文件: http://www.php.net/downloads.php php-5.3.8.tar.gz

获取安装php需要的支持文件:http://download.csdn.net/download/netlong339/1351852 libxml2-2.6.32.tar.gz

2.安装libxml2

1 tar zxvf libxml2-2.6.32.tar.gz 
2 cd libxml2-2.6.32
3 ./configure --prefix=/usr/local/libxml2
4 make
5 make install

如果安装成功以后,在/usr/local/libxml2/目录下将生成bin、include、lib、man和share五个目录。在后面安装PHP5源代码包的配置时,会通过在configure命令的选项中加上"--with-libxml-dir=/usr/ local/libxml2"选项,用于指定安装libxml2库文件的位置

3.安装php5

#tar zvxf php-5.3.8.tar.gz 
#cd php-5.3.8
#./configure \
--prefix=/usr/local/php \
--with-mysql=/usr/local/mysql \
--with-apxs=/usr/local/apache2/bin/apxs \
--with-libxml-dir=/usr/ local/libxml2
#make
#make install

4.重新配置apache2让他支持php

  • 配置 httpd.conf 让apache支持PHP:

  # vi /usr/local/apache/conf/httpd.conf

  找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容

  AddType application/x-httpd-php .php (.前面有空格)

  AddType application/x-httpd-php-source .phps (.前面有空格)

  • 然后CPOPY PHP的配置文件

  cp php-5.3.8/php.ini.dist /usr/local/php/lib/php.ini

(如果没有php.ini.dist 则把php.ini-development php.ini-production中的任何一个重命名为php.ini.dist即可。)

  修改php.ini文件 register_globals = On

  • 重启apache

  service apache restart

5.测试php是否成功安装

写一个php测试页info.php,放到apache2/htdocs中。

phpinfo();

?>;

在浏览器中输入:服务器地址/info.php

如果能正常显示出php的信息,则说明Apche+Mysql+PHP安装成功!