由于工作需要在linux上部署svn服务,网上部署的版本都是太老了,装上去会导致svn客户端出现不兼容。官网目前最新的版本是1.14.1 。部署过程中遇到了很多的坑,把自己正常安装后的过程记录一下。
首先用yum安装这2个库:
yum install expat-devel
yum install libtool
如果python版本不是3的需要安装python3,已经是的绕过此步
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz
tar -xf Python-3.6.8.tar
cd Python-3.6.8
./configure prefix=/usr/local/python3
make
make install
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
python3 -v
随后依次安装(每安装完一个cd…返回到root根目录)
Apr-1.7.0
ps:此依赖的安装在执行完解压后需要进解压目录打开configure文件,找到RM=‘RM -f’(该操作用来解决报错:cannot remove ‘libtoolT’:No such file or directory)
wget https://archive.apache.org/dist/apr/apr-1.7.0.tar.bz2
tar -xjf apr-1.7.0.tar.bz2
cd apr-1.7.0
./configure --prefix=/usr \
--disable-static \
--with-installbuilddir=/usr/share/apr-1/build
make
make install
Apr-Util-1.6.1
wget https://archive.apache.org/dist/apr/apr-util-1.6.1.tar.bz2
tar -xjf apr-util-1.6.1.tar.bz2
cd apr-util-1.6.1
./configure --prefix=/usr \
--with-apr=/usr \
--with-gdbm=/usr \
--with-openssl=/usr \
--with-crypto
make
make install
SQLite-3.36
wget https://sqlite.org/2021/sqlite-autoconf-3360000.tar.gz
tar -zxvf sqlite-autoconf-3360000.tar.gz
cd sqlite-autoconf-3360000
./configure --prefix=/usr \
--disable-static \
--enable-fts5 \
CPPFLAGS="-DSQLITE_ENABLE_FTS3=1 \
-DSQLITE_ENABLE_FTS4=1 \
-DSQLITE_ENABLE_COLUMN_METADATA=1 \
-DSQLITE_ENABLE_UNLOCK_NOTIFY=1 \
-DSQLITE_ENABLE_DBSTAT_VTAB=1 \
-DSQLITE_SECURE_DELETE=1 \
-DSQLITE_ENABLE_FTS3_TOKENIZER=1"
make
make install
最后搞Subversion-1.14.1
wget https://archive.apache.org/dist/subversion/subversion-1.14.1.tar.bz2
tar -xjf subversion-1.14.1.tar.bz2
cd subversion-1.14.1
PYTHON=python3 ./configure --prefix=/usr \
--disable-static \
--with-apache-libexecdir \
--with-lz4=internal \
--with-utf8proc=internal
make
make install
至此subversion服务安装成功
查看版本号:
svnserve --version
开机自启动:
进入/usr/lib/systemd/system 新建svn.service
vi /usr/lib/systemd/system/svn.service
在打开的界面中写入下面的配置,改完后wq保存。
[Unit]
Description=Subversion Server
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/bin/svnserve -d -r /home/svndata
#svn目录根据自己的实际进行修改
ExecStop=/usr/bin/killall svnserve
[Install]
WantedBy=multi-user.target
重新加载服务
systemctl daemon-reload
设置svn服务开机启动
systemctl enable svn.service
至此开机启动服务已经创建,可以通过服务命令进行状态执行
service svn start|stop|restart|status
完毕!其他按照svn正常的命令进行操作。
最后还是推荐大家使用docker进行部署,会无脑很多。
评论区