天天看點

CentOS 6 編譯安裝subversion-1.8.10+Apache2.4

隻是記錄下安裝過程,友善下次直接拷貝,省的在去查找一些選項。

CentOS6安裝完成後自帶的有Apache2.2和subversion1.6,那我們就先來看系統自帶的如何配置:

一、用系統自帶的Apache和svn配置

1、添加svn使用者

1

<code># useradd -r -s /sbin/nologin svn</code>

2、配置Apache的配置檔案

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<code># mkdir -pv /www/svnroot/                          # 為svn建立庫目錄</code>

<code># chown -R svn.svn /www/svnroot/                   # 更改權限</code>

<code># cd /etc/httpd/conf.d                             # 編輯配置檔案</code>

<code># vim subversion.conf</code>

<code>    </code><code>LoadModule dav_svn_module     modules</code><code>/</code><code>mod_dav_svn.so</code>

<code>    </code><code>LoadModule authz_svn_module   modules</code><code>/</code><code>mod_authz_svn.so</code>

<code>    </code><code>&lt;Location </code><code>/</code><code>svn</code><code>/</code><code>&gt;                </code><code># 定義通路是的路徑;例如http://IP/svn</code>

<code>       </code><code>DAV svn     </code>

<code>       </code><code>SVNParentPath </code><code>/</code><code>www</code><code>/</code><code>svnroot          </code><code># SVN的庫路徑</code>

<code>       </code><code>SVNListParentPath on                </code><code># 允許列出目錄</code>

<code>       </code><code>AuthzSVNAccessFile </code><code>/</code><code>www</code><code>/</code><code>svnroot</code><code>/</code><code>authz   </code><code># 認證檔案</code>

<code>       </code><code>#RedirectMatch ^(/svn)$ $1/               </code>

<code>          </code><code>AuthType Basic        </code><code># 基本認證</code>

<code>          </code><code>AuthName </code><code>"Subversion Auth"</code>       <code># 認證提示資訊</code>

<code>          </code><code>AuthUserFile </code><code>/</code><code>www</code><code>/</code><code>svnroot</code><code>/</code><code>password </code><code># 認證密碼檔案</code>

<code>          </code><code>Require valid</code><code>-</code><code>user         </code><code># 必須為有效的使用者</code>

<code>    </code><code>&lt;</code><code>/</code><code>Location&gt;</code>

<code># service httpd start</code>

3、建立版本庫并測試:

20

<code># cd /www/svnroot</code>

<code># svnadmin create platform</code>

<code># chown -R svn.svn *</code>

<code># cp platform/conf/authz .</code>

<code># vim authz</code>

<code>    </code><code>[aliases]</code>

<code>    </code><code># joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average</code>

<code>    </code><code>[groups]                </code><code># 定義組</code>

<code>    </code><code>group_platform_admin </code><code>=</code> <code>admin      </code><code># 組内成員</code>

<code>    </code><code>[</code><code>/</code><code>]                 </code><code># 根目錄所有使用者的浏覽權限</code>

<code>    </code><code>*</code> <code>=</code> <code>r</code>

<code>    </code><code>[platform:</code><code>/</code><code>]                </code><code># 每個版本庫的對應權限</code>

<code>    </code><code>@group_platform_admin</code> <code>=</code> <code>rw        </code><code># 權限</code>

<code># htpasswd -c password admin            # 生成密碼檔案和添加使用者</code>

<code>到此,就可以正常通路了。</code>

此時可以在浏覽器裡輸入位址通路,也可以是用用戶端通路。

二、源碼編譯安裝

1、解決依賴包

<code>yum </code><code>-</code><code>y install pcre</code><code>-</code><code>devel perl</code><code>-</code><code>ExtUtils</code><code>-</code><code>Embed perl perl</code><code>-</code><code>devel</code>

<code>yum </code><code>-</code><code>y remove subversion</code>

2、下載下傳需要的源碼包

<code>apr</code><code>-</code><code>1.5</code><code>.</code><code>1.tar</code><code>.bz2</code>

