CentOS 6.5系統上安裝SVN伺服器端的方法及目錄存取權限配置(轉總結)

來源:互聯網
上載者:User

標籤:

 

         SVN其實就是Subversion,分為伺服器端和用戶端。之前在網上搜了很多方法,都有各種問題,經過自己搜集整理以及實際嘗試,總算有個比較靠譜的方法。本文主要介紹CentOS 6.5系統上安裝SVN伺服器端的方法及步驟。

 系統內容說明如下

         作業系統:        Centos6.5 x86-64

         SVN:             subversion-1.8.11

1、檢查是否安裝了低版本的SVN

rpm -qa | grep subversion

如果已安裝SVN,則會返回版本資訊,如:subversion-1.6.11-9.el6_4.i686

卸載舊版本SVN

yum remove subversion

2、安裝SVN

yum –y install subversion

3、檢查安裝是否成功

svnserve –version

傳回值:

svnserve, version 1.8.11

         compiled Jul 23 2013, 21:32:09 on i686-pc-linux-gnu

Copyright (C) 2013 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/

The following repository back-end (FS) modules are available:

* fs_fs : Module for working with a plain file (FSFS) repository.

Cyrus SASL authentication is available.

4、程式碼程式庫建立

mkdir -p /opt/svn/repositories

svnadmin create /opt/svn/repositories

執行上面的命令後,自動建立repositories庫,查看/opt/svn/repositories 檔案夾發現包含了conf,db,format,hooks,locks, README.txt等檔案,說明一個SVN庫建立完成。

5、配置程式碼程式庫

進入上面產生的檔案夾conf下,進行配置

cd /opt/svn/repositories/conf

5.1使用者密碼passwd配置

vi passwd

passwd檔案的內容如下:

### This file is an example password file for svnserve.

### Its format is similar to that of svnserve.conf. As shown in the

### example below it contains one section labelled [users].

### The name and password for each user follow, one account per line.

[users]

# harry = harryssecret

# sally = sallyssecret

test = 123456789 ##新增使用者的使用者名稱和密碼

5.2許可權控制authz配置

vi authz

目的是設定哪些使用者可以訪問哪些目錄,authz檔案的內容如下:

### This file is an example authorization file for svnserve.

### Its format is identical to that of mod_authz_svn authorization

### files.

### As shown below each section defines authorizations for the path and

### (optional) repository specified by the section name.

### The authorizations follow. An authorization line can refer to:

###  - a single user,

###  - a group of users defined in a special [groups] section,

###  - an alias defined in a special [aliases] section,

###  - all authenticated users, using the ‘$authenticated‘ token,

###  - only anonymous users, using the ‘$anonymous‘ token,

###  - anyone, using the ‘*‘ wildcard.

###

### A match can be inverted by prefixing the rule with ‘~‘. Rules can

### grant read (‘r‘) access, read-write (‘rw‘) access, or no access

### (‘‘).

[aliases]

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

[groups]

# harry_and_sally = harry,sally

# harry_sally_and_joe = harry,sally,&joe

# [/foo/bar]

# harry = rw

# &joe = r

# * =

# [repository:/baz/fuz]

# @harry_and_sally = rw

# * = r

[/]

test = rw

設定[/]代表根目錄下所有的資源

5.3服務svnserve.conf配置

vi svnserve.conf

svnserve.conf檔案的內容如下:

[general]

#匿名訪問的許可權,可以是read,write,none,預設為read

anon-access=none

#使授權使用者有寫入權限

auth-access=write

#密碼資料庫的路徑

password-db=passwd

#存取控制檔案

authz-db=authz

#認證命名空間,subversion會在認證提示裡顯示,並且作為憑證緩衝的關鍵字

realm=/opt/svn/repositories

啟動svn服務

svnserve -d -r /opt/svn/repositories

6、查看SVN進程

ps -ef|grep svn|grep -v grep

返回

root     20850     1  0 Jul24 ?        00:00:00 svnserve -d -r /opt/svn/repositories

7、查看SVN監聽的連接埠

netstat -ln |grep 3690

8、停止啟動SVN

killall svnserve    #停止

