“天街小雨润如酥,草色遥看近却无。最是一年春好处,绝胜烟柳满皇都。”读一首古诗,心情也随之平静下来

发布新日志

  • Linux下Apache和SVN的安装配置及相关问题解决方案(七)

    2010-12-28 18:30:06Top 1 Digest 1

    1.1.1          SVNRootsvnaccessfile说明

    用户对SVN的访问权限可以使用svnaccessfile进行配置,该配置是全局的,对SVNRoot下的多个资源库有效,请记得如果使用该文件进行权限控制,需要将httpd.conf文件中#AuthzSVNAccessFile前面的#号去掉

    [root@localhost SVNRoot]# vi svnaccessfile

    [groups]   #设置用户的所属群组

    admin=jack,rose

    developer1 = sara,kite

    developer2 = wook,cookie

    tester=money

    docs=john

    training=mark

     

    # 为所有库指定默认访问规则

    # 所有人可以读,管理员可以写,不被系统识别的危险分子没有任何权限

    [/]

    * = r

    @admin = rw

    dangerman =

     

    # 开发人员和测试人员可以完全访问他们的项目版本库

    [prj_tester_01:/]

    @ developer1 = rw

    @ tester = rw

    [prj_tester_02:/]

    @ developer2 = rw

    @ tester = rw

     

    # 文档人员(比如需求人员)对所有的docs目录有写权限

    [/trunk/doc]

    @ docs = rw

     

    # 培训人员可以完全访问培训版本库

    [prj_training:/]

    @training = rw

    1.1.2          windows系统中访问svn

    所有的配置都结束了,此时可以在windows中进行访问啦,开心的输入http://192.168.1.249:8898/svn/prj_tester_02,得到的答案是无法连接到服务器,到底咋回事儿呢,在linux下明明可以的嘛。哦对了,应该是Linux防火墙的问题,于是乎调整防火墙配置:

    [root@localhost home]#chkconfig iptables on | off 关闭和开启防火墙的配置,需要重启生效,重启后不会复原

    [root@localhost home]#service iptables start | stop 关闭和开启防火墙服务的配置,立即生效,不需要重启,重启后会复原为原来的防火墙设置

    [root@localhost home]#vi /etc/sysconfig/iptables 如果iptables在开启状态,可以到/etc/sysconfig/iptables开放端口号,这样外部就可以访问啦

    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8898 -j ACCEPT

    经过如上设置后,再次通过windows访问SVN http://192.168.1.249:8898/svn/prj_tester_02,成功

  • Linux下Apache和SVN的安装配置及相关问题解决方案(六)

    2010-12-28 18:29:27Top 1 Digest 1

    1.1.1          导入工程到SVN

     [root@localhost bin]#svn import /usr/local/mytools/workspace/ http://192.168.1.249:8898/svn/prj_tester_02 -m “import” --username admin –password manager (将/usr/local/mytools/workspace/工作区的所有内容导入到svn服务器

     

    说明:在用svn import的时候老是出现SVN:cannot create repository “…..x.txn” Permission denied问题,后来在网上查了好多资料,发现有一个说需要把SVNRoot下面的prj_tester_02设置为777的权限,即:chmod –R 777 prj_tester_02-R表示递归将prj_tester_02文件夹下的所有的文件和文件夹都修改权限。经过调整后,确实可以创建了。按道理,root用户拥有至高无上的权限,为什么还会存在permission denied呢?是不是不允许root用户进行svn import,同时基于安全性考虑,加上对Linux的用户和权限的优良特性的神秘向往,决定新建一个普通用户尝试svn import

    [root@localhost bin]#groupadd apachesvn

    [root@localhost bin]#useradd apachesvn –p apachesvn

    [root@localhost bin]#gpasswd –a apachesvn apachesvn

    [root@localhost bin]#chown –R apachesvn:apachesvn prj_tester_02 变更版本库prj_tester_02的所有者

    [root@localhost bin]#chmod –R 755 prj_tester_02 变更prj_tester_02的权限

    [root@localhost bin]# svn import /usr/local/mytools/workspace/ http://192.168.1.249:8898/svn/prj_tester_02 -m “import” --username admin –password manager 再次尝试仍然出现permission denied问题,再次尝试chmod –R 777 prj_tester_02,又可以了,就没有其他的解决办法了,继续google,查到一个方法

    [root@localhost bin]#chown -R daemon prj_tester_02

    [root@localhost bin]#chmod -R 755 prj_tester_02

    再次使用尝试svn import,成功了,原来是需要将svn项目资源库的所有者改成daemon啊,顺便了解一下linux的用户:

    [root@localhost bin]#vi /etc/passwd

    root:x:0:0:root:/root:/bin/bash

    bin:x:1:1:bin:/bin:/sbin/nologin

    daemon:x:2:2:daemon:/sbin:/sbin/nologin

    apachesvn:x:502:502::/home/apachesvn:/bin/bash

      Linux系统中用户是分角色的,不同的用户所拥有的权限和操作也不同,需要注意的是用户的角色主要是通过UID识别的。

      root用户是系统唯一的管理员账户,拥有至高无上的权力,是真实用户,可登录系统,可操作系统任何文件和命令。

      虚拟用户是伪用户或假用户,与真实用户区分开来,这类用户不具备登录系统的能力,但却是系统运行不可缺少的用户,比如bindaemonadmftpmail等,这类用户都是系统自带的,当然也可以手动添加。

    普通用户由系统管理员添加,能登录系统,只能操作自己的家目录的内容,权限有限

     

    [root@localhost home]# svn import ./test http://192.168.1.249:8898/svn/prj_tester_02 -m "import" --username admin --password manager

    如果在导入工程的时候出现SVN:Path “prj_tester_02” exist,可尝试使用如下方法解决

    [root@localhost home]# svn import ./test http://192.168.1.249:8898/svn/prj_tester_02/test -m "import" --username admin --password manager  源文件或目录与资源库中的文件和目录保持一致

  • Linux下Apache和SVN的安装配置及相关问题解决方案(五)

    2010-12-28 18:28:45Top 1 Digest 1

    1.1.1          ApacheSVN的整合

    1.       进入SubVersion的安装目录,查找到mod_dav_svn.somod_authz_svn.so两个文件,将它们拷贝到Apachemodules目录下

    进入subversion1.6.15目录查找mod_dav_svn.somod_authz_svn.so两个文件,没有找到,于是到Apache2.2.17/modules下面查找,发现这两个文件已经在安装的时候被拷贝到modules目录下了

    2.       修改Apache的安装目录\conf目录下的httpd.conf

    2.1 设置监听:Listen 192.168.1.249:8898

    2.2 加载Module,按上述步骤安装好后,这两个module配置项已经在httpd.conf中了

    LoadModule dav_svn_module modules/mod_dav_svn.so

    LoadModule authz_svn_module modules/mod_authz_svn.so

    2.3 httpd.conf文件最后添加如下信息

    <Location /svn>  #表示以/svn的方式访问

    DAV svn

    SVNParentPath /usr/local/mytools/SVNRoot #设置SVN的父目录,这样一个Apache配置可以对应多个SVN项目,如果想只对应单个项目,可以这样设置SVNPath /usr/local/mytools/SVNRoot/prj_test_002 #跟具体的项目名称

    AuthType Basic

    AuthName "Subversion repositories"

    AuthUserFile /usr/local/mytools/SVNRoot/passwd #访问SVN的用户信息,在此设置的用户可以访问所有SVN项目

    #AuthzSVNAccessFile /usr/local/mytools/SVNRoot/svnaccessfile #访问SVN的权限设置文件,可以从SVN的某个项目的conf文件下面拷贝authz文件并重命名,[root@localhost SVNRoot]# cp authz /usr/local/mytools/SVNRoot/svnaccessfile

    Require valid-user

    </Location>

    2.4   [root@localhost SVNRoot]#/usr/local/bin/apache2.2.17/bin/htpasswd –c passwd admin

    passwd文件创建在SVNRoot下面,此处的参数只需要-c即可,passwd是用来保存访问 svn的用户名和密码的,其中上面命令中的admin是用户名,回车后系统要求输入密码和确认密码,输入完成后进入SVNRoot查看vi passwd,用户名和密码格式为:用户名:加密密码;在linux下,明文密码可能会存在无法操作的现象,所以会采用加密密码

    3. [root@localhost bin]# /usr/local/bin/apache2.2.17/bin/apachectl start 启动apache服务

    4. 访问使用http:// Listen 192.168.1.249:8899/svn/prj_tester_002即可访问

  • Linux下Apache和SVN的安装配置及相关问题解决方案(四)

    2010-12-28 18:27:39Top 1 Digest 1

    1.1.1          SVN的安装

    [root@localhost svn]#cd /usr/local/mytools/svn 进入SVN的安装文件目录

     

    [root@localhost svn]# tar zxvf subversion-1.6.15.tar.gz  tar命令解压tar.gz文件

     

    [root@localhost svn]# ls 查看解压后的文件

    httpd-2.2.17.tar.gz  subversion-1.6.15  subversion-1.6.15.tar.gz

     

    [root@localhost svn]# cd subversion-1.6.15 进入解压目录

     

    [root@localhost subversion-1.6.15]# ls 查看解压目录下的文件

    aclocal.m4  build-outputs.mk  contrib        HACKING      README        www

    autogen.sh  CHANGES           COPYING        INSTALL      subversion

    BUGS        COMMITTERS        doc            Makefile.in  tools

    build       configure         gen-make.opts  notes        TRANSLATING

    build.conf  configure.ac      gen-make.py    packages     win-tests.py

     

    [root@localhost subversion-1.6.15]# ./configure –help 查看configure的帮助文档

     

    [root@localhost svn]#sqlite-amalgamation-3.6.13.tar.gz (下载并加压该包)

    [root@localhost svn]tar xzvf sqlite-amalgamation-3.6.13.tar.gz

    [root@localhost svn]# mkdir /usr/local/mytools/svn/subversion-1.6.15/ sqlite-amalgamation | cp sqlite-3.6.13/ sqlite3.c /usr/local/mytools/svn/subversion-1.6.15/ sqlite-amalgamation svn安装包下创建sqlite-amalgamation,并且将sqlite-3.6.13包中的sqlite3.c拷贝到sqlite-amalgamation,可以解决svn编译时出现的configure: error: Subversion requires SQLite

    问题

     

    [root@localhost subversion-1.6.15]# ./configure --prefix=/usr/local/bin/subversion1.6.15 --with-apxs=/usr/local/bin/apache2.2.17/bin/apxs --with-apr=/usr/local/bin/subversion1.6.15/svn/apr --with-apr-util=/usr/local/bin/subversion1.6.15/svn/apr-util --with-zlib=/usr/local/bin/subversion1.6.15/svn/zlib --with-ssl --enable-maintainer-mode 在当前目录下执行configure命令进行配置,--with-apxs参数表示将SVN安装到Apache下面

    [root@localhost subversion-1.6.15]#make

    [root@localhost subversion-1.6.15]#make install

    make时出错/usr/bin/ld: cannot find -lexpat
    collect2: ld returned 1 exit status
    make: *** [subversion/svn/svn] Error 1

    原因缺少了lexpat包,使用yum查找到相应的源并进行安装

    yum list expat*(估计包升级了,如果查找lexpat找不到就找expat包)

    yum install expat****.386

    使用yum安装后源文件一般存储在/var/cache/yum目录下

    如果使用的是光盘安装,可以在安装光盘中找到相应的expat库文件

  • Linux下Apache和SVN的安装配置及相关问题解决方案(三)

    2010-12-28 18:26:51Top 1 Digest 1

    1.1ApacheSVN的整合

    1.1.1          安装所需的软件包,比如aprapr-utilzlib等等

    [root@localhost svn]#cd /usr/local/mytools/svn

    [root@localhost svn]#wget http://subversion.tigris.org/downloads/subversion-deps-1.6.12.tar.gz

    获取subversion-deps-1.6.12.tar.gz软件,里面包含需要的aprapr-utilzlib等包

    [root@localhost svn]#tar zxvf subversion-deps-1.6.12.tar.gz

    [root@localhost svn]#cd subversion-1.6.12

     

    [root@localhost subversion-1.6.12]#cd /apr 进入apr包,安装

    [root@localhost apr]#./buildconf

    [root@localhost apr]# ./configure --prefix=/usr/local/bin/subversion1.6.15/svn/apr && make && make install  

     

    [root@localhost apr]#cd ../apr-util进入apr-util包,安装

    [root@localhost apr-util]#./buildconf

    [root@localhost apr-util]# ./configure --prefix=/usr/local/bin/subversion1.6.15/svn/apr-util --with-apr=/usr/local/bin/subversion1.6.15/svn/apr && make && make install

     

    [root@localhost apr-util]cd ../zlib 进入zlib包,安装,解决了svn编译错误configure: error: subversion requires zlib

    [root@localhost zlib]# ./configure --prefix=/usr/local/bin/subversion1.6.15/svn/zlib && make && make install

     

    [root@localhost openssl-1.0.0c]# ./config --prefix=/usr/local/bin/subversion1.6.15/svn/openssl && make && make install 下载openssl包并进行安装,为后续安装neon做准备

     

    [root@localhost neon]# ./configure --prefix=/usr/local/bin/subversion1.6.15/svn/neon --with-apr=/usr/local/bin/subversion1.6.15/svn/apr --with-apr-util=/usr/local/bin/subversion1.6.15/svn/apr-util --with-openssl=/usr/local/bin/subversion1.6.15/svn/openssl

    &&make && make install安装neon

     

    1.1.2          Apache的安装

    [root@localhost httpd-2.2.17]# ./buildconf 进入apache的源文件安装目录,先buildconf,一定要先做这一步,否则Apache安装后文件夹不正确。刚开始没有执行./buildconf 直接./configure && make && make install进行安装的,安装完成后进入apache安装目录,发现只有binbuild等等,conf等配置文件夹都丢失,于是到官网了解,在http://apr.apache.org/compiling_unix.html页面发现有如下提示:Note that if you are compiling directly from the Subversion repository, you'll need GNU autoconf and GNU libtool installed, and you'll need to run ./buildconf before running the commands listed above. 于是先执行./buildconf ,然后再./configure && make && make install,安装完成后目录已经齐全

    [root@localhost httpd-2.2.17]#./configure --prefix=/usr/local/bin/apache2.2.17 --enable-dav --enable-so && make && make install 配置,编译,安装

    [root@localhost httpd-2.2.17]# ls /usr/local/bin/apache2.2.17/ 安装完成后查看如果包含如下文件或文件夹,表示安装成功

    apr       bin    cgi-bin  error   icons    lib   man     modules

    apr-util  build  conf     htdocs  include  logs  manual  zlib

  • Linux下Apache和SVN的安装配置及相关问题解决方案(二)

    2010-12-28 18:25:51Top 1 Digest 1

    1.     安装与配置

    1.1 JDK的安装与配置

    2.1.1 安装

    [root@localhost svn]# ls /usr/local/mytools/svn  列出/usr/local/mytools/svn下的所有内容

    httpd-2.2.17.tar.gz   jdk-6u23-linux-i586.bin  subversion-1.6.15.tar.gz

     

    [root@localhost svn]# cd /usr/local/mytools/svn 进入svn目录

     

    [root@localhost svn]# ./jdk-6u23-linux-i586.bin 在当前目录执行jdk-xxx.bin文件进行解压,出现如下信息表示解压成功

    Java(TM) SE Development Kit 6 successfully installed.

     

    Product Registration is FREE and includes many benefits:

    * Notification of new versions, patches, and updates

    * Special offers on Oracle products, services and training

    * Access to early releases and documentation

     

    Product and system data will be collected. If your configuration

    supports a browser, the JDK Product Registration form. will

    be presented. If you do not register, none of this information

    will be saved. You may also register your JDK later by

    opening the register.html file (located in the JDK installation

    directory) in a browser.

     

    For more information on what data Registration collects and

    how it is managed and used, see:

    http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html

     

    Press Enter to continue.....

     

    Done.

     

    [root@localhost svn]# ls  解压完成后查看,多了一个目录jdk1.6.0_23

    httpd-2.2.17.tar.gz  jdk1.6.0_23  jdk-6u23-linux-i586.bin  subversion-1.6.15.tar.gz

     

    1.1.2  配置环境变量

    [root@localhost jdk]# cp -R jdk1.6.0_23/ /usr/local/bin/ 为方便管理,把解压后的jdk目录拷贝到/usr/local/bin/目录下

     

    [root@localhost workspace]# vi /etc/profile /etc/profile文件的export行的前面设置环境变量

     

    JAVA_HOME=/usr/local/bin/jdk1.6.0_23 设置JDK HOME,最好一定不要带空格哦

    CLASSPATH=.;$JAVA_HOME/lib/dt.jar;$JAVA_HOME/lib/tools.jar:$CLASSPATH CLASSPATHjava加载类(class or lib)路径,只有类在classpath中,java命令才能识别,设置CLASSPATH,前面一定要加上.;( .表示当前路径 ;为分隔符) ,否则可能会报错。注意:两个具体的参数中间用;分割,如$JAVA_HOME/lib/dt.jar;$JAVA_HOME/lib/tools.jar,参数和变量之间用:分割,如$JAVA_HOME/lib/tools.jar:$CLASSPATH

     

    PATH=$JAVA_HOME/bin:$PATH Path使得系统可以在任何路径下识别java命令,记得最后面一定要跟上 :$PATH,目的是把系统原理的PATH追加到后面,否则原理的PATH丢失,系统的很多软件或操作就无法使用了

     

    export JAVA_HOME PATH CLASSPATH

     

    检查环境变量是否配置成功

    [root@localhost ~]# java -version

    java version "1.6.0_23"

    Java(TM) SE Runtime Environment (build 1.6.0_23-b05)

    Java HotSpot(TM) Client VM (build 19.0-b09, mixed mode)

     

    写程序检查

    [root@localhost ~]#vi /usr/local/mytools/workspace/HelloJDK.java

    Public class HelloJDK{

             Public static void main(String[] args){

             System.out.println(“~~~~~~~Hello JDK~~~~~~~”);

    }

    }

    [root@localhost ~]# javac /usr/local/mytools/workspace/ helloJDK.java javacjava代码编译成class文件

    [root@localhost ~]# java /usr/local/mytools/workspace/helloJDK java执行编译过的class文件

    ~~~~~~~ Hello JDK ~~~~~~~~

     

    至此在linux下面进行的JDK的安装和配置已经完成啦,继续下面的安装咯

  • Linux下Apache和SVN的安装配置及相关问题解决方案(一)

    2010-12-28 18:23:56Top 1 Digest 1

    1.     环境准备

    1.1 系统环境

    [root@localhost mysql]# uname -ar

    Linux localhost.localdomain 2.6.18-128.el5 #1 SMP Wed Jan 21 10:44:23 EST 2009 i686 i686 i386 GNU/Linux

    1.2 所需软件

    1.1 JDKJava SE Development Kit 6u23 jdk-6u23-linux-i586.bin

    1.2 ApacheUnix Source: httpd-2.2.17.tar.gz [PGP] [MD5] [SHA1]

    1.3 Subversionsubversion-1.6.15.tar.gz

    subversion-1.6.15.tar.gz

    稳定

    hwright 20101124日 星期三,8:10:13

    Subversion 1.6.15 (MD5: cd7d613d86eb6465fdaf0f34a6cfe9ec)

    信息

    wget http://subversion.tigris.org/downloads/subversion-deps-1.6.12.tar.gz

    1.3 目录规整

    1.  将上述所需软件挂载到/mnt

    2.  /mnt下的svn目录拷贝到/usr/local/mytools

    [root@localhost ~]# ls /mnt/svn

    httpd-2.2.17.tar.gz  jdk-6u23-linux-i586.bin  subversion-1.6.15.tar.gz

    [root@localhost ~]# cp -R /mnt/svn /usr/local/mytools/

    说明:cp –R可以连文件夹一起拷贝,rrecursive 递归)

  • svn在windows系统中的安装与配置

    2010-10-25 17:18:01

    1.  软件下载

    (1)   svn服务器:   svn-1.4.5-setup.rar

    http://www.cnblogs.com/Files/changchangcc520/svn-1.4.5-setup.rar

    (2)   svn客户端: TortoiseSVN-1.4.5.10425-win32-svn-1.4.5.rar

    http://www.cnblogs.com/Files/cha ... win32-svn-1.4.5.rar

    (3)   配置svn服务成window service自动运行的工具: SVNService.rar

    http://www.cnblogs.com/Files/changchangcc520/SVNService.rar



    http://dark.clansoft.dk/~mbn/svnservice/ 下载 SVNService.zip

     

    (说明:Svn客户端和服务器端直接解压按正常步骤安装即可,对于配置svn服务撑windows服务需要做配置,详见操作3)

     
    2.  创建项目资源库

    创建一个存放项目的资源库目录D:\SVNRoot\Repository\Project

    svnadmin create D:\SVNRoot\Repository\Project

    3.  配置svn服务器为windows服务

    (1)   将SVNService.rar 解压到{Subversion安装路径的}\bin目录下

    (2)   运行 svnservice -install -d -r D:\SVNRoot\Repository\Project,执行的结果显示:SVNService installed.

    (3)   使用net start SVNService启动SVNService服务

    注册完成后会在window的服务中看到SVNService服务

    或者,如果你不想用服务的方式启动Subversion,你可以运行svnserve -d来启动Subversion

    4.  修改配置文件

    在..\project\conf文件夹下有:svnserver.conf,passwd,author三个文件

     

    Passwd修改:

    ***********************************************

    ### This file is an example password file for svnserve.

    ### Its format is similar to that of svnserve.conf. As shown in the

    ### example below it contains one section labelled [users].

    ### The name and password for each user follow, one account per line.

    ### 增加两个用户,格式为  “用户名 = 密码”

    [users]

    admin = manager        

    sunny = manager

    **********************************************

     

    Svnser.conf修改

    *********************************************

         [general]

    anon-access = read    #未验证用户给予只读权限

    auth-access = write   #验证用户给予写权限

    password-db = passwd  #密码存放到passwd文件中

    realm = project       #创建的项目标识

    *****************************************

     

    Author修改

    ************************************************

    [groups]
    # harry_and_sally = harry,sally
    #进行用户组的配制,比如:将admin,sunny加入到组groups中去 

    groups=admin,sunny

     

    # [repository:/baz/fuz]
    # @harry_and_sally = rw
    # * = r

     

    ###进行文件权限的设置,比如存在libs这个文件,要求admin一个人可以读写,sunny有读权限,未授权的无法访问,则可以这样写

     

    [/libs]
    admin=rw
    lvzy=r
    *=none
    注:*表示匿名用户

    *******************************

     
    5.  使用cmd命令进行svn操作

    (1) 导入项目

    转到项目所在的目录,执行下面命令来提交整个项目
    svn import .svn://localhost/project -m "initial import" --username sunny --password manager
    其中[.]表示当前目录,你也可以指定项目的绝对路径。

     

    (2) 导出项目

    为了验证刚才导入的项目,我们转到一个新的目录下,执行
    svn checkout svn://localhost/project --username sunny -password manager
    就可以在当前目录下生成一个project的项目目录,目录中的内容就是我们刚才所提交的所有文件

     

    (3)  提交修改后的文件

    修改项目中的任何一个文件,使用命令来提交所作的修改:
    svn commit ReadMe.txt -m "modified" --username sunny -password manager

     

    (4) 获取最新的版本

    当项目组的其他成员修改并提交了某个文件,你可以通过下面命令来获取到该文件的最新的版本:
    svn update -r HEAD ReadMe.txt --username sunny -password manager
    6.  在Eclipse中对项目进行版本控制

    (1)   安装subversion插件

    首先通过Help->Check for Updates查看Eclipse是否需要更新,然后通过Install New SoftWare在线更新安装subversion

    选择http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA页面进行在线更新:Eclipse update site URL:

    http://subclipse.tigris.org/update_1.6.x

    安装完成后在Window->Preferences->Team->SVN,默认设置即可

    (2)   创建Java工程,在工程右键属性Team选项

    加入版本控制的程序如图:

    7.  使用TortoiseSVN进行管理

    在任意文件夹下面右键选择Reop-Browser,输入svn://svn_server_ip/即可查看

Open Toolbar