<code>apr</code><code>-</code><code>util</code><code>-</code><code>1.5</code><code>.</code><code>4.tar</code><code>.bz2</code>

<code>httpd</code><code>-</code><code>2.4</code><code>.</code><code>12.tar</code><code>.gz</code>

<code>sqlite</code><code>-</code><code>autoconf</code><code>-</code><code>3080802.zip</code>

<code>subversion</code><code>-</code><code>1.8</code><code>.</code><code>10.tar</code><code>.bz2</code>

<code>zlib</code><code>-</code><code>1.2</code><code>.</code><code>8.tar</code><code>.gz</code>

<code>expat</code><code>-</code><code>2.0</code><code>.</code><code>1.tar</code><code>.gz</code>

3、編譯

21

22

23

24

25

26

27

28

29

30

31

<code>apr</code>

<code>.</code><code>/</code><code>configure </code><code>-</code><code>-</code><code>prefix</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apr</code>

<code>make &amp;&amp; make install</code>

<code>apr</code><code>-</code><code>util</code>

<code>.</code><code>/</code><code>configure </code><code>-</code><code>-</code><code>prefix</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apr</code><code>-</code><code>util </code><code>-</code><code>-</code><code>with</code><code>-</code><code>apr</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apr</code><code>/</code>

<code>httpd</code><code>-</code><code>2.4</code><code>.</code><code>12</code>

<code>.</code><code>/</code><code>configure </code><code>-</code><code>-</code><code>prefix</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apache </code><code>-</code><code>-</code><code>sysconfdir</code><code>=</code><code>/</code><code>etc</code><code>/</code><code>httpd24 </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>so </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>ssl </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>cgi </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>rewrite </code><code>-</code><code>-</code><code>with</code><code>-</code><code>zlib </code><code>-</code><code>-</code><code>with</code><code>-</code><code>pcre </code><code>-</code><code>-</code><code>with</code><code>-</code><code>apr</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apr </code><code>-</code><code>-</code><code>with</code><code>-</code><code>apr</code><code>-</code><code>util</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apr</code><code>-</code><code>util </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>modules</code><code>=</code><code>most </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>mpms</code><code>-</code><code>shared</code><code>=</code><code>all</code> <code>-</code><code>-</code><code>with</code><code>-</code><code>mpm</code><code>=</code><code>event </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>proxy </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>proxy</code><code>-</code><code>fcgi </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>dav </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>dav</code><code>-</code><code>fs </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>maintainer</code><code>-</code><code>mode</code>

<code># 編譯完成後添加環境變量:</code>

<code>vim </code><code>/</code><code>etc</code><code>/</code><code>profile.d</code><code>/</code><code>apache.sh</code>

<code>    </code><code>export PATH</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apache</code><code>/</code><code>bin</code><code>/</code><code>:$PATH</code>

<code>. </code><code>/</code><code>etc</code><code>/</code><code>profile.d</code><code>/</code><code>apache.sh     </code><code># 生效</code>

<code>expat</code>

<code>.</code><code>/</code><code>configure</code>

<code>sqlite</code>

<code>.</code><code>/</code><code>configure </code><code>-</code><code>-</code><code>prefix</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>sqlite </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>libtool</code><code>-</code><code>lock</code>

<code>subversion</code>

<code>.</code><code>/</code><code>configure </code><code>-</code><code>-</code><code>prefix</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>svn </code><code>-</code><code>-</code><code>with</code><code>-</code><code>apr</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apr</code><code>/</code> <code>-</code><code>-</code><code>with</code><code>-</code><code>apr</code><code>-</code><code>util</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apr</code><code>-</code><code>util</code><code>/</code> <code>-</code><code>-</code><code>with</code><code>-</code><code>apxs</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apache</code><code>/</code><code>bin</code><code>/</code><code>apxs </code><code>-</code><code>-</code><code>with</code><code>-</code><code>apache</code><code>-</code><code>libexecdir </code><code>-</code><code>-</code><code>with</code><code>-</code><code>sqlite</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>sqlite</code><code>/</code> <code>-</code><code>-</code><code>with</code><code>-</code><code>openssl </code><code>-</code><code>-</code><code>enable</code><code>-</code><code>maintainer</code><code>-</code><code>mode</code>

