1. 程式人生 > >VisualSVN 遷移至Linux SVN+Apache+ssl整合LDAP

VisualSVN 遷移至Linux SVN+Apache+ssl整合LDAP

一、VisualSVN 遷移至Linux SVN

1.1首先找到Repositories (存放專案目錄)

image_1bt67uiju13n616b93ms1d5smqc9.png-69.4kB

1.2通過cmd命令列匯出

!!! 特別提示,一定要先清空SVN的許可權,否則匯出的時候許可權會亂 
11.png-23.9kB

  1. svnadmin dump 專案目錄\專案名稱 >存放目錄\名稱.dump

生成.dump檔案 
image_1bt6844ulq851u659fop811dmv1b.png-49.2kB

1.3搭建SVN

提示:我們不需要修改SVN專案的配置檔案,因為認證是通過apache配置的檔案

1.4匯入倉庫

  1. 首先我們將*.dump檔案上傳至伺服器
  2. 建立SVN專案(名字最好和原來的相同)
  3. [[email protected] ~]# svnadmin create /home/svndata/smscenter
  4. [[email protected] ~]# cd /home/svndata/ #進入建立SVN專案的上一級目錄
  5. 匯入資料
  6. [[email protected] svndata]# svnadmin load smscenter <smscenter.dump
  7. !!!smscenter.dump檔案必須和smscenter建立的專案目錄在同一級

只要不儲存就是成功了 
11.png-78.6kB

1.5設定許可權

  1. 我們需要修改data目錄的許可權
  2. [[email protected] svndata]# chown -R apache.root smscenter

echo "以上就是我們的遷移,下面的步驟我們可以用自己建立的測試專案庫進行操作"

二、 svn+apache+ssl配置

2.1安裝apache

  1. 2017-11-01 更
  2. 這裡建議使用yum安裝httpd
  3. yum install -y httpd
  4. 可以解決一些依賴問題,因為編譯會有很多模組無法加入!!!!
  5. ****************************************************************************
  6. 下載Apache原始碼
  7. 到http://httpd.apache.org/下載最新穩定版的原始碼,現在最新穩定版是2.2.21。
  8. [[email protected] ~]# wget http://apache.deathculture.net//httpd/httpd-2.2.21.tar.gz
  9. [[email protected] ~]# tar xvfz httpd-2.2.21.tar.gz
  10. [[email protected] httpd-2.2.21]# ./configure--prefix=/usr/local/httpd--enable-so--enable-dav=shared--enable-dav-fs=shared--enable-dav-lock=shared--enable-ssl=shared
  11. [[email protected] httpd-2.2.21]# make && make install

驗證apache

  1. [[email protected] svndata]# /usr/local/httpd/bin/apachectl -V
  2. Server version: Apache/2.2.34 (Unix)
  3. Server built: Oct 25 2017 19:28:35
  4. Server's Module Magic Number: 20051115:43
  5. Server loaded: APR 1.5.2, APR-Util 1.5.4
  6. Compiled using: APR 1.5.2, APR-Util 1.5.4
  7. Architecture: 64-bit
  8. Server MPM: Prefork
  9. threaded: no
  10. forked: yes (variable process count)
  11. Server compiled with....
  12. -D APACHE_MPM_DIR="server/mpm/prefork"
  13. -D APR_HAS_SENDFILE
  14. -D APR_HAS_MMAP
  15. -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
  16. -D APR_USE_SYSVSEM_SERIALIZE
  17. -D APR_USE_PTHREAD_SERIALIZE
  18. -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
  19. -D APR_HAS_OTHER_CHILD
  20. -D AP_HAVE_RELIABLE_PIPED_LOGS
  21. -D DYNAMIC_MODULE_LIMIT=128
  22. -D HTTPD_ROOT="/usr/local/httpd"
  23. -D SUEXEC_BIN="/usr/local/httpd/bin/suexec"
  24. -D DEFAULT_PIDLOG="logs/httpd.pid"
  25. -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
  26. -D DEFAULT_LOCKFILE="logs/accept.lock"
  27. -D DEFAULT_ERRORLOG="logs/error_log"
  28. -D AP_TYPES_CONFIG_FILE="conf/mime.types"
  29. -D SERVER_CONFIG_FILE="conf/httpd.conf"

2.2.安裝mod_dav_svn mod_ssl 模組

