CentOS7|CentOS7 SVN服务器+Tomcat+Windows+Eclipse开发环境搭建
服务器:阿里云ECS1. 准备工作
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
包解压安装,并配置环境变量。可在网站搜索相关教程,不是本文的重点内容。
- 设置软件服务开机启动
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_modulemodules/mod_dav_svn.so
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
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
ServerName localhost
DocumentRoot /var/www/html
DocumentRoot /var/www/html
ServerName localhost
SSLEngine On
SSLOptions +StrictRequire
SSLCertificateFile /etc/httpd/conf/httpd.pem
SSLCertificateKeyFile /etc/httpd/conf/httpd.key
SSLProtocol TLSv1
提示:修改完并保存以上所有内容,重启Apache服务,此时使用http://xxxx/svn/和https://xxxx/svn/都可以正常工作。如果出现只能http访问apache,那么请检查httpd.conf是否有以下内容:
Options FollowSymLinks
AllowOverride None
# 把下面这行注释掉即可。
#SSLRequireSSL
附: 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
在其中输入以下内容:
保存修改并退出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
【CentOS7|CentOS7 SVN服务器+Tomcat+Windows+Eclipse开发环境搭建】这样,所有在浏览器地址栏的
http://xxxx/tomcat/test.jsp
就被转交给Tomcat执行了。推荐阅读
- 服务器硬件与基础命令
- 笔记|网络(数通-服务器-web安全)之校招小记
- CentOS7 解决ping(www.baidu.com“未知的名称或服务”)
- Linux服务器下搭建SFTP服务
- 服务器|EsgynDB Troubleshooting - 网卡MTU导致跨网段访问数据库失败
- 服务器|Arm、Intel 和 AMD 服务器 CPU未来2年市场发展分析
- Centos8官方停止维护,免费Linux服务器系统如何选择
- CentOS7下安装MySQL5.7.39的详细过程
- Markdown|Markdown 语言服务器是如何诞生的()
- Centos7安装Maven3.6.3