通过Windows 8应用访问Linux服务器控制面板

在现代的IT环境中,服务器管理员需要能够随时随地获取服务器的实时统计数据。随着移动设备的普及,Ultrabook因其轻便、快速和智能的特性,成为了理想的选择。本文将介绍如何通过Windows 8应用在Ultrabook上访问Linux服务器的cPanel控制面板,并获取实时统计数据。

为什么选择Ultrabook

Ultrabook是访问Linux服务器控制面板的理想设备,原因如下:

  • 轻便:Ultrabook的便携性使其成为在移动中访问服务器的理想选择。
  • 快速:Ultrabook的高性能处理器和快速的固态硬盘可以迅速加载和处理数据。
  • 智能:Ultrabook的触摸界面和手势操作为用户提供了直观的交互体验。

Windows 8应用的优势

Windows 8应用可以提供以下优势:

  • 实时数据:应用可以实时显示服务器的访问量、客户端IP跟踪、下载排行等统计数据。
  • 图形用户界面:应用提供丰富的图形用户界面,包括数据集成的图表和图形。
  • 地理位置跟踪:应用可以收集服务器管理员访问服务器的实时地理位置。

传统的服务器管理员需要在控制环境中访问控制面板来查看统计数据。现在,他们需要一个友好的环境和易于使用的设备。Windows 8应用提供了一个用户友好的界面,使得访问和操作更加简单。

代码实现

Windows 8应用通过HTML和JavaScript编写,可以访问存储在Linux服务器上的服务器端页面。用户和数据之间有三层:

  1. 用户层
  2. 客户端页面(Windows 8 Metro应用)
  3. 服务器端页面(PHP)
  4. 统计数据库

服务器端PHP页面连接到统计数据库,该数据库不断收集实时统计数据。这里使用了"awstats",这是一个为Linux控制面板预构建的API。

PHP访问页面示例

require (
'config.php'
);
//
// 检查有效认证用户
if (!isset($_SERVER[
'PHP_AUTH_USER'
]) || $_SERVER[
'PHP_AUTH_USER'
] != $username ||
$_SERVER[
'PHP_AUTH_PW'
] != $password) {
header(
'WWW-Authenticate: Basic realm="Site Statistics"'
);
header(
'HTTP/1.0 401 Unauthorized'
);
echo 'Authorization Required.';
exit;
}
else {
// 只有有效用户才处理
if (isset($_REQUEST[
'image'
])) {
// 如果请求图像,只需要文件名
$request = $_REQUEST[
'image'
];
}
else {
// 否则构建查询到cPanel
$request =
'awstats.pl?';
// 如果没有请求特定的框架,
// 还没有设置网站,所以添加那个信息
if (empty($_REQUEST[
'framename'
])) {
$request .= "config=$site&ssl=⟨=en";
}
$request .= $_SERVER[
'QUERY_STRING'
];
// 只是为了简化后面的测试
$notImage = TRUE;
}
// 结束 if image
$Curl = curl_init();
curl_setopt($Curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($Curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($Curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($Curl, CURLOPT_URL,
"https://$server:2083/"
.$request);
curl_setopt($Curl, CURLOPT_USERPWD, $cpanelusername.
':'
.$cpanelpassword);
$Output = curl_exec($Curl);
if (curl_errno($Curl) > 0) {
echo 'Curl Error: ' . curl_error($Curl);
curl_close($Curl);
exit;
}
curl_close($Curl);
if ($notImage) {
// 让做一些解析,用代理脚本可以工作的路径替换路径
if (empty($_REQUEST[
'framename'
]) || $_REQUEST[
'framename'
] ==
'index') {
$Output = str_replace(
'src="',
'src="'
.$_SERVER[
'PHP_SELF'
]
.'?', $Output);
}
else {
$Output = str_replace(
'src="http://www.codeproject.com/',
'src="'
.$_SERVER[
'PHP_SELF'
]
.'?image=', $Output);
}
$Output = str_replace(
' '
$Output = str_replace(
'action="',
'action="'
.$_SERVER[
'PHP_SELF'
]
.'?', $Output);
$Output = str_replace(
'href="',
'href="'
.$_SERVER[
'PHP_SELF'
]
.'?', $Output);
$Output = str_replace(
'href="'
.$_SERVER[
'PHP_SELF'
]
.'?https://',
'href="https://', $Output);
$Output = str_replace(
'awstats.pl?',
'', $Output);
}
// 结束 if notImage
echo $Output;
}
// 结束 if valid user
?>

配置数据

上述脚本需要配置数据,如下所示:

//
// 用于授予访问统计页面的用户名和密码
$username =
"demoadmin";
$password =
"demopass";
//
// 想要统计数据的域名(包括子域名)
$site =
"xyz.com";
//
// whm/cpanel主机名
$server =
"xyz.com";
//
// cpanel用户名和密码
$cpanelusername =
"cpaneladmin";
$cpanelpassword =
'cpanelpass';
?>
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485