puppet 安裝svn

轉(zhuǎn)載:http://blog.51cto.com/ywzhou/1576378
一、工作流程

1、在puppet服務(wù)器中安裝SVN服務(wù)端和客戶端

2、將puppet的配置目錄/etc/puppet上傳到本地SVN服務(wù)器

3、刪除/etc/puppet,然后使用SVN導(dǎo)出到/etc/puppet,這樣目錄就被版本控制了

4、設(shè)置hooks勾子或cron計(jì)劃任務(wù),自動(dòng)更新/etc/puppet目錄

5、管理員通過SVN客戶端工具上傳配置文件,puppet服務(wù)器自動(dòng)從SVN獲取最新文件

6、/etc/puppet更新后,puppet客戶端也會(huì)在同步時(shí)間更新配置從而實(shí)現(xiàn)自動(dòng)化配置

二、安裝SVN-1.7.18

1、訪問方式

SVN有ra_neon(http,https協(xié)議)、ra_svn(svn協(xié)議)、ra_local(本地路徑file)三種存取模塊,

默認(rèn)安裝了ra_svn和ra_local,需要安裝neon庫(kù)支持ra_dav存儲(chǔ)模塊,否則報(bào)錯(cuò)如下:

2、安裝依賴

svn依賴的軟件:openssl、apr-util、apr、pcre、zlib、sqlite、neon
[root@puppet ~]# yum install -y openssl apr-util apr pcre zlib

3、下載SVN

官方下載地址:http://subversion.apache.org/download/
[root@puppet ~]# mkdir /home/svn
[root@puppet ~]# cd /home/svn
[root@puppet svn]# wget http://mirrors.cnnic.cn/apache/subversion/subversion-1.7.18.tar.gz
[root@puppet svn]# tar -zxvf subversion-1.7.18.tar.gz

4、安裝neon

[root@puppet svn]# wget http://www.webdav.org/neon/neon-0.30.1.tar.gz
[root@puppet svn]# tar -zxvf neon-0.30.1.tar.gz
[root@puppet svn]# cd neon-0.30.1
[root@puppet neon-0.30.1]# ./configure --prefix=/usr/local/neon --with-ssl --enable-shared
[root@puppet neon-0.30.1]# make && make install && cd ..

5、下載sqlite

[root@puppet svn]# wget http://www.sqlite.org/sqlite-amalgamation-3071501.zip
[root@puppet svn]# unzip sqlite-amalgamation-3071501.zip -d /home/svn/subversion-1.7.18/
[root@puppet svn]# cd /home/svn/subversion-1.7.18
[root@puppet subversion-1.7.18]# mv sqlite-amalgamation-3071501 sqlite-amalgamation

6、安裝SVN

[root@puppet subversion-1.7.18]# ./configure --help

說明:查看參數(shù)選項(xiàng),最新版1.8.10就沒有--with-neon選項(xiàng);--with-ssl改成了--with-openssl,因此建議使用1.7.18版本。

[root@puppet subversion-1.7.18]# ./configure --with-apxs=/usr/sbin/apxs --prefix=/usr/local/subversion  --with-openssl --with-neon=/usr/local/neon 
[root@puppet subversion-1.7.18]# make && make install
[root@puppet subversion-1.7.18]# cd /usr/local/subversion/bin
[root@puppet bin]# ./svn --version
svn,版本 1.7.18 (r1615261)
   編譯于 Oct 30 2014,15:47:13
Copyright (C) 2014 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/
可使用以下的版本庫(kù)訪問模塊: 
* ra_neon : 通過 WebDAV 協(xié)議使用 neon 訪問版本庫(kù)的模塊。
  - 處理“http”方案
  - 處理“https”方案
* ra_svn : 使用 svn 網(wǎng)絡(luò)協(xié)議訪問版本庫(kù)的模塊。  - 使用 Cyrus SASL 認(rèn)證
  - 處理“svn”方案
* ra_local : 訪問本地磁盤的版本庫(kù)模塊。
  - 處理“file”方案

說明:可以看到svn成功支持http和https訪問了,

7、創(chuàng)建版本庫(kù)

[root@puppet bin]# mkdir /usr/local/svn
[root@puppet bin]# ./svnadmin create /usr/local/svn/puppet
[root@puppet bin]# chown -R apache /usr/local/svn/puppet
[root@puppet bin]# chmod -R 755 /usr/local/svn/puppet

三、配置服務(wù)及測(cè)試

1、服務(wù)

[root@puppet bin]# ln /usr/local/subversion/bin/{svn,svnserve} /usr/local/bin
[root@puppet bin]# svnserve -d -r /usr/local/svn/puppet/

說明:不需要開機(jī)自動(dòng)啟動(dòng),和apache整合后使用http訪問,svnserve服務(wù)只是給svn://訪問用的;

也不需要設(shè)置防火墻放開SVN默認(rèn)端口3690,和apache整合后使用http定義的端口。

2、****賬號(hào)

SVN有兩種訪問方式:svn://IP和http://IP;

svn方式使用passwd文件中的賬號(hào),缺點(diǎn)是密碼是明文,要加密的話要用到SASL,因此不考慮;

http方式使用/etc/svn_passwd中的賬號(hào),詳見下一節(jié)apach整合svn。

先來測(cè)試下svn://訪問方式:
[root@puppet ~]# vi /usr/local/svn/puppet/conf/svnserve.conf  #設(shè)置賬號(hào)密碼文件
password-db = passwd
[root@puppet ~]# vi /usr/local/svn/puppet/conf/passwd         #添加賬號(hào)密碼
[users] 
svnadmin = 123456

3、測(cè)試

[root@puppet ~]# cd /usr/local/subversion/bin
[root@puppet bin]# svn list svn://localhost/
 svn list列出版本庫(kù)中的內(nèi)容,沒有報(bào)錯(cuò)輸出表示正常,庫(kù)是空的所以沒有顯示
[root@puppet bin]# svn co svn://localhost/ --username svnadmin --password 123456 /home/svn
 svn co(checkout)檢出版本庫(kù),測(cè)試賬號(hào)是否正常
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,540評(píng)論 19 139
  • Puppet部署與應(yīng)用 前言:到目前為止,我們已經(jīng)搭建了很多的服務(wù)器,每一臺(tái)服務(wù)器都需要執(zhí)行很多的命令,給我的感覺...
    李偉銘MIng閱讀 2,896評(píng)論 0 3
  • iOS 開發(fā) SVN 版本控制器 更多技術(shù)交流請(qǐng)加群 iOS技術(shù)聯(lián)盟 27512466 SVN是Subversio...
    Sunny_Fight閱讀 8,983評(píng)論 7 63
  • 1. 概述 puppet是一個(gè)開源的軟件自動(dòng)化配置和部署工具,它使用簡(jiǎn)單且功能強(qiáng)大,正得到了越來越多地關(guān)注,現(xiàn)在...
    SkTj閱讀 845評(píng)論 0 0
  • 1、任務(wù)目標(biāo)①爬五月天正規(guī)專輯的所有歌曲的歌詞②按照年份進(jìn)行情感分析,并制作詞云2、方法在qq音樂上用Python...
    FancyFanyc閱讀 9,405評(píng)論 0 5

友情鏈接更多精彩內(nèi)容