CentOS7 SVN服务器+Tomcat+Windows+Ec

2017-08-19  本文已影响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
#Listen 12.34.56.78:80
Listen 8000

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

# 与subversive版本匹配,yum源自动识别
yum install mod_dav_svn

2. 配置Apache和SVN服务

svnserve --version
# 或者
svn --version
#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配置文件。

# 新增配置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/
# 重复执行改变用户名即可添加多个账户,会提示输入密码,执行代码如下:
htpasswd -c /data/svn/userfile testuser01
htpasswd -c /data/svn/userfile testuser02
vi /data/svn/accessfile

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

[/]
*=rw
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

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



vim /etc/httpd/conf.d/ssl.conf

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

SSLCertificateFile /etc/httpd/conf/httpd.pem
SSLCertificateKeyFile /etc/httpd/conf/httpd.key
vim /etc/rc.local
# 在末尾添加下面内容:
svnserve -d -r /data/svn/repos
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执行了。

上一篇下一篇

猜你喜欢

热点阅读