Parallels Panel 設定指南 - Parent Directory
Parallels Panel 設定指南 - Parent Directory
Parallels Panel 設定指南 - Parent Directory
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Parallels</strong> ®<br />
<strong>Panel</strong><br />
開 發 人 員 指 南<br />
設 定 指 南
目 錄<br />
前 言 4<br />
排 版 約 定 ........................................................................................................................................ 4<br />
回 饋 ............................................................................................................................................... 5<br />
關 於 此 檔 案 6<br />
交 付 流 程 注 意 事 項 8<br />
部 署 <strong>Panel</strong> 9<br />
獨 立 部 署 ...................................................................................................................................... 10<br />
獲 取 版 本 ID ....................................................................................................................... 11<br />
獲 取 產 品 組 件 清 單 ............................................................................................................. 12<br />
安 裝 <strong>Panel</strong> ......................................................................................................................... 14<br />
安 裝 程 式 CLI 參 考 ( 簡 化 ) .................................................................................................. 15<br />
安 裝 指 令 碼 (Linux/Unix) ................................................................................................... 17<br />
在 <strong>Parallels</strong> Containers 環 境 中 部 署 ............................................................................................. 18<br />
<strong>Parallels</strong> Containers for Unix ............................................................................................. 19<br />
<strong>Parallels</strong> Containers for Windows ..................................................................................... 22<br />
使 用 Rsync 實 用 程 式 設 定 鏡 像 ..................................................................................................... 23<br />
建 立 Linux/Unix 分 發 包 鏡 像 .............................................................................................. 24<br />
建 立 Windows 分 發 包 鏡 像 ................................................................................................. 27<br />
安 裝 操 作 概 要 29<br />
初 始 化 <strong>Panel</strong> ................................................................................................................................ 30<br />
安 裝 授 權 ...................................................................................................................................... 30<br />
定 義 <strong>Panel</strong> 標 誌 ........................................................................................................................... 31<br />
設 定 DNS ..................................................................................................................................... 32<br />
變 更 SOA 記 錄 模 板 ........................................................................................................... 33<br />
設 定 資 源 記 錄 模 板 ............................................................................................................. 33<br />
安 裝 SSL 憑 證 .............................................................................................................................. 34<br />
建 立 網 站 及 子 網 站 ........................................................................................................................ 35<br />
安 裝 應 用 程 式 ............................................................................................................................... 36<br />
匯 入 套 用 套 裝 程 式 ............................................................................................................. 37<br />
安 裝 應 用 程 式 ..................................................................................................................... 37<br />
定 義 可 用 的 APS 目 錄 .................................................................................................................. 38<br />
APS 目 錄 設 定 檔 ................................................................................................................ 39<br />
透 過 遠 端 API 設 定 40<br />
使 用 遠 端 API ............................................................................................................................... 41
前 言 3<br />
關 於 遠 端 API ..................................................................................................................... 41<br />
API RPC 封 包 .................................................................................................................... 42<br />
建 立 客 戶 軟 體 ..................................................................................................................... 45<br />
設 定 <strong>Panel</strong> ................................................................................................................................... 70<br />
初 始 化 <strong>Panel</strong> ..................................................................................................................... 70<br />
安 裝 授 權 ............................................................................................................................ 74<br />
設 定 DNS ........................................................................................................................... 79<br />
安 裝 SSL 憑 證 ................................................................................................................. 104<br />
建 立 網 站 .......................................................................................................................... 110<br />
建 立 子 網 站 ...................................................................................................................... 115<br />
定 義 可 用 的 APS 目 錄 ...................................................................................................... 120<br />
安 裝 應 用 程 式 ................................................................................................................... 123<br />
透 過 CLI 設 定 167<br />
關 於 <strong>Panel</strong> CLI ........................................................................................................................... 168<br />
設 定 <strong>Panel</strong> ................................................................................................................................. 169<br />
初 始 化 <strong>Panel</strong> ................................................................................................................... 170<br />
安 裝 授 權 .......................................................................................................................... 171<br />
定 義 <strong>Panel</strong> 標 誌 ............................................................................................................... 171<br />
設 定 DNS ......................................................................................................................... 173<br />
安 裝 SSL 憑 證 ................................................................................................................. 179<br />
建 立 網 站 .......................................................................................................................... 181<br />
建 立 子 網 站 ...................................................................................................................... 181<br />
定 義 可 用 的 APS 目 錄 ...................................................................................................... 183<br />
安 裝 應 用 程 式 ................................................................................................................... 184
4 前 言<br />
前 言<br />
本 節 內 容<br />
排 版 約 定 ............................................................................................................ 4<br />
回 饋 ................................................................................................................... 5<br />
排 版 約 定<br />
在 您 開 始 使 用 本 指 南 之 前 , 瞭 解 其 中 使 用 的 文 件 約 定 十 分 重 要 。<br />
內 文 中 以 下 格 式 類 型 表 示 特 定 資 訊 。<br />
格 式 約 定 資 訊 類 型 範 例<br />
特 殊 粗 體<br />
您 必 頇 選 擇 的 項 目 , 如 功 能<br />
表 選 項 、 指 令 按 鈕 或 清 單 中<br />
的 項 目 。<br />
前 往 “ 系 統 ” 標 籤 。<br />
章 、 節 和 小 節 的 標 題 。 請 參 閱 “ 基 本 管 理 ” 一 章 。<br />
斜 體<br />
用 於 強 調 某 段 文 字 的 重 要<br />
性 , 以 介 紹 某 個 術 語 或 指 出<br />
將 用 真 實 名 稱 或 實 際 值 來 取<br />
代 的 指 令 行 佔 位 符 。<br />
該 系 統 支 援 通 常 所 說 的 “ 萬 用 字 元 ”<br />
搜 尋 。<br />
等 寬 字 型<br />
預 定 格 式<br />
預 定 的 粗 體 格 式<br />
指 令 、 檔 案 和 目 錄 的 名 稱 。 授 權 檔 位 於<br />
http://docs/common/licen<br />
ses 目 錄 。<br />
螢 幕 上 顯 示 的 指 令 行 工 作 階<br />
# ls –al /files<br />
total 14470<br />
段 中 的 電 腦 輸 出 ; 為 XML、<br />
C++ 或 其 他 編 程 語 言 形 式<br />
的 原 始 碼 。<br />
當 您 輸 入 時 , 與 電 腦 螢 幕 輸<br />
出 對 比 。<br />
# cd /root/rpms/php<br />
大 寫 鍵 盤 上 按 鍵 的 名 稱 。 SHIFT、CTRL、ALT<br />
KEY+KEY<br />
按 鍵 組 合 , 使 用 者 必 頇 按 住<br />
一 個 按 鍵 然 後 再 按 下 另 一 個<br />
按 鍵 。<br />
CTRL+P,ALT+F4
前 言 5<br />
回 饋<br />
如 果 您 在 本 指 南 中 發 現 錯 誤 , 或 您 對 提 升 本 指 南 有 任 何 建 議 或 想 法 , 請 使 用 線 上 表 單 將 回 饋 傳<br />
送 到 http://www.parallels.com/en/support/usersdoc/。 請 在 您 的 報 告 中 包 含 本 指 南 的 標 題 、 章<br />
節 和 小 節 標 題 , 以 及 您 在 其 中 發 現 錯 誤 的 文 字 片 斷 。
第 1 章<br />
關 於 此 檔 案<br />
目 的<br />
本 文 件 旨 在 闡 述 如 何 設 定 <strong>Parallels</strong> Small Business <strong>Panel</strong> ( 以 下 稱 <strong>Panel</strong>), 協 助 HSP ( 主<br />
機 服 務 商 ) 公 司 向 客 戶 提 供 完 整 的 主 機 解 決 方 案 。<br />
本 文 件 面 向 需 實 施 <strong>Panel</strong> 設 定 的 HSP 開 發 人 員 , 即 自 動 化 此 軟 體 的 安 裝 / 部 署 , 以 及 滿 足<br />
特 定 客 戶 需 求 的 設 定 。<br />
本 文 件 包 含 最 佳 的 建 議 - 經 過 完 全 測 詴 和 保 證 - 在 產 品 交 付 範 圍 內 安 裝 和 設 定 <strong>Panel</strong><br />
時 。 本 文 件 不 保 證 闡 述 API 的 所 有 功 能 : 不 會 描 述 超 出 範 圍 的 操 作 和 選 項 。<br />
範 圍<br />
現 在 的 服 務 商 可 以 從 難 管 理 的 基 礎 結 構 主 機 轉 向 提 供 加 值 的 管 理 服 務 。 出 售 給 客 戶 的 主 機<br />
方 案 不 僅 包 含 實 體 或 虛 擬 伺 服 器 環 境 , 內 含 可 選 的 控 制 面 板 安 裝 , 也 包 含 網 域 名 稱 和 SSL<br />
憑 證 。 隨 著 SaaS 模 式 獲 得 越 來 越 多 的 客 戶 認 可 , 特 別 是 小 型 企 業 , 主 機 套 裝 程 式 也 開 始<br />
包 含 在 客 戶 網 站 上 安 裝 的 預 置 應 用 程 式 。 其 中 包 括 託 管 的 服 務 , 如 郵 件 、 協 作 工 具 和 內 容<br />
管 理 。<br />
對 <strong>Panel</strong> 安 裝 來 說 , 意 味 著 安 裝 後 , 服 務 商 即 可 開 始 設 定 面 板 。 特 別 是 可 以 透 過 遠 端 API<br />
或 CLI 自 訂 下 列 設 定 :<br />
• DNS 設 定<br />
• 網 域 名 稱 設 定<br />
• SSL 憑 證 交 付<br />
• 安 裝 APS 應 用 程 式<br />
為 了 協 助 服 務 商 推 介 附 加 服 務 ,<strong>Parallels</strong> 推 出 本 文 件 闡 述 如 何 部 署 和 設 定 <strong>Panel</strong>, 以 及 如<br />
何 整 合 到 交 付 應 用 程 式 。<br />
概 述<br />
章 節 “ 交 付 流 程 注 意 事 項 ” 概 述 整 個 交 付 流 程 涉 及 的 重 要 事 項 。<br />
章 節 “ 部 署 面 板 ” 著 重 在 <strong>Panel</strong> 的 交 付 階 段 。 內 容 涵 蓋 <strong>Parallels</strong> Containers 環 境 的 安 裝 與<br />
獨 立 安 裝 , 也 包 括 如 何 建 立 <strong>Parallels</strong> Small Business <strong>Panel</strong> 分 發 庫 的 自 訂 鏡 像 。<br />
下 面 三 章 闡 述 <strong>Panel</strong> 交 付 的 安 裝 階 段 :<br />
• 章 節 “ 安 裝 操 作 概 要 ” 闡 述 安 裝 操 作 的 概 念 和 卷 。
關 於 此 檔 案 7<br />
• 章 節 “ 透 過 遠 端 API 設 定 ” 闡 述 如 何 透 過 遠 端 XML API 安 裝 <strong>Panel</strong>。 本 章 闡 述 遠 端 API:<br />
提 供 API RPC 協 議 概 要 和 用 來 透 過 協 議 與 <strong>Panel</strong> 伺 服 器 互 動 的 工 具 範 例 , 然 後 詳 細 闡<br />
述 協 力 廠 商 工 具 如 何 透 過 請 求 資 訊 執 行 <strong>Panel</strong> 安 裝 操 作 , 以 及 接 收 到 的 每 個 操 作 對 應<br />
的 相 應 資 訊 。<br />
• 章 節 “ 透 過 遠 端 CLI 設 定 ” 闡 述 如 何 透 過 指 令 行 介 面 安 裝 <strong>Panel</strong>。 本 章 首 先 闡 述 CLI 基 本<br />
概 念 , 然 後 詳 細 闡 述 應 執 行 哪 些 指 令 來 安 裝 <strong>Panel</strong>。
第 2 章<br />
交 付 流 程 注 意 事 項<br />
交 付 <strong>Parallels</strong> Small Business <strong>Panel</strong> for Windows 時 , 包 括 產 品 部 署 和 安 裝 之 間 的 五 分<br />
鐘 間 隔 。 需 要 此 安 裝 延 遲 是 因 為 安 裝 後 指 令 碼 需 要 時 間 來 註 冊 和 安 裝 協 力 廠 商 組 件 。 在<br />
此 階 段 執 行 的 交 付 操 作 會 失 敗 。
第 3 章<br />
部 署 <strong>Panel</strong><br />
本 章 著 重 闡 述 <strong>Parallels</strong> Small Business <strong>Panel</strong> 交 付 的 部 署 階 段 。<br />
內 容 涵 蓋 <strong>Parallels</strong> Containers 環 境 的 安 裝 與 獨 立 安 裝 , 也 包 括 如 何 建 立 <strong>Panel</strong> 分 發 庫 的<br />
自 訂 鏡 像 。<br />
本 章 內 容 :<br />
獨 立 部 署 ............................................................................................................ 10<br />
在 <strong>Parallels</strong> Containers 環 境 中 部 署 ................................................................... 18<br />
使 用 Rsync 實 用 程 式 設 定 鏡 像 ........................................................................... 23
10 部 署 <strong>Panel</strong><br />
獨 立 部 署<br />
本 章 闡 述 如 何 在 非 <strong>Parallels</strong> Containers 環 境 中 自 動 部 署 <strong>Panel</strong>,Linux/Unix 或 Windows。 本 章<br />
簡 要 闡 述 <strong>Panel</strong> 安 裝 的 基 本 步 驟 , 並 說 明 如 何 使 用 使 用 指 令 行 介 面 安 裝 產 品 。<br />
使 用 <strong>Parallels</strong> 安 裝 程 式 實 用 工 具 執 行 <strong>Panel</strong> 獨 立 部 署 。 實 用 程 式 連 線 到 <strong>Parallels</strong> Small<br />
Business <strong>Panel</strong> 更 新 伺 服 器 , 更 新 存 放 <strong>Panel</strong> 套 裝 程 式 的 伺 服 器 , 檢 索 所 需 套 裝 程 式 , 並 進 行<br />
安 裝 。<br />
<strong>Parallels</strong> 安 裝 程 式 可 在 互 動 模 式 ,( 透 過 Web 圖 形 使 用 者 介 面 或 指 令 行 ), 或 自 動 模 式 下 執 行 ,<br />
透 過 指 令 行 執 行 需 指 定 特 定 選 項 。 自 動 模 式 下 可 使 用 shell 指 令 碼 來 自 動 化 <strong>Panel</strong> 的 部 署 。<br />
提 供 多 個 版 本 的 <strong>Parallels</strong> 安 裝 程 式 , 各 面 向 不 同 作 業 系 統 和 平 台 , 確 定 獲 取 與 您 的 主 機 作 業 系<br />
統 相 容 的 <strong>Parallels</strong> 安 裝 程 式 。 通 常 ,<strong>Parallels</strong> 安 裝 程 式 版 本 名 使 用 下 列 格 式 :<br />
parallels_installer_v_os__。<br />
注 意 : 描 述 <strong>Parallels</strong> 安 裝 程 式 CLI 時 , 假 設 <strong>Parallels</strong> 安 裝 程 式 名 稱 是 parallels_installer。<br />
官 方 <strong>Parallels</strong> Small Business <strong>Panel</strong> 庫 是 autoinstall.plesk.com (Linux/Unix 套 裝 程 式 ) 和<br />
autoinstall-win.parallels.com (Windows 套 裝 程 式 )。 您 可 能 想 要 在 主 機 環 境 中 為 <strong>Panel</strong> 設 定 自<br />
訂 鏡 像 ( 第 23 頁 ), 確 保 安 全 安 裝 。<br />
本 節 內 容<br />
獲 取 版 本 ID ....................................................................................................... 11<br />
獲 取 產 品 組 件 清 單 .............................................................................................. 12<br />
安 裝 <strong>Panel</strong> ......................................................................................................... 14<br />
安 裝 程 式 CLI 參 考 ( 簡 化 )................................................................................... 15<br />
安 裝 指 令 碼 (Linux/Unix) .................................................................................... 17
部 署 <strong>Panel</strong> 11<br />
獲 取 版 本 ID<br />
版 本 ID 是 <strong>Panel</strong> 版 本 的 唯 一 標 示 符 , 如 <strong>Parallels</strong> Small Business <strong>Panel</strong> 10.0。<br />
若 要 獲 取 版 本 ID 清 單 , 執 行 下 列 指 令 :<br />
parallels_installer --show-all-releases<br />
在 Linux/Unix 伺 服 器 上<br />
parallels_installer.exe --show-all-releases<br />
在 Windows 伺 服 器 上<br />
即 可 顯 示 產 品 版 本 清 單 。 例 如 :<br />
• PPSMBE_10_0_0 (<strong>Parallels</strong> Small Business <strong>Panel</strong> 10.0.0)
12 部 署 <strong>Panel</strong><br />
獲 取 產 品 組 件 清 單<br />
若 要 獲 取 組 件 版 本 清 單 , 執 行 格 式 如 下 的 指 令 :<br />
parallels_installer --select-release-id --show-components<br />
如 <strong>Parallels</strong> Small Business <strong>Panel</strong> 10:<br />
parallels_installer --select-release-id PPSMBE_10_0_0 --show-components<br />
在 Linux/Unix 伺 服 器 上<br />
parallels_installer.exe --select-release-id PPSMBE_10_0_0_WIN<br />
--show-components<br />
即 會 顯 示 組 件 清 單 , 組 件 名 稱 在 左 側 , 簡 短 名 稱 在 右 側 , 如 :<br />
• 基 本 [install] - <strong>Parallels</strong> Small Business <strong>Panel</strong> 基 本 套 裝 程 式<br />
• autoinstaller [install] - <strong>Parallels</strong> 產 品 安 裝 程 式<br />
• postfix [install] - Postfix 郵 件 伺 服 器<br />
• php5 [install] - PHP5 支 援<br />
• postgresql [install] - PostgreSQL 支 援<br />
• api [install] - <strong>Parallels</strong> Small Business <strong>Panel</strong> 基 本 套 裝 程 式<br />
• siteeditor [install] - 網 站 編 輯 器<br />
• setemplates [install] - 網 站 編 輯 器 模 板<br />
• mod_python [install] - Apache mod_python 模 組<br />
• ruby [install] - Ruby on Rails 支 援<br />
• 防 火 牆 [install] - 防 火 牆 載 入 項<br />
• vpn [install] - VPN 載 入 項<br />
• 檔 案 伺 服 器 [install] - Fileserver 載 入 項<br />
• watchdog [install] - 系 統 監 控 載 入 項 (Watchdog)<br />
• drweb [install] - Dr. Web 防 病 毒<br />
• spamassassin [install] - SpamAssassin 支 援<br />
• 備 份 [install] - 備 份 管 理 員<br />
• backup-vz [install] - 備 份 管 理 員 PVC 重 裝 支 援<br />
• de-DE-locale [install] - 德 文 語 言 包<br />
• ja-JP-locale [install] - 日 文 語 言 包<br />
• es-ES-locale [install] - 西 班 牙 文 語 言 包<br />
• ru-RU-locale [install] - 俄 文 語 言 包<br />
• fr-FR-locale [install] - 法 文 語 言 包<br />
• it-IT-locale [install] - 意 文 語 言 包<br />
• zh-CN-locale [install] - 簡 體 中 文 語 系 包<br />
• zh-TW-locale [install] - 繁 體 中 文 語 系 包
部 署 <strong>Panel</strong> 13<br />
• nl-NL-locale [install] - 荷 蘭 文 語 言 包<br />
• atmail [install] - Atmail 網 路 郵 件 支 援
14 部 署 <strong>Panel</strong><br />
安 裝 <strong>Panel</strong><br />
若 要 安 裝 <strong>Parallels</strong> Small Business <strong>Panel</strong>, 執 行 格 式 如 下 的 指 令 :<br />
parallels_installer --select-release-id <br />
[other options]<br />
其 中<br />
• 套 裝 程 式 來 源 選 項 定 義 安 裝 程 式 應 獲 取 並 安 裝 <strong>Panel</strong> 套 裝 程 式 的 位 置<br />
=<br />
--source <br />
若 使 用 <strong>Panel</strong> 更 新 伺 服 器 鏡 像<br />
或<br />
--source <br />
若 使 用 本 機 檔 案 系 統<br />
或<br />
無<br />
若 從 <strong>Panel</strong> 更 新 伺 服 器 安 裝<br />
• 組 件 ( 第 12 頁 ) 安 裝 選 項 定 義 要 安 裝 哪 些 <strong>Panel</strong> 組 件<br />
=<br />
--install-everything<br />
或<br />
--install-component component1 [--install-component component2 [...<br />
[--install-component componentN]]]<br />
• 其 他 選 項 包 括 定 義 Proxy 伺 服 器 設 定 、 安 裝 記 錄 等 等 。 如 需 詳 情 , 請 參 閱 安 裝 程 式 CLI 參 考<br />
章 節 ( 第 15 頁 )<br />
如 ,Linux/Unix<br />
1. 下 列 指 令 可 用 於 從 伺 服 器 上 的 鏡 像 設 定 到 。 透 過 HTTP 在 主 機 ppsmbe-mirror.example.com<br />
上 設 定 鏡 像 來 安 裝 <strong>Parallels</strong> Small Business <strong>Panel</strong> 10 ( 版 本 ID 是 PPSMBE_10_0_0)。 安 裝 檔<br />
案 會 暫 時 存 放 在 /tmp/ppsmbe, 安 裝 狀 態 會 發 送 到 admin@example.com。 安 裝 的 組 件 包 括<br />
<strong>Panel</strong> 套 裝 程 式 、PostgreSQL 伺 服 器 和 SpamAssassin 垃 圾 郵 件 篩 選 器 。<br />
./parallels_installer --source http://ppsmbe-mirror.example.com/ --target<br />
/tmp/ppsmbe --select-release-id PPSMBE_10_0_0 --install-component base<br />
--install-component postgresql --install-component spamassassin<br />
--notify-email admin@example.com<br />
2. 下 列 指 令 可 用 於 完 全 安 裝 ( 安 裝 所 有 產 品 組 件 ) 來 自 <strong>Parallels</strong> 更 新 伺 服 器 的 <strong>Parallels</strong> Small<br />
Business <strong>Panel</strong> 10 ( 版 本 ID 是 PPSMBE_10_0_0)。 所 有 安 裝 程 式 輸 出 會 重 定 向 到 XML 檔 案 。<br />
./parallels_installer --select-release-id PPSMBE_10_0_0 --install-everything<br />
--enable-xml-output<br />
範 例 Windows
部 署 <strong>Panel</strong> 15<br />
1. 下 列 指 令 可 用 於 從 伺 服 器 上 的 鏡 像 設 定 到 。 透 過 HTTP 在 主 機 PPSMBE_10_0_0_WIN 上 設<br />
定 鏡 像 來 安 裝 <strong>Parallels</strong> Small Business <strong>Panel</strong> 10 ( 版 本 ID 是 PPSMBE_10_0_0)。 安 裝 檔 案 會<br />
暫 時 存 放 在 ppsmbe-mirror.example.com, 安 裝 狀 態 會 發 送 到 admin@example.com。 安 裝 的 組<br />
件 包 括 <strong>Panel</strong> 套 裝 程 式 、 綁 定 網 域 名 稱 伺 服 器 、MailEnable 郵 件 伺 服 器 、PHP 指 令 碼 編 譯 工 具 、<br />
網 站 編 輯 器 和 Horde Webmail。<br />
parallels_installer.exe --source http://ppsmbe-mirror.example.com/ --target<br />
%SystemDrive%\<strong>Parallels</strong> --select-release-id PPSMBE_10_0_0_WIN<br />
--install-component base --install-component dns --install-component<br />
mailenable --install-component php5 --install-component siteeditor<br />
--install-component webmail --notify-email admin@example.com<br />
2. 下 列 指 令 可 用 於 完 全 安 裝 ( 安 裝 所 有 產 品 組 件 ) 來 自 <strong>Parallels</strong> 更 新 伺 服 器 的 <strong>Parallels</strong> Small<br />
Business <strong>Panel</strong> 10 ( 版 本 ID 是 PPSMBE_10_0_0_WIN)。 所 有 安 裝 程 式 輸 出 會 重 定 向 到 XML<br />
檔 案 。<br />
parallels_installer.exe --select-release-id PPSMBE_10_0_0_WIN<br />
--install-everything --enable-xml-output<br />
安 裝 程 式 CLI 參 考 ( 簡 化 )<br />
本 參 考 只 涵 蓋 使 用 CLI 安 裝 <strong>Panel</strong> 的 <strong>Parallels</strong> 安 裝 程 式 選 項 。<br />
若 要 瞭 解 有 關 已 安 裝 的 <strong>Panel</strong> 或 主 機 作 業 系 統 升 級 相 關 的 選 項 , 執 行 下 列 指 令 :<br />
parallels_installer --help<br />
選 項<br />
描 述 及 可 能 的 問 題<br />
--source | 從 本 機 檔 案 系 統 檢 索 到 <strong>Panel</strong> 套 裝 程 式 後 , 指 定 --source 選 項 指 向 包<br />
含 要 安 裝 的 <strong>Panel</strong> 相 關 的 .inf3 檔 案 。<br />
--target <br />
--proxy-host < 網 路 位 址<br />
><br />
--proxy-port < 連 接 埠 號<br />
><br />
從 網 路 伺 服 器 檢 索 到 <strong>Panel</strong> 套 裝 程 式 後 , 指 定 --source 選 項<br />
指 向 <strong>Panel</strong> 更 新 伺 服 器 鏡 像 所 在 的 目 錄 。<br />
預 設 情 況 下 , 安 裝 程 式 將 檢 索 到 的 檔 案 儲 存 到 目 錄 //psa。 例 如 , 若 root 使 用 者 執 行 安 裝 程 式 , 則 會 建 立 並 使 用<br />
/root/psa 目 錄 。 若 要 使 用 自 訂 目 錄 存 放 檢 索 到 的 檔 案 , 請 使 用<br />
--target 選 項 。<br />
如 :<br />
--target /opt/storage/psa<br />
或<br />
--target D:\temp<br />
使 用 Proxy 伺 服 器 或 防 火 牆 時 , 請 使 用 此 選 項 指 定 Proxy 伺 服 器 網 域 名<br />
稱 或 IP 位 址 。<br />
如 :<br />
--proxy-host proxy.example.com<br />
連 線 Proxy 伺 服 器 的 預 設 連 接 埠 是 3128。 若 Proxy 伺 服 器 使 用 其 他 連 接<br />
埠 號 , 請 使 用 此 選 項 指 定 。<br />
如 :<br />
--proxy-port 5741
16 部 署 <strong>Panel</strong><br />
選 項<br />
Proxy 伺 服 器 認 證 選 項 。<br />
--proxy-user<br />
<br />
--proxy-password<br />
<br />
--show-releases<br />
描 述 及 可 能 的 問 題<br />
若 Proxy 伺 服 器 需 要 認 證 , 請 使 用 這 些 選 項 在 Proxy 伺 服 器 上 認 證 安 裝<br />
程 式 。<br />
範 例 :<br />
--proxy-user smith --proxy-password f1sZ9AnQ4EnO52<br />
指 定 此 選 項 檢 索 要 執 行 安 裝 程 式 的 可 用 作 業 系 統 版 本 清 單 。 則 會 看 到 版<br />
本 識 別 碼 和 版 本 描 述 。 接 下 來 您 需 處 理 版 本 識 別 碼 。<br />
--show-all-releases 此 選 項 顯 示 <strong>Panel</strong> 更 新 伺 服 器 上 所 有 可 用 的 版 本 。<br />
--select-release-id<br />
<br />
--select-release-lat<br />
est<br />
--show-components<br />
--install-component<br />
<br />
使 用 此 選 項 指 定 要 安 裝 或 要 檢 視 其 內 容 的 版 本 。<br />
使 用 此 選 項 選 擇 您 的 作 業 系 統 可 用 的 最 新 版 本 。<br />
指 定 此 選 項 來 獲 取 所 選 版 本 可 用 的 組 件 相 關 資 訊 。 即 將 顯 示 組 件 描 述 和<br />
名 稱 。<br />
選 擇 要 安 裝 的 其 他 組 件 時 , 請 指 定 組 件 名 稱 。<br />
使 用 此 選 項 指 定 要 安 裝 的 組 件 。 若 要 一 次 安 裝 多 個 組 件 , 請 重 複 使 用 此<br />
選 項 。<br />
範 例 :<br />
--install-component base --install-component<br />
postgresql --install-component spamassassin<br />
--install-everything 使 用 此 選 項 安 裝 所 選 版 本 的 所 有 組 件 。<br />
--show-os-list 使 用 此 選 項 找 到 所 選 版 <strong>Panel</strong> 支 援 的 作 業 系 統 。<br />
--no-space-check 即 便 磁 碟 空 間 不 足 也 安 裝 套 裝 程 式 。<br />
--no-daemon 在 前 台 執 行 安 裝 。<br />
--notify-email<br />
<br />
使 用 此 選 項 讓 安 裝 程 式 透 過 郵 件 發 送 狀 態 報 告 。 成 功 的 完 成 報 告 包 括 安<br />
裝 / 升 級 的 套 裝 程 式 及 其 詳 細 記 錄 。<br />
--enable-xml-output 此 選 項 的 功 能 是 與 <strong>Panel</strong> 通 訊 , 也 可 以 與 其 他 應 用 程 式 搭 配 使 用 。<br />
指 定 此 選 項 時 , 安 裝 程 式 全 部 輸 出 到 XML 檔 案 。 注 意 , 此 選 項 會 禁 止 安<br />
裝 程 式 透 過 退 出 程 式 碼 報 告 錯 誤 。 退 出 程 式 碼 是 零 , 報 告 的 所 有 錯 誤 都<br />
在 XML 輸 出 中 。<br />
--query-status<br />
因 RPM 資 料 庫 不 允 許 多 處 理 序 , 安 裝 程 式 會 鎖 定 它 的 功 能 。 執 行 此 選 項<br />
檢 視 安 裝 程 式 是 否 啟 用 。 這 會 檢 查 是 否 鎖 定 , 將 會 返 回 退 出 程 式 碼 (0 -<br />
安 裝 程 式 閒 置 ,1 - 安 裝 程 式 正 在 執 行 且 繁 忙 ), 或 XML 格 式 的 輸 出 。<br />
--truncate-log <strong>Parallels</strong> 產 品 安 裝 程 式 啟 動 後 , 即 清 除 記 錄 檔 案 。<br />
--separate-log <strong>Parallels</strong> 產 品 安 裝 程 式 每 次 啟 動 都 使 用 新 記 錄 檔 案 。
部 署 <strong>Panel</strong> 17<br />
選 項<br />
描 述 及 可 能 的 問 題<br />
--debug 啟 用 記 錄 檔 案 詳 細 輸 出 。<br />
--version 顯 示 <strong>Parallels</strong> 產 品 安 裝 程 式 版 本 。<br />
安 裝 指 令 碼 (Linux/Unix)<br />
本 章 闡 述 如 何 實 施 和 執 行 安 裝 指 令 碼 , 也 提 供 安 裝 指 令 碼 範 例 。<br />
實 施 與 執 行 注 意 事 項<br />
• 若 要 避 免 透 過 SSH 連 線 安 裝 <strong>Panel</strong> 的 伺 服 器 時 每 次 都 被 提 醒 輸 入 密 碼 , 請 將 公 開 金 鑰 放 到<br />
應 在 每 個 伺 服 器 上 執 行 指 令 碼 的 使 用 者 授 權 碼 清 單 中 ( 參 閱 SSH 文 件 瞭 解 如 何 操 作 )。<br />
• 若 有 <strong>Panel</strong> 更 新 伺 服 器 本 機 鏡 像 ( 參 閱 設 定 鏡 像 章 節 ( 第 23 頁 )), 使 用 下 列 選 項 :<br />
--source <br />
• 預 設 情 況 下 , 所 有 下 載 的 套 裝 程 式 存 放 在 /root/psa 目 錄 。 若 要 使 用 另 一 目 錄 , 使 用 下<br />
列 選 項 :<br />
--target <br />
樣 本 指 令 碼<br />
1. 此 範 例 指 令 碼 在 多 數 情 況 下 適 用 ,<strong>Parallels</strong> 安 裝 程 式 之 前 上 傳 到 目 的 伺 服 器 , 已 在 權 限 中 設<br />
定 執 行 。<br />
#!/bin/sh<br />
SERVERS_LIST="node1.example.com node2.example.com"<br />
for current_server in $SERVERS_LIST; do<br />
scp parallels_installer root@$current_server:<br />
ssh -f root@$current_server "parallels_installer --source<br />
http://updates.example.com/ --target /tmp/ppsmbe --select-release-id<br />
PPSMBE_10_0_0 --install-component base --install-component postgresql<br />
--install-component asp --notify-email admin@example.com"<br />
done<br />
2. 當 直 接 從 網 路 位 置 獲 取 <strong>Parallels</strong> 安 裝 程 式 二 進 位 時 可 使 用 此 範 例 指 令 碼 ( 範 例 URL<br />
http://example.com/type_parallels_installer_name_here 應 取 代 成 有 效 的 安 裝 程 式 下 載 連 結 )。<br />
#!/bin/sh<br />
SERVERS_LIST="node1.example.com node2.example.com"<br />
for current_server in $SERVERS_LIST; do<br />
ssh -f root@$current_server 'wget<br />
http://example.com/type_parallels_installer_name_here -o<br />
parallels_installer;chmod 755 ./parallels_installer;./parallels_installer<br />
--source http://updates.example.com/ --target /tmp/ppsmbe --select-release-id<br />
PPSMBE_10_0_0 --install-component base --install-component postgresql<br />
--install-component spamassassin --notify-email admin@example.com'<br />
done
18 部 署 <strong>Panel</strong><br />
在 <strong>Parallels</strong> Containers 環 境 中 部 署<br />
本 章 涵 蓋 使 用 <strong>Parallels</strong> Containers CLI 部 署 面 板 所 需 的 基 本 步 驟 , 著 重 在 使 用 <strong>Parallels</strong> Small<br />
Business <strong>Panel</strong> 建 立 Container。 如 需 有 關 <strong>Parallels</strong> Container CLI 或 <strong>Parallels</strong> Containers API<br />
(XML 或 SOAP) 功 能 的 更 多 資 訊 , 參 閱 <strong>Parallels</strong> Containers 開 發 人 員 文 件<br />
(http://www.parallels.com/ptn/documentation/virtuozzo/)。<br />
在 <strong>Parallels</strong> Containers 環 境 中 部 署 <strong>Panel</strong> 包 括 下 面 兩 個 階 段 :<br />
1 在 硬 體 節 點 上 安 裝 <strong>Panel</strong> 應 用 程 式 模 板 。<br />
2 建 立 Container, 並 從 模 板 部 署 應 用 程 式 。<br />
第 一 階 段 只 在 每 個 硬 體 節 點 上 執 行 一 次 : 應 用 程 式 模 板 安 裝 到 硬 體 節 點 上 之 後 , 即 可 根 據 需 要<br />
部 署 盡 可 能 多 的 Container。<br />
無 需 每 次 建 立 新 Container, 每 次 需 要 使 用 <strong>Panel</strong> 部 署 VPS 時 , 提 供 選 項 克 隆 安 裝 <strong>Panel</strong> 的 現<br />
有 Container, 並 作 為 模 板 Container 使 用 。<br />
本 節 內 容<br />
<strong>Parallels</strong> Containers for Unix ............................................................................. 19<br />
<strong>Parallels</strong> Containers for Windows ...................................................................... 22
部 署 <strong>Panel</strong> 19<br />
<strong>Parallels</strong> Containers for Unix<br />
兩 種 EZ 模 板 適 用 於 <strong>Parallels</strong> Small Business <strong>Panel</strong> 10:<br />
• ppsmbe10<br />
包 含 <strong>Panel</strong> 核 心 組 件 。<br />
• ppsmbe10-extended<br />
包 含 所 有 附 加 組 件 , 如 SpamAssassin 垃 圾 郵 件 篩 選 器 、Ruby-on-Rails 框 架 、Dr.Web 防<br />
病 毒 、 網 站 編 輯 器 模 板 和 其 他 組 件 。<br />
若 安 裝 延 伸 版 的 <strong>Panel</strong>, 則 需 安 裝 兩 個 模 板 。<br />
透 過 下 列 方 式 可 在 目 的 硬 體 節 點 上 安 裝 <strong>Panel</strong> 模 板 :<br />
• 使 用 vzup2date 實 用 程 式 。 如 需 詳 情 , 參 閱 <strong>Parallels</strong> Containers for Linux 參 考 指 南 , 位<br />
於 <strong>Parallels</strong> 技 術 社 區 (http://www.parallels.com/ptn/documentation/virtuozzo/)。<br />
• 直 接 從 <strong>Parallels</strong> 網 站 (http://www.parallels.com) 下 載 模 板 , 並 使 用 vzpkg 實 用 工 具 安 裝<br />
在 硬 體 節 點 上 安 裝 模 板 時 , 即 可 部 署 檔 案 核 心 設 定 , 其 中 包 括 套 用 庫 定 義 。 在 Container 中 安<br />
裝 應 用 程 式 後 ,<strong>Parallels</strong> Containers 與 庫 通 訊 (<strong>Parallels</strong> Small Business <strong>Panel</strong> for Linux/Unix<br />
預 設 庫 是 <strong>Parallels</strong> 更 新 伺 服 器 , 位 於 http://autoinstall.plesk.com), 並 檢 索 套 用 套 裝 程 式 , 安 裝<br />
到 Container 中 。 清 空 前 套 裝 程 式 存 放 在 節 點 快 取 中 , 應 用 程 式 安 裝 到 Container 中 之 後 , 再 從<br />
庫 中 檢 索 套 裝 程 式 。 若 要 儲 存 流 量 和 時 間 , 則 需 使 用 <strong>Panel</strong> 庫 的 自 訂 鏡 像 。<br />
‣ 若 要 使 用 vzpkg 實 用 程 式 在 <strong>Parallels</strong> Containers 上 安 裝 <strong>Panel</strong> 模 板 :<br />
1 從 <strong>Parallels</strong> 網 站 (http://www.parallels.com) 獲 取 <strong>Panel</strong> 模 板 , 並 上 傳 到<br />
<strong>Parallels</strong> Containers 硬 體 節 點 。<br />
2 執 行 格 式 如 下 的 指 令 安 裝 應 用 程 式 模 板 :<br />
vzpkg install template [-q|] ...<br />
其 中<br />
• -q 禁 止 登 入 顯 示 器 和 記 錄 檔 案<br />
-d|--debug 設 定 記 錄 級 , 從 0 到 10 例 如 , 下 列 指 令 安 裝 <strong>Panel</strong> 的 核 心 和 延<br />
伸 組 件 :<br />
# vzpkg install template<br />
ppsmbe10-debian-5.0-x86-ez-4.0.0-1.prl.284629.noarch.rpm<br />
ppsmbe10-extended-debian-5.0-x86-ez-4.0.0-1.prl.284385.noarch.rpm<br />
‣ 若 要 使 用 自 訂 鏡 像 :<br />
1 若 要 設 定 鏡 像 , 參 閱 建 立 Linux/Unix 版 鏡 像 章 節 ( 第 24 頁 )。<br />
2 在 硬 體 節 點 上 , 編 輯 庫 URL 檔 案 :<br />
1. 開 啟 編 輯 檔 案<br />
/vz/template/Linux///config/<br />
app//default/repositories。
20 部 署 <strong>Panel</strong><br />
即<br />
/vz/template/Linux///config/app/ppsmbe10/<br />
default/repositories 和<br />
/vz/template/Linux///config/app/ppsmbe10-<br />
extended/default/repositories. 若 安 裝 了 兩 個 模 板 , 則 編 輯 兩 個 檔 案 。<br />
2. 使 用 鏡 像 URL 取 代 相 應 的 <strong>Parallels</strong> 更 新 伺 服 器 URL, 並 儲 存 檔 案 。<br />
3 清 除 或 重 新 獲 取 套 裝 程 式 元 資 料 。<br />
使 用 vzpkg clean 指 令 可 執 行 此 操 作 。 如 需 詳 情 , 參 閱 <strong>Parallels</strong> Containers for Linux 參<br />
考 指 南 , 位 於 <strong>Parallels</strong> 技 術 社 區 (http://www.parallels.com/ptn/documentation/virtuozzo/)<br />
。<br />
‣ 若 要 建 立 新 Container 並 在 其 中 安 裝 <strong>Panel</strong>:<br />
1 建 立 Container, 並 根 據 需 求 設 定 。<br />
執 行 以 下 指 令 :<br />
vzctl create [options]<br />
vzctl set [--save]<br />
其 中<br />
• 定 義 大 於 100 的 唯 一 Container ID, 在 硬 體 節 點 上 唯 一<br />
• --save 選 項 讓 vzctl 是 否 將 變 更 儲 存 到 Container 設 定 檔<br />
注 意 : 如 需 有 關 Container 建 立 和 設 定 選 項 的 詳 細 資 訊 , 參 閱 <strong>Parallels</strong> Containers for<br />
Linux 參 考 指 南 , 位 於 <strong>Parallels</strong> 技 術 社 區<br />
(http://www.parallels.com/ptn/documentation/virtuozzo/)。<br />
如 , 下 面 的 指 令 執 行 :<br />
1. 建 立 Container,ID 為 ,IP 為 192.0.2.44, 基 於 <strong>Parallels</strong> Containers 全 域 設 定 檔 中 定<br />
義 的 預 設 OS 模 板<br />
2. 設 定 無 法 交 換 的 內 核 記 憶 體 阻 礙 和 限 制 , 私 人 ( 或 潛 在 的 私 人 ) 記 憶 體 , 所 有 Container<br />
處 理 序 開 啟 的 檔 案 數 , 以 及 Container 可 分 配 的 磁 碟 空 間 和 磁 碟 inodes( 檔 案 、 目 錄 、 符<br />
號 連 結 ) 總 數<br />
3. 儲 存 阻 礙 / 限 制 值 到 Container 設 定 檔<br />
4. 使 用 Web 瀏 覽 器 管 理 Container ( 使 用 "--offline_management no" 選 項 阻 止 離 線<br />
管 理 )<br />
注 意 : 請 按 範 例 設 定 此 選 項 。 否 則 無 法 透 過 網 路 瀏 覽 器 存 取 。<br />
# vzctl create 444 --ipadd 192.0.2.44<br />
# vzctl set 444 --save --kmemsize 24299200:26429120 --privvmpages<br />
362144:392912 --numfile 12000:12000 --diskspace 5117880:5242880<br />
--diskinodes 350000:370000 offline_management no<br />
2 啟 動 新 近 建 立 的 Container:<br />
# vzctl start <br />
3 將 <strong>Panel</strong> 模 板 安 裝 到 Container 中 :<br />
vzpkg install ...
部 署 <strong>Panel</strong> 21<br />
如 , 下 列 指 令 可 以 安 裝 <strong>Panel</strong> 核 心 和 附 加 組 件 :<br />
# vzpkg install 444 ppsmbe10 ppsmbe10-extended<br />
‣ 若 要 克 隆 Container:<br />
執 行 格 式 如 下 的 指 令 :<br />
vzmlocal -C {CT List}<br />
{CT List} = :[:[][:]]<br />
[...]<br />
請 指 定 源 Container ID () 和 目 的 Container ID ()。 指 定 目<br />
的 Container 私 人 區 路 徑 () 和 根 路 徑 () 可 選 ; 它 允 許 您<br />
分 別 覆 寫 預 設 路 徑 - /vz/private/ 和 /vz/root/。 如 需 指<br />
令 選 項 詳 情 , 參 閱 <strong>Parallels</strong> Containers for Linux 參 考 指 南 , 位 於 <strong>Parallels</strong> 技 術 社 區<br />
(http://www.parallels.com/ptn/documentation/virtuozzo/)。<br />
例 如 , 若 要 使 用 之 前 建 立 的 <strong>Panel</strong> 克 隆 Container:<br />
# vzmlocal -C 444:445
22 部 署 <strong>Panel</strong><br />
<strong>Parallels</strong> Containers for Windows<br />
‣ 若 要 在 <strong>Parallels</strong> Containers 硬 體 節 點 上 安 裝 <strong>Panel</strong>:<br />
1 從 <strong>Parallels</strong> 網 站 (http://www.parallels.com) 獲 取 <strong>Panel</strong> 模 板 , 並 上 傳 到<br />
<strong>Parallels</strong> Containers 硬 體 節 點 。<br />
2 安 裝 <strong>Panel</strong> 的 應 用 程 式 模 板 。 若 是 在 Microsoft Windows Server 2003 上 安 裝<br />
, 也 請 執 行 以 下 格 式 的 指 令 安 裝 Microsoft .NET Framework v.2.0 或 更 新 版 本<br />
:<br />
vzpkgdeploy [-q|-v] -i <br />
其 中<br />
• -q 禁 止 登 入 顯 示 器 和 記 錄 檔 案<br />
-v 設 定 此 vzpkgdeploy 工 作 階 段 的 登 入 級 別 到 最 大 值 例 如 ,<br />
>vzpkgdeploy -i ppsmbe-10.0.0.0-20090707.efb<br />
>vzpkgdeploy -i dotnet2.0_frmwk-2.0.50727.42.efb<br />
注 意 : 僅 有 Windows Server 2003 (PVC 4.0, VZ 3.5.1) 需 安 裝 .NET Framework 附 加 模<br />
板 。Windows Server 2008 (PVC 4.5) 不 需 要 。<br />
‣ 若 要 建 立 新 Container 並 在 其 中 安 裝 <strong>Panel</strong>:<br />
1 建 立 Container, 並 根 據 需 求 設 定 。<br />
執 行 以 下 指 令 :<br />
vzctl create --pkgset name [options]<br />
vzctl set [--save]<br />
其 中<br />
• 定 義 大 於 100 的 唯 一 Container ID, 在 硬 體 節 點 上 唯 一<br />
• --pkgset name 表 示 要 用 來 建 立 Container 的 OS 模 板<br />
• --save 選 項 讓 vzctl 是 否 將 變 更 儲 存 到 Container 設 定 檔<br />
注 意 : 如 需 有 關 Container 建 立 和 設 定 選 項 的 詳 細 資 訊 , 參 閱 <strong>Parallels</strong> Containers for<br />
Windows 參 考 指 南 , 位 於 <strong>Parallels</strong> 技 術 社 區<br />
(http://www.parallels.com/ptn/documentation/virtuozzo/)。<br />
如 , 下 面 的 指 令 執 行 :<br />
• 建 立 Container,ID 為 444,IP 為 192.0.2.44, 基 於 OS 模 板 w2k3<br />
• 設 定 磁 碟 空 間 限 制 為 4+ Gb, 私 人 空 間 限 制 為 1 Gb, 管 理 員 密 碼 為 "P4$$w0rd"<br />
• 使 用 Web 瀏 覽 器 管 理 Container ( 使 用 "--offline_management no" 選 項 阻 止 離 線<br />
管 理 )<br />
注 意 : 請 按 範 例 設 定 此 選 項 。 否 則 無 法 透 過 網 路 瀏 覽 器 存 取 <strong>Panel</strong>。<br />
>vzctl create 444 --pkgset w2k3 --ipadd 192.0.2.44
部 署 <strong>Panel</strong> 23<br />
>vzctl set 444 --save --diskspace 4500000 --vprvmem 1024 --userpasswd<br />
Administrator:P4$$w0rd --offline_management no<br />
2 啟 動 新 近 建 立 的 Container:<br />
>vzctl start <br />
3 安 裝 Microsoft .NET framework 2.0 或 以 上 版 本 到 Container 中 :<br />
vzpkgadd <br />
例 如 ,<br />
>vzpkgadd 444 dotnet2.0_frmwk-2.0.50727.42/20070613<br />
4 將 <strong>Parallels</strong> Small Business <strong>Panel</strong> 模 板 安 裝 到 Container 中 :<br />
vzpkgadd <br />
例 如 ,<br />
>vzpkgadd 444 ppsmbe-10.0.0.0-20090707<br />
‣ 若 要 克 隆 Container:<br />
執 行 格 式 如 下 的 指 令 :<br />
vzmlocal -C <br />
= :[:] [options]<br />
請 指 定 源 Container ID () 和 目 的 Container ID ()。 指 定 目 的<br />
Container 私 人 區 域 路 徑 () 可 選 ; 它 允 許 您 覆 寫<br />
X:\vz\private\ 預 設 路 徑 。 如 需 指 令 選 項 詳 情 , 參 閱 <strong>Parallels</strong> Containers for<br />
Windows 參 考 指 南 , 位 於 <strong>Parallels</strong> 技 術 社 區<br />
(http://www.parallels.com/ptn/documentation/virtuozzo/)。<br />
例 如 , 若 要 使 用 之 前 建 立 的 <strong>Panel</strong> 克 隆 Container:<br />
>vzmlocal -C 444:445<br />
使 用 Rsync 實 用 程 式 設 定 鏡 像<br />
本 章 闡 述 如 何 使 用 Rsync 在 Linux 伺 服 器 上 建 立 Linux/Unix 和 Windows 版 <strong>Parallels</strong> Small<br />
Business <strong>Panel</strong> <strong>Parallels</strong> 更 新 伺 服 器 本 機 鏡 像 。Rsync 是 開 源 實 用 程 式 , 使 用 它 即 可 建 立 支<br />
援 相 應 版 <strong>Panel</strong> 的 鏡 像 , 包 括 <strong>Parallels</strong> Containers。<br />
<strong>Parallels</strong> Small Business <strong>Panel</strong> for Linux 庫 鏡 像 可 支 援 獨 立 和 <strong>Parallels</strong> Containers 安 裝 ( 取 決<br />
於 鏡 像 套 裝 程 式 大 小 )。<br />
本 節 內 容<br />
建 立 Linux/Unix 分 發 包 鏡 像 ............................................................................... 24<br />
建 立 Windows 分 發 包 鏡 像 ................................................................................. 27
24 部 署 <strong>Panel</strong><br />
建 立 Linux/Unix 分 發 包 鏡 像<br />
<strong>Parallels</strong> Small Business <strong>Panel</strong> for Linux/Unix 庫 位 於 autoinstall.plesk.com, 結 構 如 下 ( 我 們<br />
只 列 出 建 立 <strong>Panel</strong> 套 裝 程 式 鏡 像 相 關 檔 案 和 目 錄 ):<br />
• _/<br />
根 據 <strong>Panel</strong> 版 本 命 名 多 個 子 目 錄 。<br />
子 目 錄 介 紹<br />
a<br />
PPSMBE_/<br />
如 ,PPSMBE_10.0.0<br />
其 中 <strong>Panel</strong> 套 裝 程 式 位 於<br />
b SETEMPLATES_/<br />
如 SETEMPLATES_1.0.0<br />
其 中 網 站 編 輯 器 組 件 200+ 網 站 設 計 模 板 套 裝 程 式 所 處 位 置 。 它 是 <strong>Panel</strong> 組 件 而 不 是 一<br />
款 產 品 , 放 入 獨 立 產 品 目 錄 來 節 省 磁 碟 空 間 和 流 量 。<br />
每 個 子 目 錄 包 含 下 列 檔 案 :<br />
dist----/ 包 括 <strong>Panel</strong> 分 發 套 裝<br />
程 式 或 設 計 模 板 如 dist-deb-Debian-5.0-x86_64/ 或<br />
dist-deb-Debian-all-all/<br />
update---- 包 含 伺 服 器 作 業 系<br />
統 系 統 更 新 ; 是 套 裝 程 式 類 型 。rpm, deb, pkg<br />
thirdparty----/ 包 含 其 他 協<br />
力 廠 商 套 裝 程 式<br />
• _--.inf3<br />
<strong>Parallels</strong> 安 裝 程 式 設 定 檔<br />
如 ppsmbe-10.0.0-suse11.1-x86_64.inf3,<br />
setemplates-1.0.0-deball-all.inf3<br />
• products.inf3<br />
<strong>Parallels</strong> 安 裝 程 式 設 定 檔 描 述 <strong>Panel</strong> 產 品<br />
• ppsmbe.inf3,setemplates.inf3<br />
<strong>Parallels</strong> 安 裝 程 式 設 定 檔 描 述 <strong>Panel</strong> 版 本 和 其 他 組 件<br />
• PPSMBE10/<br />
<strong>Parallels</strong> Small Business <strong>Panel</strong> 元 資 料 用 於 使 用 EZ 模 板 在 <strong>Parallels</strong> Containers 中 安 裝<br />
<strong>Panel</strong>。<br />
• debian/,ubuntu/<br />
目 錄 apt-get 可 用 來 使 用 EZ 模 板 和 <strong>Parallels</strong> 產 品 安 裝 程 式 安 裝 <strong>Parallels</strong> 產 品<br />
‣ 若 要 設 定 <strong>Panel</strong> 鏡 像 :<br />
1 登 入 要 建 立 鏡 像 的 伺 服 器 。
部 署 <strong>Panel</strong> 25<br />
2 建 立 要 存 放 檔 案 的 目 錄 。 為 了 演 示 , 我 們 會 呼 叫 此 目 錄<br />
destination_directory/。<br />
3 在 此 目 錄 中 建 立 兩 個 子 目 錄 :debian/ 和 ubuntu/。<br />
4 若 要 設 定 鏡 像 , 執 行 下 列 指 令 。<br />
• 此 指 令 可 將 <strong>Parallels</strong> 更 新 庫 上 的 /PPSMBE_10.0.0 目 錄 下 載 到<br />
destination_directory。<br />
# rsync -au --delete<br />
rsync://rsync.autoinstall.plesk.com/autoinstall/PPSMBE_10.0.0<br />
destination_directory<br />
• 此 指 令 可 將 <strong>Parallels</strong> 更 新 庫 上 的 /SETEMPLATES_1.0.0 目 錄 下 載 到<br />
destination_directory。<br />
# rsync -au --delete<br />
rsync://rsync.autoinstall.plesk.com/autoinstall/SETEMPLATES_1.0.0<br />
destination_directory<br />
• 這 些 指 令 可 透 過 <strong>Parallels</strong> 安 裝 程 式 下 載 <strong>Parallels</strong> Small Business <strong>Panel</strong> 的 Ubuntu 和<br />
Debian 套 裝 程 式 。<br />
# rsync -au --delete<br />
rsync://rsync.autoinstall.plesk.com/autoinstall/debian/PPSMBE_10.0<br />
.0 destination_directory/debian<br />
# rsync -au --delete<br />
rsync://rsync.autoinstall.plesk.com/autoinstall/unbuntu/PPSMBE_10.<br />
0.0 destination_directory/ubuntu<br />
• 這 些 指 令 可 透 過 <strong>Parallels</strong> 安 裝 程 式 下 載 用 來 安 裝 Ubuntu 和 Debian 套 裝 程 式 的 內 容 。<br />
# rsync -au --delete<br />
rsync://rsync.autoinstall.plesk.com/autoinstall/debian/SETEMPLATES<br />
_1.0.0 destination_directory/debian<br />
# rsync -au --delete<br />
rsync://rsync.autoinstall.plesk.com/autoinstall/unbuntu/SETEMPLATE<br />
S_1.0.0 destination_directory/ubuntu<br />
• 這 些 指 令 可 透 過 <strong>Parallels</strong> Containers EZ 模 板 下 載 用 來 安 裝 Ubuntu 和 Debian 套 裝 程 式<br />
的 內 容 。 若 要 設 定 非 <strong>Parallels</strong> Containers 環 境 鏡 像 , 略 過 此 步 驟 。<br />
# rsync -au --delete<br />
rsync://rsync.autoinstall.plesk.com/autoinstall/debian/PPSMBE_10.0<br />
.0/ destination_directory/debian/PPSMBE10<br />
# rsync -au --delete<br />
rsync://rsync.autoinstall.plesk.com/autoinstall/ubuntu/PPSMBE_10.0<br />
.0/ destination_directory/ubuntu/PPSMBE10<br />
• 此 指 令 可 用 於 建 立 符 號 連 結 , 使 用 此 連 結 即 可 透 過 <strong>Parallels</strong> Containers EZ 模 板 在 基 於<br />
RPM 的 作 業 系 統 中 安 裝 <strong>Panel</strong>。 若 要 設 定 非 <strong>Parallels</strong> Containers 環 境 鏡 像 , 略 過 此 步<br />
驟 。<br />
# cd destination_directory; ln -s PPSMBE_10.0.0 PPSMBE10<br />
• 此 指 令 可 下 載 <strong>Parallels</strong> 安 裝 程 式 設 定 檔 。
26 部 署 <strong>Panel</strong><br />
# rsync -auv --delete<br />
rsync://rsync.autoinstall.plesk.com/'autoinstall/products.inf3<br />
autoinstall/versions.inf3 autoinstall/ppsmbe.inf3<br />
autoinstall/setemplates.inf3' destination_directory<br />
5 編 輯 <strong>Parallels</strong> 安 裝 程 式 設 定 檔 定 義 此 鏡 像 支 援 的 產 品 、 版 本 和 平 台 。<br />
1. 編 輯 products.inf3 檔 案 移 除 所 有 product 元 素 , 只 保 留 ID ppsmbe<br />
。 若 要 支 援 網 站 編 輯 器 的 其 他 網 站 設 計 模 板 設 定 , 也 略 過 ID 為<br />
setemplates 的 product 元 素 。<br />
2. 編 輯 ppsmbe.inf3 檔 案 , 移 除 所 有 build 元 素 , 留 下 鏡 像 支 援 的 作 業 系<br />
統 和 架 構 。<br />
3. 編 輯 setemplates.inf3 檔 案 , 移 除 所 有 build 元 素 , 留 下 其 他 網 站 編<br />
輯 器 網 站 設 計 模 板 支 援 的 作 業 系 統 和 架 構 。<br />
注 意 : 如 需 有 關 Rsync 實 用 程 式 的 更 多 資 訊 , 請 存 取 http://samba.anu.edu.au/rsync/。
部 署 <strong>Panel</strong> 27<br />
建 立 Windows 分 發 包 鏡 像<br />
<strong>Parallels</strong> Small Business <strong>Panel</strong> for Windows 庫 位 於 http://autoinstall-win.parallels.com, 結 構<br />
如 下 ( 我 們 只 列 出 建 立 <strong>Panel</strong> 套 裝 程 式 鏡 像 相 關 檔 案 和 目 錄 ):<br />
• _/<br />
根 據 <strong>Panel</strong> 版 本 命 名 多 個 子 目 錄 。<br />
在 此 範 例 中 , 子 目 錄 是 PPSMBE-WIN_/, 如 PPSMBE-WIN_10.0.0/<br />
每 個 子 目 錄 包 含 下 列 檔 案 :<br />
• dist----/<br />
包 括 <strong>Panel</strong> 分 發 套 裝 程 式 或 設 計 模 板 ,<br />
如 dist-msi-Microsoft-2003-i386/<br />
• thirdparty----<br />
其 他 協 力 廠 商 套 裝 程 式<br />
• ppsmbe---.inf3<br />
<strong>Parallels</strong> 安 裝 程 式 設 定 檔<br />
• products.inf3<br />
<strong>Parallels</strong> 安 裝 程 式 設 定 檔 描 述 <strong>Panel</strong> 產 品<br />
• ppsmbe.inf3<br />
<strong>Parallels</strong> 安 裝 程 式 設 定 檔 描 述 <strong>Panel</strong> 版 本 和 其 他 組 件<br />
‣ 若 要 設 定 <strong>Panel</strong> 鏡 像 :<br />
1 登 入 要 建 立 鏡 像 的 伺 服 器 。<br />
2 建 立 要 存 放 檔 案 的 目 錄 。 為 了 演 示 , 我 們 會 呼 叫 此 目 錄<br />
destination_directory/。<br />
3 若 要 設 定 鏡 像 , 執 行 下 列 指 令 。<br />
• 此 指 令 可 將 <strong>Parallels</strong> 更 新 庫 上 的 PPSMBE-WIN_10.0.0/ 目 錄 下 載 到<br />
destination_directory/。<br />
# rsync -au --delete<br />
rsync://rsync.autoinstall-win.parallels.com/autoinstall/PPSMBE-WIN<br />
_10.0.0 destination_directory<br />
• 此 指 令 可 下 載 <strong>Parallels</strong> 安 裝 程 式 設 定 檔 。<br />
# rsync -auv --delete<br />
rsync://rsync.autoinstall-win.parallels.com/'autoinstall/products.<br />
inf3 autoinstall/ppsmbe.inf3' destination_directory<br />
4 編 輯 <strong>Parallels</strong> 安 裝 程 式 設 定 檔 定 義 此 鏡 像 支 援 的 產 品 、 版 本 和 平 台 。<br />
1. 編 輯 products.inf3 檔 案 移 除 所 有 product 元 素 , 只 保 留 ID ppsmbe<br />
。 若 要 支 援 網 站 編 輯 器 的 其 他 網 站 設 計 模 板 設 定 , 也 略 過 ID 為<br />
setemplates 的 product 元 素 。
28 部 署 <strong>Panel</strong><br />
2. 編 輯 ppsmbe.inf3 檔 案 , 移 除 所 有 build 元 素 , 留 下 鏡 像 支 援 的 作 業 系<br />
統 和 架 構 。<br />
注 意 : 如 需 有 關 Rsync 實 用 程 式 的 更 多 資 訊 , 請 存 取 http://samba.anu.edu.au/rsync/。
第 4 章<br />
安 裝 操 作 概 要<br />
本 章 簡 要 闡 述 <strong>Parallels</strong> Small Business <strong>Panel</strong> 交 付 中 安 裝 階 段 的 操 作 。<br />
本 章 按 照 執 行 順 序 分 別 介 紹 各 個 操 作 。<br />
本 章 內 容 :<br />
初 始 化 <strong>Panel</strong> ..................................................................................................... 30<br />
安 裝 授 權 ............................................................................................................ 30<br />
定 義 <strong>Panel</strong> 標 誌 ................................................................................................. 31<br />
設 定 DNS .......................................................................................................... 32<br />
安 裝 SSL 憑 證 ................................................................................................... 34<br />
建 立 網 站 及 子 網 站 .............................................................................................. 35<br />
安 裝 應 用 程 式 ..................................................................................................... 36<br />
定 義 可 用 的 APS 目 錄 ........................................................................................ 38
30 安 裝 操 作 概 要<br />
初 始 化 <strong>Panel</strong><br />
<strong>Panel</strong> 安 裝 後 首 先 要 執 行 的 操 作 是 初 始 化 。 禁 止 在 <strong>Panel</strong> GUI 或 透 過 API 執 行 任 何 操 作 。<br />
初 始 化 設 定 下 列 <strong>Panel</strong> 設 定 :<br />
• 管 理 員 的 電 子 郵 件<br />
• 管 理 員 新 密 碼 , 不 是 預 設 密 碼<br />
• ( 可 選 ) <strong>Panel</strong> 語 言<br />
若 在 <strong>Panel</strong> 初 始 化 中 未 設 定 語 言 , 則 會 使 用 預 設 的 美 國 英 文 (en-US)。<br />
<strong>Panel</strong> 管 理 員 可 稍 後 變 更 介 面 語 言 ( 安 裝 所 需 語 言 組 件 ( 第 12 頁 ))。<br />
快 速 連 結<br />
使 用 遠 端 API 安 裝 <strong>Panel</strong> ( 第 70 頁 )<br />
使 用 CLI 初 始 化 <strong>Panel</strong> ( 第 170 頁 )<br />
安 裝 授 權<br />
<strong>Panel</strong> 分 發 版 隨 附 支 援 有 限 使 用 者 帳 戶 的 預 設 授 權 。 您 需 獲 取 並 安 裝 滿 足 使 用 者 需 求 的 授 權 。<br />
除 定 義 <strong>Panel</strong> 主 要 功 能 的 主 授 權 之 外 , 也 可 安 裝 附 加 授 權 , 即 可 使 用 <strong>Panel</strong> 載 入 項 , 如 Dr.Web<br />
防 病 毒 解 決 方 案 。<br />
快 速 連 結<br />
使 用 遠 端 API 安 裝 授 權 ( 第 74 頁 )<br />
使 用 CLI 安 裝 授 權 ( 第 171 頁 )
安 裝 操 作 概 要 31<br />
定 義 <strong>Panel</strong> 標 誌<br />
<strong>Panel</strong> 交 付 範 圍 內 的 <strong>Panel</strong> 商 標 資 訊 :<br />
• <strong>Panel</strong> 標 誌 類 型 影 像 和 URL<br />
• 支 援 按 鈕 連 結<br />
注 意 :CLI 中 支 援 兩 者 。<br />
標 誌<br />
<strong>Panel</strong> 標 誌 類 型 顯 示 在 <strong>Panel</strong> 左 上 角 。 預 設 是 141*29 畫 素 的 GIF 影 像 ,<strong>Parallels</strong> Small Business<br />
<strong>Panel</strong> 產 品 標 誌 類 型 , 按 它 即 可 開 啟 <strong>Parallels</strong> 網 站 。 可 變 更 預 設 標 誌 影 像 和 URL。<br />
支 援<br />
支 援 按 鈕 位 於 <strong>Panel</strong> 管 理 員 可 以 使 用 的 設 定 標 籤 上 。 預 設 情 況 下 , 按 按 鈕 即 可 開 啟 <strong>Parallels</strong> 網<br />
站 上 的 技 術 支 援 請 求 表 單 , 假 定 由 管 理 員 完 成 和 提 交 。<br />
若 要 向 客 戶 提 供 技 術 支 援 , 按 一 下 支 援 按 鈕 即 可 變 更 URL。<br />
快 速 連 結<br />
使 用 CLI 建 立 <strong>Panel</strong> 標 誌 ( 第 171 頁 )
32 安 裝 操 作 概 要<br />
設 定 DNS<br />
安 裝 在 DNS 伺 服 器 上 , 該 DNS 伺 服 器 設 定 成 用 於 建 立 網 站 和 託 管 <strong>Panel</strong> 的 主<br />
控 網 域 名 稱 伺 服 器 。 設 定 <strong>Panel</strong> 時 , 即 可 停 用 DNS 服 務 , 或 按 照 需 求 進 行 設 定 。<br />
若 您 的 工 作 環 境 中 網 域 名 稱 伺 服 器 設 定 成 服 務 多 個 託 管 的 網 域 名 稱 , 且 安 裝 了 <strong>Panel</strong>, 則 無 需<br />
獨 立 的 DNS 伺 服 器 。 在 <strong>Parallels</strong> Containers 環 境 中 , 安 裝 <strong>Panel</strong> 的 Container 中 ,DNS 伺 服<br />
器 執 行 需 消 耗 稍 多 資 源 , 即 可 降 低 主 機 環 境 的 密 度 。<br />
若 要 讓 <strong>Panel</strong> 管 理 的 網 站 DNS 區 域 由 遠 端 DNS 伺 服 器 服 務 , 設 定 <strong>Panel</strong> 實 例 時 停 用 DNS 服<br />
務 。 客 戶 若 確 定 網 站 由 本 機 DNS 伺 服 器 支 援 , 也 可 稍 後 啟 用 。<br />
若 要 讓 <strong>Panel</strong> 管 理 的 網 站 由 本 機 DNS 服 務 支 援 , 則 可 透 過 合 適 方 式 修 改 DNS 區 域 。<br />
<strong>Panel</strong> 提 供 可 自 訂 的 DNS 區 域 模 板 , 包 含 DNS SOA 模 板 和 其 他 資 源 記 錄 。 建 立 網 站 帳 戶 時 ,<br />
基 於 此 模 板 建 立 其 DNS 區 域 。 若 要 設 定 <strong>Panel</strong> 管 理 網 站 的 DNS 區 域 , 只 需 編 輯 DNS 區 域 模<br />
板 。<br />
快 速 連 結<br />
使 用 遠 端 API 設 定 DNS ( 第 79 頁 )<br />
使 用 CLI 設 定 DNS ( 第 173 頁 )<br />
本 節 內 容<br />
變 更 SOA 記 錄 模 板 ............................................................................................ 33<br />
設 定 資 源 記 錄 模 板 .............................................................................................. 33
安 裝 操 作 概 要 33<br />
變 更 SOA 記 錄 模 板<br />
SOA 記 錄 的 <strong>Panel</strong> 模 板 允 許 變 更 下 列 記 錄 欄 位 :<br />
• ttl ( 生 效 時 間 )<br />
• 重 新 整 理<br />
• 重 詴<br />
• 過 期<br />
• 最 小<br />
• ( 僅 限 Unix CLI) sn (= 序 號 ) 格 式<br />
區 域 序 號 格 式 :yyyymmdd 或 Unix 時 間 戳<br />
設 定 資 源 記 錄 模 板<br />
DNS 區 域 的 <strong>Panel</strong> 模 板 支 援 下 列 資 源 記 錄 類 型 :<br />
• A<br />
• NS<br />
• CNAME<br />
• MX<br />
• PTR<br />
• TXT<br />
• AXFR<br />
• SRV
34 安 裝 操 作 概 要<br />
安 裝 SSL 憑 證<br />
在 網 站 上 使 用 安 全 通 訊 端 層 協 議 需 先 安 裝 SSL 憑 證 。<br />
在 <strong>Panel</strong> 中 ,SSL 憑 證 透 過 IP 位 址 連 線 到 網 站 : 憑 證 分 配 到 IP 位 址 , 存 取 該 IP 託 管 的 網 站 時<br />
會 用 到 此 憑 證 。 實 際 上 , 透 過 https 存 取 該 IP 上 託 管 的 網 站 時 會 用 到 此 憑 證 。<br />
安 裝 SSL 憑 證 意 味 著 將 憑 證 匯 入 到 <strong>Panel</strong> 並 分 配 IP 位 址 給 它 。 若 在 此 類 IP 上 建 立 網 站 帳 戶 ,<br />
則 會 自 動 啟 用 "SSL 支 援 ", 安 裝 的 憑 證 用 於 參 訪 網 站 。<br />
快 速 連 結<br />
使 用 遠 端 API 安 裝 SSL 憑 證 ( 第 104 頁 )<br />
使 用 CLI 安 裝 SSL 憑 證 ( 第 179 頁 )
安 裝 操 作 概 要 35<br />
建 立 網 站 及 子 網 站<br />
網 站<br />
<strong>Parallels</strong> Small Business <strong>Panel</strong> 中 新 型 的 網 站 和 子 網 站 建 立 與 設 定 流 程 簡 單 且 輕 鬆 。 建 立 網 站<br />
或 子 網 站 時 , 請 指 定 最 基 本 的 主 機 參 數 , 其 他 主 機 設 定 會 自 動 完 成 。<br />
因 此 , 若 要 建 立 網 站 , 請 指 定 下 列 函 數 :<br />
• 網 域 名 稱<br />
• IP 位 址<br />
若 IP 位 址 與 SSL 憑 證 關 聯 ( 第 34 頁 ), 則 會 自 動 啟 用 使 用 此 IP 建 立 網 站 的 SSL 支 援 。<br />
• 要 求 的 虛 擬 主 機 內 容 : 用 來 上 傳 網 站 內 容 的 FTP 帳 戶 登 入 名 和 密 碼 。<br />
在 網 站 上 安 裝 Web 應 用 程 式 時 ,<strong>Panel</strong> 會 自 動 設 定 應 用 程 式 所 需 的 所 有 服 務 。 因 此 必 頇 在<br />
網 站 建 立 過 程 中 指 定 IP 位 址 、FTP 登 入 名 和 密 碼 。<br />
快 速 連 結<br />
使 用 遠 端 API 建 立 網 站 ( 第 110 頁 )<br />
使 用 CLI 建 立 網 站 ( 第 181 頁 )<br />
子 網 站<br />
建 立 子 網 站 時 , 至 少 要 指 定 子 網 站 和 主 網 站 的 前 置 詞 名 。<br />
子 網 站 內 容 通 常 位 於 網 站 虛 擬 主 機 的 /httpdocs/subdomains/subdomain-name 目 錄 中 。<br />
Windows 版 <strong>Panel</strong> 支 援 子 資 料 夾 中 的 子 網 站 - 子 網 站 對 應 到 /httpdocs 資 料 夾 中 的 任 何 目<br />
錄 。 若 要 讓 安 裝 的 Web 應 用 程 式 可 作 為 子 網 站 存 取 , 此 網 站 會 很 有 用 。 如 ,WordPress 應 用 程<br />
式 可 透 過 類 似 http://domain-name/URL-prefix 的 URL 存 取 , 也 就 是<br />
http://example.com/WordPress。 若 有 子 網 站 在 子 資 料 夾 中 , 則 可 透 過<br />
http://blog.example.com 存 取 。<br />
• 若 要 建 立 一 般 子 網 站 , 指 定 主 網 站 名 、 子 網 站 名 和 子 網 站 主 機 內 容 。<br />
注 意 : 預 設 情 況 下 , 透 過 主 網 站 的 同 一 FTP 帳 戶 即 可 存 取 子 網 站 內 容 。 因 此 , 指 定 FTP 帳<br />
戶 內 容 是 可 選 項 , 僅 當 需 要 存 取 子 網 站 內 容 的 FTP 帳 戶 時 才 需 要 指 定 。<br />
• 若 要 在 子 資 料 夾 中 建 立 子 網 站 ( 僅 有 Windows 支 援 ), 指 定 主 網 站 名 / 子 網 站 名 , 以 及 要 建 立<br />
子 網 站 的 資 料 夾 位 置 。<br />
注 意 : 對 於 子 資 料 夾 的 子 網 站 , 無 法 建 立 獨 立 的 FTP 使 用 者 帳 戶 : 會 使 用 者 主 網 站 / 子 網 站<br />
的 FTP 使 用 者 帳 戶 。<br />
快 速 連 結
36 安 裝 操 作 概 要<br />
使 用 遠 端 API 建 立 子 網 站 ( 第 115 頁 )<br />
使 用 CLI 建 立 子 網 站 ( 第 181 頁 )<br />
安 裝 應 用 程 式<br />
<strong>Parallels</strong> Small Business <strong>Panel</strong> 支 援 APS 應 用 程 式 。 這 些 是 按 APS - 應 用 程 式 交 付 標 準<br />
(http://www.apsstandard.org/) 打 包 的 Web 應 用 程 式 , 將 SaaS 模 式 推 向 主 機 頁 。<br />
術 語 套 用 套 裝 程 式 - 以 APS 格 式 打 包 的 Web 應 用 程 式 zip 存 檔 。 與 應 用 程 式 不 同 , 它 從 套 裝<br />
程 式 直 接 安 裝 。<br />
在 網 站 或 子 網 站 上 安 裝 應 用 程 式 分 兩 步 完 成 :<br />
1 獲 取 套 用 套 裝 程 式 , 並 匯 入 <strong>Panel</strong>。<br />
2 在 網 站 或 子 網 站 上 從 套 裝 程 式 安 裝 應 用 程 式 。<br />
快 速 連 結<br />
使 用 遠 端 API 安 裝 應 用 程 式 ( 第 123 頁 )<br />
使 用 遠 端 CLI 安 裝 應 用 程 式 ( 第 184 頁 )<br />
本 節 內 容<br />
匯 入 套 用 套 裝 程 式 .............................................................................................. 37<br />
安 裝 應 用 程 式 ..................................................................................................... 37
安 裝 操 作 概 要 37<br />
匯 入 套 用 套 裝 程 式<br />
有 兩 種 方 法 可 獲 取 並 匯 入 套 用 套 裝 程 式 :<br />
• 通 常 是 自 行 建 立 的 套 裝 程 式 , 手 動 上 傳 到 安 裝 <strong>Panel</strong> 的 主 機 上 , 並 手 動 匯 入 到 <strong>Panel</strong>。<br />
• 下 載 套 裝 程 式 , 並 自 動 從 APS 目 錄 匯 入 到 <strong>Panel</strong> ( 提 供 套 用 套 裝 程 式 遠 端 存 儲 的 網 路 服 務 )。<br />
即 可 一 次 性 下 載 並 匯 入 多 個 應 用 程 式 ,<strong>Panel</strong> 支 援 下 載 狀 態 追 蹤 。<br />
<strong>Panel</strong> 支 援 從 多 個 APS 目 錄 實 例 獲 取 套 用 套 裝 程 式 。 可 用 的 APS 目 錄 在 APS 目 錄 設 定 檔 ( 第<br />
38 頁 ) 中 有 定 義 , 可 自 訂 來 滿 足 特 定 主 機 環 境 中 的 <strong>Panel</strong> 範 例 需 要 。<br />
安 裝 應 用 程 式<br />
安 裝 應 用 程 式 後 , 請 指 定 下 列 內 容 :<br />
• 安 裝 應 用 程 式 的 應 用 套 裝 程 式 位 置 。<br />
依 名 稱 - 版 本 - 發 行 號 資 訊 或 套 裝 程 式 ID 分 類 。 檢 索 可 用 套 裝 程 式 即 可 獲 得 這 些 資 料 。 在 詳 細<br />
套 用 套 裝 程 式 清 單 中 檢 索 到 可 用 套 裝 程 式 結 果 匯 入 到 <strong>Panel</strong>, 包 括 所 需 識 別 碼 。<br />
• 目 的 網 站 或 子 網 站 。<br />
• 安 裝 內 容 。<br />
這 些 是 特 定 應 用 程 式 , 也 可 以 是 沒 有 任 何 安 裝 內 容 或 設 定 的 應 用 程 式 。<strong>Panel</strong> API 不 支 援 應<br />
用 程 式 設 定 資 訊 的 獲 取 , 請 使 用 APS 目 錄 API<br />
(http://www.apsstandard.org/r/doc/aps-catalog-1.1-api/index.htm) 或 分 析 套 裝 程 式 元 資 料<br />
檔 案 來 獲 取 。 如 需 有 關 APS 格 式 技 術 規 格 中 的 APS 格 式 的 更 多 資 訊 , 請 存 取<br />
http://www.apsstandard.org/providers/documentation/。
38 安 裝 操 作 概 要<br />
定 義 可 用 的 APS 目 錄<br />
列 出 設 定 檔 中 定 義 的 APS 目 錄 , 可 用 於 :<br />
1 透 過 <strong>Panel</strong> API 直 接 從 這 些 目 錄 將 應 用 程 式 安 裝 到 網 站 上 。<br />
注 意 : 從 APS 目 錄 安 裝 應 用 程 式 不 可 能 沒 有 列 出 在 設 定 檔 中 。<br />
2 <strong>Panel</strong> 使 用 者 可 以 從 應 用 程 式 & 指 令 碼 螢 幕 看 到 這 些 目 錄 , 使 用 者 可 以 自 行 安 裝 應 用 程 式 。<br />
APS 目 錄 由 服 務 生 成 名 稱 , 格 式 如 下 :<br />
• APS 目 錄 位 於 apscatalog.com (http://apscatalog.com)。<strong>Parallels</strong> 正 式 支 援 APS 目 錄 服 務<br />
。<br />
• 自 訂 APS 目 錄 , 服 務 的 本 機 鏡 像 部 署 到 主 機 環 境 中 , 並 提 供 特 定 應 用 程 式 的 存 取 。<br />
如 需 有 關 如 何 實 施 APS 目 錄 本 機 鏡 像 的 資 訊 , 請 參 閱 APS 標 準 官 方 網 站 文 件<br />
http://www.apsstandard.org/providers/documentation/。<br />
下 列 情 況 下 , 需 定 義 APS 目 錄 :<br />
a 設 定 <strong>Panel</strong> 時 , 您 可 能 需 要 從 自 訂 的 APS 目 錄 安 裝 應 用 程 式 。<br />
在 此 情 況 下 , 需 新 增 目 錄 項 目 到 設 定 檔 中 。<br />
b 您 可 能 需 <strong>Panel</strong> 使 用 者 存 取 自 訂 APS 目 錄 , 而 不 是 <strong>Panel</strong> 預 設 提 供 的 項 目 。<br />
在 此 情 況 下 , 需 新 增 目 錄 項 目 到 設 定 檔 中 , 可 以 移 除 現 有 項 目 。<br />
c 您 可 能 不 希 望 <strong>Panel</strong> 使 用 者 存 取 任 何 APS 目 錄 。<br />
在 此 情 況 下 , 需 從 設 定 檔 中 移 除 所 有 項 目 。<br />
若 要 變 更 可 用 APS 目 錄 清 單 , 請 執 行 下 列 操 作 :<br />
1 按 需 要 修 改 APS 目 錄 樣 本 ( 第 39 頁 )。<br />
2 匯 入 設 定 檔 到 <strong>Panel</strong> 中 。<br />
快 速 連 結<br />
使 用 遠 端 API 定 義 可 用 的 APS 目 錄 ( 第 120 頁 )<br />
使 用 CLI 定 義 可 用 的 APS 目 錄 ( 第 183 頁 )
安 裝 操 作 概 要 39<br />
本 節 內 容<br />
APS 目 錄 設 定 檔 ................................................................................................ 39<br />
APS 目 錄 設 定 檔<br />
APS 目 錄 設 定 檔 是 格 式 如 下 的 設 定 檔 :<br />
[apscatalog]<br />
; 作 為 內 部 識 別 碼 服 務 APS 應 用 程 式 資 源 的 關 鍵 字 。<br />
type = apscatalog<br />
;APS 應 用 程 式 資 源 類 型 定 義 , 可 以 是 商 城 或 apscatalog<br />
; 商 城 是 用 於 表 示 應 用 程 式 商 城 服 務 的 類 型<br />
;apscatalog 是 可 用 於 任 何 APS 目 錄 的 一 般 類 型 ( 正 式 APS 目 錄 服 務 和 本 機 鏡 像 )<br />
url = http://apscatalog.com<br />
;APS 應 用 程 式 資 源 URL<br />
[marketplace]<br />
type = marketplace<br />
url = http://catalog.marketplace.parallels.com<br />
protocol = all-app<br />
[APSCatalogLocalMirror]<br />
type = apscatalog<br />
name.en-US = "APS Catalog (local)"<br />
;APS 應 用 程 式 資 源 標 題 會 顯 示 在 相 應 語 言 的 <strong>Panel</strong> GUI 中<br />
description.en-US = "Local instance of APS catalog"<br />
;APS 應 用 程 式 資 源 描 述 會 顯 示 在 相 應 語 言 的 <strong>Panel</strong> GUI 中<br />
url = apscatalog.example.com<br />
若 要 變 更 <strong>Panel</strong> 使 用 者 可 用 的 APS 目 錄 , 編 輯 設 定 檔 並 匯 入 到 <strong>Panel</strong>。
第 5 章<br />
透 過 遠 端 API 設 定<br />
本 章 闡 述 如 何 透 過 <strong>Panel</strong> 的 遠 端 API 設 定 <strong>Panel</strong>。<br />
使 用 遠 端 API 章 節 ( 第 41 頁 ) 包 括 API RPC 協 議 概 要 和 用 於 透 過 協 議 與 <strong>Panel</strong> 管 理 的 伺<br />
服 器 通 訊 的 工 具 樣 本 。<br />
設 定 <strong>Panel</strong> 章 節 ( 第 70 頁 ) 描 述 協 力 廠 商 工 具 應 執 行 <strong>Panel</strong> 設 定 操 作 的 請 求 資 訊 詳 情 ,<br />
以 及 從 每 個 操 作 返 回 的 回 應 資 訊 。<br />
本 章 內 容 :<br />
使 用 遠 端 API ..................................................................................................... 41<br />
設 定 <strong>Panel</strong> ......................................................................................................... 70
透 過 遠 端 API 設 定 41<br />
使 用 遠 端 API<br />
本 章 闡 述 <strong>Panel</strong> 遠 端 API 的 定 義 、 操 作 , 以 及 如 何 建 立 透 過 遠 端 API 與 <strong>Panel</strong> 通 訊 的 用 戶 端 應<br />
用 程 式 。<br />
本 節 內 容<br />
關 於 遠 端 API ..................................................................................................... 41<br />
API RPC 封 包 .................................................................................................... 42<br />
建 立 客 戶 軟 體 ..................................................................................................... 45<br />
關 於 遠 端 API<br />
若 要 支 援 <strong>Panel</strong> 與 協 力 廠 商 軟 體 之 間 的 通 訊 ,<strong>Panel</strong> 提 供 基 於 XML 的 API。 此 介 麵 包 括 管 理 <strong>Panel</strong><br />
邏 輯 物 件 的 功 能 設 定 。API RPC 協 議 可 以 遠 端 呼 叫 API 功 能 。 此 XML-over-HTTP 協 議 透 過 指<br />
定 格 式 的 封 包 交 換 資 料 。<br />
<strong>Panel</strong> 與 協 力 廠 商 軟 體 之 間 的 互 動 基 於 用 戶 端 伺 服 器 編 程 模 式 。<br />
表 1: <strong>Parallels</strong> <strong>Panel</strong> 與 協 力 廠 商 客 戶 軟 體 之 間 的 通 訊<br />
伺 服 器 部 分 由 <strong>Panel</strong> API RPC 伺 服 器 代 表 ( 以 下 稱 為 此 伺 服 器 ),<strong>Panel</strong> 的 一 部 分 。 用 戶 端 軟 體<br />
應 由 協 力 廠 商 建 立 。 通 訊 場 景 如 下 :<br />
1 用 戶 端 應 用 程 式 組 成 了 基 於 XML 的 請 求 封 包 ( 以 下 稱 為 API RPC 封 包 或 此 封 包 ), 新 增 標<br />
準 HTTP 標 頭 , 併 發 送 給 伺 服 器 。<br />
2 伺 服 器 接 收 封 包 , 驗 證 封 包 , 並 呼 叫 內 容 <strong>Panel</strong> 功 能 執 行 所 需 操 作 。<br />
3 伺 服 器 發 迴 回 應 封 包 , 包 括 所 執 行 操 作 的 詳 細 資 訊 。<br />
4 客 戶 接 收 到 結 果 封 包 ( 操 作 狀 態 、 可 能 的 錯 誤 資 訊 或 操 作 參 數 ) 並 檢 索 資 訊 。<br />
通 訊 終 止 。<br />
支 援 的 API 版 本<br />
當 前 版 <strong>Panel</strong> 僅 支 援 1.6.2.0 版 API RPC 協 議 。
42 透 過 遠 端 API 設 定<br />
API RPC 封 包<br />
API RPC 封 包 是 包 含 在 HTTP 郵 件 內 文 中 的 簡 易 XML 檔 案 。<br />
區 別 下 面 兩 種 封 包 :<br />
• 申 請 封 包 - 用 戶 端 軟 體 透 過 遠 端 API 發 送 給 伺 服 器<br />
• 回 應 封 包 - 伺 服 器 發 給 客 戶<br />
回 應 封 包 包 含 所 請 求 操 作 的 執 行 狀 態 , 若 操 作 失 敗 , 還 會 包 含 錯 誤 資 訊 。<br />
本 節 內 容<br />
封 包 結 構 ............................................................................................................ 42<br />
封 包 實 例 ............................................................................................................ 43<br />
封 包 驗 證 ............................................................................................................ 44<br />
封 包 結 構<br />
區 分 下 列 兩 個 API RPC 封 包 組 件 :<br />
1 HTTP 標 頭 - 傳 送 部 分 。 除 標 準 資 訊 之 外 , 還 需 包 含 要 在 其 中 執 行 操 作 的 伺 服 器 資 料 , 以 及<br />
<strong>Panel</strong> 管 理 員 憑 據 。<br />
2 封 包 標 頭 指 定 API RPC 協 議 版 本 。<br />
3 封 包 內 容 定 義 伺 服 器 要 執 行 的 操 作 。<br />
封 包 內 容 結 構 如 下 :<br />
<br />
<br />
…<br />
...<br />
…<br />
…<br />
<br />
<br />
本 範 例 展 示 封 包 內 容 的 基 本 結 構 , 內 含 一 個 [operator] 元 素 和 一 個 [operation] 元 素 。 在 特 定<br />
實 施 中 , 標 籤 [operator]、[operation]、[parameter] 會 被 真 正 的 運 算 子 、 操 作 和 參 數 取 代 。<br />
注 意 : 一 個 運 算 子 中 有 多 個 操 作 區 , 多 個 操 作 區 位 於 一 個 封 包 中 。<br />
一 下 ,XML 封 包 標 題 和 內 容 統 稱 為 封 包 。
透 過 遠 端 API 設 定 43<br />
封 包 實 例<br />
此 為 發 送 給 伺 服 器 的 申 請 API RPC 訊 息 :<br />
POST<br />
/enterprise/control/agent.php<br />
HTTP/1.1<br />
主 機 :10.58.83.1:8443<br />
接 受 :*/*<br />
HTTP_AUTH_LOGIN:admin<br />
HTTP_AUTH_PASSWD: 設 定<br />
Pragma:no-cache<br />
Content-Length:1398<br />
Content-Type:text/xml<br />
<br />
<br />
<br />
<br />
P4$$w0rd<br />
johndoe@example.com<br />
de-DE<br />
<br />
<br />
<br />
HTTP 標 頭<br />
HTTP 標 頭 表 示 在 POST 中 使 用 HTTP 方 式 , 處 理 代 理<br />
位 於 /enterprise/control/agent.php, ,TTP<br />
版 本 是 1.1。 主 機 元 素 指 訊 息 相 關 的 <strong>Panel</strong> 伺 服 器 IP 位<br />
址 和 連 接 埠 。HTTP_AUTH_LOGIN 和<br />
HTTP_AUTH_PASSWD 元 素 是 <strong>Panel</strong> 管 理 員 憑 證 。<br />
Content-Type 必 頇 是 "text/xml"。 訊 息 長 度 也 有 限 制<br />
。<br />
XML 部 分 開 頭<br />
封 包 標 題<br />
版 本 內 容 指 定 <strong>Panel</strong> API RPC 協 議 所 需 的 版 本 。<br />
封 包 內 容<br />
從 相 關 運 算 子 標 籤 開 始 。<br />
特 定 封 包 使 用 smb 運 算 子 來 初 始 化 新 近 安 裝 的 <strong>Panel</strong> 軟<br />
體 。initial_setup 節 點 上 的 元 素 包 括 初 始 化 <strong>Panel</strong> 所 需 的<br />
資 料 :<strong>Panel</strong> 管 理 員 的 郵 件 和 密 碼 , 以 及 面 板 語 言 。<br />
關 閉 封 包 的 追 蹤 標 籤<br />
請 求 封 包 和 回 應 封 包 結 構 類 似 , 但 它 們 的 HTTP 標 頭 和 內 容 不 同 。 伺 服 器 回 應 請 求 發 出 的 訊 息<br />
類 似 :<br />
HTTP/1.1 200 OK<br />
Transfer-Encoding:chunked<br />
Content-type:text/html<br />
日 期 :Fri, 03 Apr 2009 18:54:56 GMT<br />
伺 服 器 :sw-cp-server/1.0.0<br />
<br />
<br />
HTTP 伺 服 器 回 應 標 準 標 頭<br />
MIME 類 型 是 text/xml。 伺 服 器 元 素 顯 示 伺 服 器 上<br />
<strong>Panel</strong> 處 理 的 請 求 。<br />
有 效 XML 檔 案 標 準 標 頭<br />
XML 封 包 標 頭
44 透 過 遠 端 API 設 定<br />
<br />
<br />
<br />
ok<br />
<br />
<br />
<br />
<br />
封 包 內 容<br />
封 包 內 容 的 根 節 點 是 smb 運 算 子 。<br />
下 列 行 表 示 <strong>Panel</strong> 初 始 化 成 功 。<br />
關 閉 封 包 的 追 蹤 標 籤<br />
封 包 驗 證<br />
<strong>Panel</strong> API RPC 伺 服 器 處 理 成 代 理 設 定 - 或 運 算 子 - 由 代 理 工 具 管 理 。 每 個 代 理 的 邏 輯 區 處 理<br />
特 定 數 量 的 指 令 , 代 理 工 具 作 為 封 包 分 離 器 工 作 。<br />
此 外 , 代 理 工 具 與 多 個 XML 計 畫 檔 案 設 定 相 關 。 每 個 設 定 與 特 定 的 API RPC 版 本 相 關 。 每 個<br />
版 本 的 進 入 點 在 agent_input.xsd 檔 案 中 包 含 同 一 版 本 的 所 有 輸 入 計 畫 參 考 。<br />
<strong>Panel</strong> API RPC 伺 服 器 功 能 如 下 : 首 個 XML 封 包 , 其 HTTP 標 題 移 除 , 前 往 代 理 工 具 。 代 理 工<br />
具 從 封 包 標 頭 檢 索 API RPC 版 本 , 選 擇 合 適 的 XML 模 板 , 並 切 換 到 正 確 的 agent_input.xsd<br />
模 板 。 使 用 正 確 的 封 包 的 運 算 子 級 別 , 此 模 板 驗 證 封 包 的 運 算 子 級 別 。<br />
表 2: 伺 服 器 驗 證 封 包<br />
若 封 包 被 視 為 無 效 , 代 理 工 具 將 錯 誤 報 告 發 送 給 客 戶 。 若 封 包 的 所 有 元 素 驗 證 成 功 , 代 理 工 具<br />
檢 查 是 否 所 有 的 代 理 模 組 需 要 進 一 步 處 理 , 並 按 順 序 呼 叫 。<br />
呼 叫 的 每 個 代 理 ( 運 算 子 ) 接 收 到 運 算 子 封 包 部 分 , 解 析 並 呼 叫 內 部 功 能 , 並 將 指 令 執 行 結 果 返 回<br />
到 代 理 工 具 。
透 過 遠 端 API 設 定 45<br />
建 立 客 戶 軟 體<br />
客 戶 應 用 程 式 應 實 施 下 列 資 料 交 換 :<br />
• 轉 換 請 求 的 指 令 到 API RPC XML 封 包<br />
• 準 備 透 過 HTTP 交 付 封 包 , 併 發 送 給 <strong>Panel</strong><br />
• 從 <strong>Panel</strong> 接 收 回 應 , 並 從 封 包 獲 取 結 果 資 訊<br />
表 3: 用 戶 端 應 用 程 式 結 構<br />
上 圖 顯 示 客 戶 應 用 程 式 結 構 , 以 及 此 結 構 如 何 處 理 資 料 。 樣 本 應 用 程 式 的 每 個 模 組 處 理 特 定 工<br />
作 :<br />
1 XML 封 包 建 立 器 從 應 用 程 式 GUI 或 協 力 廠 商 模 組 接 受 指 令 。XML 封 包 建 立 器 包 含 每 個 已 知<br />
指 令 的 XML 指 令 轉 換 器 。 最 終 XML 封 包 格 式 與 客 戶 應 用 程 式 支 援 的 API RPC 版 本 完 全 相<br />
容 。<br />
2 HTTP 封 包 發 送 器 接 受 XML 封 包 。 此 封 包 不 包 含 目 的 伺 服 器 相 關 的 任 何 資 訊 和 存 取 詳 情 ,<br />
因 此 HTTP 封 包 發 送 者 可 以 存 放 這 些 設 定 , 或 按 需 要 取 用 。HTTP 封 包 發 送 器 在 <strong>Panel</strong> 使 用<br />
者 登 入 憑 據 中 加 入 HTTP 標 題 , 並 透 過 API RPC 協 議 將 封 包 發 送 給 <strong>Panel</strong> API RPC 伺 服 器 。<br />
3 HTTP 封 包 接 收 器 從 伺 服 器 獲 取 最 終 HTTP 封 包 , 移 除 HTTP 標 題 , 並 移 動 XML 回 應 到 XML<br />
封 包 解 析 器 。<br />
4 XML 封 包 解 析 器 分 析 回 應 XML 封 包 的 執 行 狀 態 , 若 結 果 為 負 則 會 生 成 錯 誤 訊 息 。 然 後 將 提<br />
取 和 處 理 的 資 料 返 回 給 GUI 或 呼 叫 模 組 。<br />
上 圖 顯 示 HTTP 操 作 部 分 的 HTTP 庫 。 這 些 操 作 可 從 頭 進 行 , 較 快 的 方 法 是 使 用 就 緒 並 經 過 測<br />
詴 的 HTTP 庫 。 分 開 HTTP 發 送 器 和 HTTP 接 收 器 是 有 條 件 的 : 僅 當 需 要 分 開 發 送 和 接 收 HTTP<br />
圖 形 操 作 時 才 執 行 此 操 作 。
46 透 過 遠 端 API 設 定<br />
本 節 內 容<br />
建 立 申 請 封 包 ..................................................................................................... 46<br />
發 送 請 求 資 訊 ..................................................................................................... 47<br />
解 析 回 應 ............................................................................................................ 49<br />
處 理 錯 誤 ............................................................................................................ 51<br />
客 戶 碼 範 例 ........................................................................................................ 52<br />
建 立 申 請 封 包<br />
請 求 API RPC 封 包 , 客 戶 從 GUI 或 軟 體 模 組 獲 取 指 令 對 一 或 多 個 <strong>Panel</strong> 物 件 執 行 操 作 。 此 應<br />
用 程 式 會 將 請 求 的 指 令 轉 換 成 與 <strong>Panel</strong> XML API 相 容 的 XML 封 包 格 式 。<br />
若 要 實 施 XML 封 包 轉 換 器 指 令 , 瞭 解 API RPC 架 構 , 以 及 如 何 透 過 <strong>Panel</strong> 伺 服 器 處 理 ( 第 42<br />
頁 )。<br />
若 要 新 增 建 立 的 請 求 封 包 驗 證 到 轉 換 器 , 從 <strong>Panel</strong> 安 裝 即 使 用 XML 模 板 檔 案 設 定 :<br />
PRODUCT_ROOT_D/admin/htdocs/schemas/rpc/1.6.2.0 - Linux/Unix 其 中<br />
PRODUCT_ROOT_D 定 義 <strong>Panel</strong> 安 裝 目 錄 。<br />
%plesk_dir%\admin\htdocs\schemas\rpc\1.6.2.0 - Windows 其 中 %plesk_dir%<br />
定 義 <strong>Panel</strong> 安 裝 目 錄 。 確 定 使 用 agent_input.xsd 作 為 驗 證 輸 入 點 。
透 過 遠 端 API 設 定 47<br />
發 送 請 求 資 訊<br />
<strong>Panel</strong> API RPC 封 包 就 緒 後 , 應 移 除 HTTP 標 頭 , 併 發 送 到 指 定 伺 服 器 。 若 要 執 行 這 些 工 作 ,<br />
建 議 使 用 HTTP/FTP 客 戶 庫 。 本 章 闡 述 如 何 使 用 CURL 在 PHP 中 完 成 此 操 作 - PHP 4.0.2 或<br />
更 高 版 本 支 援 的 免 費 、 開 源 用 戶 端 URL 傳 輸 庫 。<br />
若 要 建 立 HTTP 標 題 ,CURL 工 具 需 要 下 列 參 數 :<br />
• 目 的 伺 服 器 URL 格 式 如 下 :<br />
定 義 (‘HOST’, ’10.58.97.81’);<br />
定 義 (‘PORT’, 8443);<br />
定 義 (‘PATH’, ’enterprise/control/agent.php’);<br />
…<br />
$url = ‘https://’ .HOST .‘:’ . PORT .‘/’ . PATH;<br />
• 標 題 元 素 佇 列 如 下 :<br />
$headers = array(<br />
‘HTTP_AUTH_LOGIN:admin’,<br />
‘HTTP_AUTH_PASSWD:setup’,<br />
‘Content-Type:text/xml’<br />
);<br />
然 後 CURL 工 具 初 始 化 , 並 設 定 使 用 HTTPS, 並 傳 送 來 所 需 的 HTTP 標 頭 :<br />
// initialize the curl engine<br />
$ch = curl_init();<br />
// set the curl options:<br />
// do not check the name of SSL certificate of the remote server curl_setopt($ch,<br />
CURLOPT_SSL_VERIFYHOST, 0);<br />
// do not check up the remote server certificate curl_setopt($ch,<br />
CURLOPT_SSL_VERIFYPEER, false);<br />
// pass in the header elements curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);<br />
// pass in the url of the target server<br />
curl_setopt($ch, CURLOPT_URL, $url);<br />
CURL 工 具 所 需 的 另 一 個 參 數 是 <strong>Panel</strong> API RPC 封 包 。 封 包 範 例 如 下 :<br />
$packet =
48 透 過 遠 端 API 設 定<br />
現 在 示 意 CURL 工 具 從 伺 服 器 接 收 請 求 , 接 受 要 交 付 的 封 包 , 開 始 遷 移 :<br />
// 示 意 CURL 返 回 結 果 , 而 不 是 載 入 結 果 到 瀏 覽 器 中<br />
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br />
// 接 受 要 交 付 的 封 包<br />
curl_setopt($ch, CURLOPT_POSTFIELDS, $packet);<br />
// 執 行 CURL 請 求 並 返 回 結 果<br />
$retval = curl_exec($ch);<br />
// 關 閉 CURL 工 作 階 段<br />
curl_close($ch);<br />
執 行 請 求 後 ,CURL 在 用 戶 端 獲 取 最 終 HTTP 封 包 , 移 除 HTTP 標 頭 ,$retval 參 數 獲 取 ’ 回<br />
應 ’ 封 包 的 XML 部 分 。
透 過 遠 端 API 設 定 49<br />
解 析 回 應<br />
您 可 以 使 用 任 一 HTTP/FTP 客 戶 庫 傳 輸 請 求 到 <strong>Panel</strong>, 並 獲 取 結 果 。 多 數 情 況 下 , 最 終 HTTP<br />
封 包 結 構 , 參 閱 封 包 結 構 章 節 ( 第 42 頁 )。 若 使 用 CURL 工 具 , 返 回 的 最 終 結 果 是 純 XML 格<br />
式 。<br />
<strong>Panel</strong> API RPC 伺 服 器 返 回 的 純 XML 封 包 由 XML 模 板 定 義 。<br />
封 包 是 每 個 回 應 XML 封 包 的 根 節 點 , 版 本 內 容 返 回 伺 服 器 上 執 行 的 <strong>Panel</strong> API RPC 協 議 版 本<br />
。<br />
特 定 運 算 子 包 含 封 包 回 應 , 或 返 回 的 系 統 <strong>Panel</strong> 應 用 程 式 錯 誤 。<br />
有 關 系 統 和 輸 出 節 點 方 式 相 關 資 訊 , 參 閱 處 理 錯 誤 章 節 ( 第 51 頁 )。<br />
若 要 瞭 解 回 應 結 構 , 則 需 agent_output.xsd 模 板 。 此 模 板 列 舉 指 定 API RPC 版 本 支 援 的 所<br />
有 運 算 子 回 應 資 料 類 型 , 說 明 符 合 這 些 操 作 的 輸 出 模 板 。<br />
回 應 封 包 的 每 個 [operator] 元 素 中 , 典 型 的 回 應 資 料 類 型 包 含 一 或 多 個 結 果 元 素 。 此 元 素 由 複<br />
雜 類 型 表 示 , 通 常 包 含 common.xsd 模 板 中 定 義 的 類 型 resultType:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
結 果 元 素 也 包 含 可 選 元 素 , 若 在 複 雜 類 型 中 定 義 。<br />
一 般 ,<strong>Panel</strong> API RPC 伺 服 器 返 回 的 封 包 格 式 類 似 於 :<br />
50 透 過 遠 端 API 設 定<br />
<br />
<br />
<br />
<br />
...<br />
<br />
[<br />
<br />
...<br />
<br />
...<br />
<br />
...<br />
<br />
]<br />
<br />
<br />
<br />
此 處 [operator] 指 請 求 封 包 中 所 用 的 運 算 子 ,[operation] 指 執 行 的 操 作 。RESULT 元 素 總 是<br />
用 於 隔 開 請 求 資 訊 和 操 作 執 行 狀 態 。RESULT 部 分 包 含 表 示 操 作 執 行 狀 態 的 STATUS 元 素 。<br />
注 意 : 若 多 個 操 作 請 求 一 個 輸 入 封 包 , 真 實 回 應 XML 套 裝 程 式 在 一 個 運 算 子 中 包 含 多 個 操 作 ;<br />
若 多 個 面 板 物 件 需 要 多 個 輸 入 封 包 , 回 應 封 包 可 以 包 含 多 個 運 算 子 區 域 。
透 過 遠 端 API 設 定 51<br />
處 理 錯 誤<br />
伺 服 器 報 告 兩 類 客 戶 軟 體 錯 誤 , 檢 查 錯 誤 和 執 行 錯 誤 ( 若 執 行 請 求 的 操 作 )。<br />
若 出 現 錯 誤 ,<strong>Panel</strong> 管 理 的 伺 服 器 返 回 的 描 述 包 含 下 列 參 數 :<br />
• 狀 態 帶 值 " 錯 誤 "<br />
• 錯 誤 碼 – 錯 誤 碼 , 識 別 錯 誤 的 唯 一 數 字<br />
• 錯 誤 文 字 – 錯 誤 文 字 , 錯 誤 的 文 字 描 述<br />
common.xsd 模 板 中 的 類 型 resultType 或 按 錯 誤 類 型 定 義 錯 誤 描 述 ( 取 決 於 運 算 子 )。<br />
檢 查 錯 誤<br />
確 定 有 效 並 執 行 之 前 , 傳 入 在 伺 服 器 上 經 過 多 次 檢 查 的 HTTP 封 包 。 檢 查 包 括 :<br />
• HTTP-POST 標 頭 檢 查<br />
• 檢 查 指 定 的 API RPC 協 議 版 本 是 否 受 支 援<br />
• 檢 查 受 權 方 式 ( 登 入 憑 據 或 金 鑰 )<br />
• 檢 查 使 用 者 的 ‘remote_access_interface’ 權 限 狀 態<br />
• ...<br />
• 檢 查 封 包 是 否 有 效<br />
• 檢 查 當 前 版 <strong>Panel</strong> 中 的 所 需 代 理 是 否 可 用<br />
檢 查 若 失 敗 , 則 無 法 進 一 步 檢 查 或 執 行 指 令 。 若 伺 服 器 在 任 一 檢 查 步 驟 停 止 ( 如 尚 未 執 行 所 需<br />
操 作 ), 回 應 封 包 由 下 列 元 素 組 成 :<br />
• 系 統 包 含 錯 誤 描 述 ; 由 common.xsd 模 板 中 的 類 型 resultType 定 義<br />
• 輸 出 , 包 含 錯 誤 組 件 標 準 錯 誤 資 訊 的 可 選 元 素 ( 若 不 為 空 ); 由 plesk_common.xsd 模 板 中<br />
的 類 型 garbageOutput 定 義<br />
例 如 , 若 從 <strong>Panel</strong> API RPC 伺 服 器 接 到 回 應 , 嘗 詴 使 用 不 存 在 的 API RPC 協 議 版 本 , 結 果 類<br />
似 於 :<br />
<br />
<br />
error<br />
1005<br />
API RPC 協 議 版 本 不 受 支 援 。<br />
<br />
…<br />
<br />
執 行 錯 誤 碼<br />
若 所 有 檢 查 都 透 過 , 所 選 代 理 將 按 順 序 執 行 請 求 的 操 作 。 若 操 作 失 敗 , 相 關 代 理 報 告 執 行 錯<br />
誤 。 所 有 報 告 由 代 理 工 具 收 集 , 組 成 基 於 輸 出 XML 模 板 的 回 應 套 裝 程 式 。 如 若 建 立 網 站 失 敗 ,<br />
網 站 運 算 子 會 使 用 domain_output.xsd 模 板 生 成 錯 誤 回 應 :
52 透 過 遠 端 API 設 定<br />
<br />
<br />
<br />
<br />
error<br />
2300<br />
Failed to add domain.<br />
<br />
<br />
<br />
<br />
客 戶 碼 範 例<br />
本 章 介 紹 PHP,C# 和 VB.NET 中 的 客 戶 應 用 程 式 樣 本 , 演 示 如 何 使 用 API RPC 協 議 。<br />
本 節 內 容<br />
PHP 客 戶 應 用 程 式 ............................................................................................. 52<br />
C# Client Application ......................................................................................... 57<br />
VB.NET 客 戶 應 用 程 式 ....................................................................................... 63<br />
PHP 客 戶 應 用 程 式<br />
下 列 程 式 碼 樣 本 是 用 PHP 編 寫 的 即 用 型 客 戶 應 用 程 式 。<br />
注 意 : 若 要 使 用 此 樣 本 需 安 裝 PHP 4.0.2 或 更 高 版 本 。<br />
更 多 資 訊 , 請 存 取 http://php.net/manual/en/ref.dom.php 或<br />
http://php.net/manual/en/ref.curl.php。<br />
註 釋<br />
class<br />
ApiRequestException<br />
function<br />
domainsInfoRequest()<br />
延 伸 標 準 異 類 。 存 取<br />
http://www.php.net/manual/en/language.exceptions.php<br />
瞭 解 詳 情 。<br />
使 用 DOM 模 組 編 寫 XML 請 求 封 包 。 返 回 最 終 DOM 物 件 。<br />
function curlInit() 初 始 化 CURL 工 作 階 段 :<br />
CURLOPT_URL<br />
指 定 目 的 URL:
透 過 遠 端 API 設 定 53<br />
CURLOPT_RETURNTRANS<br />
FER<br />
CURLOPT_POST<br />
CURLOPT_SSL_VERIFYPE<br />
ER<br />
CURLOPT_SSL_VERIFYHO<br />
ST<br />
CURLOPT_HTTPHEADER<br />
設 定 成 true 表 示 將 從 伺 服<br />
器 返 回 字 串 格 式 的 最 終 輸<br />
出 。<br />
設 定 成 true 表 示 即 將 透 過<br />
HTTP POST 發 送 封 包 。<br />
設 定 成 false 讓 CURL 停 止<br />
驗 證 同 類 憑 證 。<br />
設 定 成 false 讓 CURL 停 止<br />
驗 證 主 機 。<br />
指 定 要 設 定 的 HTTP 標 頭<br />
欄 位 。<br />
返 回 URL 工 作 階 段 處 理 器 。<br />
function sendRequest()<br />
function parseResponse()<br />
function checkResponse()<br />
透 過 CURL 發 送 HTTP 封 包 , 並 獲 取 純 XML 回 應 封 包 ( 無<br />
需 HTTP 標 頭 )。 關 閉 CURL 工 作 階 段 , 返 回 最 終 封 包 ( 帶<br />
XML 標 籤 的 純 文 字 )。 有 關 CURL 工 具 的 更 多 資 訊 , 存 取<br />
http://www.php.net/manual/en/ref.curl.php。<br />
獲 取 回 應 封 包 ( 純 文 字 ) 參 數 。 使 用 SimpleXML 分 析 封<br />
包 , 返 回 SimpleXMLElement 物 件 。 有 關 PHP<br />
SimpleXML 延 伸 的 更 多 資 訊 , 存 取<br />
http://www.php.net/manual/en/ref.simplexml.php。<br />
獲 取 相 應 封 包 SimpleXMLEelement 並 檢 視 結 果 節 點 。 若<br />
節 點 ' 錯 誤 ', 則 函 數 出 現 異 常 , 字 串 傳 到 errtext 節 點 。<br />
main() 函 數 按 順 序 呼 叫 這 些 函 數 。 首 先 呼 叫 domainInfoRequest() 組 成 如 下 的 封 包 :<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
54 透 過 遠 端 API 設 定<br />
然 後 呼 叫 curlInit() 來 初 始 化 CURL 工 作 階 段 。sendRequest 函 數 發 送 HTTP 標 頭 如 下 的 封 包 :<br />
POST /enterprise/control/agent.php HTTP/1.1<br />
Host:10.58.32.100:8443<br />
HTTP_AUTH_LOGIN:login<br />
HTTP_AUTH_PASSWD:qwedsa<br />
HTTP_PRETTY_PRINT:TRUE<br />
Content-Length:294<br />
Content-Type:text/xml<br />
從 <strong>Panel</strong> 管 理 的 伺 服 器 接 收 到 的 回 應 XML 封 包 如 下 :<br />
<br />
<br />
<br />
<br />
<br />
ok<br />
1234<br />
<br />
<br />
1154513574<br />
example.com<br />
example<br />
64<br />
0<br />
46<br />
192.0.2.33<br />
none<br />
<br />
<br />
<br />
<br />
<br />
<br />
收 到 相 應 封 包 後 , 經 過 parseResponse() 函 數 解 析 , 循 環 執 行 iterator, 模 擬 結 果 節 點 上 的 內<br />
容 。<br />
程 式 碼 樣 本<br />
透 過 遠 端 API 設 定 55<br />
$xmldoc = new DomDocument('1.0', 'UTF-8');<br />
$xmldoc->formatOutput = true;<br />
// <br />
$packet = $xmldoc->createElement('packet');<br />
$packet->setAttribute('version', '1.6.2.0');<br />
$xmldoc->appendChild($packet);<br />
// <br />
$domain = $xmldoc->createElement('domain');<br />
$packet->appendChild($domain);<br />
// <br />
$get = $xmldoc->createElement('get');<br />
$domain->appendChild($get);<br />
}<br />
// <br />
$filter = $xmldoc->createElement('filter');<br />
$get->appendChild($filter);<br />
// <br />
$dataset = $xmldoc->createElement('dataset');<br />
$get->appendChild($dataset);<br />
// dataset elements<br />
$dataset->appendChild($xmldoc->createElement('hosting'));<br />
$dataset->appendChild($xmldoc->createElement('gen_info'));<br />
return $xmldoc;<br />
/**<br />
* Prepares CURL to perform the <strong>Panel</strong> API request<br />
* @return resource<br />
*/<br />
function curlInit($host, $login, $password)<br />
{<br />
$curl = curl_init();<br />
curl_setopt($curl, CURLOPT_URL,<br />
"https://{$host}:8443/enterprise/control/agent.php");<br />
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);<br />
curl_setopt($curl, CURLOPT_POST,<br />
true);<br />
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);<br />
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);<br />
curl_setopt($curl, CURLOPT_HTTPHEADER,<br />
array("HTTP_AUTH_LOGIN:{$login}",<br />
"HTTP_AUTH_PASSWD:{$password}",<br />
"HTTP_PRETTY_PRINT:TRUE",<br />
"Content-Type:text/xml")<br />
);<br />
}<br />
return $curl;<br />
/**<br />
* Performs a <strong>Panel</strong> API request, returns raw API response text<br />
*<br />
* @return string<br />
* @throws ApiRequestException<br />
*/<br />
function sendRequest($curl, $packet)<br />
{<br />
curl_setopt($curl, CURLOPT_POSTFIELDS, $packet);<br />
$result = curl_exec($curl);<br />
if (curl_errno($curl)) {<br />
$errmsg = curl_error($curl);
56 透 過 遠 端 API 設 定<br />
}<br />
$errcode = curl_errno($curl);<br />
curl_close($curl);<br />
throw new ApiRequestException($errmsg, $errcode);<br />
}<br />
curl_close($curl);<br />
return $result;<br />
/**<br />
* Looks if API responded with correct data<br />
*<br />
* @return SimpleXMLElement<br />
* @throws ApiRequestException<br />
*/<br />
function parseResponse($response_string)<br />
{<br />
$xml = new SimpleXMLElement($response_string);<br />
if (!is_a($xml, 'SimpleXMLElement'))<br />
throw new ApiRequestException("Cannot parse server<br />
response:{$response_string}");<br />
return $xml;<br />
}<br />
/**<br />
* Check data in API response<br />
* @return void<br />
* @throws ApiRequestException<br />
*/<br />
function checkResponse(SimpleXMLElement $response)<br />
{<br />
$resultNode = $response->domain->get->result;<br />
// check if request was successful<br />
if ('error' == (string)$resultNode->status)<br />
throw new ApiRequestException("The <strong>Panel</strong> API returned an error:"<br />
. (string)$resultNode->result->errtext);<br />
}<br />
//<br />
// int main()<br />
//<br />
$host = '10.58.32.100';<br />
$login = 'admin';<br />
$password = 'qwedsa';<br />
$curl = curlInit($host, $login, $password);<br />
try {<br />
$response = sendRequest($curl, domainsInfoRequest()->saveXML());<br />
$responseXml = parseResponse($response);<br />
checkResponse($responseXml);<br />
} catch (ApiRequestException $e) {<br />
echo $e;<br />
die();<br />
}<br />
// Explore the result<br />
foreach ($responseXml->xpath('/packet/domain/get/result') as $resultNode) {<br />
echo "Domain id:" . (string)$resultNode->id ." ";
透 過 遠 端 API 設 定 57<br />
echo (string)$resultNode->data->gen_info->name ." (" .<br />
(string)$resultNode->data->gen_info->dns_ip_address .")\n";<br />
}<br />
?><br />
C# Client Application<br />
下 列 程 式 碼 樣 本 是 用 C# 編 寫 的 即 用 型 客 戶 應 用 程 式 。<br />
註 釋<br />
類 Request 透 過 HTTP 發 送 請 求 到 <strong>Panel</strong> 管 理 的 伺 服 器 並 接 收 回 應 封 包 。 內 容 如 下 :<br />
公 共 字 串 主 機 名<br />
公 共 字 串 登 入<br />
公 共 字 串 密 碼<br />
請 求 封 包 要 發 送 到 的 <strong>Panel</strong> 管 理 的 伺 服 器 主 機 名<br />
(IP 位 址 )。 預 設 是 "localhost"。<br />
持 有 <strong>Panel</strong> 管 理 員 登 入 名 。 預 設 是 "admin"。<br />
持 有 預 設 管 理 員 的 密 碼 。 預 設 是 "setup"。<br />
公 共 字 串 協 議 持 有 與 <strong>Panel</strong> 互 動 的 API RPC 協 議 。<br />
public ValidationEventHandler<br />
XmlSchemaValidation<br />
公 共 字 串 AgentEntryPoint<br />
公 共 字 串 InputValidationSchema<br />
公 共 字 串 OutputValidationSchema<br />
public XmlDocument Send<br />
(XmlDocument)<br />
public XmlDocument Send<br />
(Stream)<br />
public XmlDocument Send<br />
(string)<br />
private HttpWebRequest<br />
SendRequest (string)<br />
private XmlDocument<br />
ParseAndValidate (TextReader,<br />
string)<br />
private XmlDocument GetResponse<br />
(HttpWebRequest)<br />
用 來 接 收 模 板 驗 證 錯 誤 的 處 理 器 。<br />
持 有 處 理 伺 服 器 上 請 求 封 包 的 <strong>Panel</strong> 代 理 URL。<br />
持 有 發 送 給 伺 服 器 之 前 套 用 到 請 求 封 包 的 驗 證 模 板<br />
URL。<br />
持 有 客 戶 接 受 之 後 要 套 用 到 回 應 封 包 的 驗 證 模 板<br />
URL。<br />
獲 取 請 求 封 包 ( 在 XmlDocument 物 件 表 單 中 ) 到 輸<br />
入 參 數 。 在 XmlDocument 物 件 表 單 中 發 送 請 求 , 獲<br />
取 回 應 。<br />
獲 取 請 求 封 包 ( 流 ) 到 輸 入 參 數 。 使 用<br />
agent_input.xsd 驗 證 模 板 驗 證 請 求 封 包 。 呼 叫<br />
Send(XmlDocument) 子 函 數 。<br />
獲 取 請 求 封 包 URI (XML 檔 案 ) 到 輸 入 參 數 。 使 用<br />
agent_input.xsd 驗 證 模 板 驗 證 請 求 封 包 。 呼 叫<br />
Send(XmlDocument) 子 函 數 。<br />
生 成 HTTP 請 求 : 將 HTTP 標 頭 和 連 續 XML 封 包 到<br />
HttpWebRequest 類 型 的 物 件 。 返 回 此 物 件 。<br />
獲 取 agent_input.xsd URI 和 字 串 閱 讀 器 ( 要<br />
驗 證 的 XML 封 包 URI) 到 輸 入 參 數 。 驗 證 封 包 , 並<br />
返 回 樹 狀 結 構 圖 (XmlDocument 物 件 )。<br />
獲 取 請 求 封 包 (HttpWebRequest 物 件 ) 到 輸 入 參<br />
數 。 透 過 HTTP 發 送 封 包 , 從 伺 服 器 接 收 回 應 封 包 ,<br />
使 用 agent_output.xsd 模 板 驗 證 , 並 返 回 樹 狀<br />
結 構 的 回 應 XML 封 包 (XmlDocument 物 件 )。
58 透 過 遠 端 API 設 定<br />
類 Program 執 行 ' 客 戶 ' 控 制 台 應 用 程 式 。<br />
static void Main (string[])<br />
private static bool<br />
RemoteCertificateValidation<br />
(object, X509Certificate,<br />
X509Chain, SslPolicyErrors)<br />
private static void<br />
XmlSchemaValidation (object,<br />
ValidationEventArgs)<br />
static void<br />
PrintResult(XmlDocument)<br />
<strong>Panel</strong>ApiRpcClient 應 用 程 式 進 入 點 。 獲 取 函 數 佇<br />
列 ( 字 串 ) 到 輸 入 參 數 。 選 項 有 :<br />
[0] - <strong>Panel</strong> 管 理 的 伺 服 器 主 機 名 (IP 位 址 )<br />
[1] - <strong>Panel</strong> 管 理 員 登 入 名<br />
[2] - <strong>Panel</strong> 管 理 員 密 碼<br />
[3] - 所 用 的 API RPC 協 議<br />
[4] - 內 有 XML 請 求 封 包 的 XML 檔 案 。<br />
函 數 生 成 請 求 類 封 包 ( 如 上 所 示 ), 驗 證 , 發 送 請 求<br />
到 <strong>Panel</strong>, 然 後 列 印 出 最 終 XML 封 包 。<br />
函 數 驗 證 遠 端 SSL 憑 證 來 授 權 伺 服 器 。 若 伺 服 器 未<br />
經 授 權 , 返 回 false。<br />
驗 證 錯 誤 事 件 處 理 器 。<br />
函 數 輸 出 回 應 封 包 (XmlDocument 物 件 ) 到 控 制 台<br />
。
透 過 遠 端 API 設 定 59<br />
可 從 指 令 行 啟 動 客 戶 應 用 程 式 :<br />
<strong>Panel</strong>ApiRpcClient 192.0.2.168 admin_login admin_passwd 1.6.2.0<br />
"c:\requests\AddNewDomain.xml"<br />
請 求 封 包 川 到 AddNewDomain.xml 檔 案 :<br />
<br />
<br />
<br />
<br />
<br />
example.com<br />
192.0.2.48<br />
<br />
<br />
<br />
<br />
ftp_login<br />
fpt16se4fdf0<br />
<br />
<br />
ftp_password<br />
qweqwe<br />
<br />
192.0.2.48<br />
<br />
<br />
<br />
<br />
<br />
從 管 理 的 伺 服 器 接 收 到 的 回 應 封 包 如 下 :<br />
<br />
<br />
<br />
<br />
<br />
ok<br />
6<br />
5c0e3881-22a2-4401-bcc0-881d691bfdef<br />
<br />
<br />
<br />
<br />
此 封 包 返 回 add 操 作 結 果 , 以 及 剛 建 立 網 站 的 ID 和 GUID。<br />
程 式 碼 樣 本<br />
使 用 系 統 ;<br />
使 用 System.Net;<br />
使 用 System.Text;<br />
使 用 System.IO;<br />
使 用 System.Xml;<br />
使 用 System.Xml.Schema;<br />
使 用 System.Security.Cryptography.X509Certificates;
60 透 過 遠 端 API 設 定<br />
使 用 System.Net.Security;<br />
命 名 空 間 <strong>Panel</strong>ApiRpcClient<br />
{<br />
公 共 類 請 求<br />
{<br />
// Public interface<br />
//<br />
public string Hostname = "localhost"; // <strong>Panel</strong> Hostname<br />
public string Login = "admin_login"; //<br />
Administrator's Login<br />
public string Password = "admin_passwd"; //<br />
Administrator's Password<br />
public string Protocol = "1.6.2.0"; // API RPC Version<br />
Protocol.<br />
(DTD),<br />
(XSD)<br />
// Handler for receiving information about document type definition<br />
// XML-Data Reduced (XDR) schema, and XML Schema definition language<br />
// schema validation errors.<br />
public ValidationEventHandler XmlSchemaValidation = null;<br />
public Request()<br />
{<br />
}<br />
public string AgentEntryPoint { get { return "https://" +<br />
Hostname + ":8443/enterprise/control/agent.php"; } }<br />
public string InputValidationSchema { get { return "https://" +<br />
Hostname + ":8443/schemas/rpc/" + Protocol + "/agent_input.xsd"; } }<br />
public string OutputValidationSchema { get { return "https://" +<br />
Hostname + ":8443/schemas/rpc/" + Protocol + "/agent_output.xsd"; } }<br />
public XmlDocument Send(XmlDocument packet)<br />
{<br />
HttpWebRequest request = SendRequest(packet.OuterXml);<br />
XmlDocument result = GetResponse(request);<br />
return result;<br />
}<br />
public XmlDocument Send(Stream packet)<br />
{<br />
using (TextReader reader = new StreamReader(packet))<br />
{<br />
return Send(ParseAndValidate(reader,<br />
InputValidationSchema));<br />
}<br />
}<br />
public XmlDocument Send(string packetUri)<br />
{<br />
using (TextReader reader = new StreamReader(packetUri))<br />
{<br />
return Send(ParseAndValidate(reader,<br />
InputValidationSchema));<br />
}<br />
}<br />
// Private interface<br />
//<br />
// Sending a request message
透 過 遠 端 API 設 定 61<br />
//<br />
private HttpWebRequest SendRequest(string message)<br />
{<br />
HttpWebRequest request =<br />
(HttpWebRequest)WebRequest.Create(AgentEntryPoint);<br />
request.Method = "POST";<br />
request.Headers.Add("HTTP_AUTH_LOGIN", Login);<br />
request.Headers.Add("HTTP_AUTH_PASSWD", Password); request.ContentType =<br />
"text/xml"; request.ContentLength = message.Length;<br />
ASCIIEncoding encoding = new ASCIIEncoding(); byte[] buffer<br />
= encoding.GetBytes(message);<br />
using (Stream stream = request.GetRequestStream())<br />
{<br />
stream.Write(buffer, 0, message.Length);<br />
}<br />
}<br />
return request;<br />
// Parsing and validating packet<br />
//<br />
private XmlDocument ParseAndValidate(TextReader xml, string<br />
schemaUri)<br />
{<br />
XmlSchemaSet schemas = new XmlSchemaSet();<br />
schemas.Add(null, schemaUri);<br />
XmlReaderSettings settings = new XmlReaderSettings(); if<br />
(XmlSchemaValidation != null)<br />
settings.ValidationEventHandler += new<br />
ValidationEventHandler(XmlSchemaValidation);<br />
settings.ValidationType = ValidationType.Schema;<br />
settings.ValidationFlags |=<br />
XmlSchemaValidationFlags.ProcessSchemaLocation;<br />
settings.Schemas = schemas;<br />
XmlDocument document = new XmlDocument();<br />
using (XmlReader reader = XmlTextReader.Create(xml,<br />
settings))<br />
{<br />
document.Load(reader);<br />
}<br />
return document;<br />
}<br />
private XmlDocument GetResponse(HttpWebRequest request)<br />
{<br />
using (HttpWebResponse response =<br />
(HttpWebResponse)request.GetResponse())<br />
using (Stream stream = response.GetResponseStream())<br />
using (TextReader reader = new StreamReader(stream))<br />
{<br />
return ParseAndValidate(reader,<br />
OutputValidationSchema);<br />
}<br />
}<br />
}<br />
class Program<br />
{<br />
static void Main(string[] args)<br />
{
62 透 過 遠 端 API 設 定<br />
if (args.Length < 5)<br />
{<br />
Console.WriteLine("Usage:<strong>Panel</strong>ApiRpcClient<br />
");<br />
Console.WriteLine(" ");<br />
Console.WriteLine(" Hostname - <strong>Panel</strong> host name");<br />
Console.WriteLine(" Login - Administrator's<br />
login");<br />
Console.WriteLine(" Password - Administrator's<br />
password");<br />
Console.WriteLine(" Protocol - API RPC protocol<br />
version");<br />
Console.WriteLine(" Request - Request file path<br />
(*.xml)");<br />
return;<br />
}<br />
// Verifies the remote Secure Sockets Layer (SSL) certificate<br />
// used for authentication.<br />
ServicePointManager.ServerCertificateValidationCallback =<br />
new<br />
RemoteCertificateValidationCallback(RemoteCertificateValidation);<br />
Request request = new Request(); request.XmlSchemaValidation<br />
= XmlSchemaValidation;<br />
request.Hostname = args[0]; // "10.49.8.120";<br />
request.Login = args[1]; // "admin";<br />
request.Password = args[2]; // "setup";<br />
request.Protocol = args[3]; // "1.6.2.0";<br />
string packet<br />
= args[4]; // "request.xml";<br />
}<br />
try<br />
{<br />
XmlDocument result = request.Send(packet);<br />
PrintResult(result);<br />
}<br />
catch (Exception e)<br />
{<br />
Console.WriteLine("Request error:{0}", e.Message);<br />
}<br />
// The following method is invoked by the<br />
RemoteCertificateValidationDelegate.<br />
private static bool RemoteCertificateValidation(object sender,<br />
X509Certificate certificate, X509Chain chain,<br />
SslPolicyErrors sslPolicyErrors)<br />
{<br />
if (sslPolicyErrors !=<br />
SslPolicyErrors.RemoteCertificateNotAvailable)<br />
return true;<br />
Console.WriteLine("Certificate error:{0}",<br />
sslPolicyErrors);<br />
// Do not allow this client to communicate with<br />
unauthenticated servers.<br />
return false;<br />
}<br />
//<br />
private static void XmlSchemaValidation(object sender,<br />
ValidationEventArgs e)
透 過 遠 端 API 設 定 63<br />
{<br />
}<br />
Console.WriteLine("Validation error:{0}", e.Message);<br />
}<br />
}<br />
static void PrintResult(XmlDocument document)<br />
{<br />
XmlTextWriter writer = new XmlTextWriter(Console.Out);<br />
writer.Formatting = Formatting.Indented;<br />
document.WriteTo(writer);<br />
writer.Flush();<br />
Console.WriteLine();<br />
}<br />
VB.NET 客 戶 應 用 程 式<br />
下 列 程 式 碼 樣 本 是 用 VB.NET 編 寫 的 即 用 型 客 戶 應 用 程 式 。<br />
註 釋<br />
類 Request 透 過 HTTP 發 送 請 求 到 <strong>Panel</strong> 管 理 的 伺 服 器 並 接 收 回 應 封 包 。 內 容 如 下 :<br />
公 共 字 串 主 機 名<br />
公 共 字 串 登 入<br />
公 共 字 串 密 碼<br />
請 求 封 包 要 發 送 到 的 <strong>Panel</strong> 管 理 的 伺 服 器 主 機 名 (IP<br />
位 址 )。 預 設 是 "localhost"。<br />
持 有 <strong>Panel</strong> 管 理 員 登 入 名 。 預 設 是 "admin"。<br />
持 有 預 設 管 理 員 的 密 碼 。 預 設 是 "setup"。<br />
公 共 字 串 協 議 持 有 與 <strong>Panel</strong> 互 動 的 API RPC 協 議 。<br />
public XmlSchemaValidation 用 來 接 收 模 板 驗 證 錯 誤 的 處 理 器 。<br />
Public ReadOnly Property<br />
AgentEntryPoint<br />
Public ReadOnly Property<br />
InputValidationSchema<br />
Public ReadOnly Property<br />
OutputValidationSchema<br />
Public Function Send(ByVal<br />
packet As XmlDocument)<br />
Public Function Send(ByVal<br />
packet As Stream)<br />
Public Function Send(ByVal<br />
packetUri As String)<br />
持 有 處 理 伺 服 器 上 請 求 封 包 的 <strong>Panel</strong> 代 理 URL。<br />
持 有 發 送 給 伺 服 器 之 前 套 用 到 請 求 封 包 的 驗 證 模 板<br />
URL。<br />
持 有 客 戶 接 受 之 後 要 套 用 到 回 應 封 包 的 驗 證 模 板<br />
URL。<br />
獲 取 請 求 封 包 ( 在 XmlDocument 物 件 表 單 中 ) 到 輸<br />
入 參 數 。 在 XmlDocument 物 件 表 單 中 發 送 請 求 , 獲<br />
取 回 應 。<br />
獲 取 請 求 封 包 ( 流 ) 到 輸 入 參 數 。Validates the<br />
request packet using the validation schema. 呼 叫<br />
Send(XmlDocument) 子 函 數 。<br />
獲 取 請 求 封 包 URI (XML 檔 案 ) 到 輸 入 參 數 。<br />
Validates the request packet using the validation<br />
schema. 呼 叫 Send(XmlDocument) 子 函 數 。
64 透 過 遠 端 API 設 定<br />
Private Function<br />
SendRequest(ByVal message As<br />
String)<br />
Private Function<br />
ParseAndValidate(ByVal xml As<br />
TextReader, ByVal schemaUri As<br />
String)<br />
Private Function<br />
GetResponse(ByVal request As<br />
HttpWebRequest)<br />
生 成 HTTP 請 求 : 將 HTTP 標 頭 和 連 續 XML 封 包 到<br />
HttpWebRequest 類 型 的 物 件 。 返 回 此 物 件 。<br />
獲 取 驗 證 模 板 URI 和 字 串 閱 讀 器 ( 要 驗 證 的 XML 封<br />
包 URI) 到 輸 入 參 數 。 驗 證 封 包 , 並 返 回 樹 狀 結 構 圖<br />
(XmlDocument 物 件 )。<br />
獲 取 請 求 封 包 (HttpWebRequest 物 件 ) 到 輸 入 參<br />
數 。 透 過 HTTP 發 送 封 包 , 從 伺 服 器 接 收 回 應 封 包 ,<br />
使 用 模 板 驗 證 , 並 返 回 樹 狀 結 構 的 回 應 XML 封 包<br />
(XmlDocument 物 件 )。
透 過 遠 端 API 設 定 65<br />
類 Program 執 行 ' 客 戶 ' 控 制 台 應 用 程 式 。<br />
Shared Sub Main(ByVal args As<br />
String())<br />
Private Shared Function<br />
RemoteCertificateValidation(<br />
ByVal sender As Object, ByVal<br />
certificate As<br />
X509Certificate, ByVal chain<br />
As X509Chain, ByVal<br />
sslPolicyErrors As<br />
SslPolicyErrors)<br />
<strong>Panel</strong>ApiRpcClient 應 用 程 式 進 入 點 。 獲 取 函 數<br />
佇 列 ( 字 串 ) 到 輸 入 參 數 。 選 項 有 :<br />
[0] - <strong>Panel</strong> 管 理 的 伺 服 器 主 機 名 (IP 位 址 )<br />
[1] - <strong>Panel</strong> 管 理 員 登 入 名<br />
[2] - <strong>Panel</strong> 管 理 員 密 碼<br />
[3] - 所 用 的 API RPC 協 議<br />
[4] - 內 有 XML 請 求 封 包 的 XML 檔 案 。<br />
函 數 生 成 請 求 類 封 包 ( 如 上 所 示 ), 驗 證 , 發 送 請<br />
求 到 <strong>Panel</strong>, 然 後 列 印 出 最 終 XML 封 包 。<br />
函 數 驗 證 遠 端 SSL 憑 證 來 授 權 伺 服 器 。 若 伺 服<br />
器 未 經 授 權 , 返 回 false。<br />
Private Shared Sub<br />
XmlSchemaValidation(ByVal<br />
sender As Object, ByVal e As<br />
ValidationEventArgs)<br />
驗 證 錯 誤 事 件 處 理 器 。<br />
Private Shared Sub<br />
PrintResult(ByVal document As<br />
XmlDocument)<br />
函 數 輸 出 回 應 封 包 (XmlDocument 物 件 ) 到 控<br />
制 台 。<br />
可 從 指 令 行 啟 動 客 戶 應 用 程 式 :<br />
<strong>Panel</strong>ApiRpcClient 192.0.2.168 admin_login admin_passwd 1.6.2.0<br />
"c:\requests\request.xml"<br />
請 求 封 包 川 到 request.xml 檔 案 :<br />
<br />
<br />
<br />
<br />
<br />
example.com<br />
192.0.2.48<br />
66 透 過 遠 端 API 設 定<br />
<br />
<br />
<br />
ftp_login<br />
fp16se4fdf0<br />
<br />
<br />
ftp_password<br />
qweqwe<br />
<br />
192.0.2.48<br />
<br />
<br />
<br />
<br />
<br />
從 管 理 的 伺 服 器 接 收 到 的 回 應 封 包 如 下 :<br />
<br />
<br />
<br />
<br />
<br />
ok<br />
6<br />
5c0e3881-22a2-4401-bcc0-881d691bfdef<br />
<br />
<br />
<br />
<br />
此 封 包 返 回 add 操 作 結 果 , 以 及 剛 建 立 網 站 的 ID 和 GUID。<br />
程 式 碼 樣 本<br />
匯 入 系 統<br />
Imports System.Net<br />
Imports System.Text<br />
Imports System.IO<br />
Imports System.Xml<br />
Imports System.Xml.Schema<br />
Imports System.Security.Cryptography.X509Certificates<br />
Imports System.Net.Security<br />
Namespace <strong>Parallels</strong><strong>Panel</strong>ApiRpcClient<br />
Public Class Request<br />
' Public interface<br />
Public Hostname As String = "localhost" 'The <strong>Panel</strong> Host name<br />
Public Login As String = "admin_login" //<br />
Administrator's Login<br />
Public Password As String = "admin_setup"<br />
'Administrator's Password<br />
Public Protocol As String = "1.6.2.0" 'API RPC Version<br />
Protocol<br />
(DTD),<br />
(XSD)<br />
' Handler for receiving information about document type definition<br />
' XML-Data Reduced (XDR) schema, and XML Schema definition language<br />
' schema validation errors.
透 過 遠 端 API 設 定 67<br />
Public XmlSchemaValidation As ValidationEventHandler<br />
Public ReadOnly Property AgentEntryPoint As String<br />
Get<br />
Return ("https://" & Me.Hostname &<br />
":8443/enterprise/control/agent.php")<br />
End Get<br />
End Property<br />
Public ReadOnly Property InputValidationSchema As String<br />
Get<br />
Return String.Concat(New String() { "https://",<br />
Me.Hostname, ":8443/schemas/rpc/", Me.Protocol, "/agent_input.xsd" })<br />
End Get<br />
End Property<br />
Public ReadOnly Property OutputValidationSchema As String<br />
Get<br />
Return String.Concat(New String() { "https://",<br />
Me.Hostname, ":8443/schemas/rpc/", Me.Protocol, "/agent_output.xsd" })<br />
End Get<br />
End Property<br />
Public Function Send(ByVal packet As XmlDocument) As XmlDocument<br />
Dim request As HttpWebRequest =<br />
Me.SendRequest(packet.OuterXml)<br />
Return Me.GetResponse(request)<br />
End Function<br />
Public Function Send(ByVal packet As Stream) As XmlDocument<br />
Using reader As TextReader = New StreamReader(packet)<br />
Return Me.Send(Me.ParseAndValidate(reader,<br />
Me.InputValidationSchema))<br />
End Using<br />
End Function<br />
Public Function Send(ByVal packetUri As String) As XmlDocument<br />
Using reader As TextReader = New StreamReader(packetUri)<br />
Return Me.Send(Me.ParseAndValidate(reader,<br />
Me.InputValidationSchema))<br />
End Using<br />
End Function<br />
' Private interface<br />
'<br />
' Sending a request message<br />
'<br />
Private Function SendRequest(ByVal message As String) As<br />
HttpWebRequest<br />
Dim request As HttpWebRequest =<br />
DirectCast(WebRequest.Create(Me.AgentEntryPoint), HttpWebRequest)<br />
request.Method = "POST"<br />
request.Headers.Add("HTTP_AUTH_LOGIN", Me.Login)<br />
request.Headers.Add("HTTP_AUTH_PASSWD", Me.Password)<br />
request.ContentType = "text/xml"<br />
request.ContentLength = message.Length<br />
Dim bytes As Byte() = New ASCIIEncoding().GetBytes(message)<br />
Using stream As Stream = request.GetRequestStream<br />
stream.Write(bytes, 0, message.Length)<br />
End Using<br />
Return request<br />
End Function<br />
' Parsing and validating packet<br />
'<br />
Private Function ParseAndValidate(ByVal xml As TextReader, ByVal<br />
schemaUri As String) As XmlDocument
68 透 過 遠 端 API 設 定<br />
Dim schemas As New XmlSchemaSet<br />
schemas.Add(Nothing, schemaUri)<br />
Dim settings As New XmlReaderSettings<br />
If (Not Me.XmlSchemaValidation Is Nothing) Then<br />
AddHandler settings.ValidationEventHandler, New<br />
ValidationEventHandler(AddressOf Me.XmlSchemaValidation.Invoke)<br />
End If<br />
settings.ValidationType = ValidationType.Schema<br />
settings.ValidationFlags = (settings.ValidationFlags Or<br />
XmlSchemaValidationFlags.ProcessSchemaLocation)<br />
settings.Schemas = schemas<br />
Dim document As New XmlDocument<br />
Using reader As XmlReader = XmlReader.Create(xml, settings)<br />
document.Load(reader)<br />
End Using<br />
Return document<br />
End Function<br />
Private Function GetResponse(ByVal request As HttpWebRequest) As<br />
XmlDocument<br />
Using response As HttpWebResponse =<br />
DirectCast(request.GetResponse, HttpWebResponse)<br />
Using stream As Stream = response.GetResponseStream<br />
Using reader As TextReader = New<br />
StreamReader(stream)<br />
return Me.ParseAndValidate(reader,<br />
Me.OutputValidationSchema)<br />
End Using<br />
End Using<br />
End Using<br />
End Function<br />
End Class<br />
友 好 類 程 式<br />
Shared Sub Main(ByVal args As String())<br />
If (args.Length < 5) Then<br />
Console.WriteLine("Usage:<strong>Panel</strong>ApiRpcClient<br />
")<br />
Console.WriteLine(" ")<br />
Console.WriteLine(" Host name - The <strong>Panel</strong>'s host name")<br />
Console.WriteLine(" Login - Administrator's login")<br />
Console.WriteLine(" Password - Administrator's<br />
password")<br />
Console.WriteLine(" Protocol - API RPC protocol<br />
version")<br />
Console.WriteLine(" Request - Request file path<br />
(*.xml)")<br />
Else<br />
' Verifies the remote Secure Sockets Layer (SSL)<br />
certificate<br />
' used for authentication.<br />
ServicePointManager.ServerCertificateValidationCallback = New<br />
RemoteCertificateValidationCallback(AddressOf<br />
Program.RemoteCertificateValidation)<br />
Dim request As New Request<br />
request.XmlSchemaValidation = New<br />
ValidationEventHandler(AddressOf Program.XmlSchemaValidation)
透 過 遠 端 API 設 定 69<br />
"10.49.8.120";<br />
"1.6.2.0";<br />
request.Hostname = args(0)<br />
request.Login = args(1)<br />
request.Password = args(2)<br />
request.Protocol = args(3)<br />
'<br />
' "admin";<br />
' "setup";<br />
'<br />
Dim packetUri As String = args(4) ' "request.xml";<br />
Try<br />
Program.PrintResult(request.Send(packetUri))<br />
Catch exception As Exception<br />
Console.WriteLine("Request error:{0}",<br />
exception.Message)<br />
End Try<br />
End If<br />
End Sub<br />
' The following method is invoked by the<br />
RemoteCertificateValidationDelegate.<br />
Private Shared Function RemoteCertificateValidation(ByVal sender<br />
As Object, ByVal certificate As X509Certificate, ByVal chain As X509Chain, ByVal<br />
sslPolicyErrors As SslPolicyErrors) As Boolean<br />
If (sslPolicyErrors <br />
SslPolicyErrors.RemoteCertificateNotAvailable) Then<br />
Return True<br />
End If<br />
Console.WriteLine("Certificate error:{0}",<br />
sslPolicyErrors)<br />
' Do not allow this client to communicate with unauthenticated<br />
servers.<br />
Return False<br />
End Function<br />
'<br />
Private Shared Sub XmlSchemaValidation(ByVal sender As Object,<br />
ByVal e As ValidationEventArgs)<br />
Console.WriteLine("Validation error:{0}", e.Message)<br />
End Sub<br />
Private Shared Sub PrintResult(ByVal document As XmlDocument)<br />
Dim w As New XmlTextWriter(Console.Out)<br />
w.Formatting = Formatting.Indented<br />
document.WriteTo(w)<br />
w.Flush<br />
Console.WriteLine<br />
End Sub<br />
End Class<br />
End Namespace
70 透 過 遠 端 API 設 定<br />
設 定 <strong>Panel</strong><br />
本 章 詳 細 闡 述 如 何 使 用 遠 端 API 執 行 <strong>Panel</strong> 設 定 操 作 。<br />
本 節 內 容<br />
初 始 化 <strong>Panel</strong> ..................................................................................................... 70<br />
安 裝 授 權 ............................................................................................................ 74<br />
設 定 DNS .......................................................................................................... 79<br />
安 裝 SSL 憑 證 ................................................................................................... 104<br />
建 立 網 站 ............................................................................................................ 110<br />
建 立 子 網 站 ........................................................................................................ 115<br />
定 義 可 用 的 APS 目 錄 ........................................................................................ 120<br />
安 裝 應 用 程 式 ..................................................................................................... 123<br />
初 始 化 <strong>Panel</strong><br />
若 要 透 過 API RPC 初 始 化 <strong>Panel</strong>, 使 用 smb/initial_setup 操 作 模 式 執 行 XML 請 求 封 包 :<br />
<br />
<br />
<br />
...<br />
<br />
<br />
<br />
本 節 內 容<br />
請 求 封 包 結 構 ..................................................................................................... 71<br />
請 求 樣 本 ............................................................................................................ 71<br />
回 應 封 包 結 構 ..................................................................................................... 72<br />
回 應 樣 本 ............................................................................................................ 73
透 過 遠 端 API 設 定 71<br />
請 求 封 包 結 構<br />
initial_setup 節 點 結 構 如 下 :<br />
• password, required<br />
指 定 <strong>Panel</strong> 管 理 員 新 密 碼 。 資 料 類 型 :serverPassword (plesk_server.xsd).5 到 14 個<br />
字 元 。<br />
• admin_email, required<br />
指 定 <strong>Panel</strong> 管 理 員 郵 件 位 址 。 資 料 類 型 :emailType (common.xsd).3 到 255 個 字 元 。<br />
• locale, optional<br />
請 求 樣 本<br />
指 定 <strong>Panel</strong> 語 言 - <strong>Panel</strong> 介 面 上 要 使 用 的 語 言 資 料 類 型 : 字 串 。<br />
初 始 化 <strong>Panel</strong> 的 請 求 封 包 類 似 於 :<br />
<br />
<br />
<br />
P4$$w0rd<br />
johndoe@example.com<br />
<br />
<br />
<br />
初 始 化 <strong>Panel</strong> 的 請 求 封 包 預 設 語 言 是 德 文 ( 德 國 ) 類 似 於 :<br />
<br />
<br />
<br />
P4$$w0rd<br />
johndoe@example.com<br />
de-DE<br />
<br />
<br />
72 透 過 遠 端 API 設 定<br />
回 應 封 包 結 構<br />
輸 出 XML 封 包 的 initial_setup 節 點 結 構 如 下 :<br />
• result, required<br />
包 含 從 伺 服 器 檢 索 到 的 回 應 。 資 料 類 型 :resultType (common.xsd).<br />
• status, required<br />
指 定 操 作 執 行 狀 態 。 資 料 類 型 : 字 串 。 允 許 的 值 :ok | error.<br />
• errcode, required 若 操 作 失 敗<br />
返 回 錯 誤 碼 。 資 料 類 型 : 整 數 。<br />
• errtext, required 資 料 類 型 :<br />
返 回 錯 誤 訊 息 。 資 料 類 型 : 字 串 。<br />
特 定 操 作 錯 誤<br />
• 1003, 代 理 工 具 初 始 化 錯 誤 。<br />
<strong>Panel</strong> 已 初 始 化 。<br />
• 1019, 無 效 值 。<br />
指 定 語 言 不 可 用 。
透 過 遠 端 API 設 定 73<br />
回 應 樣 本<br />
從 伺 服 器 接 收 到 的 正 回 應 如 下 :<br />
<br />
<br />
<br />
<br />
ok<br />
<br />
<br />
<br />
<br />
若 <strong>Panel</strong> 已 初 始 化 , 則 有 下 列 負 回 應 。<br />
<br />
<br />
<br />
<br />
error<br />
1003<br />
Initial setup already completed<br />
<br />
<br />
<br />
<br />
若 指 定 語 言 不 可 用 , 則 有 下 列 負 回 應 。<br />
<br />
<br />
<br />
<br />
error<br />
1019<br />
Locale en-US2 is not installed on server<br />
<br />
<br />
<br />
74 透 過 遠 端 API 設 定<br />
安 裝 授 權<br />
若 要 使 用 API RPC 安 裝 授 權 , 使 用 server/lic_install 操 作 模 式 執 行 XML 請 求 封 包 :<br />
<br />
<br />
<br />
...<br />
<br />
<br />
<br />
本 節 內 容<br />
請 求 封 包 結 構 ..................................................................................................... 74<br />
請 求 樣 本 ............................................................................................................ 75<br />
回 應 封 包 結 構 ..................................................................................................... 78<br />
回 應 樣 本 ............................................................................................................ 79<br />
請 求 封 包 結 構<br />
安 裝 授 權 的 請 求 XML 封 包 , 包 括 server/lic_install 操 作 模 式 , 結 構 如 下 :<br />
• license, required<br />
包 含 授 權 資 料 。 資 料 類 型 :base64。<br />
• additional_key, optional<br />
若 要 安 裝 附 加 授 權 , 請 指 定 。 資 料 類 型 : 無 。
透 過 遠 端 API 設 定 75<br />
請 求 樣 本<br />
此 封 包 安 裝 <strong>Parallels</strong> Small Business <strong>Panel</strong> for Linux/Unix 預 設 授 權 :<br />
<br />
76 透 過 遠 端 API 設 定<br />
<br />
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiID8+IA0KLSA8cHAtc2<br />
1iLXVuaXgtMTA6a2V5IGNvcmU6Zm9ybWF0PSJvcGVuZnVzaW9uLTMiIHhtbG5zOmNvcmU9Imh0d<br />
HA6Ly9wYXJhbGxlbHMuY29tL3NjaGVtYXMva2V5cy9jb3JlLzMiIHhtbG5zOnBwLXNtYi11bml4<br />
LTEwPSJodHRwOi8vcGFyYWxsZWxzLmNvbS9zY2hlbWFzL2tleXMvcHJvZHVjdHMvcHAtc21iL3V<br />
uaXgvMTAuMCI+DQotIDwhLS0gVW5pcXVlIHByb2R1Y3QgS2V5IG51bWJlcg0KICAtLT4gDQogID<br />
xjb3JlOmtleS1udW1iZXIgY29yZTp0eXBlPSJzdHJpbmciPlNNQi4wMDAwMDAwMDwvY29yZTprZ<br />
XktbnVtYmVyPiANCi0gPCEtLSBLZXkgdmVyc2lvbg0KICAtLT4gDQogIDxjb3JlOmtleS12ZXJz<br />
aW9uIGNvcmU6dHlwZT0ic3RyaW5nIj4wMDAwPC9jb3JlOmtleS12ZXJzaW9uPiANCi0gPCEtLSB<br />
LZXkgZGVzY3JpcHRpb24NCiAgLS0+IA0KLSA8Y29yZTpkZXNjcmlwdGlvbj4NCiAgPGNvcmU6a2<br />
V5dHlwZT5QYXJhbGxlbHMgUGFuZWwgMTAgU01CIEVkaXRpb24gZm9yIFVuaXgvTGludXg8L2Nvc<br />
mU6a2V5dHlwZT4gDQogIDwvY29yZTpkZXNjcmlwdGlvbj4NCi0gPCEtLSBQcm9kdWN0IHdoaWNo<br />
IHRoaXMgbGljZW5zZSBpcyBpbnRlbmRlZCB0byB3b3JrIG9uDQogIC0tPiANCiAgPGNvcmU6cHJ<br />
vZHVjdCBjb3JlOnR5cGU9InN0cmluZyI+cHAtc21iLXVuaXg8L2NvcmU6cHJvZHVjdD4gDQotID<br />
whLS0gU3VwcG9ydGVkIHByb2R1Y3QgdmVyc2lvbg0KICAtLT4gDQogIDxjb3JlOnZlcnNpb24gY<br />
29yZTp0eXBlPSJzdHJpbmciPjEwLjA8L2NvcmU6dmVyc2lvbj4gDQotIDwhLS0gRGF0ZSBhZnRl<br />
ciB3aGljaCB0aGlzIGxpY2Vuc2UgYmVjb21lcyB1c2FibGUgKGluY2x1c2l2ZSkNCiAgLS0+IA0<br />
KICA8Y29yZTpzdGFydC1kYXRlIGNvcmU6dHlwZT0iZGF0ZSI+aW5zdGFudDwvY29yZTpzdGFydC<br />
1kYXRlPiANCi0gPCEtLSBEYXRlIGJlZm9yZSB3aGljaCB0aGlzIGxpY2Vuc2UgaXMgdXNhYmxlI<br />
ChleGNsdXNpdmUpDQogIC0tPiANCiAgPGNvcmU6ZXhwaXJhdGlvbi1kYXRlIGNvcmU6dHlwZT0i<br />
ZGF0ZSI+bmV2ZXI8L2NvcmU6ZXhwaXJhdGlvbi1kYXRlPiANCi0gPCEtLSBVUkwgb2YgdGhlIHN<br />
lcnZpY2UgZW5kcG9pbnQgdG8gdXNlIHdoZW4gcGVyZm9ybWluZyBhbiBhdXRvdXBkYXRlDQogIC<br />
0tPiANCiAgPGNvcmU6bGljZW5zZS1zZXJ2ZXItdXJsIGNvcmU6dHlwZT0ic3RyaW5nIj5odHRwc<br />
zovL2thLnBhcmFsbGVscy5jb206NTIyNC94bWxycGM8L2NvcmU6bGljZW5zZS1zZXJ2ZXItdXJs<br />
PiANCi0gPCEtLSBEYXRlIHdoZW4gcHJvZHVjdCB3aWxsIHRyeSB0byBwZXJmb3JtIGFuIGF1dG9<br />
1cGRhdGUNCiAgLS0+IA0KICA8Y29yZTp1cGRhdGUtZGF0ZSBjb3JlOnR5cGU9ImRhdGUiPmluc3<br />
RhbnQ8L2NvcmU6dXBkYXRlLWRhdGU+IA0KICA8Y29yZTp1cGRhdGUtdGlja2V0IGNvcmU6aGlkZ<br />
GVuPSJ0cnVlIiBjb3JlOnR5cGU9InN0cmluZyI+LS0tLS0tc21iXzEwX3VuaXhfZGVmYXVsdC0t<br />
LS0tLS08L2NvcmU6dXBkYXRlLXRpY2tldD4gDQotIDwhLS0gU01CIFVzZXJzDQogIC0tPiANCiA<br />
gPHBwLXNtYi11bml4LTEwOnNtYi11c2VycyBjb3JlOnR5cGU9ImludGVnZXIiPjE8L3BwLXNtYi<br />
11bml4LTEwOnNtYi11c2Vycz4gDQotIDwhLS0gTnVtYmVyIG9mIGRvbWFpbnMNCiAgLS0+IA0KI<br />
CA8cHAtc21iLXVuaXgtMTA6ZG9tYWlucyBjb3JlOnR5cGU9ImludGVnZXIiPjE8L3BwLXNtYi11<br />
bml4LTEwOmRvbWFpbnM+IA0KLSA8IS0tIEFiaWxpdHkgdG8gdXNlIFNwYW1Bc3Nhc3Npbg0KICA<br />
tLT4gDQogIDxwcC1zbWItdW5peC0xMDpzcGFtYXNzYXNpbi1zdXBwb3J0IGNvcmU6dHlwZT0iYm<br />
9vbGVhbiI+dHJ1ZTwvcHAtc21iLXVuaXgtMTA6c3BhbWFzc2FzaW4tc3VwcG9ydD4gDQotIDwhL<br />
S0gQVBTIEFwcGxpY2F0aW9uDQogIC0tPiANCiAgPHBwLXNtYi11bml4LTEwOmFwcy1hcHAgY29y<br />
ZTp0eXBlPSJzdHJpbmciPmh0dHA6Ly93d3cubWFnaWNzcGFtLmNvbS88L3BwLXNtYi11bml4LTE<br />
wOmFwcy1hcHA+IA0KLSA8IS0tIEFQUyBBcHBsaWNhdGlvbg0KICAtLT4gDQogIDxwcC1zbWItdW<br />
5peC0xMDphcHMtYXBwIGNvcmU6dHlwZT0ic3RyaW5nIj5odHRwOi8vd3d3LnBpbm5hY2xlY2Fyd<br />
C5jb20vPC9wcC1zbWItdW5peC0xMDphcHMtYXBwPiANCi0gPCEtLSBBUFMgQXBwbGljYXRpb24N<br />
CiAgLS0+IA0KICA8cHAtc21iLXVuaXgtMTA6YXBzLWFwcCBjb3JlOnR5cGU9InN0cmluZyI+aHR<br />
0cHM6Ly93d3cua2VlcGl0LmNvbS91bmxpbWl0ZWQ8L3BwLXNtYi11bml4LTEwOmFwcy1hcHA+IA<br />
0KLSA8IS0tIEFQUyBBcHBsaWNhdGlvbg0KICAtLT4gDQogIDxwcC1zbWItdW5peC0xMDphcHMtY<br />
XBwIGNvcmU6dHlwZT0ic3RyaW5nIj5odHRwOi8vd3d3LnN5bWFudGVjLmNvbS9ub3J0b24vaW50<br />
ZXJuZXQtc2VjdXJpdHk8L3BwLXNtYi11bml4LTEwOmFwcy1hcHA+IA0KLSA8IS0tIEFQUyBBcHB<br />
saWNhdGlvbg0KICAtLT4gDQogIDxwcC1zbWItdW5peC0xMDphcHMtYXBwIGNvcmU6dHlwZT0ic3<br />
RyaW5nIj5odHRwOi8vd3d3LmludGVyc3BpcmUuY29tL2VtYWlsbWFya2V0ZXIvPC9wcC1zbWItd<br />
W5peC0xMDphcHMtYXBwPiANCi0gPCEtLSBBUFMgQXBwbGljYXRpb24NCiAgLS0+IA0KICA8cHAt<br />
c21iLXVuaXgtMTA6YXBzLWFwcCBjb3JlOnR5cGU9InN0cmluZyI+aHR0cDovL3d3dy5pbnRlcnN<br />
waXJlLmNvbS9rbm93bGVkZ2VtYW5hZ2VyLzwvcHAtc21iLXVuaXgtMTA6YXBzLWFwcD4gDQotID<br />
xkc2lnOlNpZ25hdHVyZSB4bWxuczpkc2lnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htb<br />
GRzaWcjIj4NCi0gPGRzaWc6U2lnbmVkSW5mbz4NCiAgPGRzaWc6Q2Fub25pY2FsaXphdGlvbk1l<br />
dGhvZCBBbGdvcml0aG09Imh0dHA6Ly9wYXJhbGxlbHMuY29tL3NjaGVtYXMva2V5cy9jb3JlLzM<br />
jY2Fub25pY2FsaXplIiAvPiANCiAgPGRzaWc6U2lnbmF0dXJlTWV0aG9kIEFsZ29yaXRobT0iaH<br />
R0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxkc2lnLW1vcmUjcnNhLXNoYTI1NiIgLz4gDQotI<br />
Dxkc2lnOlJlZmVyZW5jZSBVUkk9IiI+DQotIDxkc2lnOlRyYW5zZm9ybXM+DQogIDxkc2lnOlRy<br />
YW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLXhtbC1jMTR<br />
uLTIwMDEwMzE1I1dpdGhDb21tZW50cyIgLz4gDQogIDxkc2lnOlRyYW5zZm9ybSBBbGdvcml0aG<br />
09Imh0dHA6Ly9wYXJhbGxlbHMuY29tL3NjaGVtYXMva2V5cy9jb3JlLzMjdHJhbnNmb3JtIiAvP<br />
iANCiAgPC9kc2lnOlRyYW5zZm9ybXM+DQogIDxkc2lnOkRpZ2VzdE1ldGhvZCBBbGdvcml0aG09
透 過 遠 端 API 設 定 77<br />
Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jI3NoYTI1NiIgLz4gDQogIDxkc2lnOkR<br />
pZ2VzdFZhbHVlPlRrUzk2YnlycEpVdTVpUTdIbkhZYUhhMTIra2lPYmZhRXBYMC9TWU5iV2M9PC<br />
9kc2lnOkRpZ2VzdFZhbHVlPiANCiAgPC9kc2lnOlJlZmVyZW5jZT4NCiAgPC9kc2lnOlNpZ25lZ<br />
EluZm8+DQogIDxkc2lnOlNpZ25hdHVyZVZhbHVlPmZvcUxYVFErTWhRUm44Y2NzSmdoU1ZhNUJU<br />
Vi9kaUtaVGJjdk9qUnBXcW5XaDlXei9NQmFKY0pDNnFnZUNkMHJ4OFZsWERxcm0yVUYgS1I1d0d<br />
WeFM1ZSt6NWNqREFEcVUyRStGOXRaUndubXRuamZ4dHV0THZibjVyS0FYc1VtWTQ2OU1EcjNQeF<br />
RYbi9mYjZycmpvbGZOOCBOWVE1WUVtMDkyd3IrWTg2TGNIVkhKM2ZXK01sQWd3WXpua0lzdFVQS<br />
E1JMVVkYlgwZWkvWTFmcStSc0dSSnNhZ2dRNW56MzgralV5IFRvUDBRK2VrUnAxcUFVa09OWUYy<br />
M21FT1FuQ2V5eFNqQ3FrejNyZEhkaVFFQTBKcmhYMGowYWZYWDJkL2JRUnZVeU93UFBsVWhzNU4<br />
gY3FjcndRRDdMQ0lsOE9Udk5FaFRrNFo0OGdaM1ZIRzJ2bitpVGc9PTwvZHNpZzpTaWduYXR1cm<br />
VWYWx1ZT4gDQotIDxkc2lnOktleUluZm8+DQotIDxkc2lnOlg1MDlEYXRhPg0KICA8ZHNpZzpYN<br />
TA5Q2VydGlmaWNhdGU+TUlJRW5EQ0NBb1FDQVJFd0RRWUpLb1pJaHZjTkFRRUZCUUF3Z2FZeEN6<br />
QUpCZ05WQkFZVEFrSk5NUXN3Q1FZRFZRUUlFd0pJVFRFUiBNQThHQTFVRUJ4TUlTR0Z0YVd4MGI<br />
yNHhIREFhQmdOVkJBb1RFMU5YYzI5bWRDQkliMnhrYVc1bmN5Qk1kR1F4SFRBYkJnTlZCQXNUIE<br />
ZFbHVkR1Z5Ym1Gc0lFUmxkbVZzYjNCdFpXNTBNUnd3R2dZRFZRUURFeE5MUVNCeWIyOTBJR05sY<br />
25ScFptbGpZWFJsTVJ3d0dnWUogS29aSWh2Y05BUWtCRmcxcllVQnpkM052Wm5RdVkyOXRNQjRY<br />
RFRBNU1EWXdNakEyTURrek0xb1hEVE0yTVRBeE9EQTJNRGt6TTFvdyBnWUF4Q3pBSkJnTlZCQVl<br />
UQWtKTk1Rc3dDUVlEVlFRSUV3SklUVEVSTUE4R0ExVUVCeE1JU0dGdGFXeDBiMjR4SERBYUJnTl<br />
ZCQW9UIEUxTlhjMjltZENCSWIyeGthVzVuY3lCTWRHUXhIVEFiQmdOVkJBc1RGRWx1ZEdWeWJtR<br />
nNJRVJsZG1Wc2IzQnRaVzUwTVJRd0VnWUQgVlFRREV3dHdjQzF6YldJdGRXNXBlRENDQVNJd0RR<br />
WUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFNYzR0RWVhRFMzciBDS0sxQ1RaUm9<br />
aMTdGVzU5Z0tBbTlOQmt6V3ZwZW9VM0lnZU5SMTMrdWs0My9lYW1EQkNHZTBtQnNwb05vWjErWD<br />
k3RXVGYzB4b2RvIGg0NVgrRUNIZk5kME1adzVrSFljWWF1M2kxSVBBakZMdm5DcE52ZXc1WHpXQ<br />
zcwZ0xlenZNaWxRbWxTYWpLSEFEL0EvMGhzYkI0aDkgeVdxNTZPcDRiT1hUTDVKN0NZV1JHeVRS<br />
aFV1MnFPbjZ2Y2o3Q2Rkb05oeWhRdDJTYlArNDlVMXFJdjMvOFZ3YnZrMzZhTVlTVlBlMSBHRk5<br />
0MlE3RkhKUUxicW1pY1doL0JBWkpjU2FGMWlPSUhuZ2VIbG9uSGptbzdJWUEvSXcyTUZMT0dPam<br />
82Kzg2M0dUbDJUOXA0dGxGIHZHNWhOMWFpNHkybDdOVzFTczhVT1JSclVlMENBd0VBQVRBTkJna<br />
3Foa2lHOXcwQkFRVUZBQU9DQWdFQUgrcnFFdkhNdEFRaStWOHEgSDdFM3VSRk8xaVA1QzBVejlD<br />
QVdMZ0QyNWthWTlSaUV1K1ZNcGtyZ2RwMkRKZUxIaWd5Q3MyM3dUbkZ6SS9qMUJNRjJ1VGdKS1B<br />
6MiBSOTA2YVcyR0tJWWpIencvd3BmUDUxck9CWTVQNlhpdXNtM2NGdk8zTnJ4Z0hJSy9WV3N5WW<br />
1EN25mMksyZUptQmsvZU85TklaalBoIGRkS2NrYmNZRVhRN3dzd2l0dDlYcTFuckg2eFNXT1lIV<br />
UUwcHI0QW1jVXc3TDdRQVUzdDBVM0lIQzNHYmVyVE1RNERSL2xDTFV5a24gUkl3aDNKQXZkYVFJ<br />
ZnA2TW9yNkY0VWtrMWh2bzkwVTR1VHFEbXc4RFJHcVRoOCtPUEY1V1dTL0MyK0o0bThOWTNDWjZ<br />
pa3FIc0FpcCB5Si9uR1pqU3cvdHc4N0xMWHBMMzJhRkFLcGpjOGc1MkZuc3YzVDlwdjRHd0Q2V0<br />
hHYU1DNUVsL21XSWplSE5pLytPTk5hbkdHbHJxIHVLQ1p2UktHenJRNjV4bHIyeEovTXFTWDV3c<br />
WdTK3R5SE1XY3BwVFpZdmF6cXZtZFRUbllNWlhwd1M1YWxqQlAwb3FWd09wVDFLUksgY0o3bXVa<br />
YzNUWlJ1OHY0b2pWa1dWTlF2QVNUUFNsdXFkcW42RFdwV2V3UEQ0ZXg3c2ZJam52N1phWmtZV2t<br />
PL3VDam9SeE4wbmFtVSBlVk5QemZSNXJ5emVjalozb0g0L1NXTGFYeHFiQ2k0QzBjMFlVeTZBMk<br />
ZkejVKK3RwWUdFbkVFMENpcDFyRjVnMFJhMURBZXV4ZFFaIEMwang3NlNsQ1VjSWhGQ0p4RmRxM<br />
k5JMHZJVnlVNTl6R2NrY3E3WVZZVlJ2czNVc2crb1pNRTBKbTFjPTwvZHNpZzpYNTA5Q2VydGlm<br />
aWNhdGU+IA0KICA8L2RzaWc6WDUwOURhdGE+DQogIDwvZHNpZzpLZXlJbmZvPg0KICA8L2RzaWc<br />
6U2lnbmF0dXJlPg0KICA8L3BwLXNtYi11bml4LTEwOmtleT4=<br />
<br />
<br />
<br />
此 請 求 封 包 安 裝 附 加 授 權 。<br />
注 意 授 權 節 點 內 容 是 有 效 的 base64 節 點 , 不 是 授 權 。 執 行 此 請 求 封 包 會 出 現 錯 誤 1020。<br />
<br />
<br />
<br />
TGV0IHVzIGp1c3QgcHJldGVuZCB0aGF0IHRoaXMgaXMgYSBQYXJhbGxlbHMgUGFuZW<br />
wgbGljZW5zZSBrZXkuCk9mIGNvdXJzZSwgd2UgY291bGQgbm90IGluY2x1ZGUgYSByZWFsIGxpY<br />
2Vuc2Uga2V5IGluIHRoZSBkb2N1bWVudGF0aW9uLgpUaGFuayB5b3UgZm9yIHVuZGVyc3RhbmRp<br />
bmcu<br />
78 透 過 遠 端 API 設 定<br />
<br />
<br />
<br />
回 應 封 包 結 構<br />
輸 出 回 應 封 包 的 lic_install 節 點 結 構 如 下 :<br />
• result, required<br />
包 含 從 伺 服 器 檢 索 到 的 回 應 。<br />
• status, required<br />
指 定 操 作 執 行 狀 態 。 資 料 類 型 : 字 串 。 允 許 的 值 :ok | error.<br />
• errcode, required 若 操 作 失 敗<br />
返 回 錯 誤 碼 。 資 料 類 型 :unsignedInt.<br />
• errtext, required 資 料 類 型 :<br />
返 回 錯 誤 訊 息 。 資 料 類 型 : 字 串 。
透 過 遠 端 API 設 定 79<br />
回 應 樣 本<br />
從 伺 服 器 接 收 到 的 正 回 應 如 下 :<br />
<br />
<br />
<br />
<br />
ok<br />
<br />
<br />
<br />
<br />
若 請 求 封 包 嘗 詴 安 裝 無 效 授 權 , 則 收 到 錯 誤 。<br />
<br />
<br />
<br />
<br />
error<br />
1020<br />
上 傳 的 授 權 檔 無 效 或 不 包 含 授 權 。<br />
<br />
<br />
<br />
<br />
設 定 DNS<br />
若 要 透 過 API RPC 協 議 設 定 <strong>Panel</strong> DNS 服 務 , 使 用 dns 運 算 子 。<br />
本 節 內 容<br />
停 用 DNS 服 務 ................................................................................................... 80<br />
變 更 SOA 記 錄 模 板 ............................................................................................ 82<br />
設 定 資 源 記 錄 模 板 .............................................................................................. 85
80 透 過 遠 端 API 設 定<br />
停 用 DNS 服 務<br />
若 要 使 用 API RPC 停 用 <strong>Panel</strong> DNS 服 務 , 執 行 包 含 dns/disable 操 作 節 點 的 XML 請 求 :<br />
<br />
<br />
<br />
<br />
<br />
本 節 內 容<br />
請 求 封 包 ............................................................................................................ 80<br />
回 應 封 包 ............................................................................................................ 81<br />
請 求 封 包<br />
下 列 請 求 封 包 停 用 DNS 服 務 :<br />
<br />
<br />
<br />
<br />
透 過 遠 端 API 設 定 81<br />
回 應 封 包<br />
輸 出 XML 封 包 的 停 用 節 點 結 構 如 下 :<br />
• result, required<br />
包 含 從 伺 服 器 檢 索 到 的 回 應 。<br />
• status, required<br />
資 料 類 型 :resultType (common.xsd).<br />
指 定 操 作 執 行 狀 態 。 資 料 類 型 : 字 串 。 允 許 的 值 :ok | error.<br />
• errcode, required 若 操 作 失 敗<br />
返 回 錯 誤 碼 。 資 料 類 型 : 整 數 。<br />
• errtext, required 資 料 類 型 :<br />
樣 本<br />
返 回 錯 誤 訊 息 。 資 料 類 型 : 字 串 。<br />
正 回 應 類 似 於 :<br />
<br />
<br />
<br />
<br />
ok<br />
<br />
<br />
<br />
82 透 過 遠 端 API 設 定<br />
變 更 SOA 記 錄 模 板<br />
若 要 設 定 新 SOA 記 錄 模 板 , 執 行 包 含 dns/set 操 作 節 點 的 XML 請 求 封 包 :<br />
<br />
<br />
<br />
...<br />
<br />
<br />
<br />
本 節 內 容<br />
請 求 封 包 結 構 ..................................................................................................... 83<br />
請 求 樣 本 ............................................................................................................ 84<br />
回 應 封 包 結 構 ..................................................................................................... 84<br />
回 應 樣 本 ............................................................................................................ 85
透 過 遠 端 API 設 定 83<br />
請 求 封 包 結 構<br />
若 要 設 定 新 SOA 記 錄 模 板 , 執 行 包 含 dns/set 操 作 節 點 的 XML 請 求 封 包 :<br />
• soa, required<br />
指 定 SOA 參 數 。 資 料 類 型 :SOAType (plesk_dns.xsd).<br />
• ttl, optional<br />
指 定 ttl 參 數 值 。<strong>Panel</strong> 設 定 的 預 設 值 為 一 天 。 資 料 類 型 :unsignedInt.<br />
• refresh, optional<br />
指 定 refresh 參 數 值 。<strong>Panel</strong> 設 定 的 預 設 值 為 三 小 時 。 資 料 類 型 :unsignedInt.<br />
• retry, optional<br />
指 定 retry 參 數 值 。<strong>Panel</strong> 設 定 的 預 設 值 為 一 小 時 。 資 料 類 型 :unsignedInt.<br />
• expire, optional<br />
指 定 expire 參 數 值 。( 即 時 簽 署 32 位 元 值 。)<br />
<strong>Panel</strong> 設 定 的 預 設 值 為 一 週 。 資 料 類 型 :unsignedInt.<br />
• minimum, optional<br />
指 定 minimum 參 數 值 。<strong>Panel</strong> 設 定 的 預 設 值 為 三 小 時 。 資 料 類 型 :unsignedInt.
84 透 過 遠 端 API 設 定<br />
請 求 樣 本<br />
此 封 包 更 新 SOA 記 錄 模 板 , 設 定 TTL 間 隔 為 32 小 時 , 重 新 整 理 間 隔 為 6 小 時 , 重 詴 間 隔 為<br />
15 分 鐘 , 保 留 <strong>Panel</strong> 過 期 和 最 小 間 隔 預 設 值 。<br />
<br />
<br />
<br />
<br />
115200<br />
21600<br />
900<br />
<br />
<br />
<br />
<br />
回 應 封 包 結 構<br />
輸 出 XML 封 包 的 set 節 點 結 構 如 下 :<br />
• result, required<br />
包 含 從 伺 服 器 檢 索 到 的 回 應 。 資 料 類 型 :resultType (common.xsd).<br />
• status, required<br />
指 定 操 作 執 行 狀 態 。 資 料 類 型 : 字 串 。 允 許 的 值 :ok | error.<br />
• errcode, required 若 操 作 失 敗<br />
返 回 錯 誤 碼 。 資 料 類 型 : 整 數 。<br />
• errtext, required 資 料 類 型 :<br />
返 回 錯 誤 訊 息 。 資 料 類 型 : 字 串 。
透 過 遠 端 API 設 定 85<br />
回 應 樣 本<br />
從 伺 服 器 接 收 到 的 正 回 應 如 下 :<br />
<br />
<br />
<br />
<br />
ok<br />
<br />
<br />
<br />
<br />
若 指 定 的 值 過 長 , 則 返 回 負 回 應 :<br />
REQUEST PACKET<br />
<br />
<br />
<br />
<br />
4320000000<br />
<br />
<br />
<br />
<br />
RESPONSE PACKET<br />
<br />
<br />
error<br />
1014<br />
Parser error:Request is invalid<br />
<br />
設 定 資 源 記 錄 模 板<br />
使 用 API RPC, 您 可 以 按 下 列 方 式 在 DNS 區 域 模 板 中 修 改 資 源 記 錄 :<br />
• 新 增 新 資 源 記 錄<br />
• 移 除 現 有 資 源 記 錄 ( 可 在 模 板 中 檢 索 到 RR 清 單 )<br />
本 節 內 容<br />
新 增 RR 模 板 ..................................................................................................... 86<br />
檢 索 DNS 區 域 模 板 相 關 資 訊 ............................................................................. 94<br />
移 除 RR 模 板 ..................................................................................................... 99
86 透 過 遠 端 API 設 定<br />
新 增 RR 模 板<br />
若 要 新 增 DNS 區 域 資 源 記 錄 模 板 , 執 行 包 含 dns/add-rec 操 作 模 式 的 XML 請 求 封 包 :<br />
<br />
<br />
<br />
...<br />
<br />
<br />
<br />
本 節 內 容<br />
請 求 封 包 結 構 ..................................................................................................... 87<br />
請 求 樣 本 ............................................................................................................ 88<br />
回 應 封 包 結 構 ..................................................................................................... 92<br />
回 應 樣 本 ............................................................................................................ 93
透 過 遠 端 API 設 定 87<br />
請 求 封 包 結 構<br />
新 增 DNS 記 錄 到 DNS 區 域 模 板 的 請 求 XML 封 包 包 括 dns/add_rec 操 作 節 點 , 由 dnsRecord 類<br />
型 (plesk_dns.xsd) 表 示 , 結 構 如 下 :<br />
• type, required<br />
指 定 DNS 記 錄 類 型 。 資 料 類 型 : 字 串 。<br />
允 許 的 值 :A | NS | CNAME | MX | PTR | TXT | SOA | AXFR | SRV.<br />
• host, required<br />
指 定 記 錄 設 定 要 套 用 到 的 主 機 名 。 資 料 類 型 : 字 串 。<br />
• value, required<br />
指 定 即 將 連 結 host 值 的 值 。 資 料 類 型 : 字 串 。<br />
網 站 建 立 後 即 建 立 DNS 區 域 檔 案 , 佔 位 符 或 會 被 真 實 IP 位 址 / 主 機 名<br />
取 代 。<br />
• opt, optional<br />
持 有 DNS 記 錄 可 選 資 訊 。 資 料 類 型 : 字 串 。<br />
注 意 : 若 是 SRV 記 錄 ,opt 節 點 可 以 包 含 附 加 XML 程 式 碼 , 格 式 如 下 :。<br />
可 使 用 單 個 封 包 新 增 多 個 DNS 記 錄 。 執 行 多 少 次 操 作 , 即 可 新 增 多 個 條 DNS 記 錄 。<br />
<br />
<br />
...<br />
<br />
...<br />
<br />
...<br />
<br />
88 透 過 遠 端 API 設 定<br />
請 求 樣 本<br />
NS 請 求 樣 本<br />
<br />
<br />
<br />
NS<br />
<br />
ns.<domain><br />
<br />
<br />
<br />
建 立 example.com 網 站 後 即 可 建 立 DNS 區 域 , 包 含 下 列 RR:<br />
example.com.NS ns.example.com.<br />
讓 ns.example.com 名 稱 伺 服 器 成 為 主 機 example.com。<br />
此 請 求 封 包 將 請 求 封 包 作 為 記 錄 新 增 到 DNZ 區 域 模 板 ,<br />
provider-dns-server.example.com 網 站 名 稱 伺 服 器 。<br />
<br />
<br />
<br />
NS<br />
<br />
provider-dns-server.example.com<br />
<br />
<br />
<br />
記 錄 模 板<br />
<br />
<br />
<br />
A<br />
mail<br />
<ip><br />
<br />
<br />
<br />
建 立 example.com 網 站 ( 網 站 IP 192.0.2.12) 後 即 可 建 立 DNS 區 域 , 包 含 下 列 RR:<br />
mail.example.com.A 192.0.2.12<br />
定 義 主 機 mail.example.com 的 IP 位 址 192.0.2.12。<br />
CNAME 記 錄 模 板<br />
透 過 遠 端 API 設 定 89<br />
<br />
<br />
CNAME<br />
www<br />
ns.<domain><br />
<br />
<br />
<br />
建 立 example.com 網 站 後 即 可 建 立 DNS 區 域 , 包 含 下 列 RR:<br />
www NS ns<br />
讓 ns.example.com 成 為 www.example.com 替 身 。<br />
MX 記 錄 模 板<br />
<br />
<br />
<br />
MX<br />
<br />
exchange.<domain><br />
0<br />
<br />
<br />
<br />
建 立 example.com 網 站 後 即 可 建 立 DNS 區 域 , 包 含 下 列 RR:<br />
example.com.MX<br />
0 exchange.example.com.<br />
讓 mail.example.com 成 為 example.com 網 站 郵 件 伺 服 器 。<br />
PTR 記 錄 模 板<br />
<br />
<br />
<br />
PTR<br />
<ip><br />
community<br />
24<br />
<br />
<br />
<br />
建 立 example.com 網 站 ( 網 站 IP 192.0.2.12) 後 即 可 建 立 DNS 區 域 , 包 含 下 列 RR:<br />
192.0.2.12/24 PTR community.example.com<br />
讓 community.example.com 網 站 成 為 子 網 192.0.2.12/24 的 網 域 名 稱 指 示 器 。<br />
TXT 記 錄 模 板<br />
<br />
<br />
<br />
TXT
90 透 過 遠 端 API 設 定<br />
about<br />
由 服 務 商 提 供 <br />
<br />
<br />
<br />
建 立 example.com 網 站 後 即 可 建 立 DNS 區 域 , 包 含 下 列 RR:<br />
關 於<br />
TXT 由 服 務 商 提 供<br />
新 增 文 字 描 述 " 由 服 務 商 提 供 " 到 網 域 名 稱 about.example.com。<br />
SRV 記 錄 模 板<br />
<br />
<br />
<br />
SRV<br />
_LDAP._tcp<br />
192.0.2.4.<br />
5 25 220<br />
<br />
<br />
<br />
建 立 example.com 網 站 後 即 可 建 立 DNS 區 域 , 包 含 下 列 RR:<br />
_LDAP._tcp SRV 5 25 220 192.0.2.4.<br />
讓 網 站 example.com 上 的 客 戶 LDAP 執 行 SRV 192.0.2.4 查 詢 。<br />
新 增 多 條 記 錄<br />
下 列 請 求 封 包 從 樣 本 一 次 新 增 所 有 記 錄 :<br />
<br />
<br />
<br />
NS<br />
<br />
ns.<domain><br />
<br />
<br />
NS<br />
<br />
provider-dns-server.example.com<br />
<br />
<br />
A<br />
mail<br />
<ip><br />
<br />
<br />
CNAME
www<br />
ns.<domain><br />
<br />
<br />
MX<br />
<br />
exchange.<domain><br />
0<br />
<br />
<br />
PTR<br />
<ip><br />
community<br />
24<br />
<br />
<br />
TXT<br />
about<br />
由 服 務 商 提 供 <br />
<br />
<br />
SRV<br />
_LDAP._tcp<br />
192.0.2.4.<br />
5 25 220<br />
<br />
<br />
<br />
透 過 遠 端 API 設 定 91
92 透 過 遠 端 API 設 定<br />
回 應 封 包 結 構<br />
輸 出 XML 封 包 的 add_rec 節 點 結 構 如 下 :<br />
• result, required<br />
包 含 從 伺 服 器 檢 索 到 的 回 應 。 資 料 類 型 :resultType (common.xsd).<br />
• status, required<br />
指 定 操 作 執 行 狀 態 。 資 料 類 型 : 字 串 。 允 許 的 值 :ok | error.<br />
• errcode, required 若 操 作 失 敗<br />
返 回 錯 誤 碼 。 資 料 類 型 : 整 數 。<br />
• errtext, required 資 料 類 型 :<br />
返 回 錯 誤 訊 息 。 資 料 類 型 : 字 串 。<br />
• id, 若 操 作 成 功 需 提 供<br />
返 回 剛 新 增 的 DNS 記 錄 唯 一 識 別 碼 。 資 料 類 型 : 整 數 。
透 過 遠 端 API 設 定 93<br />
回 應 樣 本<br />
正 回 應 類 似 於 :<br />
<br />
<br />
<br />
<br />
ok<br />
17<br />
<br />
<br />
<br />
若 指 定 的 請 求 封 包 新 增 的 RR 值 錯 誤 ( 範 例 中 是 理 解 錯 誤 , 並 為 SRV 記 錄 指 定 主 機 ), 則 返 回 下<br />
列 負 回 應 :<br />
REQUEST PACKET<br />
<br />
<br />
<br />
SRV<br />
_LDAP._tcp.ldap.domain-test-480908606.tst.<br />
192.0.2.4.<br />
5 25 220<br />
<br />
<br />
<br />
RESPONSE PACKET<br />
<br />
<br />
<br />
<br />
error<br />
1019<br />
指 定 的 DNS 記 錄 值 錯 誤 。<br />
<br />
<br />
<br />
94 透 過 遠 端 API 設 定<br />
檢 索 DNS 區 域 模 板 相 關 資 訊<br />
若 要 在 DNS 區 域 模 板 中 檢 索 資 源 記 錄 相 關 資 訊 , 執 行 包 含 dns/get_rec 操 作 節 點 的 XML 封 包 :<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
本 節 內 容<br />
回 應 封 包 結 構 ..................................................................................................... 95<br />
回 應 樣 本 ............................................................................................................ 97
透 過 遠 端 API 設 定 95<br />
回 應 封 包 結 構<br />
輸 出 XML 封 包 的 get_rec 節 點 結 構 如 下 :<br />
• result, required<br />
包 含 從 伺 服 器 檢 索 到 的 回 應 。<br />
• status, required<br />
資 料 類 型 :resultType (common.xsd).<br />
指 定 操 作 執 行 狀 態 。 資 料 類 型 : 字 串 。 允 許 的 值 :ok | error.<br />
• errcode, required 若 操 作 失 敗<br />
返 回 錯 誤 碼 。 資 料 類 型 : 整 數 。<br />
• errtext, required 資 料 類 型 :<br />
返 回 錯 誤 訊 息 。 資 料 類 型 : 字 串 。<br />
• id, 若 操 作 成 功 需 提 供<br />
返 回 DNS 記 錄 唯 一 識 別 碼 。 資 料 類 型 : 整 數 。<br />
• data, 若 操 作 成 功 需 提 供<br />
資 源 記 錄 資 料 。<br />
• type, required<br />
指 定 DNS 記 錄 類 型 。 資 料 類 型 : 字 串 。<br />
允 許 的 值 :A | NS | CNAME | MX | PTR | TXT | SOA | AXFR | SRV.<br />
• host, required<br />
指 定 DNS 所 用 的 主 機 名 。 資 料 類 型 : 字 串 。<br />
• value, required<br />
指 定 即 將 連 結 host 值 的 值 。 資 料 類 型 : 字 串 。<br />
網 站 建 立 後 即 建 立 DNS 區 域 檔 案 , 佔 位 符 或 會 被 真 實 IP 位 址 / 主 機<br />
名 取 代 。
96 透 過 遠 端 API 設 定<br />
• opt, optional<br />
持 有 DNS 記 錄 可 選 資 訊 。 資 料 類 型 : 字 串 。
透 過 遠 端 API 設 定 97<br />
回 應 樣 本<br />
若 DNS 區 域 模 板 不 包 含 一 條 資 源 記 錄 , 返 回 下 列 回 應 :<br />
REQUEST PACKET<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
RESPONSE PACKET<br />
<br />
<br />
<br />
<br />
<br />
下 列 回 應 包 含 <strong>Panel</strong> 預 設 DNS 區 域 模 板 描 述 :<br />
REQUEST PACKET<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
RESPONSE PACKET<br />
<br />
<br />
<br />
<br />
ok<br />
1<br />
<br />
NS<br />
<domain>.<br />
ns.<domain>.<br />
<br />
<br />
<br />
<br />
ok<br />
2<br />
<br />
A<br />
ns.<domain>.<br />
<ip><br />
<br />
98 透 過 遠 端 API 設 定<br />
<br />
<br />
ok<br />
3<br />
<br />
A<br />
<domain>.<br />
<ip><br />
<br />
<br />
<br />
<br />
ok<br />
4<br />
<br />
A<br />
webmail.<domain>.<br />
<ip><br />
<br />
<br />
<br />
<br />
ok<br />
5<br />
<br />
MX<br />
<domain>.<br />
mail.<domain>.<br />
10<br />
<br />
<br />
<br />
ok<br />
6<br />
<br />
A<br />
mail.<domain>.<br />
<ip><br />
<br />
<br />
<br />
<br />
ok<br />
7<br />
<br />
CNAME<br />
ftp.<domain>.<br />
<domain>.<br />
<br />
<br />
<br />
<br />
ok<br />
8<br />
<br />
PTR<br />
<ip> / 24<br />
<domain>.<br />
24<br />
透 過 遠 端 API 設 定 99<br />
<br />
<br />
<br />
<br />
移 除 RR 模 板<br />
若 要 從 DNS 區 域 模 板 移 除 RR, 執 行 包 含 dns/del_rec 操 作 節 點 的 XML 封 包 :<br />
<br />
<br />
<br />
...<br />
<br />
<br />
<br />
本 節 內 容<br />
請 求 封 包 結 構 ..................................................................................................... 99<br />
請 求 樣 本 ............................................................................................................ 100<br />
回 應 封 包 結 構 ..................................................................................................... 101<br />
回 應 樣 本 ............................................................................................................ 102<br />
請 求 封 包 結 構<br />
移 除 DNS 記 錄 的 請 求 XML 封 包 , 包 括 del_rec 操 作 模 式 , 結 構 如 下 :<br />
• filter, required<br />
指 定 篩 選 規 則 。 資 料 類 型 :dnsSelectionFilterType (dns_input.xsd).<br />
若 留 空 (), 則 會 移 除 所 有 記 錄 模 板 。<br />
• id, optional<br />
指 定 要 移 除 資 源 記 錄 模 板 的 ID。 資 料 類 型 :id_type (common.xsd).<br />
• template, required<br />
指 定 要 移 除 的 記 錄 模 板 。 資 料 類 型 : 無 。
100 透 過 遠 端 API 設 定<br />
請 求 樣 本<br />
此 請 求 封 包 從 DNS 區 域 模 板 移 除 記 錄 ID 7。<br />
<br />
<br />
<br />
<br />
7<br />
<br />
<br />
<br />
<br />
<br />
此 請 求 封 包 從 DNS 區 域 模 板 移 除 記 錄 ID 1-5。<br />
<br />
<br />
<br />
<br />
1<br />
2<br />
3<br />
4<br />
5<br />
<br />
<br />
<br />
<br />
<br />
此 封 包 從 DNS 區 域 模 板 移 除 所 有 記 錄 :<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
透 過 遠 端 API 設 定 101<br />
回 應 封 包 結 構<br />
輸 出 XML 封 包 的 del_rec 節 點 結 構 如 下 :<br />
• result, required<br />
包 含 從 伺 服 器 檢 索 到 的 回 應 。 資 料 類 型 :resultType (common.xsd).<br />
• status, required<br />
指 定 操 作 執 行 狀 態 。 資 料 類 型 : 字 串 。 允 許 的 值 :ok | error.<br />
• errcode, required 若 操 作 失 敗<br />
返 回 錯 誤 碼 。 資 料 類 型 : 整 數 。<br />
• errtext, required 資 料 類 型 :<br />
返 回 錯 誤 訊 息 。 資 料 類 型 : 字 串 。<br />
• id, 若 操 作 成 功 需 提 供<br />
返 回 DNS 記 錄 移 除 的 唯 一 識 別 碼 。 資 料 類 型 : 整 數 。
102 透 過 遠 端 API 設 定<br />
回 應 樣 本<br />
從 伺 服 器 返 回 的 正 回 應 如 下 ( 成 功 移 除 所 有 DNS 區 域 模 板 記 錄 ):<br />
REQUEST PACKET<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
RESPONSE PACKET<br />
<br />
<br />
<br />
<br />
ok<br />
1<br />
<br />
<br />
ok<br />
2<br />
<br />
<br />
ok<br />
3<br />
<br />
<br />
ok<br />
4<br />
<br />
<br />
ok<br />
5<br />
<br />
<br />
ok<br />
6<br />
<br />
<br />
ok<br />
7<br />
<br />
<br />
ok<br />
8<br />
<br />
<br />
ok<br />
9<br />
<br />
<br />
ok<br />
10
透 過 遠 端 API 設 定 103<br />
<br />
<br />
ok<br />
11<br />
<br />
<br />
ok<br />
12<br />
<br />
<br />
<br />
<br />
若 指 定 要 移 除 記 錄 簿 存 在 , 則 返 回 負 回 應 :<br />
REQUEST PACKET<br />
<br />
<br />
<br />
<br />
1<br />
2<br />
3<br />
4<br />
5<br />
<br />
<br />
<br />
<br />
<br />
RESPONSE PACKET<br />
<br />
<br />
<br />
<br />
error<br />
1013<br />
指 定 的 DNS 記 錄 不 存 在 。<br />
1<br />
<br />
<br />
error<br />
1013<br />
指 定 的 DNS 記 錄 不 存 在 。<br />
2<br />
<br />
<br />
error<br />
1013<br />
指 定 的 DNS 記 錄 不 存 在 。<br />
3<br />
<br />
<br />
error<br />
1013<br />
指 定 的 DNS 記 錄 不 存 在 。<br />
4<br />
104 透 過 遠 端 API 設 定<br />
<br />
error<br />
1013<br />
指 定 的 DNS 記 錄 不 存 在 。<br />
5<br />
<br />
<br />
<br />
<br />
安 裝 SSL 憑 證<br />
若 要 安 裝 SSL 憑 證 , 執 行 包 含 certificate/install 操 作 節 點 的 XML 請 求 封 包 :<br />
<br />
< 憑 證 ><br />
<br />
…<br />
<br />
<br />
<br />
本 節 內 容<br />
請 求 封 包 結 構 ..................................................................................................... 105<br />
請 求 樣 本 ............................................................................................................ 106<br />
回 應 封 包 結 構 ..................................................................................................... 108<br />
回 應 樣 本 ............................................................................................................ 109
透 過 遠 端 API 設 定 105<br />
請 求 封 包 結 構<br />
請 求 XML 封 包 的 安 裝 節 點 結 構 如 下 :<br />
• name, required<br />
指 定 憑 證 要 在 <strong>Panel</strong> 中 顯 示 的 名 稱 。 資 料 類 型 : 字 串 。<br />
• admin, required<br />
指 定 要 匯 入 到 伺 服 器 庫 的 憑 證 。 資 料 類 型 : 無 。<br />
• content, required<br />
包 含 憑 證 相 關 所 有 資 料 。 資 料 類 型 : 無 。<br />
• csr, required<br />
指 定 憑 證 CSR ( 憑 證 簽 署 請 求 )。 資 料 類 型 : 字 串 。<br />
• pvt, required<br />
指 定 憑 證 金 鑰 。 資 料 類 型 : 字 串 。<br />
• cert, optional<br />
包 含 憑 證 內 容 。 資 料 類 型 : 字 串 。<br />
• ca, optional<br />
包 含 憑 證 授 權 內 容 。 資 料 類 型 : 字 串 。<br />
• ip_address, required<br />
指 定 憑 證 要 分 配 到 的 IP 位 址 。 資 料 類 型 :ip_type (common.xsd).
106 透 過 遠 端 API 設 定<br />
請 求 樣 本<br />
此 資 料 庫 安 裝 要 顯 示 在 <strong>Panel</strong> 中 的 CA 憑 證 , 名 稱 common, 並 分 配 到 IP 位 址 192.0.2.14。<br />
<br />
< 憑 證 ><br />
<br />
common<br />
<br />
<br />
-----BEGIN CERTIFICATE REQUEST-----<br />
MIICwTCCAakCAQAwfDELMAkGA1UEBhMCVVMxEDAOBgNVBAgTB2dlb3JnaWExEDAO<br />
BgNVBAcTB0F0bGFudGExEjAQBgNVBAoTCURvZSwgTHRkLjEUMBIGA1UEAxMLam9o<br />
bmRvZS5vcmcxHzAdBgkqhkiG9w0BCQEWEGpkb2VAam9obmRvZS5vcmcwggEiMA0G<br />
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC7AQlX0pXqCs61ZUZ28zJ9PAG0yxvV<br />
2pJnJTMqrudyi/3vV8IZrBUUWMthf7tQmMSSyZWAqM+7n4Q9Y4f5WuR+3ReM5kxC<br />
hbQnOrjpdUmv1+ZhB9Q21UFA5eEptyDM/LR2JAjpKJD078rh76pVZm3EsJMl3+UE<br />
3Dg0DeKDelDKa4SYzW1JJnoen4UXX37lIHdBnIj+NCQbHRSiGD6w6mMyiCMOzXCp<br />
SBiGXgRRcaOVl50OeAdVKkwpJaae1K7K3q9j/LkAlOa1C8kuwdaCtKC+jFCE72I0<br />
Q8TnIn7ahPy0yd2EgzZ42Ys8D3PziqGax8I/e6BbEOfzi0n1HD9GCzaPAgMBAAGg<br />
ADANBgkqhkiG9w0BAQQFAAOCAQEAhoSVmInXLQDJu8jrZTVvFUx6O6aHOUkUf/G8<br />
Wnc2x7w+Qo7XHMHVDCUcP3K+bEw9oKxfpvRXP9XTVhX2jABHrxywLyjg4cXwaUgR<br />
t7ULvpLQ0Sum5XNtBypAdSQZZ7ktAa6Q3OMAFNdY8YG9J/L2zlcL9JJZLAUnRWzN<br />
fMBn9Ip3pCC8N9OF9+PFpxGvhtlc1O27w9wj0RdK3hF6Rg37qcUJSnn6XxOB41Q8<br />
ZZbX2Vbskz0WJ1IcxsfWDJ/HFdho7GrrD/wujNpwkTPc3xe2AHcfQX8c/92xyra/<br />
kdzxsDdFD7IwA5bBWGm8QwlL9yWuDPiZ8vSGw96D/Qije9UVkA==<br />
-----END CERTIFICATE REQUEST-----<br />
-----BEGIN RSA PRIVATE KEY-----<br />
MIIEpQIBAAKCAQEAyxfczy4HqgwOI6yxEa+dLaMLe5zC0ijcawsha8oFtJlxv/DM<br />
9INpdKjv9HaInrR0StjG9HgqTpYrhOCJxeB07/gGsQ82xsvbcKANuCSQKInpwVim<br />
GUsisGNrfnbKIoAewN21ENCZQrufcQNWNzTx/GjVCXqa/Sy4pXJ6Jud0dzA/+Vis<br />
SBw5Oo4IqI2MDvuoDk+exQLdgM45Vgq4d3A9+ESzmRmjmdovhNxnXdvMxA5RSrF+<br />
GZlBTFftsLQsnfnNiMR6ZTFgNCt2vdDmUAV9iix2B1PuoH94TRCJRG5tVCFtfVzS<br />
Rjo4ZzoiUs57efb3Oe56Lb64Ubi9ZRzNhdkGLwIDAQABAoIBABJdOAQr31mK+YRU<br />
SzaUMJw9z/3/cMZcF4I+YWlDvTxVW6nFdmLttw1rcTcjuLrRCmryKxtT+k9c2NaN<br />
DygrYaeJP+GmxIc5S8BlWJg8BiUEQ3TONUa4OozEkKXAzApOl3lNEuBQXGtiV8p6<br />
SMN5MCBowkq3IWifMJsVPOJjr25Pby04HCPeeM+cnEiPnMrBjK4OGH8/pKqedf05<br />
EcjnFKGFP2G0BUEhLX7ooMhB+AbjoIbGFXlBIzhaofs8zzSjNkKJ9i4LQMEe0GDf<br />
zCgE4GehW+FdcUlhG1zO7FOJc0LdVUR4deoMzaiNRIwdWxbokVwgSEnM20yXYdCl<br />
t+dsREECgYEA+sNPkzdQC0vF6me6WO8EqMu6AbPjObKnw0i8+g8ndRkMcJQ8FEXD<br />
+D447fCMORUdqGFH8aMWDp392z4JX3+ksSN9XtyEEKB3fsknENsDZKVJvh9U+gUD<br />
DO12mC1PleQBHBjN7Wlsg4mPZNv3cxUQLhFU0qW/moQdy0JrDfv+51ECgYEAz1Ww<br />
OJolOjKhPkGxiDY9sh95E/rpuwkGjb0qiS/UFHHuLc9pDYHyKRpPggdT4nEuBz34<br />
cRpihMgxBKEzuXGEPvdIST0aObOwcqfY4HAJ8PS08rZupCJsk413gYeI/ckXacQK<br />
bYYHLKSEavrcmMFc98i2fmbbNp+ckeLHfzVYtX8CgYEAyP6X39YsEIHRx4sQ8IvU<br />
3j89fnPjo7GxinPZFU3kQJWtROdsKIurAmVNWFrA6lgkh3xCIEqqOVklyv+0n5k+<br />
NsXNjaWPLYyRe0xcRcRmudtKelu+zxAJW+lSb7OR4QD6arzvAmbIFb7C8wLlGpc9<br />
es9lf9pe88kF4JACIxljPaECgYEAj4sWtwlZbsJwygZ3YAOVkUWi8QdNXLVx+R2X<br />
XmVjokgCi2rGo5hszLIvi6mBFQwgvtjTsZJ/1Mg4z6i/g8sosONJA5OvHXXfWnIE<br />
f9Zxu4Xf5Q4S6cX/f+R4cZAhcvsPH6WfRpZ9TxYTq3FE2uk8cTxfxIF3kYjNwF7O<br />
ma6YXQcCgYEApqdVVr92YSYZuDTKYGN5Rd5BaJSGPYWpShS5lPKBQ4n/TkSZzO1v<br />
Bxq2AbPRohXasWEAdfgfss1mcwX9xnKO/DhnxXE8KVFXKVehGmUth0WqA5qtL4xD<br />
h4hm3V7DcMqYbVzpmlWXFz5Is1fIflAhlfeX4h3s1rirTj+T6hODVf4=<br />
-----END RSA PRIVATE KEY-----<br />
-----BEGIN CERTIFICATE-----<br />
MIIDiTCCAnECBETUDecwDQYJKoZIhvcNAQEEBQAwgYgxCzAJBgNVBAYTAlJVMQww<br />
CgYDVQQIEwNOU08xDDAKBgNVBAcTA05TSzEUMBIGA1UEChMLRGFtYWdlIEluYy4x<br />
CzAJBgNVBAsTAlFBMRcwFQYDVQQDEw53d3cuc3dzb2Z0LmNvbTEhMB8GCSqGSIb3
DQEJARYScmJ1c3lndWluQHBsZXNrLnJ1MB4XDTA2MDgwNTAzMTgwMVoXDTA3MDgw<br />
NTAzMTgwMVowgYgxCzAJBgNVBAYTAlJVMQwwCgYDVQQIEwNOU08xDDAKBgNVBAcT<br />
A05TSzEUMBIGA1UEChMLRGFtYWdlIEluYy4xCzAJBgNVBAsTAlFBMRcwFQYDVQQD<br />
Ew53d3cuc3dzb2Z0LmNvbTEhMB8GCSqGSIb3DQEJARYScmJ1c3lndWluQHBsZXNr<br />
LnJ1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyxfczy4HqgwOI6yx<br />
Ea+dLaMLe5zC0ijcawsha8oFtJlxv/DM9INpdKjv9HaInrR0StjG9HgqTpYrhOCJ<br />
xeB07/gGsQ82xsvbcKANuCSQKInpwVimGUsisGNrfnbKIoAewN21ENCZQrufcQNW<br />
NzTx/GjVCXqa/Sy4pXJ6Jud0dzA/+VisSBw5Oo4IqI2MDvuoDk+exQLdgM45Vgq4<br />
d3A9+ESzmRmjmdovhNxnXdvMxA5RSrF+GZlBTFftsLQsnfnNiMR6ZTFgNCt2vdDm<br />
UAV9iix2B1PuoH94TRCJRG5tVCFtfVzSRjo4ZzoiUs57efb3Oe56Lb64Ubi9ZRzN<br />
hdkGLwIDAQABMA0GCSqGSIb3DQEBBAUAA4IBAQBH8mTX3Q3csBUjzwfy3kIVobgh<br />
yElljOQ87Qv5rht5yktuTyS3oGXsDD0sO/uSG/akL34CTPkjl/vqYtzKMsfQ5pXY<br />
MlY6Q+GCd9FgL5pBn1S8HSZLpTBWZc25mNe3mXbCQzI03r4W+dQajAgAgDKpnRjg<br />
mblRg98+HwOL033pVgUnRwPoS3LO5jia5z3F0MkS8sV3x18DuoSLeVILhj0ttZ/p<br />
B7x0kIUee8A95Q00EDh+4IaPSMOqiFrVIlsHEuPV33aCAz2Dk2TxzplsoNz61BFA<br />
i3Cm04Gz1h9W/yzkcYCqiwUMIzSgUSBLn0hBeTid1u/NaDtic776YGuyaI+/<br />
-----END CERTIFICATE-----<br />
<br />
-----BEGIN CERTIFICATE-----<br />
MIIEjDCCA3SgAwIBAgIJAL4AGzKhkL5wMA0GCSqGSIb3DQEBBQUAMIGKMQswCQYD<br />
VQQGEwJSVTELMAkGA1UECBMCTlYxFDASBgNVBAcTC05vdm9zaWJpcnNrMRIwEAYD<br />
VQQKEwlQYXJhbGxlbHMxDjAMBgNVBAsTBVBsZXNrMQ0wCwYDVQQDEwRhYmVsMSUw<br />
IwYJKoZIhvcNAQkBFhZhYmVseWFldkBwYXJhbGxlbHMuY29tMB4XDTA5MDQyODAz<br />
NDMxMloXDTEwMDQyODAzNDMxMlowgYoxCzAJBgNVBAYTAlJVMQswCQYDVQQIEwJO<br />
VjEUMBIGA1UEBxMLTm92b3NpYmlyc2sxEjAQBgNVBAoTCVBhcmFsbGVsczEOMAwG<br />
A1UECxMFUGxlc2sxDTALBgNVBAMTBGFiZWwxJTAjBgkqhkiG9w0BCQEWFmFiZWx5<br />
YWV2QHBhcmFsbGVscy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB<br />
AQDlslx5nXTQTvoic3GgW4HH5n5PoCz95Z9XNtCykwv0M2HdhMeNvde1NYDvkipa<br />
FHzVPEH7eBgjAsHR4y1J4zVGAs2KiJF0W81vi5YAVMOJ7Ysyz8WLP0PQWTmUoMFM<br />
aE0P7m788tphL328chdPJTjlCF6w9FKzddzrvdeK04ojp2cRO6fFMH7WJPcajvh/<br />
3EuYpc7xBNC6Wf8Gk6tB5kCCe7wpHyXsc7ve97nn30p6rUXypBNHYmLujMCtS90I<br />
K2xOCaSsCwkeUQ4mpXrr5lK7yM07b322vNZBiMTHV8DnaOWDPIcEIFl8NmOJovub<br />
dG5wdXopA6seCQLaf95lvULrAgMBAAGjgfIwge8wHQYDVR0OBBYEFLSg4V0zc0i0<br />
pRFtcygaiTgz5ikCMIG/BgNVHSMEgbcwgbSAFLSg4V0zc0i0pRFtcygaiTgz5ikC<br />
oYGQpIGNMIGKMQswCQYDVQQGEwJSVTELMAkGA1UECBMCTlYxFDASBgNVBAcTC05v<br />
dm9zaWJpcnNrMRIwEAYDVQQKEwlQYXJhbGxlbHMxDjAMBgNVBAsTBVBsZXNrMQ0w<br />
CwYDVQQDEwRhYmVsMSUwIwYJKoZIhvcNAQkBFhZhYmVseWFldkBwYXJhbGxlbHMu<br />
Y29tggkAvgAbMqGQvnAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEA<br />
dEkV4DZMr7Rp0dlYqDpdviGu7FE+7R5u87Mz3E9cTApycbg4KTZAS53B3ItsAQv2<br />
yjXnkTQw2/l5XusW+OxhGpWC0z58jScyqNW/HkvheUrgbylIOOaKs9vAayi3mA0T<br />
O1cB1vnAgmB8puV6IdEKuvUimgbJhiGIpqTiL+2/YgSnkGhRuYlxuFB6U8WPgrUN<br />
UMt0linQtUsxMJCghMA3T8cODGon4ugZ0cCJmDfpkStI3jUuoxulSX2I8xmUQtGe<br />
2Q/sUQaWgJhe4RDoth6w7E9GE8733WGhC1mIjxyJMx4vmu4ofLAwN6XUzJJ3eC7s<br />
P34vOGq/sqxG/U+BbUu71A==<br />
-----END CERTIFICATE-----<br />
<br />
<br />
192.0.2.14<br />
<br />
<br />
<br />
透 過 遠 端 API 設 定 107
108 透 過 遠 端 API 設 定<br />
回 應 封 包 結 構<br />
輸 出 XML 封 包 的 install 節 點 結 構 如 下 :<br />
• result, required<br />
包 含 從 伺 服 器 檢 索 到 的 回 應 。<br />
• status, required<br />
指 定 操 作 執 行 狀 態 。 資 料 類 型 : 字 串 。 允 許 的 值 :ok | error.<br />
• errcode, required 若 操 作 失 敗<br />
返 回 錯 誤 碼 。 資 料 類 型 :unsignedInt.<br />
• errtext, required 資 料 類 型 :<br />
返 回 錯 誤 訊 息 。 資 料 類 型 : 字 串 。
透 過 遠 端 API 設 定 109<br />
回 應 樣 本<br />
正 回 應 類 似 於 :<br />
<br />
< 憑 證 ><br />
<br />
<br />
ok<br />
<br />
<br />
<br />
<br />
伺 服 器 負 回 應 類 似 於 :<br />
<br />
< 憑 證 ><br />
<br />
<br />
error<br />
8002<br />
Unable to set csr content to certificate :CSR 欄 位 包 含 錯 誤 值 :<br />
openssl 失 敗 :<br />
<br />
<br />
<br />
<br />
<br />
< 憑 證 ><br />
<br />
<br />
error<br />
8006<br />
Unable to set certificate name :<br />
<br />
<br />
<br />
110 透 過 遠 端 API 設 定<br />
建 立 網 站<br />
若 要 建 立 網 站 帳 戶 , 執 行 包 含 domain/add 操 作 節 點 的 XML 請 求 封 包 :<br />
<br />
<br />
<br />
…<br />
<br />
<br />
<br />
本 節 內 容<br />
請 求 封 包 結 構 ..................................................................................................... 110<br />
請 求 樣 本 ............................................................................................................ 112<br />
回 應 封 包 結 構 ..................................................................................................... 112<br />
回 應 樣 本 ............................................................................................................ 114<br />
請 求 封 包 結 構<br />
建 立 網 站 帳 戶 的 請 求 XML 封 包 , 包 括 domain/add 操 作 模 式 , 結 構 如 下 :
透 過 遠 端 API 設 定 111<br />
• gen_setup, required<br />
網 站 帳 戶 重 要 資 訊 。 資 料 類 型 : 無 。<br />
• name, required<br />
指 定 網 站 名 稱 。 資 料 類 型 :domainName (plesk_domain.xsd).<br />
• ip_address, required<br />
指 定 託 管 網 站 的 IP。 資 料 類 型 :ip_address (common.xsd).<br />
• hosting, required<br />
指 定 網 站 主 機 設 定 。 資 料 類 型 :domainHostingAgentSet (plesk_domain.xsd).<br />
• vrt_hst, required<br />
指 定 網 站 主 機 設 定 。 資 料 類 型 :domainPhHostingSet (plesk_domain.xsd).<br />
結 構 如 下 :<br />
• property, required<br />
指 定 主 機 參 數 。 資 料 類 型 :PleskPhysHostingPropertyType (plesk_domain.xsd).<br />
• name, required<br />
指 定 主 機 參 數 名 。 資 料 類 型 : 字 串 。<br />
• value, required<br />
指 定 主 機 參 數 值 。 資 料 類 型 : 任 何 。<br />
• ip_address, required<br />
指 定 網 站 IP 位 址 。 資 料 類 型 :ip_address (common.xsd).
112 透 過 遠 端 API 設 定<br />
請 求 樣 本<br />
此 請 求 建 立 網 站 example.com, 託 管 在 IP 192.0.2.48。<br />
<br />
<br />
<br />
<br />
example.com<br />
192.0.2.48<br />
<br />
<br />
<br />
<br />
ftp_login<br />
fp16se4fdf0<br />
<br />
<br />
ftp_password<br />
qweqwe<br />
<br />
192.0.2.48<br />
<br />
<br />
<br />
<br />
<br />
回 應 封 包 結 構<br />
輸 出 回 應 封 包 的 add 節 點 結 構 如 下 :
透 過 遠 端 API 設 定 113<br />
• result, required<br />
包 含 從 伺 服 器 檢 索 到 的 回 應 。 資 料 類 型 :resultType (common.xsd).<br />
• status, required<br />
指 定 操 作 執 行 狀 態 。 資 料 類 型 : 字 串 。 允 許 的 值 :ok | error.<br />
• errcode, required 若 操 作 失 敗<br />
返 回 錯 誤 碼 。 資 料 類 型 : 整 數 。<br />
• errtext, required 資 料 類 型 :<br />
返 回 錯 誤 訊 息 。 資 料 類 型 : 字 串 。<br />
• id, 若 操 作 成 功 需 提 供<br />
返 回 剛 新 增 的 網 站 帳 戶 唯 一 識 別 碼 。 資 料 類 型 : 整 數 。<br />
• guid, 若 操 作 成 功 需 提 供<br />
返 回 剛 新 增 的 網 站 帳 戶 全 域 唯 一 識 別 碼 。 資 料 類 型 : 字 串 。
114 透 過 遠 端 API 設 定<br />
回 應 樣 本<br />
新 增 新 網 站 帳 戶 後 , 從 伺 服 器 返 回 正 回 應 , 類 似 於 :<br />
<br />
<br />
<br />
<br />
ok<br />
6<br />
5c0e3881-22a2-4401-bcc0-881d691bfdef<br />
<br />
<br />
<br />
<br />
負 回 應 類 似 於 ( 取 決 於 錯 誤 類 型 返 回 不 同 的 錯 誤 碼 ):<br />
<br />
<br />
<br />
<br />
error<br />
1023<br />
Operation failed.<br />
<br />
<br />
<br />
<br />
若 未 指 定 所 需 的 主 機 設 定 , 則 會 返 回 此 類 負 回 應 :<br />
REQUEST PACKET<br />
<br />
<br />
<br />
<br />
sample.com<br />
10.53.129.101<br />
<br />
<br />
<br />
<br />
ftp_password<br />
fp16sdfdfrttg0<br />
<br />
10.53.129.101<br />
<br />
<br />
<br />
<br />
<br />
RESPONSE PACKET<br />
<br />
透 過 遠 端 API 設 定 115<br />
<br />
<br />
error<br />
2204<br />
無 法 更 新 主 機 喜 好 設 定 。 系 統 使 用 者 更 新 失 敗 : 無 法 檢 查 系 統 使 用 者 是 否 存 在 :<br />
登 入 名 為 空 。 錯 誤 欄 位 :"login".<br />
<br />
<br />
<br />
<br />
建 立 子 網 站<br />
若 要 建 立 子 網 站 帳 戶 , 執 行 包 含 subdomain/add 操 作 節 點 的 XML 請 求 封 包 :<br />
<br />
< 子 網 站 ><br />
<br />
…<br />
<br />
<br />
<br />
本 節 內 容<br />
請 求 封 包 結 構 ..................................................................................................... 115<br />
請 求 樣 本 ............................................................................................................ 117<br />
回 應 封 包 結 構 ..................................................................................................... 118<br />
回 應 樣 本 ............................................................................................................ 119<br />
請 求 封 包 結 構<br />
新 增 新 子 網 站 的 請 求 XML 封 包 , 包 括 subdomain/add 操 作 模 式 , 結 構 如 下 :
116 透 過 遠 端 API 設 定<br />
• parent, required<br />
指 定 要 建 立 網 站 / 子 網 站 的 子 網 站 名 稱 。(Windows 僅 支 援 主 要 子 網 站 。) 資 料 類 型 : 字 串 。<br />
• name, required<br />
指 定 子 網 站 名 稱 。 資 料 類 型 : 字 串 。<br />
• home, required 若 在 子 資 料 夾 中 建 立 子 網 站 ( 僅 限 Windows)<br />
指 定 子 網 站 主 目 錄 路 徑 。 資 料 類 型 : 字 串 。<br />
若 留 空 (), 則 會 使 用 主 要 網 站 根 目 錄 。<br />
• property, optional<br />
指 定 所 建 立 子 網 站 的 主 機 設 定 。 資 料 類 型 :SubdomainPropertyType<br />
(subdomain.xsd).<br />
• name, required<br />
指 定 主 機 參 數 名 。 資 料 類 型 : 字 串 。<br />
• value, required<br />
指 定 主 機 參 數 值 。 資 料 類 型 : 任 何 。
透 過 遠 端 API 設 定 117<br />
請 求 樣 本<br />
此 封 包 建 立 子 網 站 forum.example.com:<br />
<br />
< 子 網 站 ><br />
<br />
example.com<br />
forum<br />
<br />
ftp_login<br />
john<br />
<br />
<br />
ftp_password<br />
sample<br />
<br />
<br />
<br />
<br />
在 子 資 料 夾 中 建 立 子 網 站<br />
此 封 包 在 子 資 料 夾 /httpdocs/BlogEngine 中 建 立 子 網 站 blog.example.com<br />
<br />
< 子 網 站 ><br />
<br />
example.com<br />
blog<br />
/httpdocs/BlogEngine<br />
<br />
<br />
118 透 過 遠 端 API 設 定<br />
回 應 封 包 結 構<br />
輸 出 XML 封 包 的 add 節 點 結 構 如 下 :<br />
• result, required<br />
包 含 從 伺 服 器 檢 索 到 的 回 應 。 資 料 類 型 :resultType (common.xsd).<br />
• status, required<br />
指 定 操 作 執 行 狀 態 。 資 料 類 型 : 字 串 。 允 許 的 值 :ok | error.<br />
• errcode, required 若 操 作 失 敗<br />
返 回 錯 誤 碼 。 資 料 類 型 : 整 數 。<br />
• errtext, required 資 料 類 型 :<br />
返 回 錯 誤 訊 息 。 資 料 類 型 : 字 串 。<br />
• id, 若 操 作 成 功 需 提 供<br />
• 返 回 所 建 立 子 網 站 的 唯 一 識 別 碼 。 資 料 類 型 :id_type (common.xsd).<br />
特 定 操 作 錯 誤<br />
• 1007 - 同 名 子 網 站 已 存 在 。<br />
• 1015 - 找 不 到 主 網 站 / 子 網 站 。<br />
• 1019 - 指 定 的 內 容 無 效 。<br />
• 1023 - 操 作 失 敗 。
透 過 遠 端 API 設 定 119<br />
回 應 樣 本<br />
建 立 子 網 站 後 , 從 伺 服 器 接 收 到 的 正 回 應 如 下 :<br />
<br />
< 子 網 站 ><br />
<br />
<br />
ok<br />
1<br />
<br />
<br />
<br />
<br />
若 指 定 的 子 網 站 已 存 在 , 返 回 此 類 負 回 應 :<br />
REQUEST PACKET<br />
<br />
< 子 網 站 ><br />
<br />
example.com<br />
blog<br />
<br />
<br />
<br />
RESPONSE PACKET<br />
<br />
< 子 網 站 ><br />
<br />
<br />
error<br />
1007<br />
同 名 子 網 站 已 存 在 。<br />
<br />
<br />
<br />
120 透 過 遠 端 API 設 定<br />
定 義 可 用 的 APS 目 錄<br />
若 要 匯 出 APS 目 錄 自 訂 清 單 ( 設 定 檔 ) 到 <strong>Panel</strong>, 執 行 包 含 aps/import-config 操 作 節 點 的 XML<br />
請 求 封 包 :<br />
<br />
<br />
<br />
...<br />
<br />
<br />
<br />
設 定 檔 ( 第 39 頁 ) 應 先 透 過 上 傳 運 算 子 ( 第 124 頁 ) 上 傳 到 伺 服 器 。<br />
本 節 內 容<br />
請 求 封 包 結 構 ..................................................................................................... 120<br />
請 求 樣 本 ............................................................................................................ 121<br />
回 應 封 包 結 構 ..................................................................................................... 122<br />
回 應 樣 本 ............................................................................................................ 123<br />
請 求 封 包 結 構<br />
請 求 封 包 的 import-config 節 點 結 構 如 下 :<br />
• filename, required<br />
指 定 上 傳 到 伺 服 器 的 設 定 檔 名 。 資 料 類 型 : 字 串 。<br />
值 上 傳 回 應 ( 第 131 頁 ) 是 中 的 暫 時 檔 名 ( 位 於 "upload/result/file" 元 素 )。
透 過 遠 端 API 設 定 121<br />
請 求 樣 本<br />
上 傳 到 伺 服 器 之 前 匯 入 APS 目 錄 設 定 的 請 求 封 包 , 類 似 於 :<br />
在 Linux/Unix 中 :<br />
<br />
<br />
<br />
/usr/local/psa/tmp/li_8FZruf<br />
<br />
<br />
<br />
在 Windows 中 :<br />
<br />
<br />
<br />
"C:/Program Files/<strong>Parallels</strong>/Plesk/tmp/li_9D.tmp"<br />
<br />
<br />
122 透 過 遠 端 API 設 定<br />
回 應 封 包 結 構<br />
輸 出 XML 封 包 的 import-config 節 點 結 構 如 下 :<br />
• result, required<br />
包 含 從 伺 服 器 檢 索 到 的 回 應 。 資 料 類 型 :resultType (common.xsd).<br />
• status, required<br />
指 定 操 作 執 行 狀 態 。 資 料 類 型 : 字 串 。 允 許 的 值 :ok | error.<br />
• errcode, required 若 操 作 失 敗<br />
返 回 錯 誤 碼 。 資 料 類 型 : 整 數 。<br />
• errtext, required 資 料 類 型 :<br />
返 回 錯 誤 訊 息 。 資 料 類 型 : 字 串 。
透 過 遠 端 API 設 定 123<br />
回 應 樣 本<br />
從 伺 服 器 接 收 到 的 正 回 應 如 下 :<br />
<br />
<br />
<br />
<br />
ok<br />
<br />
<br />
<br />
<br />
若 找 不 到 所 需 檔 案 , 則 返 回 此 類 負 回 應 :<br />
<br />
<br />
<br />
<br />
error<br />
1013<br />
File "/usr/local/psa/tmp/li_8FZruf" does not exist<br />
<br />
<br />
<br />
<br />
若 請 求 的 檔 案 存 取 權 限 錯 誤 , 則 返 回 此 類 負 回 應 ( 未 使 用 上 傳 代 理 上 傳 ):<br />
<br />
<br />
<br />
<br />
error<br />
1023<br />
無 法 使 用 指 定 檔 案 作 為 設 定 檔 <br />
<br />
<br />
<br />
<br />
安 裝 應 用 程 式<br />
若 要 在 網 站 和 子 網 站 上 安 裝 應 用 程 式 , 使 用 aps 運 算 子 。<br />
本 節 內 容<br />
匯 入 套 用 套 裝 程 式 .............................................................................................. 124<br />
安 裝 應 用 程 式 ..................................................................................................... 150
124 透 過 遠 端 API 設 定<br />
匯 入 套 用 套 裝 程 式<br />
本 節 內 容<br />
將 檔 案 上 傳 到 伺 服 器 .......................................................................................... 124<br />
匯 入 上 傳 的 應 用 套 裝 程 式 ................................................................................... 134<br />
從 APS 目 錄 下 載 套 用 套 裝 程 式 .......................................................................... 138<br />
獲 取 下 載 工 作 狀 態 .............................................................................................. 143<br />
將 檔 案 上 傳 到 伺 服 器<br />
若 要 上 傳 檔 案 到 <strong>Panel</strong> 管 理 的 伺 服 器 , 使 用 上 傳 運 算 子 。 不 同 於 其 他 操 作 , 上 傳 運 算 子 不 使 用<br />
標 準 請 求 封 包 結 構 。 而 是 使 用 發 佈 方 式 http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html<br />
來 上 傳 檔 案 。<br />
當 <strong>Panel</strong> 處 理 請 求 時 , 回 應 包 含 在 一 般 回 應 XML 封 包 中 。 上 傳 檔 案 到 <strong>Panel</strong> 後 , 則 可 用 於 其 他<br />
操 作 。<br />
注 意 : 也 可 使 用 FTP 管 理 員 上 傳 檔 案 , 注 意 對 檔 案 進 行 API RPC 操 作 可 能 會 出 現 權 限 問 題 。<br />
建 議 使 用 上 傳 運 算 子 。<br />
本 節 內 容<br />
使 用 cURL 上 傳 檔 案 .......................................................................................... 124<br />
使 用 PHP 上 傳 檔 案 ............................................................................................ 126<br />
使 用 .NET 上 傳 檔 案 .......................................................................................... 128<br />
回 應 封 包 結 構 ..................................................................................................... 131<br />
回 應 樣 本 ............................................................................................................ 133<br />
使 用 cURL 上 傳 檔 案<br />
步 驟 如 下 :<br />
1. 建 立 到 伺 服 器 的 SSH 連 線 。<br />
2. 在 Unix shell 中 輸 入 下 列 字 串 :<br />
curl -k -F myfile=@install.log -H 'HTTP_AUTH_LOGIN:admin' -H<br />
'HTTP_AUTH_PASSWD:password' https://panel-ip:8443/enterprise/control/agent.<br />
php<br />
參 數<br />
curl<br />
-k<br />
指 定 要 用 的 cURL http://curl.haxx.se/。 需 安 裝 到 Unix 機 器 。
透 過 遠 端 API 設 定 125<br />
使 用 SSL 連 線 。<br />
-F myfile=@install.log<br />
install.log 檔 案 已 上 傳 。 可 在 單 個 封 包 中 上 傳 多 個 檔 案 。<br />
-H 'HTTP_AUTH_LOGIN:admin'<br />
指 定 <strong>Panel</strong> 管 理 員 登 入 名 。 使 用 <strong>Panel</strong> 登 入 名 取 代 管 理 值 。<br />
-H 'HTTP_AUTH_PASSWD:password'<br />
指 定 預 設 管 理 員 的 密 碼 。 使 用 <strong>Panel</strong> 存 取 密 碼 取 代 密 碼 值 。<br />
https://panel-ip:8443/enterprise/control/agent.php<br />
指 定 <strong>Panel</strong> 伺 服 器 位 址 。 使 用 伺 服 器 IP 位 址 取 代 值 。<br />
3. 按 下 ENTER。
126 透 過 遠 端 API 設 定<br />
使 用 PHP 上 傳 檔 案<br />
此 為 使 用 PHP 指 令 碼 上 傳 檔 案 到 <strong>Panel</strong> 的 範 例 。 使 用 <strong>Panel</strong> 憑 證 變 更 HOST、LOGIN、<br />
PASSWD 和 FILENAME。<br />
主 機 <strong>Panel</strong> 管 理 的 伺 服 器 IP 位 址 和 名 稱 。<br />
LOGIN <strong>Panel</strong> 管 理 員 登 入 名 。<br />
PASSWD <strong>Panel</strong> 管 理 員 密 碼 。<br />
FILENAME 要 上 傳 的 檔 案 全 名 。<br />
透 過 遠 端 API 設 定 127<br />
echo "\n\ncURL error:". curl_error($ch);<br />
}<br />
curl_close($ch);<br />
//fclose($fp);<br />
return;<br />
}<br />
uploadFile(realpath(FILENAME));<br />
?>
128 透 過 遠 端 API 設 定<br />
使 用 .NET 上 傳 檔 案<br />
此 .NET 原 始 碼 上 傳 檔 案 到 <strong>Panel</strong>。 使 用 <strong>Panel</strong> 實 例 參 數 取 代 變 量 Hostname、Login、<br />
Password 和 Protocol。 使 用 要 上 傳 的 檔 案 全 名 取 代 Filename 變 量 。<br />
Filename 要 上 傳 的 檔 案 全 名 。<br />
主 機 名 <strong>Panel</strong> 管 理 的 伺 服 器 IP 位 址 和 名 稱 。<br />
登 入 <strong>Panel</strong> 管 理 員 登 入 名 。<br />
密 碼 <strong>Panel</strong> 管 理 員 密 碼 。<br />
Protocol API RPC 協 議 版 本 。<br />
使 用 系 統 ;<br />
使 用 System.Net;<br />
使 用 System.Text;<br />
使 用 System.IO;<br />
使 用 System.Xml;<br />
使 用 System.Xml.Schema;<br />
使 用 System.Security.Cryptography.X509Certificates;<br />
使 用 System.Net.Security;<br />
namespace ConsoleApplication1<br />
{<br />
public class Request<br />
{<br />
// Public interface<br />
//<br />
public string Filename = "./tmp/myfile.sh"; // Upload file name;<br />
public string Hostname = "localhost"; // The <strong>Panel</strong>'s host name<br />
public string Login = "admin";<br />
// Administrator Login<br />
public string Password = "setup"; // Administrator Password<br />
public string Protocol = "1.6.2.0"; // API RPC Version Protocol.<br />
// Handler for receiving information about document type definition (DTD),<br />
// XML-Data Reduced (XDR) schema, and XML Schema definition language (XSD)<br />
schema validation errors.<br />
public ValidationEventHandler XmlSchemaValidation = null;<br />
public Request()<br />
{<br />
}<br />
public string AgentEntryPoint { get { return "https://" + Hostname +<br />
":8443/enterprise/control/agent.php"; } }<br />
public string InputValidationSchema { get { return "https://" + Hostname +<br />
":8443/schemas/rpc/" + Protocol + "/agent_input.xsd"; } }<br />
public string OutputValidationSchema { get { return "https://" + Hostname +<br />
":8443/schemas/rpc/" + Protocol + "/agent_output.xsd"; } }<br />
public XmlDocument UploadFile(string uploadfile)<br />
{
透 過 遠 端 API 設 定 129<br />
HttpWebRequest request =<br />
(HttpWebRequest)WebRequest.Create(AgentEntryPoint);<br />
string boundary = "----------" + DateTime.Now.Ticks.ToString("x");<br />
request.Headers.Add("HTTP_AUTH_LOGIN",<br />
Login); request.Headers.Add("HTTP_AUTH_PASSWD",<br />
Password); request.ContentType = "multipart/form-data; boundary=" +<br />
boundary; request.Method = "POST";<br />
// Build up the post message header<br />
StringBuilder sb = new StringBuilder();<br />
sb.Append("--");<br />
sb.Append(boundary);<br />
sb.Append("\r\n");<br />
sb.Append("Content-Disposition:form-data; name=\"");<br />
sb.Append("sampfile");<br />
sb.Append("\"; filename=\"");<br />
sb.Append(Path.GetFileName(uploadfile));<br />
sb.Append("\"");<br />
sb.Append("\r\n");<br />
sb.Append("Content-Type:");<br />
sb.Append("application/octet-stream");<br />
sb.Append("\r\n");<br />
sb.Append("\r\n");<br />
string postHeader = sb.ToString();<br />
byte[] postHeaderBytes = Encoding.UTF8.GetBytes(postHeader);<br />
// Build the trailing boundary string as a byte array<br />
// ensuring the boundary appears on a line by itself<br />
byte[] boundaryBytes =<br />
Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");<br />
FileStream fileStream = new FileStream(uploadfile,<br />
FileMode.Open, FileAccess.Read);<br />
long length = postHeaderBytes.Length + fileStream.Length +<br />
boundaryBytes.Length;<br />
request.ContentLength = length;<br />
Stream stream = request.GetRequestStream();<br />
stream.Write(postHeaderBytes, 0, postHeaderBytes.Length);<br />
// Write out the file contents<br />
byte[] buffer = new Byte[checked((uint)Math.Min(4096,<br />
(int)fileStream.Length))];<br />
int bytesRead = 0;<br />
while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)<br />
stream.Write(buffer, 0, bytesRead);<br />
// Write out the trailing boundary stream.Write(boundaryBytes, 0,<br />
boundaryBytes.Length);<br />
XmlDocument result = GetResponse(request);<br />
return result;<br />
}<br />
// Private interface<br />
//<br />
// Parsing and validating packet<br />
//<br />
private XmlDocument ParseAndValidate(TextReader xml, string schemaUri)<br />
{<br />
XmlSchemaSet schemas = new XmlSchemaSet();<br />
schemas.Add(null, schemaUri);
130 透 過 遠 端 API 設 定<br />
XmlReaderSettings settings = new XmlReaderSettings();<br />
if (XmlSchemaValidation != null)<br />
settings.ValidationEventHandler += new<br />
ValidationEventHandler(XmlSchemaValidation);<br />
settings.ValidationType = ValidationType.Schema;<br />
settings.ValidationFlags |=<br />
XmlSchemaValidationFlags.ProcessSchemaLocation;<br />
settings.Schemas = schemas;<br />
XmlDocument document = new XmlDocument();<br />
using (XmlReader reader = XmlTextReader.Create(xml, settings))<br />
{<br />
document.Load(reader);<br />
}<br />
return document;<br />
}<br />
private XmlDocument GetResponse(HttpWebRequest request)<br />
{<br />
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())<br />
using (Stream stream = response.GetResponseStream())<br />
using (TextReader reader = new StreamReader(stream))<br />
{<br />
return ParseAndValidate(reader, OutputValidationSchema);<br />
}<br />
}<br />
}<br />
class Program<br />
{<br />
static void Main(string[] args)<br />
{<br />
if (args.Length < 4)<br />
{<br />
Console.WriteLine("Usage:ParalLelSpaNelapirpcclient <br />
");<br />
Console.WriteLine(" ");<br />
Console.WriteLine(" Hostname - The <strong>Panel</strong>'s host name");<br />
Console.WriteLine(" Login - Administrator login");<br />
Console.WriteLine(" Password - Administrator password");<br />
Console.WriteLine(" FileName - Upload file name");<br />
return;<br />
}<br />
// Verifies the remote Secure Sockets Layer (SSL) certificate used for<br />
authentication.<br />
ServicePointManager.ServerCertificateValidationCallback =<br />
new RemoteCertificateValidationCallback(RemoteCertificateValidation);<br />
Request request = new Request(); request.XmlSchemaValidation =<br />
XmlSchemaValidation;<br />
try<br />
{<br />
XmlDocument result = request.UploadFile(filename);<br />
PrintResult(result);<br />
}<br />
catch (Exception e)<br />
{<br />
Console.WriteLine("Request error:{0}", e.Message);<br />
}<br />
}
透 過 遠 端 API 設 定 131<br />
// The following method is invoked by the<br />
RemoteCertificateValidationDelegate.<br />
private static bool RemoteCertificateValidation(object sender,<br />
X509Certificate certificate, X509Chain chain, SslPolicyErrors<br />
sslPolicyErrors)<br />
{<br />
if (sslPolicyErrors != SslPolicyErrors.RemoteCertificateNotAvailable)<br />
return true;<br />
Console.WriteLine("Certificate error:{0}", sslPolicyErrors);<br />
// Do not allow this client to communicate with unauthenticated servers.<br />
return false;<br />
}<br />
//<br />
private static void XmlSchemaValidation(object sender, ValidationEventArgs<br />
e)<br />
{<br />
Console.WriteLine("Validation error:{0}", e.Message);<br />
}<br />
static void PrintResult(XmlDocument document)<br />
{<br />
XmlTextWriter writer = new XmlTextWriter(Console.Out);<br />
writer.Formatting = Formatting.Indented;<br />
document.WriteTo(writer);<br />
writer.Flush();<br />
Console.WriteLine();<br />
}<br />
}<br />
}<br />
回 應 封 包 結 構<br />
上 傳 輸 出 XML 封 包 結 構 如 下 :
132 透 過 遠 端 API 設 定<br />
• result, required<br />
包 含 從 伺 服 器 檢 索 到 的 回 應 。 資 料 類 型 :resultType (common.xsd).<br />
• status, required<br />
指 定 操 作 執 行 狀 態 。 資 料 類 型 : 字 串 。 允 許 的 值 :ok | error.<br />
• errcode, required 若 操 作 失 敗<br />
返 回 錯 誤 碼 。 資 料 類 型 : 整 數 。<br />
• errtext, required 資 料 類 型 :<br />
返 回 錯 誤 訊 息 。 資 料 類 型 : 字 串 。<br />
• name, required<br />
指 定 上 傳 檔 名 。 資 料 類 型 : 字 串 。<br />
• file, required<br />
指 定 建 立 的 暫 存 檔 全 名 。 資 料 類 型 : 字 串 。
透 過 遠 端 API 設 定 133<br />
回 應 樣 本<br />
上 傳 單 個 封 包<br />
若 請 求 代 理 上 傳 li.sh 封 包 到 <strong>Panel</strong> 管 理 的 伺 服 器 , 則 返 回 負 回 應 , 類 似 於 :<br />
<br />
<br />
<br />
ok<br />
li.sh<br />
/usr/local/psa/tmp/li_8FZruf<br />
<br />
<br />
<br />
若 上 傳 的 檔 案 超 出 upload_max_filesize, 在 php.ini 中 設 定 , 則 返 回 負 回 應 , 類 似 於 :<br />
<br />
<br />
<br />
error<br />
1023<br />
上 傳 的 檔 案 超 出 php.ini 中 的 upload_max_filesize 設 定 <br />
li.sh<br />
/usr/local/psa/tmp/li_8FZruf<br />
<br />
<br />
<br />
上 傳 多 個 封 包<br />
若 請 求 代 理 上 傳 li.sh 和 mybox.sh 檔 案 到 <strong>Panel</strong> 伺 服 器 , 則 返 回 負 回 應 , 類 似 於 :<br />
<br />
<br />
<br />
ok<br />
li.sh<br />
/usr/local/psa/tmp/li_8FZruf<br />
<br />
<br />
ok<br />
mybox.sh<br />
/usr/local/psa/tmp/li_8FZrHts<br />
<br />
<br />
134 透 過 遠 端 API 設 定<br />
匯 入 上 傳 的 應 用 套 裝 程 式<br />
若 要 匯 入 上 傳 的 應 用 套 裝 程 式 ( 第 124 頁 ) 到 <strong>Panel</strong>, 執 行 包 含 aps/import-package 操 作 模 式 的<br />
XML 請 求 :<br />
<br />
<br />
<br />
...<br />
<br />
<br />
<br />
本 節 內 容<br />
請 求 封 包 結 構 ..................................................................................................... 134<br />
請 求 樣 本 ............................................................................................................ 135<br />
回 應 封 包 結 構 ..................................................................................................... 136<br />
回 應 樣 本 ............................................................................................................ 137<br />
請 求 封 包 結 構<br />
匯 入 APS 封 包 到 <strong>Panel</strong> 的 XML 封 包 包 含 import-package 操 作 節 點 , 結 構 如 下 :<br />
• filename, required<br />
指 定 上 傳 到 伺 服 器 的 應 用 套 裝 程 式 名 稱 。 資 料 類 型 : 字 串 。<br />
值 上 傳 回 應 ( 第 131 頁 ) 是 中 的 暫 時 檔 名 ( 位 於 "upload/result/file" 元 素 )。
透 過 遠 端 API 設 定 135<br />
請 求 樣 本<br />
上 傳 到 伺 服 器 之 前 匯 入 <strong>Panel</strong> APS 目 錄 設 定 的 請 求 封 包 , 類 似 於 :<br />
在 Linux/Unix 中 :<br />
<br />
<br />
<br />
/usr/local/psa/tmp/li_8FZruf<br />
<br />
<br />
<br />
在 Windows 中 :<br />
<br />
<br />
<br />
"C:/Program Files/<strong>Parallels</strong>/Plesk/tmp/li_9D.tmp"<br />
<br />
<br />
136 透 過 遠 端 API 設 定<br />
回 應 封 包 結 構<br />
輸 出 XML 封 包 的 import-package 節 點 結 構 如 下 :<br />
• result, required<br />
包 含 從 伺 服 器 檢 索 到 的 回 應 。 資 料 類 型 :resultType (common.xsd).<br />
• status, required<br />
指 定 操 作 執 行 狀 態 。 資 料 類 型 : 字 串 。 允 許 的 值 :ok | error.<br />
• errcode, required 若 操 作 失 敗<br />
返 回 錯 誤 碼 。 資 料 類 型 : 整 數 。<br />
• errtext, required 資 料 類 型 :<br />
返 回 錯 誤 訊 息 。 資 料 類 型 : 字 串 。<br />
• package-id, required 若 操 作 成 功 需 提 供<br />
返 回 分 配 給 <strong>Panel</strong> 管 理 的 伺 服 器 上 的 套 裝 程 式 ID 。 資 料 類 型 :id_type<br />
(common.xsd).
透 過 遠 端 API 設 定 137<br />
回 應 樣 本<br />
從 伺 服 器 接 收 到 的 正 回 應 如 下 :<br />
<br />
<br />
<br />
<br />
ok<br />
13<br />
<br />
<br />
<br />
<br />
若 找 不 到 所 需 檔 案 , 則 返 回 此 類 負 回 應 :<br />
<br />
<br />
<br />
<br />
error<br />
1013<br />
File "/usr/local/psa/tmp/li_8FZruf" does not exist<br />
<br />
<br />
<br />
<br />
若 匯 入 的 檔 案 是 無 效 的 APS 套 用 套 裝 程 式 , 則 返 回 此 類 負 回 應 。<br />
1) 要 匯 入 的 存 檔 缺 少 APP-META.xml 套 裝 程 式 元 檔 案 。<br />
<br />
<br />
<br />
<br />
error<br />
1023<br />
Entry 'APP-META.xml' not found<br />
<br />
<br />
<br />
<br />
2) APP-META.xml 未 經 過 XML 方 案 驗 證 。<br />
<br />
<br />
<br />
<br />
error<br />
1023<br />
無 法 要 求 元 資 料 描 述 <br />
<br />
<br />
<br />
138 透 過 遠 端 API 設 定<br />
從 APS 目 錄 下 載 套 用 套 裝 程 式<br />
若 要 從 APS 目 錄 下 載 套 用 套 裝 程 式 , 執 行 包 含 aps/download-package 操 作 節 點 的 XML 請 求 封 包<br />
:<br />
<br />
<br />
<br />
...<br />
<br />
<br />
<br />
若 操 作 成 功 , 則 建 立 下 載 工 作 。<br />
注 意 : 操 作 成 功 不 表 示 開 始 下 載 。 下 載 是 否 成 功 , 需 執 行 get-download-status ( 第 143 頁 ) 檢 視<br />
。<br />
本 節 內 容<br />
請 求 封 包 結 構 ..................................................................................................... 139<br />
請 求 樣 本 ............................................................................................................ 140<br />
回 應 封 包 結 構 ..................................................................................................... 141<br />
回 應 樣 本 ............................................................................................................ 142
透 過 遠 端 API 設 定 139<br />
請 求 封 包 結 構<br />
download-package 節 點 結 構 如 下 :<br />
• package, required<br />
描 述 目 的 封 包 的 所 有 資 料 。 資 料 類 型 :APSIdentifierType (aps.xsd).<br />
APS 目 錄 的 子 節 點 值 。 詳 細 資 訊 , 參 閱 元 素 參 考 ,APS 目 錄 API 參 考<br />
(http://www.apsstandard.org/r/doc/aps-catalog-1.1-api/index.htm)。<br />
• name, required<br />
指 定 應 用 程 式 封 包 名 。 資 料 類 型 : 字 串 。<br />
• version, optional<br />
指 定 應 用 程 式 版 本 。 資 料 類 型 : 字 串 。<br />
若 未 定 義 , 則 APS 目 錄 中 有 多 個 版 本 , 只 下 載 最 新 版 。<br />
• release, optional<br />
指 定 套 裝 程 式 版 本 。 資 料 類 型 : 字 串 。<br />
若 未 定 義 , 則 APS 目 錄 中 有 多 個 版 本 , 只 下 載 最 新 版 。<br />
• vendor, optional<br />
指 定 應 用 程 式 廠 商 。 資 料 類 型 : 字 串 。<br />
• packager, optional<br />
指 定 應 用 程 式 打 包 程 式 。 資 料 類 型 : 字 串<br />
aps-catalog-url, optional<br />
指 定 要 下 載 套 裝 程 式 的 APS 目 錄 URL。 資 料 類 型 : 字 串<br />
若 節 點 出 現 , 值 中 的 URL 同 APS 目 錄 設 定 檔 ( 第 39 頁 ) 中 相 同 , 否 則 會 出 現 錯 誤 1013。<br />
若 未 包 含 在 封 包 中 , 從 最 先 在 APS 目 錄 設 定 檔 ( 第 120 頁 ) 中 定 義 的 APS 目 錄 下 載 的 封 包
140 透 過 遠 端 API 設 定<br />
請 求 樣 本<br />
此 封 包 安 裝 從 特 定 APS 目 錄 安 裝 特 定 版 本 、 發 行 號 、 廠 商 和 發 行 商 的 應 用 套 裝 程 式 ( 不 同 於 預<br />
設 值 )。<br />
<br />
<br />
<br />
<br />
BlogEngine.NET<br />
1.4.5<br />
2<br />
www.dotnetblogengine.net<br />
parallels.com<br />
<br />
http://apscatalog.com/<br />
<br />
<br />
<br />
此 封 包 從 APS 目 錄 下 載 多 個 套 裝 程 式 及 其 部 落 格 應 用 程 式 。 假 定 要 下 載 的 每 個 應 用 程 式 目 錄 套<br />
裝 程 式 版 本 最 新 。<br />
<br />
<br />
<br />
<br />
BlogEngine.NET<br />
<br />
<br />
<br />
<br />
WordPress<br />
<br />
<br />
<br />
<br />
geeklog<br />
<br />
<br />
<br />
透 過 遠 端 API 設 定 141<br />
回 應 封 包 結 構<br />
輸 出 XML 封 包 download-package 結 構 如 下 :<br />
• result, required<br />
包 含 從 伺 服 器 檢 索 到 的 回 應 。 資 料 類 型 :resultType (common.xsd).<br />
• status, required<br />
指 定 操 作 執 行 狀 態 。 資 料 類 型 : 字 串 。 允 許 的 值 :ok | error.<br />
• errcode, required 若 操 作 失 敗<br />
返 回 錯 誤 碼 。 資 料 類 型 : 整 數 。<br />
• errtext, required 資 料 類 型 :<br />
返 回 錯 誤 訊 息 。 資 料 類 型 : 字 串 。<br />
• task-id, required 若 操 作 成 功 需 提 供<br />
返 回 下 載 工 作 ID, 可 稍 後 用 於 檢 索 下 載 狀 態 。 資 料 類 型 : 字 串 。
142 透 過 遠 端 API 設 定<br />
回 應 樣 本<br />
從 伺 服 器 接 收 到 的 正 回 應 如 下 :<br />
<br />
<br />
<br />
<br />
ok<br />
4<br />
<br />
<br />
<br />
<br />
若 請 求 定 義 的 APS 目 錄 URL 不 在 APS 目 錄 設 定 檔 ( 第 120 頁 ) 清 單 中 , 則 返 回 下 列 回 應 。 若<br />
請 求 的 URL 不 同 於 設 定 檔 中 定 義 的 URL 也 是 下 列 回 應 。 若 APS 目 錄 設 定 中 定 義 的 URL 遺 失<br />
斜 線 。<br />
<br />
<br />
<br />
<br />
error<br />
1013<br />
目 錄 中 的 URL "http://apscatalog.com" 不 存 在 <br />
<br />
<br />
<br />
<br />
若 APS 目 錄 URL 無 法 解 析 , 返 回 此 類 負 回 應 :<br />
<br />
<br />
<br />
<br />
error<br />
1023<br />
無 法 解 析 主 機 :apscatalog.co; 無 請 求 類 型 的 資 料 記 錄 <br />
<br />
<br />
<br />
<br />
若 APS 目 錄 設 定 檔 ( 第 120 頁 ) 格 式 錯 誤 , 返 回 此 類 負 回 應 :<br />
<br />
<br />
<br />
<br />
error<br />
1023<br />
APS 目 錄 設 定 檔 損 壞 <br />
<br />
<br />
<br />
透 過 遠 端 API 設 定 143<br />
獲 取 下 載 工 作 狀 態<br />
若 要 檢 索 套 裝 程 式 下 載 工 作 狀 態 , 執 行 包 含 aps/get-download-status 操 作 節 點 的 XML 請 求 封 包 :<br />
<br />
<br />
<br />
...<br />
<br />
<br />
<br />
可 能 的 狀 態 :<br />
• "finished/error" - 未 在 APS 目 錄 中 找 到 套 裝 程 式 , 導 致 無 法 啟 動 工 作<br />
• "finished/package-id" - 成 功 完 成 工 作<br />
• "in-progress/current" - 套 裝 程 式 下 載 中<br />
• "in-progress" 缺 少 "current" 子 節 點 - 未 開 始 下 載 套 裝 程 式 , 但 已 在 佇 列 中<br />
本 節 內 容<br />
請 求 封 包 結 構 ..................................................................................................... 143<br />
請 求 樣 本 ............................................................................................................ 144<br />
回 應 封 包 結 構 ..................................................................................................... 145<br />
請 求 和 回 應 樣 本 ................................................................................................. 147<br />
請 求 封 包 結 構<br />
get-download-status 節 點 結 構 如 下 :<br />
• filter, required<br />
檢 索 到 篩 選 器 下 載 工 作 。 資 料 類 型 : 無 。<br />
若 定 義 的 值 為 空 , 則 返 回 所 有 當 前 所 有 下 載 工 作 清 單 。 在 Windows 中 , 為 每 個 下 載 工 作 建<br />
立 獨 立 交 易 。 下 載 完 成 則 下 載 交 易 結 束 。<br />
• task-id, optional<br />
指 定 下 載 工 作 ID ( 返 回 操 作 結 果 )。 資 料 類 型 :id_type<br />
(common.xsd).
144 透 過 遠 端 API 設 定<br />
請 求 樣 本<br />
此 封 包 請 求 當 前 下 載 交 易 狀 態 。<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
此 封 包 請 求 下 載 工 作 ID 10、11 和 12 的 狀 態 。<br />
<br />
<br />
<br />
<br />
10<br />
11<br />
12<br />
<br />
<br />
<br />
透 過 遠 端 API 設 定 145<br />
回 應 封 包 結 構<br />
輸 出 XML 封 包 get-download-status 結 構 如 下 :<br />
• result, required<br />
包 含 從 伺 服 器 檢 索 到 的 回 應 。 資 料 類 型 :resultType (common.xsd).<br />
• status, required<br />
指 定 操 作 執 行 狀 態 。 資 料 類 型 : 字 串 。 允 許 的 值 :ok | error.<br />
• errcode, required 若 操 作 失 敗<br />
返 回 錯 誤 碼 。 資 料 類 型 : 整 數 。<br />
• errtext, required 若 請 求 包 含 非 空 篩 選 器<br />
返 回 錯 誤 訊 息 。 資 料 類 型 : 字 串 。<br />
• filter-id, required 若 操 作 成 功 需 提 供<br />
返 回 被 篩 選 操 作 的 ID。 資 料 類 型 : 任 何 。<br />
• id, required 若 操 作 成 功 需 提 供<br />
返 回 檢 索 到 的 下 載 工 作 ID。 資 料 類 型 :id_type (common.xsd)<br />
• task, optional<br />
描 述 下 載 工 作 狀 態 的 資 料 集 。 資 料 類 型 : 無 。<br />
結 構 如 下 :
146 透 過 遠 端 API 設 定<br />
• id, required<br />
返 回 檢 索 到 的 下 載 工 作 ID。 資 料 類 型 :id_type (common.xsd).<br />
• finished, optional<br />
指 定 下 載 工 作 完 成 。 資 料 類 型 : 無 。<br />
• in-progress, optional<br />
指 定 下 載 工 作 進 行 中 , 或 在 下 載 佇 列 中 一 次 指 定 多 個 套 裝 程 式 。 資 料 類 型 :<br />
APSPackageDownloadStatusInProgress (aps.xsd).<br />
• error, optional<br />
指 定 下 載 工 作 完 成 , 但 出 現 錯 誤 。 包 含 錯 誤 描 述 。 資 料 類 型 : 無 。<br />
• package-id, required 若 下 載 成 功 需 提 供<br />
指 定 下 載 成 功 完 成 , 以 及 在 伺 服 器 上 分 配 給 套 裝 程 式 的 ID。 資 料 類 型 :id_type<br />
(common.xsd).<br />
• total, required<br />
指 定 應 用 程 式 總 大 小 , 位 元 組 。 資 料 類 型 : 整 數 。<br />
• completed, required<br />
指 定 下 載 包 總 大 小 , 位 元 組 。 資 料 類 型 : 整 數 。<br />
• current, optional<br />
指 定 下 載 工 作 進 行 中 , 下 載 佇 列 中 無 等 待 工 作 。 資 料 類 型 : 字 串 。
透 過 遠 端 API 設 定 147<br />
請 求 和 回 應 樣 本<br />
樣 本 1<br />
請 求<br />
此 封 包 返 回 下 載 工 作 ID 18 的 狀 態 :<br />
<br />
<br />
<br />
<br />
18<br />
<br />
<br />
<br />
<br />
回 應 A<br />
正 回 應 類 似 於 :<br />
<br />
<br />
<br />
<br />
ok<br />
18<br />
18<br />
<br />
18<br />
<br />
13<br />
<br />
<br />
<br />
<br />
<br />
<br />
回 應 B<br />
若 下 載 工 作 未 啟 動 , 或 完 成 但 出 錯 , 返 回 此 類 回 應 。<br />
<br />
<br />
<br />
<br />
ok<br />
18<br />
18<br />
<br />
18<br />
<br />
無 法 從 目 錄 下 載 套 裝 程 式 <br />
<br />
<br />
148 透 過 遠 端 API 設 定<br />
<br />
<br />
<br />
回 應 C<br />
若 請 求 ID 不 存 在 , 返 回 此 類 負 回 應 。<br />
<br />
<br />
<br />
<br />
error<br />
1013<br />
找 不 到 下 載 工 作 id 18<br />
181<br />
<br />
<br />
<br />
<br />
樣 本 2<br />
請 求<br />
此 封 包 請 求 當 前 交 易 中 所 有 下 載 工 作 的 狀 態 。<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
回 應 A<br />
從 執 行 樹 狀 工 作 的 Linux 伺 服 器 返 回 此 回 應 : 一 個 工 作 完 成 , 一 個 處 理 中 , 一 個 在 佇 列 中 。<br />
<br />
<br />
<br />
<br />
ok<br />
10<br />
10<br />
<br />
10<br />
<br />
5<br />
<br />
<br />
<br />
<br />
ok<br />
11<br />
11<br />
<br />
11<br />
<br />
3584225
透 過 遠 端 API 設 定 149<br />
2458<br />
<br />
<br />
<br />
<br />
<br />
ok<br />
12<br />
12<br />
<br />
12<br />
<br />
45888236<br />
0<br />
<br />
<br />
<br />
<br />
<br />
<br />
回 應 B<br />
交 易 執 行 時 , 從 Windows 伺 服 器 上 返 回 此 回 應 :<br />
<br />
<br />
<br />
<br />
ok<br />
38<br />
38<br />
<br />
38<br />
<br />
0<br />
0<br />
<br />
<br />
<br />
<br />
<br />
<br />
回 應 C<br />
無 下 載 交 易 執 行 時 , 收 到 此 類 回 應 。<br />
<br />
<br />
<br />
<br />
ok<br />
<br />
<br />
<br />
150 透 過 遠 端 API 設 定<br />
安 裝 應 用 程 式<br />
安 裝 應 用 程 式 要 求 您 識 別 要 安 裝 的 源 套 裝 程 式 。 按 ID 識 別 或<br />
name-version-release-vendor-packager 資 訊 識 別 套 裝 程 式 。<br />
若 要 提 供 套 裝 程 式 ID, 執 行 :<br />
• 使 用 匯 入 <strong>Panel</strong> 後 分 配 給 套 裝 程 式 的 ID ( 第 136 頁 )<br />
• 使 用 從 APS 目 錄 成 功 下 載 後 分 配 給 套 裝 程 式 的 ID ( 第 145 頁 )<br />
• 使 用 從 可 用 套 裝 程 式 資 訊 返 回 的 ID ( 第 163 頁 )<br />
若 要 提 供 name-version-release-vendor-packager 資 訊 , 從 可 安 裝 的 套 裝 程 式 檢 索 資 訊 ( 第<br />
161 頁 )。<br />
本 節 內 容<br />
在 網 站 或 子 網 站 上 安 裝 應 用 程 式 ........................................................................ 150<br />
檢 索 可 用 封 包 ..................................................................................................... 161<br />
在 網 站 或 子 網 站 上 安 裝 應 用 程 式<br />
若 要 安 裝 應 用 程 式 , 執 行 包 含 aps/install 操 作 節 點 的 XML 請 求 封 包 :<br />
<br />
<br />
<br />
...<br />
<br />
<br />
<br />
本 節 內 容<br />
請 求 封 包 結 構 ..................................................................................................... 151<br />
請 求 樣 本 ............................................................................................................ 155<br />
回 應 封 包 結 構 ..................................................................................................... 156<br />
回 應 樣 本 ............................................................................................................ 157
透 過 遠 端 API 設 定 151<br />
請 求 封 包 結 構<br />
install 節 點 結 構 如 下 :<br />
domain-id 或 domain-name 或 subdomain-id 或 subdomain-name 需 要 。<br />
• domain-id, optional<br />
指 定 要 安 裝 的 網 站 ID。 資 料 類 型 :id_type (common.xsd).<br />
• domain-name, optional<br />
指 定 要 安 裝 的 網 站 名 。 資 料 類 型 : 字 串 。<br />
• subdomain-id, optional<br />
指 定 要 安 裝 的 子 網 站 ID。 資 料 類 型 :id_type (common.xsd).<br />
• subdomain-name, optional<br />
指 定 要 安 裝 的 子 網 站 名 。 資 料 類 型 : 字 串 。<br />
package-id 或 package 需 要 。<br />
注 意 : 套 裝 程 式 識 別 資 訊 , 使 用 aps/get-packages-list 操 作 獲 取 ( 第 161 頁 )。<br />
• package-id, optional<br />
指 定 要 在 伺 服 器 上 安 裝 的 應 用 套 裝 程 式 ID。 資 料 類 型 :id_type (common.xsd).
152 透 過 遠 端 API 設 定<br />
• package, optional<br />
伺 服 器 上 安 裝 的 應 用 套 裝 程 式 資 訊 。 資 料 類 型 :APSIdentifierType (aps.xsd), 檢 視 下 列<br />
定 義 。<br />
• ssl, optional<br />
指 定 應 用 程 式 是 否 可 以 透 過 HTTPS 協 議 存 取 。 資 料 類 型 :boolean.<br />
若 未 指 定 , 則 透 過 HTTP 存 取 。<br />
• url-prefix, optional<br />
指 定 網 站 / 子 網 站 URL。 資 料 類 型 :APSUrlPrefixType (aps.xsd).<br />
若 未 指 定 , 則 使 用 預 設 設 定 ("/application/default-prefix" 元 素 , 位 於<br />
APP-META.xml 檔 案 中 )。<br />
• database, optional<br />
應 用 程 式 建 立 的 封 包 內 容 描 述 。 資 料 類 型 :APSDatabaseInputType (aps.xsd), 檢 視 下<br />
列 定 義 。<br />
若 應 用 程 式 需 要 資 料 庫 , 且 未 在 佇 列 中 指 定 database 元 素 , 則 在 建 立 時 自 動 生 成 名 稱 、 使 用<br />
者 登 入 名 和 密 碼 。<br />
按 應 用 程 式 需 求 , 資 料 庫 伺 服 器 (MySQL, PostgreSQL 或 Microsoft SQL Server) 自 動 選 擇<br />
。<br />
• settings, optional<br />
應 用 程 式 安 裝 設 定 集 。<br />
。<br />
資 料 類 型 :APSSettingsInputType (aps.xsd), 檢 視 下 列 定 義<br />
若 要 安 裝 的 應 用 程 式 有 設 定 ( 套 用 套 裝 程 式 元 資 料 檔 案 APP-META.xml 包 含 至 少 一 個 元 素<br />
"//setting")。<br />
package 節 點 由 類 型 APSIdentifierType 表 示 (aps.xsd), 圖 示 如 下 :<br />
• name, required<br />
指 定 應 用 程 式 封 包 名 。 資 料 類 型 : 字 串 。<br />
• version, optional<br />
指 定 應 用 程 式 版 本 。 資 料 類 型 : 字 串 。<br />
• release, optional<br />
指 定 套 裝 程 式 版 本 。 資 料 類 型 : 字 串 。
透 過 遠 端 API 設 定 153<br />
• vendor, optional<br />
指 定 應 用 程 式 廠 商 。 資 料 類 型 : 字 串 。<br />
• packager, optional<br />
指 定 應 用 程 式 打 包 程 式 。 資 料 類 型 : 字 串<br />
應 在 簡 要 或 延 伸 表 單 中 指 定 套 裝 程 式 :<br />
• 簡 要 型 提 供 應 用 程 式 名<br />
• 延 伸 型 提 供 所 有 套 裝 程 式 詳 細 資 訊 : 名 稱 、 版 本 、 發 行 號 、 廠 商 和 打 包 程 式<br />
database 節 點 由 類 型 APSDatabaseInputType 表 示 (aps.xsd), 圖 示 如 下 :
154 透 過 遠 端 API 設 定<br />
• name, required<br />
指 定 封 包 名 稱 。 應 唯 一 。 資 料 類 型 : 字 串 。<br />
• login, required<br />
指 定 封 包 使 用 者 登 入 名 。 應 唯 一 。 資 料 類 型 : 字 串 。<br />
• password, required<br />
指 定 資 料 庫 使 用 者 密 碼 。 資 料 類 型 : 字 串 。<br />
settings 節 點 由 類 型 APSSettingsInputType 表 示 (aps.xsd), 圖 示 如 下 :<br />
• setting, required<br />
應 用 程 式 設 定 定 義 。 資 料 類 型 :APSSettingInputType (aps.xsd).<br />
應 用 程 式 設 定 名 稱 資 訊 , 以 及 從 套 用 套 裝 程 式 元 資 料 檔 案 獲 取 的 值 APP-META.xml<br />
( "//setting" 元 素 )。<br />
應 用 程 式 元 資 料 檔 案 中 未 指 定 預 設 值 , 則 使 用 設 定 元 素 。<br />
• name, required<br />
指 定 設 定 ID。 可 以 和 APP-META.xml ("//setting[@id]") 中 指 定 同 一 設 定 ID。 資<br />
料 類 型 : 字 串 。<br />
• value, required<br />
指 定 設 定 值 。 資 料 類 型 : 字 串 。
透 過 遠 端 API 設 定 155<br />
請 求 樣 本<br />
下 列 套 裝 程 式 在 網 站 example.com 上 安 裝 應 用 程 式 Serendipity。<br />
<br />
<br />
<br />
example.com<br />
<br />
serendipity<br />
1.1.2<br />
33<br />
s9y.org<br />
parallels.com<br />
<br />
<br />
s9DB<br />
s9user<br />
s9password<br />
<br />
< 設 定 ><br />
< 設 定 。><br />
admin_p_name<br />
admin<br />
<br />
< 設 定 。><br />
admin_name<br />
admin<br />
<br />
< 設 定 。><br />
admin_password<br />
P4$$w0rd<br />
<br />
< 設 定 。><br />
admin_email<br />
admin@example.com<br />
<br />
< 設 定 。><br />
title<br />
Project X Blog<br />
<br />
< 設 定 。><br />
blog_descr<br />
Project X Blog<br />
<br />
< 設 定 。><br />
locale<br />
en-US<br />
<br />
<br />
<br />
<br />
<br />
下 列 封 包 在 子 網 站 上 安 裝 LinkPoint 應 用 程 式 ( 套 裝 程 式 ID 5)。 若 安 裝 應 用 程 式 不 需 要 資 料 庫<br />
且 無 設 定 時 , 會 用 到 此 類 請 求 。
156 透 過 遠 端 API 設 定<br />
<br />
<br />
<br />
subdomain.example.com<br />
5<br />
<br />
<br />
<br />
回 應 封 包 結 構<br />
輸 出 XML 封 包 的 install 節 點 結 構 如 下 :<br />
• result, required<br />
包 含 從 伺 服 器 檢 索 到 的 回 應 。 資 料 類 型 :resultType (common.xsd).<br />
• status, required<br />
指 定 操 作 執 行 狀 態 。 資 料 類 型 : 字 串 。 允 許 的 值 :ok | error.<br />
• errcode, required 若 操 作 失 敗<br />
返 回 錯 誤 碼 。 資 料 類 型 : 整 數 。<br />
• errtext, required 資 料 類 型 :<br />
返 回 錯 誤 訊 息 。 資 料 類 型 : 字 串 。<br />
特 定 操 作 錯 誤<br />
1013 - 找 不 到 指 定 物 件 ( 網 站 、 子 網 站 、 套 裝 程 式 )<br />
1019 - 指 定 設 定 無 法 安 裝 應 用 程 式<br />
1100 - 不 滿 足 應 用 程 式 需 求
透 過 遠 端 API 設 定 157<br />
回 應 樣 本<br />
從 伺 服 器 接 收 到 的 正 回 應 如 下 :<br />
<br />
<br />
<br />
<br />
ok<br />
<br />
<br />
<br />
<br />
'1013 找 不 到 物 件 ' 錯 誤<br />
1. 若 指 定 網 站 / 子 網 站 不 存 在 , 則 返 回 此 類 負 回 應 。<br />
<br />
<br />
<br />
<br />
error<br />
1013<br />
Domain not found.<br />
<br />
<br />
<br />
<br />
2. 若 未 在 伺 服 器 上 找 到 所 需 套 裝 程 式 , 則 返 回 此 類 負 回 應 。<br />
<br />
<br />
<br />
<br />
error<br />
1013<br />
套 裝 程 式 不 存 在 <br />
<br />
<br />
<br />
<br />
'1019 設 定 錯 誤 ' 錯 誤<br />
1. 若 應 用 程 式 設 定 沒 有 預 設 值 , 或 請 求 的 設 定 不 包 含 請 求 的 封 包 , 則 返 回 此 類 負 回 應 。<br />
REQUEST PACKET<br />
<br />
<br />
<br />
example.com<br />
<br />
AutoIndex<br />
<br />
<br />
158 透 過 遠 端 API 設 定<br />
<br />
RESPONSE PACKET<br />
<br />
<br />
<br />
<br />
error<br />
1019<br />
安 裝 中 出 錯 。<br />
"admin_password" 設 定 值 無 效 :'' 字 元 短 於 1<br />
"user_password" 設 定 值 無 效 :'' 字 元 短 於 1<br />
<br />
<br />
<br />
<br />
2. 若 請 求 中 指 定 的 應 用 程 式 設 定 未 經 過 APP-META.xml 驗 證 , 則 返 回 此 類 負 回 應 。<br />
REQUEST PACKET<br />
<br />
<br />
<br />
10<br />
<br />
joomla<br />
<br />
< 設 定 ><br />
< 設 定 。><br />
admin_name<br />
admin<br />
<br />
< 設 定 。><br />
admin_password<br />
dfkjEEtbgg<br />
<br />
< 設 定 。><br />
admin_email<br />
johndoe@example.com<br />
<br />
< 設 定 。><br />
locale<br />
en-US<br />
<br />
< 設 定 。><br />
title<br />
Joomla<br />
<br />
<br />
<br />
<br />
<br />
RESPONSE PACKET<br />
<br />
<br />
<br />
透 過 遠 端 API 設 定 159<br />
error<br />
1019<br />
安 裝 中 出 錯 。<br />
"locale" 值 應 為 (en-GB, fr-FR, de-DE)<br />
<br />
<br />
<br />
<br />
3. 若 指 定 的 Web 目 錄 已 存 在 , 或 用 於 其 它 內 容 , 則 返 回 此 類 負 回 應 :<br />
<br />
<br />
<br />
<br />
error<br />
1019<br />
安 裝 中 出 錯 。<br />
目 的 目 錄 已 存 在 , 或 用 於 其 它 Web 應 用 程 式 。<br />
<br />
<br />
<br />
<br />
4. 若 請 求 封 包 中 指 定 的 封 包 已 存 在 , 則 返 回 此 類 負 回 應 :<br />
<br />
<br />
<br />
<br />
error<br />
1019<br />
安 裝 中 出 錯 。<br />
請 求 名 稱 的 資 料 庫 已 存 在 <br />
<br />
<br />
<br />
<br />
'1100 不 滿 足 需 求 ' 錯 誤<br />
若 未 滿 足 應 用 程 式 需 求 , 則 返 回 此 類 負 回 應 :<br />
<br />
<br />
<br />
<br />
error<br />
1100<br />
出 現 下 列 需 求 問 題 : 無 法 滿 足 ASP.NET 版 本 需 求 。 需 要 ASP.NET 2.0; 無 法 滿<br />
足 ASP.NET 版 本 需 求 。 需 要 ASP.NET 2.0; 無 法 滿 足 資 料 庫 伺 服 器 需 求 。 找 不 到 'mssql' 資 料 庫<br />
, 版 本 不 低 於 9.0 <br />
<br />
<br />
<br />
<br />
其 他 錯 誤
160 透 過 遠 端 API 設 定<br />
若 指 定 的 應 用 程 式 應 透 過 HTTPS (true) 使 用 , 但 網 站 / 子 網 站 不 支 援 , 則 返 回 此 類<br />
負 回 應 。<br />
REQUEST PACKET<br />
<br />
<br />
<br />
2<br />
<br />
joomla<br />
<br />
true<br />
< 設 定 ><br />
< 設 定 。><br />
admin_name<br />
admin<br />
<br />
< 設 定 。><br />
admin_password<br />
dfkjEEtbgg<br />
<br />
< 設 定 。><br />
admin_email<br />
johndoe@example.com<br />
<br />
< 設 定 。><br />
locale<br />
en-GB<br />
<br />
< 設 定 。><br />
title<br />
Joomla<br />
<br />
<br />
<br />
<br />
<br />
RESPONSE PACKET<br />
<br />
<br />
<br />
<br />
error<br />
1023<br />
同 此 網 站 關 聯 的 IP 位 址 已 經 被 另 一 個 網 站 所 使 用 , 用 於 支 援 SSL 實 現 。<br />
<br />
<br />
<br />
<br />
透 過 遠 端 API 設 定 161<br />
檢 索 可 用 封 包<br />
使 用 aps/get-packages-list 操 作 檢 索 可 在 網 站 / 子 網 站 上 安 裝 的 應 用 套 裝 程 式 資 訊 :<br />
<br />
<br />
<br />
...<br />
<br />
<br />
<br />
本 節 內 容<br />
請 求 封 包 結 構 ..................................................................................................... 161<br />
請 求 樣 本 ............................................................................................................ 162<br />
回 應 封 包 結 構 ..................................................................................................... 163<br />
請 求 和 回 應 樣 本 ................................................................................................. 165<br />
請 求 封 包 結 構<br />
get-packages-list 節 點 結 構 如 下 :<br />
• filter, required<br />
篩 選 檢 索 到 其 資 訊 的 套 裝 程 式 。 資 料 類 型 : 無 。<br />
若 為 空 , 則 伺 服 器 上 所 有 APS 套 裝 程 式 相 關 資 訊 會 返 迴 回 應 套 裝 程 式 。<br />
• package-id, optional<br />
指 定 要 檢 索 其 資 訊 的 套 裝 程 式 ID。 資 料 類 型 :id_type (common.xsd).
162 透 過 遠 端 API 設 定<br />
請 求 樣 本<br />
此 封 包 檢 索 所 有 套 用 套 裝 程 式 相 關 資 訊 。<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
此 封 包 檢 索 套 用 套 裝 程 式 ID 11, 12 和 13 的 資 訊 。<br />
<br />
<br />
<br />
<br />
11<br />
12<br />
13<br />
<br />
<br />
<br />
透 過 遠 端 API 設 定 163<br />
回 應 封 包 結 構<br />
輸 出 XML 封 包 get-packages-list 結 構 如 下 :<br />
• result, required<br />
包 含 從 伺 服 器 檢 索 到 的 回 應 。 資 料 類 型 :resultType (common.xsd).<br />
• status, required<br />
指 定 操 作 執 行 狀 態 。 資 料 類 型 : 字 串 。 允 許 的 值 :ok | error.<br />
• errcode, required 若 操 作 失 敗<br />
返 回 錯 誤 碼 。 資 料 類 型 : 整 數 。<br />
• errtext, required 資 料 類 型 :<br />
返 回 錯 誤 訊 息 。 資 料 類 型 : 字 串 。<br />
• filter-id, required 若 操 作 成 功 需 提 供<br />
返 回 被 篩 選 操 作 的 套 裝 程 式 ID。 資 料 類 型 : 任 何 。<br />
• id, optional<br />
未 返 回 。<br />
• package, required 若 操 作 成 功 需 提 供<br />
描 述 封 包 的 所 有 資 料 。 資 料 類 型 :APSIdentifierType (aps.xsd).<br />
結 構 如 下 :
164 透 過 遠 端 API 設 定<br />
• name, required<br />
指 定 應 用 程 式 封 包 名 。 資 料 類 型 : 字 串 。<br />
• version, optional<br />
指 定 應 用 程 式 version.Data 類 型 : 字 串 。<br />
• release, optional<br />
指 定 套 裝 程 式 release.Data 類 型 : 字 串 。<br />
• vendor, optional<br />
指 定 應 用 程 式 廠 商 。 資 料 類 型 : 字 串 。<br />
• packager, optional<br />
指 定 應 用 程 式 打 包 程 式 。 資 料 類 型 : 字 串<br />
• id, required<br />
指 定 伺 服 器 上 的 套 裝 程 式 ID。 資 料 類 型 :id_type (common.xsd).
透 過 遠 端 API 設 定 165<br />
請 求 和 回 應 樣 本<br />
樣 本 1<br />
請 求<br />
此 封 包 檢 索 所 有 APS 套 裝 程 式 相 關 資 訊 。<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
回 應 A<br />
從 伺 服 器 接 收 到 的 正 回 應 如 下 :<br />
<br />
<br />
<br />
<br />
ok<br />
1<br />
<br />
phpWiki<br />
1.3.11<br />
44<br />
phpwiki.sourceforge.net<br />
parallels.com<br />
1<br />
<br />
<br />
<br />
ok<br />
2<br />
<br />
PinnacleCart<br />
3.6.1<br />
570<br />
www.pinnaclecart.com<br />
www.pinnaclecart.com<br />
2<br />
<br />
<br />
<br />
<br />
<br />
回 應 B<br />
若 伺 服 器 上 無 APS 套 裝 程 式 , 則 返 回 此 回 應 :<br />
<br />
<br />
166 透 過 遠 端 API 設 定<br />
<br />
ok<br />
<br />
<br />
<br />
<br />
樣 本 2<br />
此 封 包 檢 索 APS 套 裝 程 式 ID 11, 12 和 13 的 資 訊 。<br />
<br />
<br />
<br />
<br />
12<br />
13<br />
<br />
<br />
<br />
<br />
若 請 求 封 包 ID 封 包 不 存 在 , 則 返 回 負 回 應 :<br />
<br />
<br />
<br />
<br />
error<br />
1013<br />
套 裝 程 式 不 存 在 <br />
12<br />
<br />
<br />
error<br />
1013<br />
套 裝 程 式 不 存 在 <br />
13<br />
<br />
<br />
<br />
第 6 章<br />
透 過 CLI 設 定<br />
本 章 闡 述 如 何 透 過 <strong>Panel</strong> 指 令 行 介 面 (CLI) 設 定 <strong>Panel</strong>。<br />
關 於 <strong>Panel</strong> CLI 章 節 ( 第 168 頁 ) 概 述 CLI 使 用 基 本 資 訊 。<br />
設 定 <strong>Panel</strong> 章 節 ( 第 169 頁 ) 詳 細 闡 述 要 執 行 的 <strong>Panel</strong> 設 定 操 作 。<br />
本 章 內 容 :<br />
關 於 <strong>Panel</strong> CLI .................................................................................................. 168<br />
設 定 <strong>Panel</strong> ......................................................................................................... 169
168 透 過 CLI 設 定<br />
關 於 <strong>Panel</strong> CLI<br />
<strong>Parallels</strong> Small Business <strong>Panel</strong> 指 令 行 介 面 (CLI) 提 供 <strong>Panel</strong> 管 理 員 可 以 在 指 令 行 介 面<br />
中 執 行 的 主 要 管 理 操 作 。<br />
root 使 用 者 可 從 控 制 台 或 指 令 碼 使 用 <strong>Panel</strong> 指 令 行 實 用 程 式 。 實 用 程 式 需 要<br />
"root"/"psaadm" (Linux/Unix) 或 "Administrator" (Windows) 權 限 才 可 以 操 作 。<br />
<strong>Parallels</strong> Small Business <strong>Panel</strong> for Linux/Unix CLI 和 <strong>Panel</strong> 支 援 當 地 的 企 業 名 稱 。 因 此<br />
, 可 以 使 用 本 機 語 言 建 立 聯 絡 人 姓 名 。 使 用 LANG 環 境 變 量 設 定 特 定 語 言 。<br />
成 功 之 行 後 , 實 用 程 式 返 回 0 編 碼 。 若 出 錯 , 實 用 程 式 返 回 1 並 在 stderr 上 顯 示 問 題<br />
描 述 。<br />
注 意 : 實 用 程 式 輸 入 參 數 必 需 是 UTF-8 編 碼 。 可 以 確 定 <strong>Panel</strong> 操 作 正 常 。<br />
實 用 程 式 位 置<br />
在 Linux/Unix 中 :<br />
/opt/psa/bin Debian 系 統 中<br />
/usr/local/psa/bin 非 -Debian Linux 和 Unix<br />
在 Windows 中 :<br />
%plesk_cli%
透 過 CLI 設 定 169<br />
設 定 <strong>Panel</strong><br />
本 章 闡 述 要 在 <strong>Panel</strong> 設 定 操 作 中 執 行 的 指 令 詳 細 資 訊 。<br />
本 節 內 容<br />
初 始 化 <strong>Panel</strong> ..................................................................................................... 170<br />
安 裝 授 權 ............................................................................................................ 171<br />
定 義 <strong>Panel</strong> 標 誌 ................................................................................................. 171<br />
設 定 DNS .......................................................................................................... 173<br />
安 裝 SSL 憑 證 ................................................................................................... 179<br />
建 立 網 站 ............................................................................................................ 181<br />
建 立 子 網 站 ........................................................................................................ 181<br />
定 義 可 用 的 APS 目 錄 ........................................................................................ 183<br />
安 裝 應 用 程 式 ..................................................................................................... 184
170 透 過 CLI 設 定<br />
初 始 化 <strong>Panel</strong><br />
若 要 透 過 CLI 初 始 化 <strong>Panel</strong>, 使 用 init_conf 實 用 程 式 。<br />
指 令<br />
下 列 指 令 可 初 始 化 <strong>Panel</strong>:<br />
init_conf --init -email -passwd [-locale ]<br />
格 式 按 RFC 1766 標 準 "-", 其 中<br />
是 小 寫 的 兩 個 字 母 ISO 639-1 和 是 大 寫 , 來 自 ISO<br />
3166。 如 德 文 ( 德 國 ) 本 機 編 碼 是 "de-DE"。<br />
樣 本<br />
1. 下 列 指 令 初 始 化 <strong>Panel</strong>, 設 定 管 理 員 密 碼 "jskekekHTD" 和 電 子 郵 件<br />
"johndoe@example.com"。<br />
在 Linux/Unix 中 :<br />
./init_conf --init -passwd jskekekHTD -email johndoe@example.com<br />
在 Windows 中 :<br />
./init_conf --init -passwd jskekekHTD -email johndoe@example.com<br />
2. 下 列 指 令 初 始 化 <strong>Panel</strong>, 設 定 管 理 員 密 碼 "P4$$w0rd" 和 電 子 郵 件<br />
"fischer@example.com", 並 設 定 <strong>Panel</strong> 語 言 為 " 德 文 ( 德 國 )"。<br />
在 Linux/Unix 中 :<br />
./init_conf --init -passwd P4$$w0rd -email fischer@example.com -locale de-DE<br />
在 Windows 中 :<br />
init_conf --init -passwd P4$$w0rd -email fischer@example.com -locale de-DE
透 過 CLI 設 定 171<br />
安 裝 授 權<br />
使 用 <strong>Panel</strong> CLI 安 裝 <strong>Panel</strong> 授 權 , 先 需 使 用 <strong>Panel</strong> 上 傳 到 電 腦 , 然 後 使 用 license 實 用 程 式 安<br />
裝 。<br />
指 令<br />
若 要 安 裝 執 行 格 式 如 下 的 指 令 :<br />
license <br />
範 例<br />
1. 在 Linux/Unix 上 :<br />
./license -i /tmp/psmbfu10key.xml<br />
2. 在 Windows 中 :<br />
license.exe -i "D:\keys\psmbfw10key.xml"<br />
定 義 <strong>Panel</strong> 標 誌<br />
若 要 設 定 <strong>Panel</strong> 商 標 , 使 用 branding 實 用 程 式 。<br />
本 節 內 容<br />
變 更 標 誌 ............................................................................................................ 172<br />
變 更 支 援 URL .................................................................................................... 172
172 透 過 CLI 設 定<br />
變 更 標 誌<br />
兩 步 即 可 變 更 <strong>Panel</strong> 標 誌 影 像 和 URL:<br />
1 使 用 下 列 指 令 , 定 義 標 誌 及 其 影 像 :<br />
branding true -path <br />
2 使 用 下 列 指 令 設 定 自 訂 URL:<br />
branding -url <br />
範 例<br />
1. 下 列 指 令 設 定 自 訂 標 誌 , 並 使 用 影 像 my-own-cool-logo.gif, 位 於 temp 目 錄 中 。<br />
在 Linux/Unix 中 :<br />
./branding -u true -path temp/my-own-cool-logo.gif<br />
在 Windows 中 :<br />
branding.exe -u true -path D:\temp\my-own-cool-logo.gif<br />
2. 下 列 指 令 按 面 板 標 誌 , 即 可 開 啟 URL http://example.com/about。 在 Linux/Unix 中 :<br />
./branding -l -url http://example.com/about<br />
在 Windows 中 :<br />
branding.exe -l -url http://example.com/about<br />
變 更 支 援 URL<br />
若 要 變 更 支 援 連 結 ( 從 <strong>Panel</strong> 按 支 援 按 鈕 即 可 開 啟 的 URL), 使 用 下 列 指 令 :<br />
branding -url <br />
範 例<br />
使 用 下 列 指 令 即 可 按 支 援 開 啟 支 援 請 求 表 單 https://support.example.com/submit-ticket。<br />
在 Linux/Unix 中 :<br />
./branding -c -url https://support.example.com/submit-ticket<br />
在 Windows 中 :<br />
branding.exe -c -url https://support.example.com/submit-ticket
透 過 CLI 設 定 173<br />
設 定 DNS<br />
若 要 透 過 CLI 設 定 <strong>Panel</strong> DNS 服 務 ( 包 括 停 用 ), 使 用 server_dns 實 用 程 式 。<br />
本 節 內 容<br />
停 用 DNS 服 務 ................................................................................................... 173<br />
變 更 SOA 記 錄 模 板 ............................................................................................ 173<br />
設 定 資 源 記 錄 模 板 .............................................................................................. 174<br />
停 用 DNS 服 務<br />
若 要 停 用 <strong>Panel</strong> DNS 服 務 , 執 行 下 列 指 令 :<br />
server_dns -status disabled<br />
格 式 如 下 。<br />
在 Linux/Unix 中 :<br />
./server_dns -u -status disabled<br />
在 Windows 中 :<br />
server_dns.exe -u -status disabled<br />
變 更 SOA 記 錄 模 板<br />
若 要 變 更 SOA 記 錄 模 板 , 執 行 下 列 指 令 :<br />
server_dns --update-soa [options]<br />
可 用 選 項<br />
選 項 參 數 描 述<br />
-soa-ttl<br />
-soa-refresh<br />
-soa-retry<br />
-soa-expire<br />
[S|<br />
M|H|D|W]<br />
[S|<br />
M|H|D|W]<br />
[S|<br />
M|H|D|W]<br />
[S|<br />
M|H|D|W]<br />
指 定 TTL 時 段 。<br />
<strong>Panel</strong> 設 定 的 預 設 值 為 一 天 。<br />
指 定 重 新 整 理 時 段 。<br />
<strong>Panel</strong> 設 定 的 預 設 值 為 三 小 時 。<br />
指 定 重 詴 時 段 。<br />
<strong>Panel</strong> 設 定 的 預 設 值 為 一 小 時 。<br />
指 定 過 期 日 。<br />
<strong>Panel</strong> 設 定 的 預 設 值 為 一 週 。
174 透 過 CLI 設 定<br />
選 項 參 數 描 述<br />
-soa-minimum [S|<br />
M|H|D|W]<br />
指 定 最 小 值 。<br />
<strong>Panel</strong> 設 定 的 預 設 值 為 三 小 時 。<br />
-soa-serial-for<br />
mat<br />
timestamp|yyyy<br />
mmddnn<br />
指 定 SOA 記 錄 序 號 格 式 :UNIX 時 間 戳 或 由 IETF 和 RIPE 建 議 。<br />
僅 在 Linux/Unix 上 支 援 。<br />
範 例<br />
1. 下 列 指 令 設 定 TTL 值 為 5 小 時 , 重 新 整 理 值 為 4 小 時 , 重 詴 值 為 10 秒 , 過 期 時 段 為 2 周 , 最 小 值 為<br />
2 天 。<br />
在 Linux/Unix 中 :<br />
./server_dns --update-soa -soa-ttl 5H -soa-refresh 4H -soa-retry 10S<br />
-soa-expire 2W -soa-minimum 2D<br />
在 Windows 中 :<br />
server_dns.exe --update-soa -soa-ttl 5H -soa-refresh 4H -soa-retry 10S<br />
-soa-expire 2W -soa-minimum 2D<br />
2. 下 列 指 令 變 更 SOA 記 錄 序 號 到 IETF 和 RIPE 建 議 值 :<br />
./server_dns --update-soa -soa-serial-format yyyymmddnn<br />
設 定 資 源 記 錄 模 板<br />
<strong>Panel</strong> CLI 支 援 下 列 兩 種 方 式 修 改 DNS 區 域 模 板 :<br />
1 新 增 記 錄 。 透 過 在 一 條 指 令 中 新 增 一 條 記 錄 機 可 以 修 改 。<br />
2 覆 寫 區 域 模 板 。 修 改 後 , 透 過 移 除 所 有 區 域 模 板 記 錄 , 即 可 使 用 一 條 指 令 覆 寫 新 記 錄 設 定 。<br />
本 節 內 容<br />
新 增 記 錄 ............................................................................................................ 175<br />
覆 寫 DNS 區 域 模 板 中 的 記 錄 ............................................................................. 177
透 過 CLI 設 定 175<br />
新 增 記 錄<br />
若 要 新 增 一 條 資 源 紀 錄 到 DNS 區 域 模 板 中 , 使 用 下 列 指 令 :<br />
server_dns <br />
記 錄 參 數 和 範 例<br />
參 數 函 數 描 述 範 例<br />
-a |""<br />
-ip<br />
|""<br />
指 定 記 錄 設 定 要 套 用 到 的 主 機<br />
名 。<br />
指 定 IP 位 址 或 網 站 IP 位 址 佔<br />
位 符 , 建 立 A 資 源 記 錄 模 板 。<br />
若 要 新 增 新 A 資 源 記 錄<br />
sample. ( 指 定 記 錄 的 網 站 IP<br />
位 址 佔 位 符 ) 到 網 站 DNS 區 域 模 板 :<br />
server_dns -a -a sample -ip<br />
""<br />
NS 記 錄 參 數 和 範 例<br />
參 數 函 數 描 述 範 例<br />
-ns<br />
-nameserv<br />
er<br />
|""<br />
|"[.]"<br />
指 定 記 錄 設 定 要 套 用 到 的 主 機<br />
名 。<br />
指 定 網 域 名 稱 伺 服 器 名 稱 或 佔<br />
位 符 , 建 立 NS 資 源 記 錄 模 板 。<br />
若 要 新 增 新 NS 資 源 記 錄 , 指 定<br />
"ns.." 作 為<br />
主 機 網 域 名 稱 伺 服 器 :<br />
server_dns -a -ns ""<br />
-nameserver "ns."<br />
MX 記 錄 參 數 和 範 例<br />
參 數 函 數 描 述 範 例<br />
-mx<br />
-mailexch<br />
anger<br />
|""<br />
<br />
|"[.]"<br />
指 定 記 錄 設 定 要 套 用 到 的 主 機<br />
名 。<br />
指 定 郵 件 交 換 器 名 稱 或 佔 位<br />
符 。<br />
-priority 指 定 郵 件 交 換 器 優 先 順 序 。<br />
若 要 新 增 新 MX 資 源 記 錄 , 讓<br />
mail. 成 為 <br />
郵 件 伺 服 器 , 優 先 順 序 15:<br />
server_dns -a -mx ""<br />
-mailexchanger<br />
"mail." -priority<br />
15
176 透 過 CLI 設 定<br />
CNAME 記 錄 參 數 和 範 例<br />
參 數 函 數 描 述 範 例<br />
-cname<br />
-canonica<br />
l<br />
|""<br />
<br />
|[.]"<br />
指 定 記 錄 設 定 要 套 用 到 的 主 機<br />
名 。<br />
若 要 指 定 規 範 名 稱 或 佔 位 符 ,<br />
建 立 CNAME 記 錄 模 板 。<br />
若 要 新 增 新 CNAME 資 源 記 錄 , 讓<br />
ns. 成 為<br />
www. 替 身 :<br />
server_dns -a -cname www<br />
-canonical "ns."<br />
PTR 記 錄 參 數 和 範 例<br />
參 數 函 數 描 述 範 例<br />
-ptr<br />
-subnet<br />
|""<br />
/<br />
<br />
|""/<br />
指 定 記 錄 設 定 要 套 用 到 的 主 機<br />
名 。<br />
指 定 IP 位 址 和 子 網 路 遮 罩 或<br />
佔 位 符 , 建 立 PTR 記 錄 模 板 。<br />
若 要 新 增 新 PTR 記 錄 , 讓<br />
成 為 ""/16 子 網 站<br />
的 網 域 名 稱 指 標 。<br />
server_dns -a -ptr ""<br />
-subnet ""/16<br />
SRV 記 錄 參 數 和 範 例<br />
參 數 函 數 描 述 範 例<br />
-srv<br />
-srv-prio<br />
rity<br />
-srv-weig<br />
ht<br />
""|<br />
指 定 記 錄 設 定 要 套 用 到 的 主 機<br />
名 。<br />
[0-50] 設 定 SRV 記 錄 優 先 順 序 (0 - 最<br />
高 , 50 - 最 低 )。<br />
[0-50] 指 定 SRV 記 錄 重 要 程 式 , 同 優<br />
先 順 序 相 同 (0 - 最 低 ,50 - 最<br />
高 )。<br />
-srv-port [0-65535] 指 定 要 在 連 接 埠 上 找 到 的 服 務 。<br />
-srv-targ<br />
et-host<br />
-srv-prot<br />
ocol<br />
-srv-serv<br />
ice<br />
指 定 提 供 服 務 的 機 器 主 機 名 。<br />
TCP|UDP 指 定 服 務 協 議 。<br />
< 服 務 > 指 定 服 務 符 號 名 。<br />
若 要 新 增 到 DNS 區 域 模 板 一 條<br />
SRV 記 錄 , 讓 處 理 SIP<br />
協 議 連 線 , 指 向 伺 服 器 , 並 命 名 為<br />
sipserver.sample.com, 監 控 TCP<br />
連 接 埠 5060。 優 先 順 序 是 0, 重 要<br />
程 度 是 5:<br />
server_dns --add -srv ""<br />
-srv-service sip<br />
-srv-target-host<br />
sipserver.sample.com.<br />
-srv-protocol TCP<br />
-srv-port 5060<br />
-srv-priority 0<br />
-srv-weight 5
透 過 CLI 設 定 177<br />
TXT 記 錄 參 數 和 範 例<br />
參 數 函 數 描 述 範 例<br />
-txt |"" 指 定 文 字 描 述 若 要 指 定 TXT 類 型 DNS 記 錄 " 此 記<br />
錄 用 於 實 施 發 件 人 協 議 框 架 和<br />
-domain |""<br />
DomainKeys 規 範 ", 用 於 主 機<br />
名 。<br />
policy.:<br />
server_dns -a -txt " 此 條 記<br />
錄 用 來 使 用 h 發 件 人 協 議 框 架 和<br />
DomainKeys 規 範 " -domain<br />
policy<br />
覆 寫 DNS 區 域 模 板 中 的 記 錄<br />
若 要 覆 寫 DNS 區 域 模 板 , 使 用 下 列 指 令 :<br />
server_dns ";;..."<br />
其 中 格 式 是 ",,[,]"。<br />
即 格 式 如 下 列 <strong>Panel</strong> 中 的 每 條 資 源 記 錄 :
178 透 過 CLI 設 定<br />
NS,,<br />
A,,<br />
MX,,,<br />
PTR,,,<br />
CNAME,,<br />
SRV,..,,<br />
。 NS ns..<br />
ns.. A <br />
< 網 站 >。 A <br />
webmail.. A<br />
<br />
< 網 站 >。 MX 10 mail..<br />
mail.. A <br />
ftp.. CNAME < 網 站 >。<br />
/24 PTR < 網 站 >。<br />
< 網 站 >。 TXT f1 +a +mx -all<br />
_SIP._tcp.megadomain.. SRV 5 25 12 example.com.<br />
在 Linux/Unix 中 :<br />
./server_dns -s<br />
'NS,,ns..;A,ns,;A,,;A,webmail,;MX,,mail..,10;A,<br />
mail,;CNAME,ftp,.;PTR,,,24;TXT,,v=spf1 +a +mx<br />
-all;SRV,_SIP._tcp.megadomain,example.com,5 25 12;'<br />
在 Windows 中 :<br />
server_dns.exe -s<br />
"NS,,ns..;A,ns,;A,,;A,webmail,;MX,,mail..,10;A,<br />
mail,;CNAME,ftp,.;PTR,,,24;TXT,,v=spf1 +a +mx<br />
-all;SRV,_SIP._tcp.megadomain,example.com,5 25 12;"
透 過 CLI 設 定 179<br />
安 裝 SSL 憑 證<br />
若 要 透 過 CLI 安 裝 SSL 憑 證 , 使 用 certificate 實 用 程 式 。 兩 步 完 成 安 裝 :<br />
1 匯 入 憑 證 到 <strong>Panel</strong>。<br />
2 分 配 憑 證 到 IP 位 址 。<br />
注 意 , 憑 證 之 前 已 使 用 <strong>Panel</strong> 上 傳 到 機 器 。<br />
本 節 內 容<br />
匯 入 憑 證 ............................................................................................................ 180<br />
分 配 憑 證 到 IP 位 址 ............................................................................................ 181
180 透 過 CLI 設 定<br />
匯 入 憑 證<br />
若 要 匯 入 憑 證 , 執 行 格 式 如 下 的 指 令 :<br />
certificate -admin -key-file <br />
-cert-file [-cacert-file ] [-csr-file<br />
]<br />
範 例<br />
1. The following command imports the SSL certificate which private key file is<br />
/usr/local/keys/keyfile.key and certificate file is<br />
/usr/local/cert/certfile.cert. 匯 入 後 , 憑 證 名 稱 為 " 網 站 憑 證 "。<br />
在 Linux/Unix 中 :<br />
./certificate --create "Site Certificate" -admin -key-file<br />
/usr/local/keyfile.key -cert-file /usr/local/cert/certfile.cert<br />
或<br />
./certificate -c "Site Certificate" -admin -key-file /usr/local/keyfile.key<br />
-cert-file /usr/local/cert/certfile.cert<br />
Windows 中 ( 憑 證 檔 案 位 於 E:\temp\):<br />
certificate --create "Site Certificate" -admin -key-file E:\temp\keyfile.key<br />
-cert-file E:\temp\certfile.cert<br />
或<br />
certificate -c "Site Certificate" -admin -key-file E:\temp\keyfile.key<br />
-cert-file E:\temp\certfile.cert<br />
2. 下 列 指 令 匯 入 SSL 憑 證 , 私 人 憑 證 檔 案 是 /usr/local/keys/keyfile.key,, 憑 證 檔<br />
案 是 /usr/local/cert/certfile.cert, CA 憑 證 檔 案 是<br />
/usr/local/cert/cacert.cert, 簽 署 相 應 請 求 檔 案 的 憑 證 是<br />
/usr/local/requests/csreq.csr。 匯 入 後 , 憑 證 名 稱 為 " 網 站 憑 證 "。<br />
在 Linux/Unix 中 :<br />
./certificate -c "Site Certificate" -domain example.com -key-file<br />
/usr/local/keys/keyfile.key -cert-file /usr/local/cert/certfile.cert<br />
-cacert-file /usr/local/cert/cacert.cert -csr-file<br />
/usr/local/requests/csreq.csr<br />
Windows 中 ( 憑 證 檔 案 位 於 E:\ssl\):<br />
certificate -c "Site Certificate" -domain example.com -key-file<br />
E:\ssl\keys\keyfile.key -cert-file E:\ssl\cert\certfile.cert -cacert-file<br />
E:\ssl\cert\cacert.cert -csr-file E:\ssl\requests\csreq.csr
透 過 CLI 設 定 181<br />
分 配 憑 證 到 IP 位 址<br />
若 要 分 配 匯 入 憑 證 到 IP 位 址 , 使 用 指 令 :<br />
certificate -admin -ip <br />
範 例<br />
下 列 指 令 分 配 名 稱 為 " 網 站 憑 證 " 的 SSL 憑 證 到 IP 位 址 192.0.2.78。<br />
在 Linux/Unix 中 :<br />
./certificate -ac "Site Certificate" -ip 192.0.2.78<br />
在 Windows 中 :<br />
certificate -ac "Site Certificate" -ip 192.0.2.78<br />
建 立 網 站<br />
若 要 建 立 網 站 帳 戶 , 使 用 domain 實 用 程 式 。<br />
指 令<br />
下 列 指 令 建 立 網 站 帳 戶 :<br />
domain -hosting true -ip -login<br />
-passwd <br />
其 中 FTP-login> 和 用 來 上 傳 和 編 輯 網 站 內 容 的 FTP 帳 戶 登 入 名 和 密 碼 。<br />
範 例<br />
下 列 指 令 建 立 網 站 example.com , 託 管 到 IP 位 址 192.0.2.33,FTP 帳 戶 憑 證 "johndoe" 和<br />
"P4$$w0rd"。<br />
在 Linux/Unix 中 :<br />
./domain --create example.com -hosting true -ip 192.0.2.33 -login johndoe<br />
-passwd P4$$w0rd<br />
在 Windows 中 :<br />
domain.exe --create example.com -hosting true -ip 192.0.2.33 -login johndoe<br />
-passwd P4$$w0rd<br />
建 立 子 網 站<br />
若 要 建 立 子 網 站 帳 戶 , 使 用 subdomain 實 用 程 式 。
182 透 過 CLI 設 定<br />
建 立 一 般 子 網 站<br />
指 令<br />
下 列 指 令 建 立 子 網 站 帳 戶 :<br />
subdomain -domain <br />
[-ftp_user native -login -passwd ]<br />
其 中<br />
-ftp_user native -login -passwd 當 主 網 站 FTP 帳<br />
戶 用 來 管 理 子 網 站 時 , 負 責 建 立 新 子 網 站 FTP 帳 戶 , 不 同 於 預 設 設 。<br />
範 例<br />
1. 下 列 指 令 用 來 建 立 子 網 站 mail.example.com, 和 FTP 帳 戶 來 管 理 即 將 用 於 網 站<br />
example.com 的 相 同 內 容 。<br />
在 Linux/Unix 中 :<br />
./subdomain --create mail -domain example.com<br />
在 Windows 中 :<br />
subdomain.exe --create mail -domain example.com<br />
2. 下 列 指 令 建 立 子 網 站 portfolio.example.com 和 FTP 帳 戶 及 其 登 入 名 portfolio 和<br />
密 碼 P4$$w0rd, 用 來 管 理 子 網 站 內 容 。<br />
在 Linux/Unix 中 :<br />
./subdomain --create portfolio -domain example.com -ftp_user native -login<br />
portfolio -passwd P4$$w0rd<br />
在 Windows 中 :<br />
subdomain.exe --create portfolio -domain example.com -ftp_user native -login<br />
portfolio -passwd P4$$w0rd
透 過 CLI 設 定 183<br />
在 子 資 料 夾 中 建 立 子 網 站 ( 僅 限 Windows)<br />
指 令<br />
下 列 指 令 在 子 資 料 夾 中 建 立 子 網 站 帳 戶 :<br />
subdomain -domain <br />
-hst_type virt [-www_root -create_phys false]<br />
其 中<br />
-www_root -create_phys false 負 責 在 目 錄 中 建 立 子 網 站 , 路 徑 在<br />
使 用 -www_root 選 項 指 定 。<br />
範 例<br />
1. 下 列 指 令 建 立 子 網 站 news.example.com, 並 為 其 內 容 建 立 目 錄 /httpdocs/news/。<br />
subdomain.exe --create news -domain example.com -hst_type virt<br />
2. 下 列 指 令 建 立 子 網 站 blog.example.com, 位 於 現 有 目 錄 /httpdocs/wordpress/。<br />
建 立 時 ,WordPress 部 落 格 工 具 可 從 URL http://blog.example.com 存 取 。<br />
subdomain.exe --create blog -domain example.com -hst_type virt -www_root<br />
/httpdocs/wordpress -create_phys false<br />
定 義 可 用 的 APS 目 錄<br />
若 要 匯 入 APS 目 錄 設 定 檔 , 使 用 指 令 :<br />
aps <br />
設 定 檔 位 於 下 列 目 錄 之 一 :
184 透 過 CLI 設 定<br />
• <strong>Panel</strong> 暫 時 目 錄 :<br />
• /opt/psa/tmp Debian 上 ,/usr/local/psa/tmp 其 他 Linux\Unix 上<br />
• %plesk_dir%\tmp Windows 上<br />
• 作 業 系 統 暫 時 目 錄 :<br />
• /tmp 在 Linux/Unix 上<br />
• C:\WINDOWS\Temp Windows 上<br />
如 需 有 關 設 定 檔 相 關 資 訊 , 參 閱 APS 目 錄 設 定 檔 章 節 ( 第 39 頁 )。<br />
範 例<br />
下 列 指 令 匯 入 APS 目 錄 設 定 檔 catalogs.ini:<br />
在 Linux/Unix 中 :<br />
./aps -ic /tmp/catalogs.ini<br />
或<br />
./aps -ic /usr/local/psa/tmp/catalogs.ini<br />
在 Windows 中 :<br />
aps -ic "C:\Program Files\<strong>Parallels</strong>\Plesk\tmp\catalogs.ini"<br />
或<br />
aps -ic "C:\WINDOWS\Temp\catalogs.ini"<br />
安 裝 應 用 程 式<br />
若 要 安 裝 應 用 程 式 , 使 用 aps 實 用 程 式 。<br />
本 節 內 容<br />
匯 入 套 用 套 裝 程 式 .............................................................................................. 184<br />
安 裝 應 用 程 式 ..................................................................................................... 186<br />
匯 入 套 用 套 裝 程 式<br />
本 節 內 容<br />
匯 入 上 傳 的 應 用 套 裝 程 式 ................................................................................... 185<br />
從 APS 目 錄 下 載 套 用 套 裝 程 式 .......................................................................... 185<br />
獲 取 下 載 工 作 狀 態 .............................................................................................. 186
透 過 CLI 設 定 185<br />
匯 入 上 傳 的 應 用 套 裝 程 式<br />
若 要 匯 入 套 用 套 裝 程 式 , 使 用 下 列 指 令 :<br />
aps <br />
範 例<br />
下 列 指 令 將 SugarCRM-5.0.0-16.app.zip 套 裝 程 式 匯 入 <strong>Panel</strong>。<br />
在 Linux/Unix 中 :<br />
./aps --import-package /home/root/SugarCRM-5.0.0-16.app.zip<br />
在 Windows 中 :<br />
aps --import-package "C:\Documents and<br />
Settings\Administrator\Desktop\SugarCRM-5.0.0-16.app.zip"<br />
從 APS 目 錄 下 載 套 用 套 裝 程 式<br />
若 要 從 APS 目 錄 下 載 套 用 套 裝 程 式 , 使 用 下 列 指 令 :<br />
aps -package-name [-catalog-url ]<br />
[-package-version -package-release <br />
-package-vendor -package-packager ]<br />
其 中<br />
• 其 中<br />
[-catalog-url ]<br />
定 義 目 的 APS 目 錄 (URL 與 設 定 檔 中 相 同 )。 若 未 指 定 , 則 按 設 定 檔 ( 第 39 頁 ) 中 所 列 的<br />
套 裝 程 式 從 APS 目 錄 下 載 。<br />
• 其 中<br />
範 例<br />
[-package-version -package-release<br />
-package-vendor -package-packager<br />
]<br />
定 義 -package-name 選 項 指 定 的 應 用 套 裝 程 式 。 若 未 指 定 , 則 從 APS 目 錄 下 載 最 新 版 的<br />
套 裝 程 式 。<br />
下 列 指 令 從 APS 目 錄 http://apscatalog.com 下 載 最 新 版 的 WordPress 應 用 程 式 。<br />
在 Linux/Unix 中 :<br />
./aps -d -package-name WordPress -catalog-url http://apscatalog.com<br />
在 Windows 中 :<br />
aps -d -package-name WordPress -catalog-url http://apscatalog.com
186 透 過 CLI 設 定<br />
獲 取 下 載 工 作 狀 態<br />
若 要 獲 取 下 載 狀 態 , 使 用 下 列 指 令 :<br />
aps <br />
範 例<br />
下 列 指 令 獲 取 下 載 工 作 ID 16 的 狀 態 。<br />
在 Linux/Unix 中 :<br />
./aps -g 16<br />
在 Windows 中 :<br />
aps -g 16<br />
安 裝 應 用 程 式<br />
安 裝 應 用 程 式 要 求 您 識 別 要 安 裝 的 源 套 裝 程 式 。 按 ID 識 別 或<br />
name-version-release-vendor-packager 資 訊 識 別 套 裝 程 式 。<br />
若 要 提 供 套 裝 程 式 ID, 執 行 :<br />
• 使 用 匯 入 <strong>Panel</strong> 後 分 配 給 套 裝 程 式 的 ID ( 第 185 頁 )<br />
• 使 用 從 APS 目 錄 成 功 下 載 後 分 配 給 套 裝 程 式 的 ID ( 第 186 頁<br />
• 使 用 從 可 用 套 裝 程 式 資 訊 返 回 的 ID ( 第 190 頁 )<br />
若 要 提 供 name-version-release-vendor-packager 資 訊 , 從 可 安 裝 的 套 裝 程 式 檢 索 資 訊 ( 第<br />
190 頁 )。<br />
本 節 內 容<br />
在 網 站 或 子 網 站 上 安 裝 應 用 程 式 ........................................................................ 187<br />
檢 索 可 用 封 包 ..................................................................................................... 190
透 過 CLI 設 定 187<br />
在 網 站 或 子 網 站 上 安 裝 應 用 程 式<br />
若 要 在 網 站 / 子 網 站 上 安 裝 應 用 程 式 , 使 用 指 令 :<br />
aps <br />
<<br />
|<br />
><br />
<<br />
|<br />
><br />
[installation options]<br />
其 中<br />
• 其 中<br />
|-<br />
負 責 指 定 應 用 程 式 設 定 (XML 格 式 ( 第 189 頁 ))。 設 定 定 義 指 定 成 指 令 參 數 , 檔 名 或 直 接<br />
從 STDIN 中 讀 取 。 其 他 情 況 下 ,"-" 應 指 定 為 指 令 函 數 。<br />
有 關 設 定 格 式 和 樣 本 , 參 閱 應 用 程 式 設 定 定 義 子 章 節 ( 第 189 頁 )。<br />
• 其 中<br />
|<br />
指 定 應 用 程 式 安 裝 來 源 。 按 套 裝 程 式 ID、 名 稱 、 版 本 、 發 行 號 、 廠 商 和 打 包 工 具 指 定 套 裝<br />
程 式 。 使 用 --get-packages-list 指 令 ( 第 190 頁 ) 獲 取 套 裝 程 式 內 容 。<br />
• 其 中<br />
|<br />
指 定 要 安 裝 應 用 程 式 的 網 站 或 子 網 站 。<br />
可 用 選 項<br />
選 項 參 數 描 述<br />
-ssl<br />
-url-pref<br />
ix<br />
true|fals<br />
e<br />
<br />
指 定 應 用 程 式 是 否 可 以 透 過 HTTPS 協 議 存 取 。<br />
指 定 網 站 / 子 網 站 URL。<br />
若 安 裝 部 落 格 工 具 應 用 程 式 , 並 指 定 URL 前 置 詞 "blog", 可 從<br />
http://domain-name/blog 存 取 應 用 程 式 。<br />
-db-name 在 應 用 程 式 安 裝 中 指 定 資 料 庫 名 稱 。<br />
-db-user < 登 入 名 > 在 應 用 程 式 安 裝 中 指 定 資 料 庫 使 用 者 名 稱 。
188 透 過 CLI 設 定<br />
選 項 參 數 描 述<br />
-passwd 在 應 用 程 式 安 裝 中 指 定 資 料 庫 使 用 者 密 碼 。<br />
範 例<br />
1. 下 列 指 令 在 網 站 example.com,ID 13 上 安 裝 套 用 套 裝 程 式 , 應 用 程 式 可 透 過 URL<br />
example.com/blog 存 取 , 檔 案 WordPress.xml 中 定 義 了 其 設 定 , 安 裝 後 , 即 建 立 安 裝 資 料 庫<br />
WordPress。<br />
在 Linux/Unix 中 :<br />
# ./aps -i /home/apps/WordPress.xml -package-id 13 -domain example.com -ssl<br />
false -url-prefix blog -db-name WordPress -db-user BlogAdmin -passwd P4$$w0rd<br />
在 Windows 中 :<br />
>aps -i "E:\apps\WordPress.xml" -package-id 13 -domain example.com -ssl false<br />
-url-prefix blog -db-name WordPress -db-user BlogAdmin -passwd P4$$w0rd<br />
2. 下 列 指 令 僅 使 用 所 需 選 項 安 裝 同 一 應 用 程 式 , 應 用 程 式 設 定 從 STDIN 讀 取 。 在 Linux/Unix<br />
中 :<br />
# cat /home/apps/WordPress.xml | ./aps --install - -package-id 13 -domain<br />
example.com -db-name WordPress -db-user BlogAdmin -passwd P4$$w0rd<br />
在 Windows 中 :<br />
>aps --install - -package-id 13 -domain example.com -db-name WordPress -db-user<br />
BlogAdmin -passwd P4$$w0rd < C:\temp\WordPress.xml<br />
3. 下 列 指 令 在 子 網 站 api.example.com 上 從 套 裝 程 式 ID 14 安 裝 應 用 程 式 , 此 應 用 程 式 不 需 要<br />
資 料 庫 。<br />
在 Linux/Unix 中 :<br />
# ./aps -i /home/apps/empty.xml -package-id 14 -domain api.example.com -ssl true<br />
在 Windows 中 :<br />
>aps -i "E:\apps\empty.xml" -package-id 14 -domain api.example.com -ssl true<br />
本 節 內 容<br />
應 用 程 式 設 定 定 義 .............................................................................................. 189
透 過 CLI 設 定 189<br />
應 用 程 式 設 定 定 義<br />
若 應 用 程 式 有 任 何 設 定 , 當 在 網 站 或 子 網 站 上 安 裝 應 用 程 式 實 例 時 ,aps 實 用 程 式 從 檔 案 或<br />
STDIN 讀 取 應 用 程 式 設 定 定 義 。<br />
設 定 定 義 應 為 結 構 如 下 的 XML 檔 案 :<br />
• settings, required<br />
Root XML 元 素 , 包 含 設 定 集 和<br />
• setting, required<br />
設 定 定 義<br />
• name, required<br />
指 定 設 定 名 稱 , 從 套 用 套 裝 程 式 元 資 料 檔 案 中 獲 取 設 定 ID<br />
("setting[@id]")(APP-META.xml 位 於 *.app.zip)。<br />
• value, required<br />
例 如 ,<br />
指 定 設 定 值 。<br />
<br />
< 設 定 ><br />
< 設 定 。><br />
admin_email<br />
johndoe@example.com<br />
<br />
< 設 定 。><br />
admin_passwd<br />
p4$$w0rd<br />
<br />
< 設 定 。><br />
site_name<br />
iScripts socialWare<br />
<br />
< 設 定 。><br />
locale<br />
en-US<br />
<br />
190 透 過 CLI 設 定<br />
檢 索 可 用 封 包<br />
若 要 檢 索 套 用 套 裝 程 式 資 訊 (ID、 名 稱 、 版 本 、 發 行 號 、 廠 商 、 打 包 程 式 ), 使 用 指 令 :<br />
aps <br />
格 式 如 下 。<br />
在 Linux/Unix 中 :<br />
./aps -gp<br />
在 Windows 中 :<br />
aps -gp