2008年6月5日 星期四

SVN Server 加上使用者認證

在安裝完 SVN Server 後如果沒有設立認證, 任何人只要知道網址, 就可以 check out 所有檔案了, 所以要加上認證功能.
先建立密碼檔:
sudo htpasswd -c /etc/subversion/passwd user-name
-c 代表新建立密碼檔,(-m 可以用 md5 加密, 多一層保障) 建立一個叫做 user-name 的使用者, 並會要求輸入密碼兩次.
想要確認是否建立, 可以輸入 cat /etc/subversion/passwd 查詢
建立後再進入 Apache 設定檔修改
sudo nano /etc/apache2/sites-available/default
將 location 段落修改如下
<Location /svn>
DAV svn
SVNPath /home/svn
AuthType Basic
AuthName DAV
AuthUserFile /etc/subversion/passwd
Require valid-user
</Location>
再重新啟動 Apache 即可
/etc/init.d/apache2 restart

2008年6月2日 星期一

Ubuntu 7.04 Server Apache 2 安裝 ssl

在安裝完 Ubuntu Server 版後, 預設已經裝了 Apache, 但沒有 ssl 功能.
我在安裝完 webmin 後, 多了 ssl 功能, 卻在安裝 ssl 網頁時發生衝突.
後來參考了國外的網頁安裝說明, 重新裝一次, 指令順序如下(預設已經安裝完 webmin 的環境):

先建立憑證檔案
sudo mkdir /etc/apache2/ssl
sudo openssl req -new -x509 -nodes -out /etc/apache2/ssl/apache.crt -keyout /etc/apache2/ssl/apache.key
啟動 Apache 的 ssl 模組
sudo a2enmod ssl

加入監聽port
sudo nano /etc/apache2/ports.conf
加一行

Listen 443

加入
虛擬伺服器
sudo nano /etc/apache2/sites-available/default
原來的
NameVirtualHost *
改成
NameVirtualHost *:80
最下面新增
NameVirtualHost *:443
<virtualhost *:443>
# 預設網頁根目錄 /var/www/https/ 可按照需求更改, 相關權限再另外參考 Apache 設定
DocumentRoot /var/www/https/
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
</virtualhost>

這裡面自己產生的憑證檔案, 大多是自己用, 如果要公機關認可的憑證, 參考原網站有許多的地方提供.