有鑑於安全性問題,傳統的Http連線容易被竊聽,所以伺服器改成使用Https連線將可大幅提昇連線的安全性,至於SSL服務如何安裝及啟動就請參考下方敘述。
01. 建立SSL資料夾。
sudo mkdir /etc/apache2/ssl
02. 建立SSL證書。
sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
03. 啟動SSL模組。
sudo a2enmod ssl
04. 重新載入apache服務。
sudo /etc/init.d/apache2 force-reload
05. 將現時apache虛擬主機檔案複製至/etc/apache2/sites-available/ssl資料夾。
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
06. 按以下內容,編輯/etc/apache2/sites-available/ssl檔案。
sudo vim /etc/apache2/sites-available/ssl NameVirtualHost *:443 ServerAdmin webmaster@localhost SSLEngine On SSLCertificateFile /etc/apache2/ssl/apache.pem
07. 啟動SSL虛擬主機。
sudo a2ensite ssl
08. 重新載入apache服務。
sudo /etc/init.d/apache2 reload
09. 編輯/etc/apache2/sites-available/default檔案,在檔案中第一行新增以下內容。
sudo vim /etc/apache2/sites-available/default NameVirtualHost *:80
編輯SSL的配置
#vi /etc/apache2/sites-enabled/ssl
把埠改為443
加入SSL認證配置
10. 編輯/etc/apache2/ports.conf檔案,關閉埠80,避免其他人存取。(如果整個網站都要使用SSL連線,強烈建議關閉)
sudo vim /etc/apache2/ports.conf # Listen 80
11. 重新啟用apache服務。
sudo /etc/init.d/apache2 restart
Ubuntu 10.04 Server Apache + SVN + SSL配置
Ubuntu 10.04 Server Apache + SVN + SSL配置
2010/12/10 14:08
一、安裝準備(安裝模組)
#sudo apt-get install apache2
#sudo apt-get install apache2-mpm-prefork
#sudo apt-get install apache2-utils
#sudo apt-get install libapache2-svn
#sudo apt-get install libapache2-mod-auth-pam(可選,用於PAM)
#sudo apt-get install libapache2-mod-auth-sys-group(可選,用於PAM)
#sudo apt-get install subversion
#sudo apt-get install subversion-tools
二、SVN配置
配置前說明:
我的Subversion檔倉庫放在/home/svn,並且我的專案名稱是簡單的“myproject”。Subversion組名字是subversion
創建Subversion的組:
典型的情況下,您應該創建一個名為“Subversion”的組來擁有檔倉庫所在的目錄。
#sudo addgroup subversion
#sudo usermod -G subversion -a www-data
//subversion是組名,可自己定義,一般不需要更改
驗證:
# cat /etc/group|grep subversion
subversion:x:1001:www-data,svnx
//你需要登出然後再登錄以便您能夠成為subversion組的一員
創建SVN庫:
# cd /home
# sudo mkdir svn
#cd svn
# sudo mkdir myproject
//此命令在svn目錄下進行
# sudo chown -R root:subversion myproject
//此命令在svn目錄下進行
# # sudo chmod -R g+rws myproject
//此命令在svn目錄下進行
//賦予組成員對所有新加入文件倉庫的文件擁有相應的許可權
# sudo svnadmin create myproject //此命令在svn目錄下進行
可能的問題:
在後續Check in的時候遇到如下錯誤:
Can’t open ‘/home/svn/myproject/db/txn-current-lock’: Permission denied
解決方法:可以再次運行命令:
# sudo chown -R root:subversion myproject
三、Apache配置
先備份一下Apache2的設定檔:
sudo cp -R /etc/apache2 /etc/apache2_backup
通過WebDAV協定訪問SVN檔倉庫,您必須配置您的Apache 2 Web伺服器。您必須加入下面的代碼片段到您的/etc/apache2/mods-available/dav_svn.conf中:(加在檔最後面即可)
DAV svn //不用改
SVNPath /home/svn/myproject //版本庫路徑
AuthType Basic
AuthName “myproject subversion repository”
AuthUserFile /etc/subversion/passwd //密碼檔路徑。
特別說明:與 兩行注釋掉。
1、如果需要使用者每次登錄時都進行使用者密碼驗證,請將
2、當您添加了上面的內容,您必須重新起動Apache 2 Web伺服器,請輸入下面的命令:
#sudo /etc/init.d/apache2 restart
創建passwd 文件:
該檔包含了使用者授權的詳細資訊。要添加用戶,您可以執行下面的命令:
#sudo htpasswd -c /etc/subversion/passwd user_name
它會提示您輸入密碼,當您輸入了密碼,該使用者就建立了。
最後,你就可以用用戶端來訪問了
http://主機IP/myproject
這樣,就可以通過Web方式訪問版本庫了,不過這樣的密碼傳輸是純文字方式的,基於安全方面的考慮,我建議你使用SSL。
四、SSL配置
Apache2已經在前面安裝好了下面安裝SSL模組:
安裝SSL模組
#a2enmod ssl
我們可以使用openssl來創建,這裡我就是此方法創建SSL證書的
#sudo cd /etc/apache2
#sudo mkdir ssl
#sudo cd ssl
#sudo openssl req -x509 -newkey rsa:1024 -keyout apache.pem -out apache.pem -nodes -days 999
注:在要求輸入Common Name (eg, YOUR name)時,輸入你的主機名稱。
示例過程如下:
Generating a 1024 bit RSA private key
…………………++++++
..++++++
writing new private key to ‘apache.pem’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]:China
string is too long, it needs to be less than 2 bytes long
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Jiangxi
Locality Name (eg, city) []:Nanchang
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Nanchang Unversity
Organizational Unit Name (eg, section) []:Information Center
Common Name (eg, YOUR name) []:LinuxServer
Email Address []:[email protected]
複製一份網站配置做為SSL配置的原型
#cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
#ln -s /etc/apache2/sites-available/ssl /etc/apache2/sites-enabled/ssl
編輯SSL的配置
#vi /etc/apache2/sites-enabled/ssl
把埠改為443
加入SSL認證配置
其它的根據需要自己定制與普通配置無異
ServerSignature On
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
………………………
修改普通http方式的配置(apache2這裡好像不用改,默認的已經是80埠)
編輯Apache埠配置,加入443埠(這裡可以不用加“Listen 443”因為SSL默認認證的443埠已經打開)
別忘了把前面生成的SSL金鑰檔拷貝過來
# sudo cp apache.pem /proc/14646/cwd/apache.pem //在apache.pem目錄下
重啟apache2
#/etc/init.d/apache2 restart