[draft]在 Ubuntu 20.04 安裝 Subversion(SVN) Server + submin

  • 採用 PVE 內提供的 Ubuntu 20.04 建立 CT
  • 預計安裝與配置:
    • CPU:1vcore / RAM:512MB / Root Disk:28GB
    • 啟動主機的 IP 網段 192.168.11.0/24
    • 預計將 SVN repo 檔案放置在 /var/www/svn 內
    • 網站 root 在 /var/www/html
  • 安裝套件

    apt update
    apt upgrade
    apt install python2 apache2 subversion unzip

  • 安裝 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. 管理者信箱 [email protected]

    submin2-admin /opt/submin/ initenv [email protected]ur.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/html
    :
    Email from envelope? [Submin <[email protected]>]> Submin <[email protected]>
  • 更改 /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-enabled/
    ln -s /opt/submin/conf/apache-2.4-svn.conf /etc/apache2/conf-enabled/
  • 設定開機啟動與重新啟動 apache
    systemctl start apache2
    systemctl enable 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 <[email protected]>"
    submin2-admin /opt/submin config set commit_email_from "SVN <[email protected]>"
     
    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 [email protected]

    的這個 E-Mail - [email protected] 將重設 admin 的密碼連結寄至這信箱, 接下來就可以在 web 上面建立 svn 的使用者與 repos

  • 如果第一次開啟網頁出現錯誤訊息 attempt to write a readonly database 表示 SELinux 開啟, 必須關閉 SELinux
  1. 更改路徑 svn → repos
    submin2-admin /opt/submin config set base_url_svn repos
    submin2-admin /opt/submin/ apacheconf create all
    systemctl restart httpd
  2. 設定 https
    yum install mod_ssl
    systemctl restart httpd
  • 透過更改 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

  • tech/ubuntu_subversion.txt
  • 上一次變更: 2022/01/10 19:37
  • jonathan