================================
©Copyright Patata dulce Yao 2022-01-14
Blog de Sweet Potato Yao - CSDN Blog
1. Comprobar si svn está instalado
rpm -qa subversion
Segundo, yum instala el servidor svn (no la última versión)
Comando Svn yum para instalar directamente
La instalación directa no es la última versión de svn, solo: versión 1.7.14, la última versión actual es: svn-1.14
Consulte a continuación la instalación de la última versión
yum -y install subversion
已安装:
subversion.x86_64 0:1.7.14-16.el7
作为依赖被安装:
apr.x86_64 0:1.4.8-7.el7 apr-util.x86_64 0:1.5.2-6.el7 subversion-libs.x86_64 0:1.7.14-16.el7
完毕!
3. Instala la última versión de svn
1. Comprobar la versión adecuada del sistema Centos
http://opensource.wandisco.com/centos/
En el caso de Centos7, es:
http://opensource.wandisco.com/centos/7/
适合的版本如下:
Name↓ Last Modified: Size: Type:
svn-1.7/ 2014-Aug-07 08:16:37 - Directory
svn-1.8/ 2014-Aug-07 08:16:37 - Directory
svn-1.9/ 2014-Aug-07 08:16:37 - Directory
svn-1.10/ 2018-Apr-25 12:31:52 - Directory
svn-1.11/ 2018-Nov-22 09:45:38 - Directory
svn-1.12/ 2019-Mar-04 09:24:57 - Directory
svn-1.13/ 2019-Dec-09 08:20:28 - Directory
svn-1.14/ 2021-Feb-24 06:00:18 - Directory
2. Agregue la biblioteca de la última versión de svn
vi /etc/yum.repos.d/wandisco-svn.repo
Se agregó contenido al archivo wandisco-svn.repo:
Aquí se usa svn-1.14, que es la última versión.
[WandiscoSVN]
name=Wandisco SVN Repo
baseurl=http://opensource.wandisco.com/centos/$releasever/svn-1.14/RPMS/$basearch/
enabled=1
gpgcheck=0
3. Desinstalar la versión anterior de svn
Si tiene instalada una versión anterior, desinstálela primero
yum remove subversion
Eliminar resultado de ejecución:
删除:
subversion.x86_64 0:1.7.14-16.el7
A continuación, borre el caché de instalación
yum clean all
4. Instala la última versión de svn
yum -y install subversion
Resultados de la:
已安装:
subversion.x86_64 0:1.14.1-1
作为依赖被安装:
libserf.x86_64 0:1.3.9-1.el7
替代:
subversion-libs.x86_64 0:1.7.14-16.el7
5. Comprobar la versión svn
svnserve --version
Resultados de la:
[root@host-100 ~]# svnserve --version
svnserve,版本 1.14.1 (r1886195)
编译于 Jan 6 2022,14:30:34 在 x86_64-redhat-linux-gnu
La última versión de svn: 1.14.1
Cuarto, verifique la ubicación de instalación de svn
which svnserve
Resultados de la:
/usr/bin/svnserve
5. Cree el directorio del repositorio del proyecto svn
svnRepos es un directorio personalizado
cd /
mkdir -p /var/svnRepos
También puede agregar una capa más de carpetas:
mkdir -p /var/svnRepos/项目名称
Seis, inicialización del proyecto svn
Si no es usuario root, use sudo antes del comando
#修改目录拥有者
sudo chown -R java:java /var/svnRepos
#svn初始化
svnadmin create /var/svnRepos
Resultados de la:
[java@host-100 var]$ svnadmin create /var/svnRepos
[java@host-100 conf]$ cd /var/svnRepos
[java@host-100 svnRepos]$ ll
总用量 8
drwxrwxr-x. 2 java java 76 1月 7 10:17 conf
drwxrwsr-x. 6 java java 233 1月 7 10:17 db
-r--r--r--. 1 java java 2 1月 7 10:17 format
drwxrwxr-x. 2 java java 231 1月 7 10:17 hooks
drwxrwxr-x. 2 java java 41 1月 7 10:17 locks
-rw-rw-r--. 1 java java 246 1月 7 10:17 README.txt
carpeta conf para almacenar archivos de configuración
Tres archivos importantes en la carpeta conf:
authz: archivo de control de autoridad
passwd: archivo de contraseña de cuenta
svnserve.conf: archivo de configuración del servicio SVN, cuenta de configuración y archivo de autoridad
Siete, usuario y contraseña de configuración svn
Edite el archivo de contraseña:
cd /var/svnRepos/conf
vi passwd
El formato de configuración es: usuario=contraseña
如:
[users]
# harry = harryssecret
# sally = sallyssecret
readUser=123456
appUser=123456
Ocho, permisos de configuración svn
Edite el archivo de autorización:
vi authz
Agregue usuarios y permisos en la parte inferior del archivo . El
formato es: nombre de usuario = permisos
Permisos:
r: indica autoridad de lectura
w: indica autoridad de escritura
rw: indica autoridad de lectura y escritura
[/]: indica el directorio raíz svn, [/] se puede cambiar a un directorio de carpeta específico para restringir a ciertos usuarios a ciertos archivos de lectura y escritura de carpetas permisos
示例:
[/]
appUser=rw
*=
[/aa]
readUser=r
appUser=rw
*=
La última línea *= indica que otros usuarios no tienen ningún permiso
Otro método de configuración es usar la agrupación de usuarios (no probado y verificado)
[groups]
appGroup=appUser
readGroup= readUser
[/]
@appGroup=rw
@readGroup=r
*=
Nueve, archivo de servicio de configuración svn
vi svnserve.conf
Agregue la siguiente configuración en [general] (también puede abrir la opción correspondiente en la configuración, pero debe eliminar el espacio después de #):
#在[general]模块最下面增加的内容
#匿名访问的权限,可以是read,write,none,设置为none表示不能读写
anon-access=none
#授权用户可写
auth-access=write
#密码数据库配置
password-db=passwd
#访问控制数据库配置
authz-db=authz
#存储库的身份验证域。
#如果两个存储库具有相同的身份验证域,则它们应该
#拥有相同的密码数据库,反之亦然。默认领域是存储库的uuid。
#此处填写路径,这样就不会有相同的
#就是连接时提示的名称,如/var/svnRepos可修改为:我的svn仓库
realm=/var/svnRepos
#强制用户名大小写,默认是否
#lower,则全部变成小写;upper则全部变成大写;none则比较大小写。
# force-username-case = none
Diez, inicio svn
Compruebe si svn está iniciado:
ps -ef | grep svnserve
Iniciar svn (el puerto predeterminado es 3690)
svnserve -d -r /var/svnRepos
Modifique el puerto para comenzar:
svnserve -d -r /var/svnRepos --listen-port=9369
Especifique el archivo de configuración para iniciar:
svnserve -d -r /var/svnRepos --listen-port=9369 --config-file=/var/svnRepos/conf/svnserve.conf
-d: indica el daemon
-r: directorio raíz svn
--listen-port=9369: especifica el puerto
--config-file: especifica el archivo de configuración
Ver proceso svn
ps -ef | grep svnserve
matar el proceso svn
kill -9 [pid]
11. Abra el puerto del cortafuegos svn
svn por defecto es el puerto 3690
para abrir el servicio telnet:
firewall-cmd --permanent --add-service=telnet
Puertos abiertos:
默认的端口
firewall-cmd --permanent --zone=public --add-port=3690/tcp
自定义的端口
firewall-cmd --permanent --zone=public --add-port=9369/tcp
Hacer el puerto válido:
firewall-cmd --reload
Ver todos los puertos abiertos en el cortafuegos
firewall-cmd --zone=public --list-ports
Otros comandos:
查看防火墙状态:
firewall-cmd --state
关闭防火墙
systemctl stop firewalld.service
禁止防火墙开机启动
systemctl disable firewalld.service
Doce, inicio de arranque de configuración svn
Agregue el archivo de configuración svnserve.service
vi /lib/systemd/system/svnserve.service
Adiciones de archivos:
[Unit]
Description=SVN Server service
After=network.target
[Service]
Type=forking
ExecStart= /usr/bin/svnserve -d -r /var/svnRepos --listen-port=9369 --config-file=/var/svnRepos/conf/svnserve.conf
Restart=on-abort
[Install]
WantedBy=multi-user.target
establecer inicio
systemctl enable svnserve.service
Resultados de la:
[java@host-100 system]$ sudo systemctl enable svnserve.service
Created symlink from /etc/systemd/system/multi-user.target.wants/svnserve.service to /usr/lib/systemd/system/svnserve.service.
otros comandos
启动svn
systemctl start svnserve.service
停止svn
systemctl stop svnserve.service
重启svn
systemctl restart svnserve.service
13. Solución para permisos insuficientes cuando se inicia svn
Compruebe el estado del servicio svn:
systemctl status svnserve.service
svnserve[166290]: svnserve: E000013: no se puede abrir el archivo "/var/svnRepos/conf/svns... insuficiente
[root@host-100 /]# systemctl status svnserve.service
● svnserve.service - SVN Server service
Loaded: loaded (/usr/lib/systemd/system/svnserve.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since 五 2022-01-07 11:07:11 CST; 11s ago
Process: 166290 ExecStart=/usr/bin/svnserve -d -r /var/svnRepos --listen-port=9369 --config-file=/var/svnRepos/conf/svnserve.conf (code=exited, status=1/FAILURE)
1月 07 11:07:11 host-100 systemd[1]: Starting SVN Server service...
1月 07 11:07:11 host-100 svnserve[166290]: svnserve: E000013: 不能打开文件“/var/svnRepos/conf/svns…限不够
1月 07 11:07:11 host-100 systemd[1]: svnserve.service: control process exited, code=exited status=1
1月 07 11:07:11 host-100 systemd[1]: Failed to start SVN Server service.
1月 07 11:07:11 host-100 systemd[1]: Unit svnserve.service entered failed state.
1月 07 11:07:11 host-100 systemd[1]: svnserve.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
el permiso de inicio svn no es una solución suficiente
El archivo /etc/selinux/config primero debe agregar permisos de escritura
chmod -v u+w /etc/selinux/config
Editar archivo:
vi /etc/selinux/config
Modificación (requiere reinicio del servidor)
SELINUX=enforcing
por:
SELINUX=disabled
Recuperar el permiso de escritura del archivo /etc/selinux/config
chmod -v u-w /etc/selinux/config
chmod -R 777 svnserve.conf
reiniciar el servidor
reboot -f
Catorce, svn client tortoisesvn descargar y svn checkout
descargar cliente svn de windows
dirección de descarga de tortugasvn
https://tortoisesvn.net/downloads.html
La dirección de descarga está un poco más abajo, hay un paquete de instalación en idioma chino
Una vez completada la instalación, cree una nueva carpeta, en la carpeta, haga clic con el botón derecho del mouse, hay un comando [SVN Checkout] para verificar el proyecto.
Ingrese la dirección svn:
El puerto predeterminado es 3690, lo cambié a 9369, recuerda cambiarlo a tu propio puerto
svn://ip地址:端口
示例:
svn://192.168.1.10:9369/
15. Descarga e instalación del complemento Eclise svn subclipse
Requisitos del subclipse del complemento Eclise svn:
Requirements - current master
Eclipse 4.2 (Juno) or later
Java 8 or later
Subversion 1.10 - 1.14 JavaHL client libraries
Dirección de descarga de Subclipse:
https://github.com/subclipse/subclipse/releases
Descripción dirección:
https://github.com/subclipse/subclipse/wiki
Solo descargue subclipse-4.3.3.zip e instálelo sin JavaHL, informará un error, se recomienda instalar en línea o descargar e instalar ambos juntos.
(El tiempo es precioso, compartir no es fácil, donar y retribuir, ^_^)
================================
©Copyright Patata dulce Yao 2022-01-14