<code>vim </code><code>/</code><code>etc</code><code>/</code><code>profile.d</code><code>/</code><code>svn.sh</code>

<code>    </code><code>export PATH</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>svn</code><code>/</code><code>bin</code><code>/</code><code>:$PATH</code>

<code>. </code><code>/</code><code>etc</code><code>/</code><code>profile.d</code><code>/</code><code>svn.sh          </code><code>#生效</code>

以上編譯過程請注意是否有報錯,如果有報錯,解決後在進行下一步的安裝操作。

4、配置Apache

<code># 在Apache編譯完成後,由于系統自帶的Apache是不需要解除安裝的,直接到/etc/init.d/目錄下。</code>

<code>cd </code><code>/</code><code>etc</code><code>/</code><code>init.d</code><code>/</code>

<code>cp httpd{,.bak}   </code>

<code>vim httpd</code>

<code>    </code><code>apachectl</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apache</code><code>/</code><code>bin</code><code>/</code><code>apachectl</code>

<code>    </code><code>httpd</code><code>=</code><code>${HTTPD</code><code>-</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apache</code><code>/</code><code>bin</code><code>/</code><code>httpd}</code>

<code>    </code><code>prog</code><code>=</code><code>httpd</code>

<code>    </code><code>pidfile</code><code>=</code><code>${PIDFILE</code><code>-</code><code>/</code><code>var</code><code>/</code><code>run</code><code>/</code><code>httpd</code><code>/</code><code>httpd.pid}</code>

<code>    </code><code>lockfile</code><code>=</code><code>${LOCKFILE</code><code>-</code><code>/</code><code>var</code><code>/</code><code>lock</code><code>/</code><code>subsys</code><code>/</code><code>httpd}</code>

<code># 把這個幾個對應的路徑改一改,pidfile在配置檔案中要定義下路徑,并把error log的路徑也寫全了,這樣友善排錯</code>

<code># 然後在配置檔案中添加如下行:</code>

<code>在LoadModule裝載的路徑後面添加下面兩行:</code>

<code>LoadModule dav_svn_module     modules</code><code>/</code><code>mod_dav_svn.so</code>

<code>LoadModule authz_svn_module   modules</code><code>/</code><code>mod_authz_svn.so</code>

<code># 注意:把啟動的使用者群組改成SVN使用的使用者群組,否則沒有寫權限,或者把SVN的目錄的屬主屬組更改為運作Apache的也行。</code>

<code># 在其他位置添加如下:</code>

<code>&lt;Location </code><code>/</code><code>svn</code><code>/</code><code>&gt;</code>

<code>    </code><code>DAV svn</code>

<code>    </code><code>SVNParentPath </code><code>/</code><code>data</code><code>/</code><code>svn</code>

<code>    </code><code>AuthzSVNAccessFile </code><code>/</code><code>data</code><code>/</code><code>svn</code><code>/</code><code>authz</code>

<code>    </code><code>#SVNListParentPath on</code>

<code>    </code><code>AuthType Basic</code>

<code>    </code><code>AuthName </code><code>"Subversion Auth"</code>

<code>    </code><code>AuthUserFile </code><code>/</code><code>data</code><code>/</code><code>svn</code><code>/</code><code>password</code>

<code>    </code><code>Require valid</code><code>-</code><code>user</code>

<code>&lt;</code><code>/</code><code>Location&gt;</code>

<code># service httpd restart</code>

5、配置svn的庫以及認證檔案,如第一個配置是一樣的。

6、通路測試

<a href="http://s3.51cto.com/wyfs02/M00/59/90/wKioL1TYWqiBo1xxAAD2pQqPPL8812.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/59/93/wKiom1TYWbbSm7KwAADtNnX5iVU623.jpg" target="_blank"></a>

測試如上。用戶端通路也是一樣的。

本文轉自Mr_陳 51CTO部落格,原文連結:http://blog.51cto.com/chenpipi/1613007,如需轉載請自行聯系原作者

繼續閱讀