阿里云ECS,搭建SVN+Apache服务器
为什么80%的码农都做不了架构师?>>>
在CentOS 7下,搭建SVN+Apache服务器:
1、先检查是否已经安装了httpd服务,如下表示已经安装
[root@iZ23zw1ss97Z app]# httpd -version
Server version: Apache/2.4.6 (CentOS)
Server built: Aug 24 2015 18:11:25
如果没有安装,请执行如下命令,进行安装
[root@iZ23zw1ss97Z app]# sudo yum install httpd
2、安装svnserver
[root@iZ23zw1ss97Z app]# sudo yum install subversion
Loaded plugins: langpacks
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
base | 3.6 kB 00:00:00
epel | 4.7 kB 00:00:00
extras | 3.4 kB 00:00:00
pgdg93 | 4.1 kB 00:00:00
updates | 3.4 kB 00:00:00
(1/8): base/7/x86_64/group_gz | 156 kB 00:00:00
(2/8): epel/x86_64/group_gz | 266 kB 00:00:00
(3/8): epel/x86_64/updateinfo | 851 kB 00:00:00
(4/8): base/7/x86_64/primary_db | 5.7 MB 00:00:00
(5/8): epel/x86_64/primary_db | 6.1 MB 00:00:00
(6/8): extras/7/x86_64/primary_db | 130 kB 00:00:00
(7/8): updates/7/x86_64/primary_db | 3.6 MB 00:00:00
(8/8): pgdg93/7/x86_64/primary_db | 161 kB 00:00:03
Resolving Dependencies
--> Running transaction check
---> Package subversion.x86_64 0:1.7.14-6.el7 will be updated
---> Package subversion.x86_64 0:1.7.14-11.el7_4 will be an update
--> Processing Dependency: subversion-libs(x86-64) = 1.7.14-11.el7_4 for package: subversion-1.7.14-11.el7_4.x86_64
--> Running transaction check
---> Package subversion-libs.x86_64 0:1.7.14-6.el7 will be updated
---> Package subversion-libs.x86_64 0:1.7.14-11.el7_4 will be an update
--> Finished Dependency ResolutionDependencies Resolved================================================================================================================================================================Package Arch Version Repository Size
================================================================================================================================================================
Updating:subversion x86_64 1.7.14-11.el7_4 updates 1.0 M
Updating for dependencies:subversion-libs x86_64 1.7.14-11.el7_4 updates 921 kTransaction Summary
================================================================================================================================================================
Upgrade 1 Package (+1 Dependent package)Total download size: 1.9 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/2): subversion-libs-1.7.14-11.el7_4.x86_64.rpm | 921 kB 00:00:00
(2/2): subversion-1.7.14-11.el7_4.x86_64.rpm | 1.0 MB 00:00:00
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 3.5 MB/s | 1.9 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transactionUpdating : subversion-libs-1.7.14-11.el7_4.x86_64 1/4 Updating : subversion-1.7.14-11.el7_4.x86_64 2/4 Cleanup : subversion-1.7.14-6.el7.x86_64 3/4 Cleanup : subversion-libs-1.7.14-6.el7.x86_64 4/4 Verifying : subversion-1.7.14-11.el7_4.x86_64 1/4 Verifying : subversion-libs-1.7.14-11.el7_4.x86_64 2/4 Verifying : subversion-1.7.14-6.el7.x86_64 3/4 Verifying : subversion-libs-1.7.14-6.el7.x86_64 4/4 Updated:subversion.x86_64 0:1.7.14-11.el7_4 Dependency Updated:subversion-libs.x86_64 0:1.7.14-11.el7_4 Complete!
检查svnserve是否安装成功
[root@iZ23zw1ss97Z app]# svnserve --version
svnserve, version 1.7.14 (r1542130)compiled Aug 23 2017, 20:43:38Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/The following repository back-end (FS) modules are available:* fs_base : Module for working with a Berkeley DB repository.
* fs_fs : Module for working with a plain file (FSFS) repository.Cyrus SASL authentication is available.[root@iZ23zw1ss97Z app]#
3、安装mod_dav_svn
mod_dav_svn是apache服务器访问svn的一个模块
通过yum安装
[root@iZ23zw1ss97Z app]# sudo yum install mod_dav_svn
Loaded plugins: langpacks
Resolving Dependencies
--> Running transaction check
---> Package mod_dav_svn.x86_64 0:1.7.14-11.el7_4 will be installed
--> Processing Dependency: httpd >= 2.4.6-37 for package: mod_dav_svn-1.7.14-11.el7_4.x86_64
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-31.el7.centos.1 will be updated
--> Processing Dependency: httpd = 2.4.6-31.el7.centos.1 for package: httpd-manual-2.4.6-31.el7.centos.1.noarch
--> Processing Dependency: httpd = 2.4.6-31.el7.centos.1 for package: 1:mod_ssl-2.4.6-31.el7.centos.1.x86_64
---> Package httpd.x86_64 0:2.4.6-67.el7.centos.6 will be an update
--> Processing Dependency: httpd-tools = 2.4.6-67.el7.centos.6 for package: httpd-2.4.6-67.el7.centos.6.x86_64
--> Running transaction check
---> Package httpd-manual.noarch 0:2.4.6-31.el7.centos.1 will be updated
---> Package httpd-manual.noarch 0:2.4.6-67.el7.centos.6 will be an update
---> Package httpd-tools.x86_64 0:2.4.6-31.el7.centos.1 will be updated
---> Package httpd-tools.x86_64 0:2.4.6-67.el7.centos.6 will be an update
---> Package mod_ssl.x86_64 1:2.4.6-31.el7.centos.1 will be updated
---> Package mod_ssl.x86_64 1:2.4.6-67.el7.centos.6 will be an update
--> Processing Dependency: libcrypto.so.10(OPENSSL_1.0.2)(64bit) for package: 1:mod_ssl-2.4.6-67.el7.centos.6.x86_64
--> Running transaction check
---> Package openssl-libs.x86_64 1:1.0.1e-42.el7.9 will be updated
--> Processing Dependency: openssl-libs(x86-64) = 1:1.0.1e-42.el7.9 for package: 1:openssl-devel-1.0.1e-42.el7.9.x86_64
--> Processing Dependency: openssl-libs(x86-64) = 1:1.0.1e-42.el7.9 for package: 1:openssl-1.0.1e-42.el7.9.x86_64
---> Package openssl-libs.x86_64 1:1.0.2k-8.el7 will be an update
--> Running transaction check
---> Package openssl.x86_64 1:1.0.1e-42.el7.9 will be updated
---> Package openssl.x86_64 1:1.0.2k-8.el7 will be an update
---> Package openssl-devel.x86_64 1:1.0.1e-42.el7.9 will be updated
---> Package openssl-devel.x86_64 1:1.0.2k-8.el7 will be an update
--> Finished Dependency ResolutionDependencies Resolved================================================================================================================================================================Package Arch Version Repository Size
================================================================================================================================================================
Installing:mod_dav_svn x86_64 1.7.14-11.el7_4 updates 102 k
Updating for dependencies:httpd x86_64 2.4.6-67.el7.centos.6 updates 2.7 Mhttpd-manual noarch 2.4.6-67.el7.centos.6 updates 1.3 Mhttpd-tools x86_64 2.4.6-67.el7.centos.6 updates 88 kmod_ssl x86_64 1:2.4.6-67.el7.centos.6 updates 109 kopenssl x86_64 1:1.0.2k-8.el7 base 492 kopenssl-devel x86_64 1:1.0.2k-8.el7 base 1.5 Mopenssl-libs x86_64 1:1.0.2k-8.el7 base 1.2 MTransaction Summary
================================================================================================================================================================
Install 1 Package
Upgrade ( 7 Dependent packages)Total download size: 7.5 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/8): httpd-2.4.6-67.el7.centos.6.x86_64.rpm | 2.7 MB 00:00:00
(2/8): httpd-tools-2.4.6-67.el7.centos.6.x86_64.rpm | 88 kB 00:00:00
(3/8): mod_dav_svn-1.7.14-11.el7_4.x86_64.rpm | 102 kB 00:00:00
(4/8): mod_ssl-2.4.6-67.el7.centos.6.x86_64.rpm | 109 kB 00:00:00
(5/8): httpd-manual-2.4.6-67.el7.centos.6.noarch.rpm | 1.3 MB 00:00:00
(6/8): openssl-devel-1.0.2k-8.el7.x86_64.rpm | 1.5 MB 00:00:00
(7/8): openssl-1.0.2k-8.el7.x86_64.rpm | 492 kB 00:00:00
(8/8): openssl-libs-1.0.2k-8.el7.x86_64.rpm | 1.2 MB 00:00:00
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 8.4 MB/s | 7.5 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transactionUpdating : 1:openssl-libs-1.0.2k-8.el7.x86_64 1/15 Updating : 1:openssl-1.0.2k-8.el7.x86_64 2/15 Updating : httpd-tools-2.4.6-67.el7.centos.6.x86_64 3/15 Updating : httpd-2.4.6-67.el7.centos.6.x86_64 4/15 Updating : 1:mod_ssl-2.4.6-67.el7.centos.6.x86_64 5/15 Installing : mod_dav_svn-1.7.14-11.el7_4.x86_64 6/15 Updating : httpd-manual-2.4.6-67.el7.centos.6.noarch 7/15 Updating : 1:openssl-devel-1.0.2k-8.el7.x86_64 8/15 Cleanup : 1:mod_ssl-2.4.6-31.el7.centos.1.x86_64 9/15 Cleanup : httpd-manual-2.4.6-31.el7.centos.1.noarch 10/15 Cleanup : httpd-2.4.6-31.el7.centos.1.x86_64 11/15 Cleanup : httpd-tools-2.4.6-31.el7.centos.1.x86_64 12/15 Cleanup : 1:openssl-devel-1.0.1e-42.el7.9.x86_64 13/15 Cleanup : 1:openssl-1.0.1e-42.el7.9.x86_64 14/15 Cleanup : 1:openssl-libs-1.0.1e-42.el7.9.x86_64 15/15 Verifying : 1:mod_ssl-2.4.6-67.el7.centos.6.x86_64 1/15 Verifying : 1:openssl-1.0.2k-8.el7.x86_64 2/15 Verifying : httpd-2.4.6-67.el7.centos.6.x86_64 3/15 Verifying : httpd-tools-2.4.6-67.el7.centos.6.x86_64 4/15 Verifying : 1:openssl-libs-1.0.2k-8.el7.x86_64 5/15 Verifying : 1:openssl-devel-1.0.2k-8.el7.x86_64 6/15 Verifying : mod_dav_svn-1.7.14-11.el7_4.x86_64 7/15 Verifying : httpd-manual-2.4.6-67.el7.centos.6.noarch 8/15 Verifying : httpd-manual-2.4.6-31.el7.centos.1.noarch 9/15 Verifying : 1:openssl-libs-1.0.1e-42.el7.9.x86_64 10/15 Verifying : httpd-2.4.6-31.el7.centos.1.x86_64 11/15 Verifying : 1:openssl-devel-1.0.1e-42.el7.9.x86_64 12/15 Verifying : httpd-tools-2.4.6-31.el7.centos.1.x86_64 13/15 Verifying : 1:openssl-1.0.1e-42.el7.9.x86_64 14/15 Verifying : 1:mod_ssl-2.4.6-31.el7.centos.1.x86_64 15/15 Installed:mod_dav_svn.x86_64 0:1.7.14-11.el7_4 Dependency Updated:httpd.x86_64 0:2.4.6-67.el7.centos.6 httpd-manual.noarch 0:2.4.6-67.el7.centos.6 httpd-tools.x86_64 0:2.4.6-67.el7.centos.6 mod_ssl.x86_64 1:2.4.6-67.el7.centos.6 openssl.x86_64 1:1.0.2k-8.el7 openssl-devel.x86_64 1:1.0.2k-8.el7 openssl-libs.x86_64 1:1.0.2k-8.el7 Complete!
检查mod_dav_svn是否安装成功
安装成功后,会有mod_dav_svn.so和mod_authz_svn.so两个文件。
[root@iZ23zw1ss97Z app]# sudo find / -name mod_dav_svn.so
/usr/lib64/httpd/modules/mod_dav_svn.so[root@iZ23zw1ss97Z app]# sudo find / -name mod_authz_svn.so
/usr/lib64/httpd/modules/mod_authz_svn.so[root@iZ23zw1ss97Z app]#
4、创建svn仓库
[root@iZ23zw1ss97Z app]# sudo mkdir /app/svn #创建svn目录
[root@iZ23zw1ss97Z svn]# sudo svnadmin create /app/svn/src #创建svn源码库目录
[root@iZ23zw1ss97Z svn]# ls /app/svn/src/ #查看创建成功的svn库下的文件及目录
conf db format hooks locks README.txt
[root@iZ23zw1ss97Z app]#
5、配置权限
####修改svn仓库的用户组为apache####
[root@iZ23zw1ss97Z app]# sudo chown -R apache:apache /app/svn/src
[root@iZ23zw1ss97Z svn]# ll /app/svn/
total 16
drwxr-xr-x 6 apache apache 4096 Nov 26 14:19 src####创建用户文件passwd####
[root@iZ23zw1ss97Z app]# sudo touch /app/svn/passwd #创建用户文件
[root@iZ23zw1ss97Z app]# sudo htpasswd /app/svn/passwd admin #创建用户admin
New password:
Re-type new password:
Adding password for user admin
[root@iZ23zw1ss97Z app]# sudo htpasswd /app/svn/passwd zhengjiawei #创建用户zhengjiawei
New password:
Re-type new password:
Adding password for user zhengjiawei
[root@iZ23zw1ss97Z app]# cat /app/svn/passwd
admin:$apr1$PMUfc3am$cHOkP90ticKl7m/bK7qx2.
zhengjiawei:$apr1$aOdAR11I$RTnapdUedaQYqwo7OVn4e/
[root@iZ23zw1ss97Z app]# ####创建权限文件authz####
[root@iZ23zw1ss97Z svn]# sudo cp /app/svn/src/conf/authz /app/svn/authz
[root@iZ23zw1ss97Z svn]# cat /app/svn/authz
####在最后面增加如下内容,[/] 是相对svn库src目录下的访问路径,可根据路径分配目录访问权限:
[/]
admin = rw
zhengjiawei = rw
* = ####如下是配置test用户只有对svn/src/mufu的目录,具有可读写权限
[/mufu]
test = rw
* = [root@iZ23zw1ss97Z svn]#
6、配置httpd
####配置httpd####
[root@iZ23zw1ss97Z svn]# sudo touch /etc/httpd/conf.d/subversion.conf
[root@iZ23zw1ss97Z svn]# cat /etc/httpd/conf.d/subversion.conf
<Location /svn>DAV svnSVNParentPath /app/svnAuthType BasicAuthName "Authorization SVN"AuthzSVNAccessFile /app/svn/authzAuthUserFile /app/svn/passwdRequire valid-user
</Location>####启动httpd服务####
[root@iZ23zw1ss97Z svn]# sudo systemctl start httpd.service
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
####oh~ 启动失败,来查下原因:###
[root@iZ23zw1ss97Z svn]# systemctl status httpd.service
● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)Active: failed (Result: exit-code) since Sun 2017-11-26 12:28:31 CST; 12min agoDocs: man:httpd(8)man:apachectl(8)Process: 26383 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)Process: 26381 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)Main PID: 26381 (code=exited, status=1/FAILURE)Nov 26 12:28:31 iZ23zw1ss97Z systemd[1]: Starting The Apache HTTP Server...
Nov 26 12:28:31 iZ23zw1ss97Z httpd[26381]: [Sun Nov 26 12:28:31.522919 2017] [so:warn] [pid 26381] AH01574: module rewrite_module is already loaded, skipping
Nov 26 12:28:31 iZ23zw1ss97Z httpd[26381]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
Nov 26 12:28:31 iZ23zw1ss97Z httpd[26381]: no listening sockets available, shutting down
Nov 26 12:28:31 iZ23zw1ss97Z httpd[26381]: AH00015: Unable to open logs
Nov 26 12:28:31 iZ23zw1ss97Z systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Nov 26 12:28:31 iZ23zw1ss97Z systemd[1]: Failed to start The Apache HTTP Server.
Nov 26 12:28:31 iZ23zw1ss97Z systemd[1]: Unit httpd.service entered failed state.
Nov 26 12:28:31 iZ23zw1ss97Z systemd[1]: httpd.service failed.####发现:(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
####意思是端口80被占用了[root@iZ23zw1ss97Z svn]# vi /etc/httpd/conf/httpd.conf
####如是我们修改/etc/httpd/conf/httpd.conf中的
#Listen 12.34.56.78:80
Listen 80
####这里改80为81####重启httpd服务,如下ok了
[root@iZ23zw1ss97Z svn]# systemctl restart httpd.service
[root@iZ23zw1ss97Z svn]# systemctl status httpd.service
● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)Active: active (running) since Sun 2017-11-26 12:44:02 CST; 4s agoDocs: man:httpd(8)man:apachectl(8)Process: 26383 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)Main PID: 26446 (/usr/sbin/httpd)Status: "Processing requests..."CGroup: /system.slice/httpd.service├─26446 /usr/sbin/httpd -DFOREGROUND├─26448 /usr/sbin/httpd -DFOREGROUND├─26449 /usr/sbin/httpd -DFOREGROUND├─26450 /usr/sbin/httpd -DFOREGROUND├─26451 /usr/sbin/httpd -DFOREGROUND└─26452 /usr/sbin/httpd -DFOREGROUNDNov 26 12:44:01 iZ23zw1ss97Z systemd[1]: Starting The Apache HTTP Server...
Nov 26 12:44:01 iZ23zw1ss97Z httpd[26446]: [Sun Nov 26 12:44:01.296505 2017] [so:warn] [pid 26446] AH01574: module rewrite_module is already loaded, skipping
Nov 26 12:44:02 iZ23zw1ss97Z systemd[1]: Started The Apache HTTP Server.
[root@iZ23zw1ss97Z svn]#
客户端使用浏览器输入
http://***.***.***.***:81/svn/src
会弹出来输入用户名和密码框,输入用户名和密码,就可以访问刚才建立的svn仓库了。
如果返回403错误,可能是防火墙问题。
防火墙详解用法说明:https://my.oschina.net/90888/blog/1604260
增加防火墙规则:
####发现防火墙未开启
[root@iZ23zw1ss97Z httpd]# sudo firewall-cmd --permanent --add-service=http
FirewallD is not running
[root@iZ23zw1ss97Z httpd]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)Active: inactive (dead)####开启防火墙
[root@iZ23zw1ss97Z httpd]# systemctl start firewalld
####添加访问规则
[root@iZ23zw1ss97Z httpd]# sudo firewall-cmd --permanent --add-service=http
success
[root@iZ23zw1ss97Z httpd]# sudo firewall-cmd --permanent --add-service=https
success
####添加81端口放行规则
[root@iZ23zw1ss97Z sysconfig]# firewall-cmd --zone=public --add-port=81/tcp --permanent
success
####添加3690端口放行规则
[root@iZ23zw1ss97Z sysconfig]# firewall-cmd --zone=public --add-port=3690/tcp --permanent
success
####重新加载一下
[root@iZ23zw1ss97Z httpd]# sudo firewall-cmd --reload
success
7、设置SVN开机启动
默认是没有随系统启动而自动启动的。
CentOS 7 的 /etc/rc.d/rc.local 是没有执行权限的, 系统建议创建 systemd service 启动服务。
1、于是查看 systemd 里 svn 的配置文件: /lib/systemd/system/svnserve.service
vi /lib/systemd/system/svnserve.service
内容如下:
[Unit]
Description=Subversion protocol daemon
After=syslog.target network.target[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/svnserve
ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS[Install]
WantedBy=multi-user.target
2、找到 svn 的 service 配置文件: /etc/sysconfig/svnserve 编辑配置文件
vi /etc/sysconfig/svnserve
内容如下:将 OPTIONS="-r /var/svn" 改为 OPTIONS="-r /app/svn" 备注:/app/svn 是我svn根目录
# OPTIONS is used to pass command-line arguments to svnserve.
#
# Specify the repository location in -r parameter:
OPTIONS="-r /var/svn"
3、设置开启启动svn服务
systemctl enable svnserve.service
4、查看 svn 服务是否启动
ps -aux | grep 'svn'
其它
[Unit]:服务的说明
Description:描述服务After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式ExecStart为服务的具体运行命令
ExecReload为重启命令ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:
[Service]的启动、重启、停止命令全部要求使用绝对路径
#启动svnserve服务
systemctl start svnserve.service#设置开机自启动
systemctl enable svnserve.service#停止开机自启动
systemctl disable svnserve.service#查看服务当前状态
systemctl status svnserve.service#重新启动服务
systemctl restart svnserve.service#查看所有已启动的服务
systemctl list-units --type=service
CentOS 7.0默认使用的是firewall作为防火墙
1、firewall防火墙:
#1、firewalld的基本使用
systemctl start firewalld #启动
systemctl status firewalld #查看状态
systemctl disable firewalld #停止
systemctl stop firewalld #禁用#2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
systemctl start firewalld.service #启动一个服务
systemctl stop firewalld.service #关闭一个服务
systemctl restart firewalld.service #重启一个服务
systemctl status firewalld.service #显示一个服务的状态
systemctl enable firewalld.service #在开机时启用一个服务
systemctl disable firewalld.service #在开机时禁用一个服务
systemctl is-enabled firewalld.service #查看服务是否开机启动
systemctl list-unit-files|grep enabled #查看已启动的服务列表
systemctl --failed #查看启动失败的服务列表#3.配置firewalld-cmd
firewall-cmd --version #查看版本
firewall-cmd --help #查看帮助
firewall-cmd --state #显示状态
firewall-cmd --zone=public --list-ports #查看所有打开的端口
firewall-cmd --reload #更新防火墙规则
firewall-cmd --get-active-zones #查看区域信息
firewall-cmd --get-zone-of-interface=eth0 #查看指定接口所属区域
firewall-cmd --panic-on #拒绝所有包
firewall-cmd --panic-off #取消拒绝状态
firewall-cmd --query-panic #查看是否拒绝#那怎么开启一个端口呢
#添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)#重新载入
firewall-cmd --reload#查看
firewall-cmd --zone=public --query-port=80/tcp#删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
2、iptables防火墙(这里iptables已经安装,下面进行配置)
vi /etc/sysconfig/iptables #编辑防火墙配置文件
# sampleconfiguration for iptables service
# you can edit thismanually or use system-config-firewall
# please do not askus to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT[0:0]
:OUTPUT ACCEPT[0:0]
-A INPUT -m state--state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -jACCEPT
-A INPUT -i lo -jACCEPT
-A INPUT -p tcp -mstate --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -jACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080-j ACCEPT
-A INPUT -j REJECT--reject-with icmp-host-prohibited
-A FORWARD -jREJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出
备注:这里使用80和8080端口为例。
***部分一般添加到“-A INPUT -p tcp -m state --state NEW -m tcp--dport 22 -j ACCEPT”行的上面或者下面,切记不要添加到最后一行,否则防火墙重启后不生效。
3、重启防火墙
systemctl restart iptables.service #最后重启防火墙使配置生效
4、设置防火墙开机启动
systemctl enable iptables.service #设置防火墙开机启动
htpasswd命令
htpasswd命令是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。
语法
htpasswd(选项)(参数)
选项
-c:创建一个加密文件;
-n:不更新加密文件,只将加密后的用户名密码显示在屏幕上;
-m:默认采用MD5算法对密码进行加密;
-d:采用CRYPT算法对密码进行加密;
-p:不对密码进行进行加密,即明文密码;
-s:采用SHA算法对密码进行加密;
-b:在命令行中一并输入用户名和密码而不是根据提示输入密码;
-D:删除指定的用户。
参数
用户:要创建或者更新密码的用户名;
密码:用户的新密码。
实例
利用htpasswd命令添加用户
#在bin目录下生成一个.passwd文件,用户名admin,密码:pwdadmin,默认采用MD5加密方式。
htpasswd -bc .passwd admin pwdadmin
在原有密码文件中增加下一个用户
#去掉-c选项,即可在第一个用户之后添加第二个用户,依此类推。
htpasswd -b .passwd Jack 123456
不更新密码文件,只显示加密后的用户名和密码
#不更新.passwd文件,只在屏幕上输出用户名和经过加密后的密码。
htpasswd -nb Jack 123456
利用htpasswd命令删除用户名和密码
htpasswd -D .passwd Jack
利用htpasswd命令修改密码
#即先使用htpasswd删除命令删除指定用户,再利用htpasswd添加用户命令创建用户即可实现修改密码的功能。
htpasswd -D .passwd Jack
htpasswd -b .passwd Jack 123456
启动svn服务
svnserve -d -r /app/svn/ #/app/svn/为svn的根目录
检查svn服务是否已有进程
[root@iZ23zw1ss97Z conf]# ps aux|grep -v grep|grep svnserve
root 22934 0.0 0.0 166332 672 ? Ss 15:37 0:00 svnserve -d -r /app/svn/
停止svn服务
[root@iZ23zw1ss97Z conf]# killall svnserve #停止
######################### 或 kill -9 svnserve进程id
转载于:https://my.oschina.net/90888/blog/1538594
阿里云ECS,搭建SVN+Apache服务器相关推荐
- 阿里云ECS搭建ESP32开发环境
陈拓 2021/01/29-2021/02/03 1. 概述 在<用乐鑫国内Gitee镜像搭建ESP32开发环境> https://zhuanlan.zhihu.com/p/3481060 ...
- 阿里云ECS共享型n4服务器1核2G配置性能评测
阿里云服务器ECS共享型n4实例1核2G,配置1M公网带宽和40G高效云盘,CPU性能无约束,ECS共享型n4性能怎么样?1核2G服务器网来详细说下阿里云ECS共享型n4服务器CPU.内存.网络参数等 ...
- 使用阿里云ECS搭建基于Wordpress的个人网站
1.前言及自我简介 笔者是一名本科大二在读学生.在本文中,笔者将尽量以初学者的角度,为所有初次接触ECS并想要建立个人网站的朋友详细讲述流程与心得. 由于阿里云的"飞天加速计划", ...
- 基于阿里云ECS搭建云上博客!超详细图文步骤!
阿里云体验 地址:https://developer.aliyun.com/adc/scenario/410e5b6a852f4b4b88bf74bf4c197a57?spm=a2c6h.150139 ...
- 手把手教你如何在阿里云ECS搭建Python TensorFlow Jupyter
前段时间在阿里云买了一台服务器,准备部署网站,近期想玩一些深度学习项目,正好拿来用.TensorFlow官网的安装仅提及Ubuntu,但我的ECS操作系统是 CentOS 7.6 64位,搭建Pyth ...
- 阿里云ECS搭建正向代理,代理线下办公网络代理上网
一.业务需求 由于安全限制,公司线下互联网出口IP地址被局端安全设备封堵,使用公司线下互联网出口访问不了局端业务.为解决此问题,在阿里云ECS虚拟机上搭建正向代理服务器,代理线下办公电脑访问局端业务. ...
- 在阿里云ECS上安装流媒体服务器软件Ti Top Streamer
一.产品概述 Ti Top Streamer是一个流媒体服务器软件,支持多种视频流传输协议.支持多协议分发和转推,拥有漂亮而优雅的管理界面,支持中英双语切换,具备丰富的Http Rest API. T ...
- 2021最新 阿里云ECS搭建我的世界服务器
1. 购买阿里云服务 1.1 选择系统 5人以下纯净服1核2G够用 少量mod推荐2核4G,mod越多内存越高越好 1M带宽在不修改服务器默认视野的情况下足够10人使用系统镜像选择时记得选择ubunt ...
- 阿里云ECS搭建frp服务器实现黑群晖 Nas 内网穿透
1.前言 实现内网穿透的过程是折腾NAS中最麻烦的一部分,这里单独拿出来作为一个记录. 首先,讲一下我的配置,猫盘刷黑群晖DS119j系统,由于猫盘是arm架构,所以无法使用docker,只能实现一些 ...
最新文章
- Vmware下设置Ubuntu桥接上网
- python基础学习[python编程从入门到实践读书笔记(连载三)]:django学习笔记web项目
- String类型的认识以及编译器优化
- bzoj1233 单调队列优化dp
- 苹果x用了2年了,当前4G信号时有时无,大家有遇到过么?
- 设置TOMCAT SESSIONID 字符长度和生成算法
- hive 窗口函数 应用场景与实战详解
- android 获取录音时长_Android、iOS录音时音量大小计算
- matlab生成vcf,从VCF文件中提取样本数据
- C++ std::string 不可初始化为NULL及基本用法
- Java开源在线商城系统 ostocy-jshop
- maximo工作流底色更改
- 软件工程第一次团队作业
- MacOS Big Sur Beta 测评|使用体验|有哪些BUG?|如何安装?|实际体验如何?|WWDC2020
- 来看看今日的软件分享
- qpython3可以画图吗_手机qpython3如何画图
- TEM和CWEM的优缺点
- 啥叫K8s?啥是k8s?
- 高数教材班复习Hint(1.1-1.7)
- 西南科技大学数据库实验二(Oracle 11g)