====== [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}}