svnserve -d -r /opt/svn/repositories  #啟動

9、安裝svn用戶端

目前最流行的svn用戶端非TortoiseSVN莫屬

下載安裝

http://sourceforge.net/projects/tortoisesvn/files/latest/download?source=dlp

用戶端串連地址:svn://公網或內網的IP地址,有時候需要添加連接埠號碼

使用者名稱/密碼: test/123456789  ##要和之前設定的使用者名稱和密碼匹配

 

注意:

         預設連接埠為3690,如果該連接埠被佔用,或者需要修改連接埠,使用下面語句

svnserve -d -r /opt/svn/repositories --listen-port 3691

 

 

svn 實現精細的目錄存取權限控制(轉載)

本文從一個實際的例子入手,介紹了如何利用 Subversion 內建的目錄管理功能,來實現對項目目錄的精細存取權限的控制。同時描述了在配置的過程中,需要注意的一些地方,如對中文的處理等。

1 to-do list
描述初始建立程式碼程式庫時候,匯入的細節區別
關於passwd.conf 檔案純文字密碼的問題,及其處理辦法
有關使用apache代替svnserve.exe做伺服器,從而實現非純文字密碼,以及實現SSL的問題
有關使用apache之後,部門經理想要通過web查看日誌的問題
2 前言
在實際的使用中,由於項目的目錄本身就是作為版本庫的一個部分被svn所收管,所以我們無法利用伺服器作業系統的存取權限,來實現項目目錄的存取控制。因此,這個問題就只有讓svn自己來解決了。
Subversion 1.3以前的版本,只能利用 mod_authz_svn.so 模組,結合Apache伺服器來實現目錄訪問控 制,這對Apache的配置與使用不是很熟悉的人來說(比如說鄙人)就不是很方便了。而 Subversion終於在 1.3 版本上,在 svnserve.exe 伺服器裡面添加了這一功能。本文就是介紹如何配置程式碼程式庫設定檔,以便讓 svnserve.exe 實現精細的目錄訪問許可權控制
本文是基於 Subversion 1.3.2、MS Windows 2003 Server Edition 平台來編寫的,且 Subversion 伺服器是利用 svnserve.exe 來架設的。不過,本文講述到的絕大多數內容,都是不僅與平台無關,而且與是採用 svnserve(.exe) 還是使用apache來作為 Subversion 伺服器也基本無關。
本文是利用 reST 格式來編寫的,如果你對它感興趣,請訪問http://docutils.sourceforge.net/rst.html。如果想要看到更好的html格式,你可以通篇複製本文到一個文字檔裡,然後利用 docutils 的 rst2html.py 指令碼編譯它,當然,首先你必須安裝 python。或者直接存取http://swjr.blog.com.cn/archives/2006/TheRoadToSubversion1authz.shtml,不過在最終版本發布之前,我不能保證它的內容一定會是最新的。
本 文面向那些 Subversion 的管理員,或者任何對 Subversoin 有興趣的人們。本文假定讀者對Subversion有一定的瞭解,因此不打算對所有涉及到的安裝、使用,做一個細節性的描述。若對於文章中描述的技術細節 有疑問,請訪問“參考”一節裡面的參考資料。如果你對本文任何地方有什麼意見,或者發現本文有著大大小小的錯誤,請聯絡 zhengxinxing gmail com 。
3 實戰
本章先直接給出需求及其最終的結果,如果你覺得對配置有什麼疑問,或者看不懂,請不要著急,我會在後面的章節詳細描述的。
3.1 背景假設
廈 門央瞬公司是一家電子元器件裝置供應商,其中有個ARM部門,專門負責ARM晶片的方案設計、 銷售,並在北京、上海各設立了一個辦事處。對於工作日誌,原 先採用郵件方式發給經理,但是這種方式有個缺點,那就是不具備連續性,要看以前的日誌必須一封一封郵件去查看,很麻煩。於是就想到利用 Subversion, 讓員工在自己電腦上編輯日誌,然後利用svn傳送回來,既方便員工自己編寫日誌,又方便對日誌的歸檔處理,而且提交日誌的時候只需要執行一下 svn update 即可,比發送郵件還要簡單的多。
svn伺服器相關資訊
伺服器位址: 192.168.0.1
伺服器OS: MS Windows 2000 Server Edition 中文版
程式碼程式庫本地目錄: D:\svn\arm
arm部門文檔的目錄結構如下:arm 部門名稱
├─diary 工作日誌目錄
│ ├─headquarters 總部工作日誌目錄
│ ├─beijing 北京辦日誌目錄
│ └─shanghai 上海辦日誌目錄
├─ref 公司公用檔案參考目錄
└─temp 臨時檔案目錄
人員情況
morson,公司總經理,其實他不必親自看任何東西,就連部門經理們的每周總結都不一定看。但是為了表示對他的尊敬,以及滿足一下他的權力欲,還是給他開放了“閱讀所有文檔”的許可權
michael,arm事業部的部門經理,沒事的時候喜歡弄點兒新技術,用svn來管理日誌,就是他相處來的主意
scofield,北京辦人員,老員工,為人油滑難管
lincon,上海辦人員,老員工,大老實人一個
linda,總部協調員、秘書,文筆不錯,長得也不錯
rory,單片機技術員,支援人員
存取權限需求分析
允許總經理讀取所有檔案
除部門經理外,所有其他人員,均只能看到本辦事處人員工作日誌
不允許匿名訪問
ref目錄只允許經理和秘書寫,對其他人唯讀
temp目錄人人都可以寫
3.2 建立程式碼程式庫
在伺服器 D:\svn 目錄下,建立 arm 程式碼程式庫,命令如下:D:\svn>svnadmin create arm
在客戶機 F:\temp 目錄下,建立好上述目錄結構
用命令 F:\temp>svn import arm svn://192.168.0.1/arm 匯入結構
【注意點:關於匯入時候的細微差別】
3.3 編輯程式碼程式庫基礎設定檔
編輯程式碼程式庫 arm\conf\svnserve.conf 檔案,如下:[general]
password-db = passwd.conf
anon-access = none
auth-access = write
authz-db = authz.conf
3.4 系統管理使用者帳號
建立程式碼程式庫 arm\conf\passwd.conf 檔案,如下:[users]
morson = ShowMeTheMoney
michael = mysecretpassword
scofield = hellolittilekiller
lincon = asyouknows111
rory = 8809117
linda = IlikeWorldCup2006
3.5 建立目錄存取權限控制檔案
建立程式碼程式庫 arm\conf\authz.conf 檔案,內容如下:[groups]
g_vip = morson
g_manager = michael
g_beijing = scofield
g_shanghai = lincon
g_headquarters = rory, linda
g_docs = linda
[arm:/]
@g_manager = rw
* = r
[arm:/diary/headquarters]
@g_manager = rw
@g_headquarters = rw
@g_vip = r
* =
[arm:/diary/beijing]
@g_manager = rw
@g_beijing = rw
@g_vip = r
* =
[arm:/diary/shanghai]
@g_manager = rw
@g_shanghai = rw
@g_vip = r
* =
[arm:/ref]
@g_manager = rw
@g_docs = rw
* = r
[arm:/temp]
* = rw
3.6 測試
在伺服器上,開啟一個 DOS Prompt 視窗,輸入如下指令:svn co svn://127.0.0.1/arm--no-auth-cache --username rory --password 8809117
我們應該得到如下目錄結構:arm
├─diary
│ └─headquarters
├─ref
└─temp
然後修改ref目錄下任意檔案並提交,伺服器將會報錯“Access deni”
4 深入
本章將詳細介紹前一章所涉及的兩個設定檔, svnserve.conf 和 authz.conf,通過對配置逐行的描述,來闡明其中的一些細節含義。
這 裡首先要注意一點,任何設定檔的有效配置行,都不允許存在前置空格,否則程式會無法識別。也就是說,如果你直接從本文的純文字格式中拷貝了相關的配置行 過去,需要手動將前置的4個空格全部刪除。當然了,如果你覺得一下子要刪除好多行的同樣數目的前置空格是一件苦差使,那麼也許 UltraEdit 的“Column Mode”編輯模式,可以給你很大協助呢。
4.1 svnserve.conf
arm\conf\svnserve.conf 檔案,是 svnserve.exe 這個伺服器處理序的設定檔,我們逐行解釋如下。
首先,我們告訴 svnserve.exe,使用者名稱與密碼放在 passwd.conf 檔案下。當然,你可以改成任意的有效檔案名稱,比如預設的就是 passwd:password-db = passwd.conf
接 下來這兩行的意思,是說只允許經過驗證的使用者,方可存取碼庫。 那麼哪些是“經過驗證的”使用者呢?噢,當然,就是前面說那些在 passwd.conf 檔案裡面持有使用者名稱密碼的傢伙。這兩行的等號後面,目前只允許 read write none 三種值,你如果想實現一些特殊的值,比如說“read-once”之類的,建議你自己動手改原始碼,反正它也是自由軟體:anon-access = none
auth-access = write
接下來就是最關鍵的一句呢,它告訴 svnserve.exe,項目目錄存取權限的相關配置是放在 authz.conf 檔案裡:authz-db = authz.conf
當 然,svn 1.3.2 引入本功能的時候,系統預設使用 authz 而不是 authz.conf 作為設定檔。不過由於鄙人是處女座的,有著強烈的完美主義情結,看著 svnserve.conf 有尾碼而 passwd 和 authz 沒有就是不爽,硬是要改了。
4.2 authz.conf 之使用者分組
arm\conf\authz.conf 檔案的配置段,可以分為兩類,``[group]`` 是一類,裡面放置著所有使用者分組資訊。其餘以 [arm:/] 開頭的是另外一類,每一段就是對應著項目的一個目錄,其目錄相關許可權,就在此段內設定。
首先,我們將人員分組管理,以便以後由於人員變動而需要重新設定許可權時候,盡量少改動東西。我們一共設定了5個使用者分組,分組名稱統一採用 g_ 首碼,以方便識別。當然了,分組成員之間採用逗號隔開:[groups]
# 任何想要查看所有文檔的非本部門人士
g_vip = morson
# 經理
g_manager = michael
# 北京辦人員
g_beijing = scofield
# 上海辦人員
g_shanghai = lincon
# 總部一般員工
g_headquarters = rory, linda
# 小秘,撰寫文檔
g_docs = linda
注 意到沒有, linda 這個帳號同時存在“總部”和“文檔員”兩個分組裡面,這可不是我老眼昏花寫錯了,是因為 svnserve.exe 允許我這樣設定。它意味著,這個傢伙所擁有的許可權,將會比他的同事 rory 要多一些,這樣的確很方便。具體多了哪些呢?請往下看!
4.3 authz.conf 之項目根目錄
接著,我們對項目根目錄做了限制,該目錄只允許arm事業部的經理才能修改,其他人都只能眼巴巴的看著:[arm:/]
@g_manager = rw
* = r
[arm:/] 表示這個目錄結構的相對根節點,或者說是 arm 項目的根目錄
這裡的 @ 表示接下來的是一個組名,不是使用者名稱。你當然也可以將 @g_manager = rw 這一行替換成 michael = rw ,而表達的意義完全一樣。
* 表示“除了上面提到的那些人之外的其餘所有人”,也就是“除了部門經理外的其他所有人”,當然也包括總經理那個怪老頭
* = r 則表示“那些人只能讀,不能寫”
4.4 authz.conf 之項目子目錄
然後,我們要給總部人員開放日誌目錄的讀寫權限:[arm:/diary/headquarters]
@g_manager = rw
@g_headquarters = rw
@g_vip = r
* =
我 敢打賭,設計svn的傢伙們,大部分都是在 unix/linux 平台下工作,所以他們總喜歡使用 / 來標識子目錄,而完全忽視在 MS Windows 下是用 \ 來做同樣的事情。所以這兒,為了表示 arm\diary\headquarters 這個目錄,我們必須使用 [arm:/diary/headquarters] 這樣的格式。
這裡最後一行的 * = 表示,除了經理、總部人員、特別人士之外,任何人都被禁止訪問本目錄。這一行是否可以省略呢?
之所以這兒需要將 @g_vip = r 一句加上,就是因為存在上述這個解釋。如果說你沒有明確地給總經理授予讀的權力,則他會和其他人一樣,被 * 給排除在外。
如果眾位看官中間,有誰玩過防火牆配置的話,可能會感覺上述的配置很熟悉。不過這裡有一點與防火牆配置不一樣,那就是各個配置行之間,沒有 先後順序 一說。也就是說,如果我將本段配置的 * = 這一行挪到最前面,完全不影響整個配置的最終效果。
請注意這兒,我們並沒有給 arm\diary 目錄設定許可權,就直接跳到其子目錄下進行設定了。我當然是故意這樣的,因為我想在這兒引入“繼承”的概念。
許可權具備繼承性 任何子目錄,均可繼承其父目錄的所有許可權,除非它自己被明確設定了其他的許可權。也就是說,在 arm 目錄設定許可權後, arm\diary 目錄沒有進行設定,就意味著它的許可權與 arm 目錄一樣,都是只有經理才有權讀寫,其他人只能乾瞪眼。
【 * = 是否可以省略】【用例子引入覆蓋】【單使用者權限的繼承問題】【父目錄許可權整合與全面覆蓋問題】
現在來看看
好了,我們現在掌握了“繼承”的威力,它讓我們節省了不少敲鍵盤的時間。可是現在又有一個問題了,
屬性具備覆蓋性質子目錄若設定了屬性,則完全覆蓋父目錄。
4.5 authz.conf 的其他注意點
父目錄的 r 許可權,對子目錄 w 許可權的影響
把 這個問題專門提出來,是因為在1.3.1及其以前的版本裡面,有個bug,即為了子目錄的寫入權限,項目首目錄必須具備讀許可權。因此現在使用了1.3.2版 本,就方便了那些想在一個程式碼程式庫存放多個相互獨立的項目的管理員,來分配許可權了。比如說央舜公司建立一個大的程式碼程式庫用於存放所有員工日誌,叫做 diary,而arm事業部只是其中一個部門,則可以這樣做:[diary:/]
@g_chief_manager = rw
[diary:/arm]
@g_arm_manager = rw
@g_arm = r
這 樣,對於所有arm事業部的人員來說,就可以將 svn://192.168.0.1/diary/arm 這個URL當作根目錄來進行日常操作,而完全不管它其實只是一個子目錄,並且當有少數好奇心比較強的人想試著 checkout 一下 svn://192.168.0.1/diary 的時候,馬上就會得到一個警告“Access deni”,哇,太酷了。
預設許可權
如果說我對某個目錄不設定任何許可權,會怎樣?馬上動手做個實驗,將:[diary:/]
@g_chief_manager = rw
改成:[diary:/]
# @g_chief_manager = rw
這樣就相當於什麼都沒有設定。在我的 svn 1.3.2 版本上,此時是禁止任何訪問。也就是說,如果你想要讓某人訪問某目錄,你一定要顯式指明這一點。這個策略,看起來與防火牆的策略是一致的。
唯讀許可權帶來的一個小副作用
若設定了:[arm:/diary]
* = r
則svnserve認為,任何人,都不允許改動diary目錄,包括刪除和改名,和新增。
也就是說,如果你在項目初期建立目錄時候,一不小心寫錯目錄名稱,比如因拼字錯誤寫成 dairy,以後除非你改動 authz.conf 裡面的這行設定,否則無法利用 svn mv 命令將錯誤的目錄更正。
5 改進
5.1 對中文目錄的支援
上 午上班的時候,Morson 來到 Michael 的桌子前面,說道:“你是否可以將我們的北京辦、上海辦目錄,改成用中文的,看著那些拼音我覺得很難受?” Michael 心想,還好這兩天剛瞭解了一些與 unicode 編碼相關的知識,於是微笑地回答:“當然可以,你明天下午就可以看到中文目錄名稱了。”
使用 svn mv 指令,將原來的一些目錄改名並 commit 入程式碼程式庫,改名後的目錄結構如下:arm
├─工作日誌
│ ├─總部人員
│ ├─北京辦
│ └─上海辦
├─公司公用檔案參考目錄
└─臨時檔案存放處
修改程式碼程式庫的 authz.conf 檔案,將相應目錄逐一改名
使用 UltraEdit 將 authz.conf 檔案轉換成不帶 BOM 的 UTF-8 格式
將 設定檔轉換成 UTF-8 格式之後,Subversion 就能夠正確識別中文字元了。但是這裡需要注意一點,即必須保證 UTF-8 檔案不包含 BOM 。BOM 是 Byte Order Mark 的縮寫,指 UNICODE 檔案頭部用於指明高低位元組排列順序的幾個字元,通常是 FF FE ,而將之用 UTF-8 編碼之後,就是 EF BB BF 。由於 UTF-8 檔案本身不存在位元組序問題,所以對 UTF-16 等編碼方式有重大意義的 BOM,對於 UTF-8 來說,只有一個作用——表明這個檔案是 UTF-8 格式。由於 BOM 會給文本處理帶來很多難題,所以現在很多軟體都要求使用不帶 BOM 的 UTF-8 檔案,特別是一些處理文本的軟體,如 PHP、 UNIX 指令檔等,svn 也是如此。
目 前常用的一些文本編輯工具中,MS Windows 內建的“記事本”裡面,“另存新檔”菜單儲存出來的 UTF-8 格式檔案,會自動帶上 BOM 。新版本 UltraEdit 提供了選項,允許使用者選擇是否需要 BOM,而老版本的不會添加 BOM。請各位查看一下自己常用的編輯器的說明檔案,看看它是否支援這個功能。
利用 UltraEdit ,我們可以將 BOM 去掉。方法是,首先利用“UTF-8 TO ASCII”菜單將檔案轉換成本地編碼,通常是GB2312碼,然後再使用“ASCII TO UTF-8(UNICODE Editing)”來轉換到 UTF-8 即可。
6 參考文獻
Subversion官方文檔,http://svnbook.red-bean.com/en/1.1/ch06s04.html#svn-ch-6-sect-4.4.2
Subversion 1.3變更記錄,http://subversion.tigris.org/svn_1.3_releasenotes.html
Subversion FAQ,http://subversion.tigris.org/faq.html
UTF-8 常見問題,http://unicode.org/faq/utf_bom.html