mod_dav_svn是apache伺服器訪問svn的一個模組。通過yum安裝: 
mod_ssl 是apache配置ssl訪問的

  1. yum install mod_dav_svn -y
  2. 安裝成功後,會有mod_dav_svn.so和mod_authz_svn.so兩個檔案。
  3. find / -name mod_dav_svn.so
  4. /usr/lib64/httpd/modules/mod_dav_svn.so
  5. find / -name mod_authz_svn.so
  6. /usr/lib64/httpd/modules/mod_authz_svn.so
  7. yum install -y mod_ssl
  8. 安裝後會在/etc/httpd/conf.d/生成ssl.conf我們複製
  9. LoadModule ssl_module modules/mod_ssl.so 到我們的subversion.conf
  10. 提示:我們yum安裝的httpd模組都在/etc/httpd/modules下面,我們要引用就要把模組複製到httpd的下面

2.3配置apche

  1. [[email protected] ~]# grep "^[a-zA-Z]" /etc/httpd/conf/httpd.conf
  2. Include conf.d/*.conf
  3. User apache
  4. Group apache
  5. ServerName localhost
  6. ##這是需要修改的地方,請仔細閱讀配置說明!!!!!!!!!!!!!!!!!!!!!@@@@

配置說明:

1.修改apache啟動使用者
User apache
Group apache


2.設定一個ServerName,否則啟動會報警
ServerName localhost

要確保apache安裝目錄有這3個檔案,沒有就find搜尋一下,否則上一步配置檔案會報錯 
11.png-80.6kB

2.4 通過openssl生成證書

1.生成根證書的私鑰
$ mkdir /etc/httpd/ssl/ && openssl genrsa -out /etc/httpd/ssl/svn.key

2.利用私鑰生成一個根證書的申請,一般證書的申請格式都是csr。所以私鑰和csr一般需要儲存好
$ openssl req -new -key /etc/httpd/ssl/svn.key -out /etc/httpd/ssl/svn.csr

3.自簽名的方式簽發我們之前的申請的證書,生成的證書為ca.crt。
openssl x509 -req -days 3650 -in /etc/httpd/ssl/svn.csr -signkey /etc/httpd/ssl/svn.key -out /etc/httpd/ssl/svn.crt

!然後我們將svn.crt和svn.key拷貝到並建立/etc/httpd/ssl/就可以

svn整合apache

  1. yum安裝路徑一般都在/etc/httpd下,編譯安裝看你們的編譯設定的路徑,推薦httpd安裝
  2. [[email protected] svndata]# vim /etc/httpd/conf.d/subversion.conf (目錄是自己生成的)
  3. LoadModule dav_svn_module modules/mod_dav_svn.so
  4. LoadModule authz_svn_module modules/mod_authz_svn.so
  5. LoadModule ssl_module modules/mod_ssl.so
  6. Listen 443 #監聽埠
  7. <VirtualHost *:443>
  8. SSLEngine On #開啟ssl
  9. SSLCertificateFile "/etc/httpd/ssl/svn.crt" #ssl檔案路徑
  10. SSLCertificateKeyFile "/etc/httpd/ssl/svn.key" #ssl檔案路徑
  11. <Location /svn/> #是在url或者svn客戶端上指定的訪問路徑
  12. DAV svn #宣告sv
  13. SVNParentPath /home/svndata #用來表示共同的父目錄,所有不同的版本庫都是存放在此目錄下
  14. AuthType Basic #apache的簡單認證方式
  15. AuthName "#######boxuegu - svn##########"
  16. AuthUserFile /home/svnpasswd/httpdpasswd #密碼檔案存放位置
  17. AuthzSVNAccessFile /home/svnpasswd/auth.conf #指定儲存路徑中的版本庫訪問策略檔案
  18. SSLRequireSSL
  19. Require valid-user
  20. </Location>
  21. </VirtualHost>

2.5 建立svn使用者

如果不使用https加密驗證正常使用者是在svn專案裡面配置,但是我們是通過ssl進行使用者控制,我們不需要在svn版本里面配置配置檔案

  1. 通過建立下面的使用者來登入svn並控制權限
  2. [[email protected] ~]# htpasswd -c /home/svnpasswd/httpdpasswd jenkins
  3. [[email protected] ~]# htpasswd /home/svnpasswd/httpdpasswd test
  4. 通過htpasswd建立的使用者,密碼都是加密的
  5. [[email protected] svnpasswd]# cat httpdpasswd
  6. jenkins:$apr1$Emt9L7jJ$mKjTMxfkpproCQXX9JF.Y1
  7. test:$apr1$QL1ZsBVc$6krpnqKQf4SI/RfT9nGyN/
  8. -c 表示會自動生成這個檔案,第一次操作可以執行以後就不需要
  9. #刪除使用者
  10. htpasswd -D passwd user
  11. #修改使用者密碼
  12. htpasswd passwd user

2.6建立並配置svn許可權

  1. [[email protected] svnpasswd]# vim /svnpasswd/auth.conf 手動建立
  2. [groups]
  3. admin=jenkins
  4. abcdocker=test,jenkins
  5. [test:/]
  6. @abcdocker=rw
  7. jenkins=rw
  8. r代表讀
  9. w代表寫
  10. @是使用者組
  11. test是專案例如:http://127.0.0.1/svn/test 代表svn下面的test,這個svn是apache的location定義
  12. 特別提示#########################################
  13. 如果auth.conf這個檔案配置的使用者有錯誤,會造成使用者開啟web介面出現許可權拒絕或者無法登陸的情況!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!################################################################################

2.7重啟svn及apache

  1. [[email protected] ~]# ps -ef|grep svn
  2. root 10784 8674 0 16:27 pts/0 00:00:00 grep --color=auto svn
  3. root 22715 1 0 Oct25 ? 00:00:00 svnserve -d -r /home/svndata/
  4. [[email protected] ~]# kill 10784
  5. [[email protected] ~]# svnserve -d -r /home/svndata/
  6. [[email protected] ~]# /etc/init.d/httpd restart

2.8訪問驗證

因為我們的ssl證書沒有認可,會提示不安全,我們直接訪問就可以了 
image_1btbsp9pf1p3j1tu3j8h1ro6m31r.png-127.3kB

輸入我們授權的svn即可 
image_1btbsr41741c8o61d861f5462528.png-62.9kB

成功如下圖: 
image_1btbsrpekbvh1gl55447i51pab2l.png-47.5kB

三、svn整合LDAP配置

待更新 
配置待驗證

  1. Listen 443
  2. <VirtualHost *:443>
  3. SSLEngine On
  4. SSLCertificateFile "/tmp/svn.crt"
  5. SSLCertificateKeyFile "/tmp/svn.key"
  6. <Location /svn/>
  7. DAV svn
  8. SVNParentPath /home/svndata
  9. SVNListParentPath on
  10. AuthType Basic
  11. AuthName "#######boxuegu - svn##########"
  12. AuthUserFile /home/svnpasswd/httpdpasswd
  13. AuthzSVNAccessFile /home/svnpasswd/auth.conf
  14. SSLRequireSSL
  15. Require valid-user
  16. AuthBasicAuthoritative on
  17. AuthBasicProvider ldap
  18. AuthzLDAPAuthoritative on
  19. AuthLDAPURL "ldap://172.16.1.38:389/dc=itcast,dc=cn?userName?sub?(objectCategory=itcastPerson)"
  20. AuthLDAPBindDN "cn=Manager,dc=itcast,dc=cn"
  21. AuthLDAPBindPassword "123456"
  22. </Location>
  23. </VirtualHost>

特意檢查了三遍,不會問題的!!!!

相關推薦

VisualSVN 遷移Linux SVN+Apache+ssl整合LDAP

一、VisualSVN 遷移至Linux SVN 1.1首先找到Repositories (存放專案目錄) 1.2通過cmd命令列匯出 !!! 特別提示,一定要先清空SVN的許可權,否則匯出的時候許可權會亂  svnadmin dump 專案目錄\專案名稱 &

linux svn apache

epo svn服務器 libs disable 修改配置文件 rep acc 信息 leg 借助apache運行的svn服務器 一:安裝Apache HTTP Server 1、安裝Apache HTTP Server yum install httpd httpd-dev

svn+apache+ssl安裝配置,通過SSL訪問

text dav_svn top images fan 檢查 3.1 顯示 tps 系統環境: [root@Linux-svn conf]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [ro

linux+svn+Apache

下載安裝檔案: apache:http://httpd.apache.org/ httpd-2.2.29.tar.gz svn: http://subversion.tigris.org/downloads/subversion-1.6.12.tar.gz http://subv

我將系統從Windows遷移Linux下的點點滴滴

一、寫在最前   由於本人的技術水平有限,難免會出現錯誤。本文對任何一個人有幫助都是我莫大的榮幸,任何一個大神對我的點撥,我都會感激不盡。 二、技術選型   在2013年8月低的時候,公司中了XXX市場監督局肉品配送車輛監控的專案。整個系統軟體部分需要實現的功能不難,最大的難點就是伺服器的系統要求是Li

新手入門:windows系統下wbe專案遷移Linux系統下亂碼問題

第一種亂碼:控制檯顯示亂碼(console) 控制檯亂碼解決步驟: (1)登陸linux系統開啟操作終端之後,輸入 echo $LANG可以檢視當前使用的系統語言   則說明目前顯示的是英文語言。 (2) 安裝 yum groupinstall chinese-suppo

將Windows上的Oracle遷移Linux

space acl log dmp manage 創建 選擇 spa file 遷移前提: 1.在安裝Linux數據庫實例時,註意選擇的編碼格式要與Windows的數據庫實例一致。 遷移步驟 1.檢查Linux上數據庫實例的編譯格式 SQL> select usere

linuxapache+svn+ssl的環境搭建(申請免費的SSL證書)

1.安裝apache2和svn server $sudo apt-get install apache2 $sudo apt-get install subversion $sudo apt-get install libapache2-svn 2.建立版本庫 $sudo

svn從Windows服務器上遷移Linux

linux 個人 yum write aaa oev lin none ner svn從Windows服務器遷移到Linux服務器 author:headsen chen 2017-10-16 16:50:32 個人原創,轉載請註明。否則依法追究法律責任

利用DBMS_FILE_TRANSFER遷移數據庫從AIXLinux

xtts dbms_file_transfer aix linux環境描述源端目標端操作系統AIX 6100-03-10-1119RHEL6.5 x64集群Oracle RAC+ASMOracle RAC+ASM數據庫版本11.2.0.3.011.2.0.4.01、初始化階段1.1、源端數據庫源端數據庫tes

VisualSVN Server遷移新服務器

SVN遷移 VisualSVN Server3.3 項目需求 由於項目需要將原實體服務器中的VisualSVN Server遷移至VMware ESXI 6.5虛擬平臺主機中。 環境說明 服務器A(遷移源服務器): 操作系統:Windows2012 R2 SE X64 SVN Server版本:Vis

遷移phpstudy中的mysqlLinux

mysql遷移項目目的 將原來windows環境中使用phpstudy搭建的mysql 5.5.53 中的數據遷移至新主機Linux環境中 環境情況 新主機 系統平臺: CentOS release 7.4 (Final) 內核 3.10.0-693.el7.x86_64 mysq

SVN從win遷移Linux

系統/運維 Linux 工作需要把SVN從win遷移到Linux上,花了幾天時間看資料搞定,簡單記錄一下:公司用的SVN環境為 Windows server 2003 ,VisualSVN 2.1.5版本1.dump出SVN數據並上傳到Linux在Repositories處先導出其項目名列表,然後編寫

圖文:Apache實戰 搭建Web站點(Windows本地上傳Web程序Linux服務器)

實戰 測試環境 aaa 工具 sys start 直接 system 目錄 文章最後有彩蛋奧~1、首先在本地安裝Apache 2、創建Web站點配置文件 3、配置Web站點vim /etc/httpd/conf.d/team.conf 4、測試Apache是否安裝成功(1

LinuxApache與tomcat的整合

一.jdk安裝 1.在www.sun.com中下載linu的jdk1.6,下載到/home/lijing/下 2.在當前目錄下,輸入sh jdk-6u2-linux-i586-rpm.bin   看到 安裝程式在詢問您是否尊守許可協議頁面 ,回車,空格都可以,看完協議. &

linuxapache服務詳解4(企業級)ssl

ssl加密 yum install mod_ssl  -y      他是一個模組 yum install  crypto-utils  -y  加密 genkey www.westos.com

linuxapache服務詳解1(企業級)(http\cgi\php\ssl)

curl -I www.jd.com 檢視網站用的哪些服務 curl -I www.taobao.com firewall-config runtime 當前允許的狀態 permanent 永久允許的 html超文字標記語言 yum install  httpd  htt

Linux下JDK、OpenSSL、Tomcat、ARP、Apache安裝整合手冊

Linux環境:CentOS6.6   一、安裝前提準備   在終端下輸入命令將系統更新為最新。   [[email protected] ~]#yum -y update   1、首先確認是否安裝

LinuxApache Httpd和tomcat整合

最近學習apache+tomcat將網路上、書上和API上看到進行了一下整理,做了個小測試,算做入門學習總結吧,具體內容如下: 1、準備 下載需要的檔案。這裡假定你已經正確安裝配置好了JDK。 例如:chmod 777 jdk-6u37-linux-i586.bin ./j

Linux環境 搭建Jenkins+SVN+Maven持續整合環境

準備 作業系統:Linux 環境:JDK 1.6+ 檔案: jenkins.war apache-maven-3.1.1 apache-tomcat-6.0.xx 一、部署Jenkins 1.複製tomcat,命名為jenkins-server,刪除jenkins-se