安装之前建议先更新
sudo apt update
sudo apt upgrade
一、 安装配置Apache
1、安装apache
sudo apt install apache2
2、开启apache2模块
a2enmod rewrite
a2enmod authn_dbd
二、 安装svn与subversion
sudo apt install subversion libapache2-svn
三、 安装邮件发送(submin发送重置密码邮件)
sudo apt install sendmail
四、 安装submin
下载地址:http://supermind.nl/submin/current/
可下载最新版,如下图所示:
下载完如下所示:
解压:
tar -zxvf submin-2.2.2-1.tar.gz
修改权限:
chown -R root:root submin-2.2.2-1
chmod -R 755 submin-2.2.2-1
无法下载安装包也可以通过git获取:
git clone https://github.com/mjholtkamp/submin.git
开始安装:
python2 setup.py install
显示如下则安装成功:
五、 初始化submin
submin2-admin /var/lib/submin initenv xxxx@163.com #邮箱使用自己邮箱
接下来根据提示进行配置:
输入:svn,apache
svn仓库地址,默认/var/lib/svn
svn服务器访问的域名,无域名则使用ip即可
直接回车
这里输入用于发送重置密码邮件的邮箱
显示如下则配置成功:
六、 配置apache2.conf
编辑apache2.conf文件
vim /etc/apache2/apache2.conf
在apache2.conf最后加入如下内容:
Include /var/lib/submin/conf/apache-2.4-svn.conf
Include /var/lib/submin/conf/apache-2.4-webui-cgi.conf
加入的两个配置文件则如下图所示:
七、 添加CGI模块
cd /etc/apache2/mods-enabled/
ln -s ../mods-available/cgi.load cgi.load
八、 关闭git,否则之后会报错
submin2-admin /var/lib/submin config set vcs_plugins svn
九、 安装如下内容
apt install python2.7-subversion python-subversion
不安装会出现:
Failed to import python ‘svn’ module, please install
十、 配置邮箱
submin2-admin /var/lib/submin config set smtp_hostname smtp.163.com
submin2-admin /var/lib/submin config set smtp_port 25
submin2-admin /var/lib/submin config set smtp_username xxxxxxx@163.com
submin2-admin /var/lib/submin config set smtp_password xxxxxxxx
submin2-admin /var/lib/submin config set smtp_from "svn&submin&password <xxxxxx@163.com >"
submin2-admin /var/lib/submin config set commit_email_from "svn&submin&password <xxxxx@163.com >"
已上配置内容分别为:发送邮件的服务器地址、发送邮件的服务器端口、发送邮件的用户名、发送邮件的密码、发送邮件、commit邮件
十一、 验证是否安装成功
submin2-admin /var/lib/submin diagnostics
十二、 重启apache
service apache2 restart
接下来便可以输入地址进行访问:http://ip/submin
打开显示如下:
点击Forgot your password?
输入要重置密码的用户名,点击Reset:
查看邮件:
重置后便可登录:
submin操作如下:
创建仓库:
注:必须要保证操作的目录有权限进行操作。
十二、 手动重置submin密码(原文链接:https://blog.csdn.net/fword/article/details/110131903)
如果不能通过邮件的方式来重置密码,可以使用如下方法设置自己的密码。
新建脚本如下:
import submin.plugins.storage.sql.common as storage
from submin.models.exceptions import UserExistsError, NoMD5PasswordError
from submin.auth import md5crypt
from sys import argv
script,inputPassword = argv
def _pw_hash(password, salt=None, magic='apr1'):
if salt is None:
salt = md5crypt.makesalt()
newhash = md5crypt.md5crypt(password, salt, '$' + magic + '$')
return newhash
password = inputPassword
password = _pw_hash(password)
print password
执行脚本
[root@localhost sql]# python2 passwd.py *****(这里是自己要设置的明文密码)
$apr1$ahzk2phT$FROlECwi3g5wPQEjflSFq0 (生成的密文密码)
[root@localhost sql]#
将生成的密码更新到submin.db
cd /var/lib/submin/conf (路径记得换成自己的)
sqlite3 submin.db
sqlite3> update users set password='$apr1$ahzk2phT$FROlECwi3g5wPQEjflSFq0' where name='admin'
这个时候就可以使用自己定义的密码进行登录了