轉載自:http://space.itpub.net/14780914/viewspace-413582

 

 

認證失敗問題解決:

svn authz怎麼配置目錄許可權?

如果我在authz檔案中配置[/]那麼就沒有問題
但是如果我加上版本庫名稱就總是報認證失敗
我用svnadmin create /svnbbk 建立了版本庫
然後在authz中設定
[svnbbk:/]就總是認證失敗


目前你這種情況我猜測是你在開啟svn伺服器的時候,使用了svnserve -d -r /svnbbk。這種情況下你的版本庫地址是/svnbbk那麼如果你的authz中設定是[/]的話,就是對應的/svnbbk/這個版本庫目錄。 [/test]則是/svnbbk/test/這個目錄,而加[svnbbk:/]毫無意義。你已經是根目錄了。
我想你大概是想問如何組態管理不同的版本庫。
我建議兩種方法:
1、不同服務連接埠辦法:
比如你又建立了一個版本庫:
svnadmin create /svntest2
那麼要讓它work的方式應該是svnserve -d -r /svntest2 --listen-port XXXX 指定與/svnbbk使用的不同的連接埠。
2、同一個服務連接埠,多版本庫管理(推薦)
首先你得給所有版本庫建立一個根目錄,比如/svn
然後再svnadmin create /svn/test1 ; svnadmin create /svn/test2 ......這樣建立多個版本庫。
然後每個版本庫下面的/conf/的配置方法幾乎一樣,除了:
authz裡的目錄,即你在文中提到的問題需要加上 [test1:/] , [test2:/]來設定不同的版本庫根目錄的存取權限。
開啟多個版本庫的svn server: svnserve -d -r /svn --注意,輸入根目錄即可
然後這些版本庫的訪問方式就是:
svn://your-id-address/test1,svn://your-ip-address/test2 了。(當然我假設你使用了預設的3690連接埠)

 

CentOS 6.5系統上安裝SVN伺服器端的方法及目錄存取權限配置(轉總結)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.