====== [draft]在 Alpine Linux 3 底下安裝 Subversion(SVN) Server + submin ======
* 採用 PVE 內提供的 alpine-3.15 (3.4MB) 建立 CT
* 預計安裝與配置:
* CPU:1vcore / RAM:512MB / Root Disk:28GB
* 啟動主機的 IP 網段 192.168.11.0/24
* 預計將 SVN repo 檔案放置在 /var/www/svn 內
* 網站 root 在 /var/www/localhost/htdocs/
===== 安裝與設定 =====
* 安裝套件
apk add python2 nginx subversion
* 安裝 submin
su - root
wget --no-check-certificate https://github.com/mjholtkamp/submin/archive/master.zip
unzip master.zip
cd submin-master
python2 setup.py install
* 設定 submin Exp. 管理者信箱 admin@your.mail.com
submin2-admin /opt/submin/ initenv admin@your.mail.com
:
Which features do you want to enable? [svn, git, apache, nginx]> svn, apache
:
Path to the repository? [svn]> /var/www/svn
:
Hostname? [ct-svn.your.mail.com]> svn.your.mail.com
:
HTTP base? [/]> /var/www/localhost/htdocs
:
Email from envelope? [Submin ]> Submin
* 更改 /var/www/svn 擁有者為 apache
chown -R apache:apache /var/www/svn
* 產生 apache 的設定檔
ln -s /opt/submin/conf/apache-2.4-webui-cgi.conf /etc/apache2/conf.d/
ln -s /opt/submin/conf/apache-2.4-svn.conf /etc/apache2/conf.d/
* 設定開機啟動與重新啟動 apache
rc-service apache2 start
rc-update add apache2
* 設定與確認 E-Mail 是否可以正常運作
submin2-admin /opt/submin config set smtp_hostname 192.168.1.1
submin2-admin /opt/submin config set smtp_port 25
submin2-admin /opt/submin config set smtp_username **your-userid**
submin2-admin /opt/submin config set smtp_password **your-password**
submin2-admin /opt/submin config set smtp_from "SVN "
submin2-admin /opt/submin config set commit_email_from "SVN "
submin2-admin /opt/submin diagnostics email
* 先設定只有 svn 然後進行整體檢測
submin2-admin /opt/submin config set vcs_plugins svn
submin2-admin /opt/submin diagnostics
* 再來透過 web - http://your.url.com/submin/ 就可以使用 Forgot your password? 輸入一開始安裝時
submin2-admin /opt/submin/ initenv admin@your.mail.com
的這個 E-Mail - admin@your.mail.com 將重設 admin 的密碼連結寄至這信箱, 接下來就可以在 web 上面建立 svn 的使用者與 repos
* 如果第一次開啟網頁出現錯誤訊息 **attempt to write a readonly database** 表示 SELinux 開啟, 必須關閉 SELinux
*
SELINUX=disabled
SELINUXTYPE=targeted
===== 原本 svn 設定網址 http://svn.myurl.com/svn 要改成 https://svn.myurl.com/repos =====
- 更改路徑 svn -> repos
submin2-admin /opt/submin config set base_url_svn repos
submin2-admin /opt/submin/ apacheconf create all
systemctl restart httpd
- 設定 https
yum install mod_ssl
systemctl restart httpd
===== 無法使用 e-mail 寄送密碼通知信件 =====
* 透過更改 sqlite 內的 admin 密碼方式來解決
* Exp. 將 admin 密碼改成 123456
cd /opt/submin/conf
sqlite3 submin.db
update users set password='$apr1$EfayX1XO$QorId6q9YgRHBERgVZWGv/' where name='admin';
.quit
* 設定開機啟動與啟動 mini_httpd 服務
rc-service mini_httpd start
rc-update add mini_httpd
* 之後如果修改設定可直接執行以下命令檢查與讓 reconfigure 生效
squid -k check
squid -k reconfigure
===== 參考網址 =====
* https://pkgs.alpinelinux.org/package/edge/main/x86/subversion
* https://www.ichiayi.com/tech/centos7_svn
* https://wiki.alpinelinux.org/wiki/Apache
* https://wiki.alpinelinux.org/wiki/Mini_httpd
{{tag>alpine svn subversion draft}}