美文网首页
CentOS7 SVN服务器+Tomcat+Windows+Ec

CentOS7 SVN服务器+Tomcat+Windows+Ec

作者: 程序员成长记 | 来源:发表于2017-08-19 22:29 被阅读0次

    服务器:阿里云ECS
    Windows下工具:Xshell5、Xftp、Eclipse
    CentOS安装方式:在线yum源
    JDK版本:JDK_1.8.0_144
    Tomcat版本:Tomcat 8.5.20
    MySQL版本:MySQL 5.7.19(yum源安装高版本yum源设置参考这里
    SVN版本:Subversion 1.7.14(yum源安装)
    注:JDK与Tomcat是官网下载的xxxx.tar.gz包解压安装,并配置环境变量。可在网站搜索相关教程,不是本文的重点内容。


    1. 准备工作


    • 设置软件服务开机启动
    systemctl enable httpd.service
    systemctl enable tomcat.service
    systemctl enable mysqld.service
    
    • 配置Apache端口
      我的Tomcat设置的是web默认80端口,Apache设置的是8000端口:
    #Listen 12.34.56.78:80
    Listen 8000
    

    测试Apache:打开http://106.166.166.12:8000即可访问Apache的123样式首页,说明安装成功没问题。

    • 安装 mod_dav_svn 模块支持
    # 与subversive版本匹配,yum源自动识别
    yum install mod_dav_svn
    

    2. 配置Apache和SVN服务

    • 查看SVN版本:
    svnserve --version
    # 或者
    svn --version
    
    • SVN配置:
    #SVN的仓库目录为/var/svn/repos,repos目录中可能包含repo1、repo2等多个仓库。
    cd /var/
    mkdir svn
    mkdir repos
    cd /var/svn/repos
    
    # 创建SVN仓库
    svnadmin create test_repo1
    chown -R apache.apache test_repo1
    

    说明:创建SVN仓库test_repo1之后并将test_repo1目录的所有者改为apache,这样方便Apache能够正常访问并修改subversive.conf配置文件。

    • 配置SVN的http://访问方式:
    # 新增配置subversive.conf
    vi /etc/httpd/conf.d/subversion.conf
    

    添加以下内容:

    LoadModule dav_svn_module  modules/mod_dav_svn.so
    
    <Location /svn/>
        DAV svn
        SVNParentPath /var/svn/repos
        SVNListParentPath on
        AuthType Basic
        AuthName "Lmsite SVN Repo"
        AuthUserFile "/var/svn/userfile"
        AuthzSVNAccessFile "/var/svn/accessfile"
        Require valid-user
    </Location>
    
    RedirectMatch ^(/svn)$ $1/
    
    • 添加Apache账户
      为了限制匿名访问svn的目录,这里在apache中添加几个访问账户。
    # 重复执行改变用户名即可添加多个账户,会提示输入密码,执行代码如下:
    htpasswd -c /data/svn/userfile testuser01
    htpasswd -c /data/svn/userfile testuser02
    
    • 指定访问模式:
    vi /data/svn/accessfile
    

    加入一下内容,表示访问用户可以通过apache对其进行读写操作:

    [/]
    *=rw
    
    • 设置禁止启动SElinux:
    vi /etc/sysconfig/selinux
    

    将SELINUX的值改为disabled,如下图:


    提示: 我的Linux中已经是禁用状态,根据自己的情况设置。若防火墙开启状态,还需要开放防火墙80端口或者关闭防火墙并禁止自启动,命令为:chkconfig --level 345 iptables off

    至此,Subversion部分的基本配置工作已经完成,现在可以重新启动机器,然后打开浏览器访问http://xxxx/svn/即可看到效果,此时浏览器会弹出一个窗体提示你输入访问svn目录所需的账户,如图所示。

    配置HTTP/HTTPS访问SVN服务

    • 首先创建一个私钥文件:
    cd /etc/httpd/conf
    openssl genrsa -out httpd.key 1024 
    openssl req -new -key httpd.key -out httpd.pem -days 3650 -x509
    

    最后这个命令执行后需要输入一系列信息,比如国家,省份,城市,公司,部门,网络名,邮箱,然后才算完成,如图所示:



    • 接下来修改apache使ssl生效:
    vim /etc/httpd/conf.d/ssl.conf
    

    指定为刚刚创建的两个密钥文件的路径名称,将其中的两行内容修改成如下:

    SSLCertificateFile /etc/httpd/conf/httpd.pem
    SSLCertificateKeyFile /etc/httpd/conf/httpd.key
    
    • 修改rc.local文件,将svnserve服务加入开机自启动。
    vim /etc/rc.local
    # 在末尾添加下面内容:
    svnserve -d -r /data/svn/repos
    
    • 修改httpd.conf文件,并配置主机公钥:
    vim /etc/httpd/conf/httpd.conf
    

    在httpd.conf文件中增加下面所示的内容:

    NameVirtualHost*:8000
    NameVirtualHost*:443
     
    <VirtualHost *:8000>
       ServerName localhost
       DocumentRoot /var/www/html
    </VirtualHost>
     
    <VirtualHost *:443>
       DocumentRoot /var/www/html
       ServerName localhost
       SSLEngine On
       SSLOptions +StrictRequire
       SSLCertificateFile /etc/httpd/conf/httpd.pem
       SSLCertificateKeyFile /etc/httpd/conf/httpd.key
       SSLProtocol TLSv1
    </VirtualHost>
    

    提示:修改完并保存以上所有内容,重启Apache服务,此时使用http://xxxx/svn/https://xxxx/svn/都可以正常工作。如果出现只能http访问apache,那么请检查httpd.conf是否有以下内容:

    <Directory />
        Options FollowSymLinks
        AllowOverride None
        # 把下面这行注释掉即可。
        #SSLRequireSSL
    </Directory>
    

    附:

    1、前面是直接关闭了Linux的防火墙,更合适的做法是在iptables中增加允许80(HTTP)、8080(Tomcat)、443(HTTPS)、3690(SVN)的端口开放权限
    执行:

    setup
    chkconfig --level 345 iptables on
    

    setup命令可启动iptables的端口配置,你在其中增加上述几个端口的允许访问权限即可。chkconfig是把前面关闭自启动的iptables改为默认启动。

    2、Apache、PHP、MySQL、Tomcat服务的配置文件路径
    Apache的配置文件是 /etc/httpd/conf/
    模块放在/usr/lib/httpd/
    PHP的配置文件在 /etc/php.d/ 里和 /etc/php.ini
    模块放在 /usr/lib/php/modules
    MySQL的配置文件在 /etc/my.cnf
    Tomcat安装目录位于 /usr/tomcat/
    配置文件位于 /etc/tomcat/ 里,或者 /etc/tomcat/conf/
    3、测试PHP是否正常工作
    执行:

    vim /var/www/html/phpinfo.php
    

    在其中输入以下内容:

    <?php
        phpinfo();
    ?>
    

    保存修改并退出vim编辑器,在浏览器中输入网址 http://xxxx/phpinfo.php ,可以看看php页面是否正常显示。
    4、Apache与Tomcat的整合
    如果网站需同时整合Apache与Tomcat,此时可以使用JK或者Proxy方式
    执行:

    vim /etc/httpd/conf.d/proxy_ajp.conf
    

    在其中输入下面的内容:

    ProxyPass /tomcat/ ajp://localhost:8009
    

    保存修改并退出vim编辑器,
    执行:

    /etc/init.d/httpd restart
    /etc/init.d/tomcat6 restart
    

    这样,所有在浏览器地址栏的 http://xxxx/tomcat/test.jsp 就被转交给Tomcat执行了。

    相关文章

      网友评论

          本文标题:CentOS7 SVN服务器+Tomcat+Windows+Ec

          本文链接:https://www.haomeiwen.com/subject/nlqxdxtx.html