HestiaCP ໃຫ້ບໍລິການການນຳໃຊ້ສະຄຣິບ Adminer ແບບອັດຕະໂນມັດດ້ວຍການຄລິກດຽວ (ລວມທັງການພິສູດຢືນຢັນຕົວຕົນ Nginx + ການປົກປ້ອງຄູ່ Fail2Ban).

ຢຸດການຕິດຕັ້ງ Administrator ດ້ວຍຕົນເອງ! ສະຄຣິບດຽວສາມາດຈັດການການຕັ້ງຄ່າຄວາມປອດໄພທັງໝົດໄດ້.

ສອງສາມມື້ກ່ອນ, ໝູ່ຂອງຂ້ອຍຄົນໜຶ່ງ, ຜູ້ທີ່ເຮັດວຽກດ້ານການບໍລິຫານລະບົບຄືກັນ, ໄດ້ຈົ່ມກັບຂ້ອຍວ່າລາວໃຊ້ເວລາເກືອບໝົດມື້ເພື່ອຕິດຕັ້ງ Administrator ໃນເຊີບເວີຂອງລາວ. ມັນບໍ່ແມ່ນວ່າ Administrator ເອງຕິດຕັ້ງຍາກ; ມັນເປັນພຽງໄຟລ໌ PHP, ເຈົ້າສາມາດເອົາມັນຂຶ້ນມາແລະມັນຈະເຮັດວຽກໄດ້. ແຕ່ບັນຫາແມ່ນ, ເຈົ້າບໍ່ສາມາດເອົາໄຟລ໌ PHP ມາໃຊ້ແລ້ວໃຊ້ໄດ້ເລີຍ.

ທ່ານຈໍາເປັນຕ້ອງຕັ້ງຄ່າໂດເມນຍ່ອຍ, ໂຫຼດ plugins, ຕັ້ງຄ່າການພິສູດຢືນຢັນຕົວຕົນ Nginx, ແລະ ຕັ້ງຄ່າ Fail2Ban ເພື່ອປ້ອງກັນການໂຈມຕີແບບ brute-force. ແຕ່ລະຂັ້ນຕອນບໍ່ສັບສົນ, ແຕ່ເມື່ອລວມກັນແລ້ວມັນຈະສົ່ງຜົນໃຫ້ເກີດຄຳສັ່ງ ແລະ ໄຟລ໌ການຕັ້ງຄ່າທີ່ແຕກແຍກກັນຫຼາຍອັນ.

ສິ່ງທີ່ໜ້າລຳຄານກວ່ານັ້ນກໍຄື ການຕັ້ງຄ່າທີ່ກ່ຽວຂ້ອງກັບຄວາມປອດໄພ ເຊັ່ນ: ການພິສູດຢືນຢັນຕົວຕົນ ແລະ ໄຟວໍລ໌ ມັກຈະເກີດຄວາມຜິດພາດໄດ້ງ່າຍ. ການກວດສອບເລັກນ້ອຍສາມາດເຮັດໃຫ້ອິນເຕີເຟດການຈັດການຖານຂໍ້ມູນເປີດເຜີຍຕໍ່ອິນເຕີເນັດສາທາລະນະ, ເຮັດໃຫ້ທຸກຄົນສາມາດເຂົ້າເຖິງໄດ້.

ຂ້ອຍຫົວຂວັນໃສ່ເວລານັ້ນເພາະວ່າຂ້ອຍເຄີຍເຮັດສິ່ງດຽວກັນນີ້ມາກ່ອນ. ຕໍ່ມາ, ຂ້ອຍທົນບໍ່ໄດ້ອີກຕໍ່ໄປ, ສະນັ້ນຂ້ອຍຈຶ່ງຂຽນສະຄຣິບການນຳໃຊ້ດ້ວຍການຄລິກດຽວເພື່ອເຮັດໃຫ້ຂັ້ນຕອນທັງໝົດນີ້ອັດຕະໂນມັດ.

HestiaCP ໃຫ້ບໍລິການການນຳໃຊ້ສະຄຣິບ Adminer ແບບອັດຕະໂນມັດດ້ວຍການຄລິກດຽວ (ລວມທັງການພິສູດຢືນຢັນຕົວຕົນ Nginx + ການປົກປ້ອງຄູ່ Fail2Ban).

ເປັນຫຍັງຈຶ່ງບໍ່ໃຊ້phpMyAdmin

ເຈົ້າອາດຈະຖາມວ່າ, ເປັນຫຍັງຈຶ່ງບໍ່ໃຊ້ phpMyAdmin, ອັນໃດເປັນທີ່ນິຍົມກວ່າ?

ແທ້ຈິງແລ້ວ, phpMyAdmin ມີຜູ້ໃຊ້ຫຼາຍກວ່າ ແລະ ມີຊຸມຊົນທີ່ໃຫຍ່ກວ່າ. ແຕ່ຂ້ອຍຄິດວ່າ Admin ເຮັດວຽກໄດ້ດີກວ່າໃນບາງຂົງເຂດ.

ທຳອິດ, ມັນມີນ້ຳໜັກເບົາ; Adminer ເປັນພຽງໄຟລ໌ PHP ດຽວ, ໃນຂະນະທີ່ phpMyAdmin ເປັນໄຟລ໌ທັງໝົດ. ອັນທີສອງ, ມັນປອດໄພ; ປັດຊະຍາການອອກແບບຂອງ Adminer ແມ່ນ "ບໍ່ໜ້າເຊື່ອຖືໂດຍຄ່າເລີ່ມຕົ້ນ", ຊຶ່ງໝາຍຄວາມວ່າທ່ານຈຳເປັນຕ້ອງຕັ້ງຄ່າຂໍ້ມູນການເຊື່ອມຕໍ່ຢ່າງຊັດເຈນເພື່ອດຳເນີນງານຖານຂໍ້ມູນ.

ອີກດ້ານໜຶ່ງແມ່ນປະສິດທິພາບ; ຜູ້ເບິ່ງແຍງລະບົບໄວກ່ວາ phpMyAdmin ຢ່າງຫຼວງຫຼາຍເມື່ອຈັດການກັບຖານຂໍ້ມູນຂະໜາດໃຫຍ່.

ແນ່ນອນ, ບໍ່ມີສິ່ງໃດສິ່ງໜຶ່ງທີ່ສຳຄັນທີ່ສຸດ. ສິ່ງທີ່ສຳຄັນທີ່ສຸດແມ່ນສະຄຣິບນີ້ໝາຍຄວາມວ່າຂ້ອຍບໍ່ຈຳເປັນຕ້ອງຕັ້ງຄ່າສິ່ງທີ່ກ່ຽວຂ້ອງກັບຄວາມປອດໄພເຫຼົ່ານັ້ນດ້ວຍຕົນເອງອີກຕໍ່ໄປ.

ສະຄຣິບໄດ້ເຮັດຫຍັງແທ້?

ແນວຄວາມຄິດທີ່ຢູ່ເບື້ອງຫຼັງສະຄຣິບນີ້ແມ່ນຂ້ອນຂ້າງງ່າຍດາຍ: ເພື່ອອັດຕະໂນມັດຂັ້ນຕອນທັງໝົດທີ່ທ່ານເຮັດດ້ວຍຕົນເອງຕາມປົກກະຕິ.

ສຳລັບການປ້ອນຂໍ້ມູນແບບໂຕ້ຕອບ, ສະຄຣິບຈະຖາມທ່ານສອງສາມຄຳຖາມຄື: ຊື່ຜູ້ໃຊ້ HestiaCP , ຊື່ໂດເມນ, ຊື່ຜູ້ໃຊ້ການພິສູດຢືນຢັນຕົວຕົນ, ແລະ ລະຫັດຜ່ານ. ທ່ານພຽງແຕ່ຕ້ອງໃສ່ຂໍ້ມູນເຫຼົ່ານີ້, ແລະ ສະຄຣິບຈະຈັດການສ່ວນທີ່ເຫຼືອ.

ສະຄຣິບຈະສ້າງໄດເລກະທໍລີຮາກເວັບໂດຍອັດຕະໂນມັດ, ກວດສອບວ່າ apache2-utils (ໃຊ້ເພື່ອສ້າງໄຟລ໌ລະຫັດຜ່ານ) ແລະສະພາບແວດລ້ອມ PHP ຖືກຕິດຕັ້ງແລ້ວຫຼືບໍ່, ແລະຈັດການການສ້າງໄດເລກະທໍລີ ແລະການຕິດຕັ້ງການເພິ່ງພາອາໄສ.

ເມື່ອດາວໂຫຼດ Adminer, ສະຄຣິບຈະພະຍາຍາມດາວໂຫຼດເວີຊັນລ່າສຸດຈາກບ່ອນເກັບມ້ຽນຢ່າງເປັນທາງການກ່ອນ. ຖ້າບ່ອນເກັບມ້ຽນຢ່າງເປັນທາງການບໍ່ສາມາດໃຊ້ໄດ້, ມັນຈະປ່ຽນໄປຫາບ່ອນເກັບມ້ຽນ GitHub Releases ທີ່ໝັ້ນຄົງໂດຍອັດຕະໂນມັດ. ຂ້ອຍຄິດວ່າສິ່ງນີ້ມີຄວາມສຳຄັນຫຼາຍ, ເພາະວ່າບ່ອນເກັບມ້ຽນຢ່າງເປັນທາງການບາງຄັ້ງອາດຈະບໍ່ໝັ້ນຄົງ; ຂ້ອຍເຄີຍພົບກັບການໝົດເວລາການເຊື່ອມຕໍ່ມາກ່ອນ.

ກ່ຽວກັບການດາວໂຫຼດ plugin, ສະຄຣິບຈະດາວໂຫຼດ plugins ຫຼັກສາມອັນຄື: plugin.php ເປັນຕົວແທນໂຫຼດ plugin, fc-sqlite-connection-without-credentials.php ຖືກນໍາໃຊ້ເພື່ອຈັດການການເຊື່ອມຕໍ່ທີ່ບໍ່ມີລະຫັດຜ່ານ, ແລະ login-password-less.php ຮອງຮັບການເຂົ້າສູ່ລະບົບດ້ວຍ password hash.

ກ່ຽວກັບການສ້າງ hash ຂອງລະຫັດຜ່ານ ແລະ index.php, ມີລາຍລະອຽດເລັກນ້ອຍຄື: ສະຄຣິບໃຊ້ getenv() ເພື່ອດຶງລະຫັດຜ່ານແທນທີ່ຈະໃຊ້ $_ENV ໂດຍກົງ. ສິ່ງນີ້ຊ່ວຍຫຼີກລ່ຽງບັນຫາການຕັ້ງຄ່າ php.ini ທີ່ເຮັດໃຫ້ການຄິດໄລ່ hash ຫວ່າງເປົ່າ. ຕົວຂ້ອຍເອງໄດ້ພົບກັບບັນຫານີ້ ແລະ ໃຊ້ເວລາດົນເພື່ອຊອກຫາວ່າຂອບເຂດ 'E' ບໍ່ໄດ້ຖືກເປີດໃຊ້ໃນ php.ini.

ສຳລັບການຕັ້ງຄ່າການພິສູດຢືນຢັນຕົວຕົນ Nginx, ສະຄຣິບໃຊ້ກົນໄກການລວມແບບພື້ນເມືອງຂອງ HestiaCP ແທນທີ່ຈະດັດແປງໄຟລ໌ການຕັ້ງຄ່າຫຼັກຂອງ Nginx ໂດຍກົງ. ຂໍ້ດີຂອງວິທີການນີ້ແມ່ນການພິສູດຢືນຢັນຕົວຕົນຈະບໍ່ລົ້ມເຫຼວເຖິງແມ່ນວ່າທ່ານຈະສ້າງການຕັ້ງຄ່າໂດເມນຄືນໃໝ່ກໍຕາມ.

ໃນການຕັ້ງຄ່າ Fail2Ban, ສະຄຣິບຈະສ້າງກົດລະບຽບການກັ່ນຕອງເພື່ອຕິດຕາມຄວາມຜິດພາດ 401. ຖ້າ IP ບໍ່ສາມາດເຂົ້າສູ່ລະບົບໄດ້ 3 ເທື່ອພາຍໃນ 10 ນາທີ, ມັນຈະຖືກບລັອກເປັນເວລາ 1 ຊົ່ວໂມງ.

ກ່ຽວກັບການສ້ອມແປງການອະນຸຍາດ ແລະ ການໂຫຼດບໍລິການຄືນໃໝ່, ສະຄຣິບຈະຕັ້ງຄ່າການອະນຸຍາດໄຟລ໌ທີ່ຖືກຕ້ອງໂດຍອັດຕະໂນມັດ ແລະ ໂຫຼດ PHP-FPM, Nginx, ແລະ Fail2Ban ຄືນໃໝ່.

ຂ້ອຍເອົາຈິງເອົາຈັງກັບຄວາມປອດໄພ.

ດ້ວຍຄວາມຊື່ສັດ, ຄວາມປອດໄພຂອງເຄື່ອງມືການຈັດການຖານຂໍ້ມູນແມ່ນສິ່ງທີ່ຂ້ອຍສົນໃຈຫຼາຍທີ່ສຸດ.

ລອງຄິດເບິ່ງ, ຜູ້ເບິ່ງແຍງລະບົບສາມາດຈັດການຖານຂໍ້ມູນທັງໝົດໃນເຊີບເວີຂອງທ່ານໄດ້ໂດຍກົງ. ຖ້າມັນຖືກເປີດເຜີຍຕໍ່ອິນເຕີເນັດສາທາລະນະ ແລະ ມີຄົນສະແກນມັນ, ຜົນສະທ້ອນຈະເປັນໄປບໍ່ໄດ້.

ສະຄຣິບນີ້ມີການປ້ອງກັນສາມເທົ່າ.

ຊັ້ນທຳອິດແມ່ນ HTTP Basic Auth ຂອງ Nginx. ເມື່ອທ່ານເຂົ້າເຖິງ Administrator, ໂປຣແກຣມທ່ອງເວັບຂອງທ່ານຈະປາກົດກ່ອງໂຕ້ຕອບທີ່ຂໍໃຫ້ທ່ານໃສ່ຊື່ຜູ້ໃຊ້ ແລະ ລະຫັດຜ່ານຂອງທ່ານ. ຫຼັງຈາກໃສ່ຂໍ້ມູນທີ່ຖືກຕ້ອງແລ້ວ ທ່ານຈະເຫັນໜ້າເຂົ້າສູ່ລະບົບ Administrator.

ຊັ້ນທີສອງແມ່ນການເຂົ້າສູ່ລະບົບດ້ວຍລະຫັດລັບຂອງຜູ້ເບິ່ງແຍງລະບົບເອງ. ຂ້ອຍໄດ້ຕັ້ງຄ່າການຄັດລອກລະຫັດຜ່ານໃນ index.php, ສະນັ້ນເຖິງແມ່ນວ່າຜູ້ໃດຜູ້ໜຶ່ງຈະຂ້າມການພິສູດຢືນຢັນຕົວຕົນ Nginx, ເຂົາເຈົ້າຈະບໍ່ຮູ້ລະຫັດຜ່ານເຂົ້າສູ່ລະບົບຂອງຜູ້ເບິ່ງແຍງລະບົບ.

ຊັ້ນທີສາມແມ່ນການປົກປ້ອງແບບ brute-force ຂອງ Fail2Ban. ຖ້າຜູ້ໃດຜູ້ໜຶ່ງພະຍາຍາມ brute-force ລະຫັດຜ່ານຂອງທ່ານ, Fail2Ban ຈະບລັອກທີ່ຢູ່ IP ຂອງເຂົາເຈົ້າໂດຍອັດຕະໂນມັດ.

ດ້ວຍການປົກປ້ອງທັງສາມຊັ້ນນີ້ລວມກັນ, ໂດຍພື້ນຖານແລ້ວທ່ານສາມາດວາງຜູ້ເບິ່ງແຍງລະບົບໄວ້ໃນອິນເຕີເນັດສາທາລະນະໄດ້ຢ່າງສະບາຍໃຈ.

ການດຳເນີນງານດ້ວຍການຄລິກດຽວ, ມັນແມ່ນການຄລິກດຽວແທ້ໆ.

ຂະບວນການນຳໃຊ້ແມ່ນງ່າຍດາຍທີ່ສຸດ.

#!/bin/bash
# ==============================================================================
# Adminer + 插件 + Nginx Auth + Fail2Ban 一键自动化部署脚本 (HestiaCP 完美版)
# ==============================================================================

set -e

# 必须以 root 权限运行
if [ "$EUID" -ne 0 ]; then
echo "❌ 错误:请使用 root 或 sudo 运行此脚本!"
exit 1
fi

# ------------------------------------------------------------------------------
# 1. 交互式输入配置参数
# ------------------------------------------------------------------------------
read -p "请输入 HestiaCP 用户名 [默认: admin]: " HESTIA_USER
HESTIA_USER=${HESTIA_USER:-admin}

read -p "请输入 Adminer 部署域名 [例如: adminer.example.com]: " DOMAIN
if [ -z "$DOMAIN" ]; then
echo "❌ 错误:域名不能为空!"
exit 1
fi

read -p "请输入 Nginx 网页认证用户名 [默认: adminuser]: " AUTH_USER
AUTH_USER=${AUTH_USER:-adminuser}

read -sp "请输入防护密码 (用于 Nginx 认证与 Adminer 登录): " AUTH_PASS
echo ""
if [ -z "$AUTH_PASS" ]; then
echo "❌ 错误:密码不能为空!"
exit 1
fi

# 核心路径变量定义
WEBROOT="/home/$HESTIA_USER/web/$DOMAIN/public_html"
ADMINER_FILE="$WEBROOT/adminer.php"
PLUGIN_DIR="$WEBROOT/plugins"
HTPASSWD_FILE="/etc/nginx/.htpasswd-$DOMAIN"

echo -e "\n🚀 开始部署 Adminer 到域名: $DOMAIN ..."

# ------------------------------------------------------------------------------
# 2. 创建目录与安装基础依赖
# ------------------------------------------------------------------------------
if [ ! -d "$WEBROOT" ]; then
echo "📁 创建 Web 根目录: $WEBROOT"
mkdir -p "$WEBROOT"
fi
mkdir -p "$PLUGIN_DIR"

echo "🔍 检查基础依赖环境..."
if ! command -v htpasswd >/dev/null 2>&1; then
echo "📦 安装 apache2-utils 工具包..."
apt-get update -qq && apt-get install -y -qq apache2-utils
fi

if ! command -v php >/dev/null 2>&1; then
echo "❌ 错误:未检测到系统的 PHP 环境!"
exit 1
fi

# ------------------------------------------------------------------------------
# 3. 安全下载 Adminer 核心程序
# ------------------------------------------------------------------------------
echo "📥 正在下载最新版 Adminer..."
curl -sL -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)" \
-o "$ADMINER_FILE" "https://www.adminer.org/latest.php"

# 校验下载有效性
if ! grep -q "<?php" "$ADMINER_FILE"; then
echo "⚠️ 官方源连接异常,正在切换至 GitHub Releases 稳定源..."
curl -sL -o "$ADMINER_FILE" \
"https://github.com/vrana/adminer/releases/download/v4.8.1/adminer-4.8.1.php"
fi

# ------------------------------------------------------------------------------
# 4. 下载官方核心插件与加载器
# ------------------------------------------------------------------------------
echo "🧩 正在下载插件组件..."
curl -sL -o "$PLUGIN_DIR/plugin.php" \
https://raw.githubusercontent.com/vrana/adminer/master/plugins/plugin.php

curl -sL -o "$PLUGIN_DIR/fc-sqlite-connection-without-credentials.php" \
https://raw.githubusercontent.com/vrana/adminer/master/plugins/fc-sqlite-connection-without-credentials.php

curl -sL -o "$PLUGIN_DIR/login-password-less.php" \
https://raw.githubusercontent.com/vrana/adminer/master/plugins/login-password-less.php

# ------------------------------------------------------------------------------
# 5. 安全生成密码 Hash 并构建入口文件 index.php
# ------------------------------------------------------------------------------
echo "⚙️ 生成密码 Hash 与 index.php 配置..."
# 使用 getenv() 替代 $_ENV,防止 php.ini 未开启 E 作用域导致 Hash 计算为空
HASHED_PASSWORD=$(AUTH_PASS="$AUTH_PASS" php -r 'echo password_hash(getenv("AUTH_PASS"), PASSWORD_DEFAULT);')

cat > "$WEBROOT/index.php" <<EOF
<?php
function adminer_object() {
include_once "./plugins/plugin.php";
include_once "./plugins/fc-sqlite-connection-without-credentials.php";
include_once "./plugins/login-password-less.php";

return new AdminerPlugin([
new AdminerFCSqliteConnectionWithoutCredentials(),
new AdminerLoginPasswordLess('$HASHED_PASSWORD'),
]);
}
include "./adminer.php";
EOF

# ------------------------------------------------------------------------------
# 6. 配置 Nginx 基础认证 (完全依赖 HestiaCP 原生 Include 机制)
# ------------------------------------------------------------------------------
echo "🔒 配置 Nginx HTTP Basic Auth..."
htpasswd -b -c "$HTPASSWD_FILE" "$AUTH_USER" "$AUTH_PASS"
chmod 644 "$HTPASSWD_FILE"

HESTIA_CONF_DIR="/home/$HESTIA_USER/conf/web/$DOMAIN"
if [ -d "$HESTIA_CONF_DIR" ]; then
# HestiaCP 原生包含文件名格式:nginx.conf_* 与 nginx.ssl.conf_*
# 这样无需 sed 修改主配置文件,重建域名配置时也不会失效
cat > "$HESTIA_CONF_DIR/nginx.conf_adminer" <<EOF
auth_basic "Restricted Adminer Access";
auth_basic_user_file $HTPASSWD_FILE;
EOF

cat > "$HESTIA_CONF_DIR/nginx.ssl.conf_adminer" <<EOF
auth_basic "Restricted Adminer Access";
auth_basic_user_file $HTPASSWD_FILE;
EOF
fi

# ------------------------------------------------------------------------------
# 7. 配置 Fail2Ban 防护规则
# ------------------------------------------------------------------------------
echo "🛡️ 配置 Fail2Ban 规则..."
cat > /etc/fail2ban/filter.d/nginx-adminer.conf <<'EOF'
[Definition]
failregex = ^<HOST> - .* "GET /.* HTTP/.*" 401
ignoreregex =
EOF

cat > /etc/fail2ban/jail.d/nginx-adminer.conf <<EOF
[nginx-adminer]
enabled = true
filter = nginx-adminer
port = http,https
logpath = /var/log/nginx/domains/$DOMAIN.log
maxretry = 3
findtime = 600
bantime = 3600
EOF

# ------------------------------------------------------------------------------
# 8. 修复权限、刷新缓存与重载服务
# ------------------------------------------------------------------------------
echo "🧹 修复权限并重载服务..."
chown -R $HESTIA_USER:$HESTIA_USER "$WEBROOT"
find "$WEBROOT" -type d -exec chmod 755 {} +
find "$WEBROOT" -type f -exec chmod 644 {} +

# 平滑重载 PHP-FPM(兼容多版本 PHP 环境)
for service in $(systemctl list-units --type=service --state=running --no-legend | awk '{print $1}' | grep -E 'php.*fpm'); do
systemctl reload "$service" || true
done

# 重载 Web 与防护服务
nginx -t && systemctl reload nginx
if systemctl is-active --quiet fail2ban; then
systemctl restart fail2ban
fi

echo -e "\n=================================================="
echo -e "✅ Adminer 一键部署成功!"
echo -e "--------------------------------------------------"
echo -e "🌐 访问地址 : https://$DOMAIN/index.php"
echo -e "👤 Nginx 认证账号 : $AUTH_USER"
echo -e "🔑 Nginx 认证密码 : [你输入的防护密码]"
echo -e "--------------------------------------------------"
echo -e "💡 Adminer 登录说明:"
echo -e " 数据库用户名填写:root(或你的数据库账号)"
echo -e " 数据库密码填写:[你输入的防护密码]"
echo -e "=================================================="

ວິທີການໃຊ້ script: ໃຫ້ສິດໃນການ execute script:

sudo chmod +x /usr/local/bin/deploy-adminer.sh 

ແລ່ນສະຄຣິບໂດຍໃຊ້ sudo:

sudo /usr/local/bin/deploy-adminer.sh 

ໃສ່ຂໍ້ມູນການຕັ້ງຄ່າຕາມທີ່ຖາມ:

  • ໃສ່ຊື່ຜູ້ໃຊ້ HestiaCP ຂອງທ່ານ (ຕົວຢ່າງ: admin).
  • ໃສ່ໂດເມນຍ່ອຍເຕັມທີ່ກຽມໄວ້ (ເຊັ່ນ: adminer.example.com).
  • ໃສ່ລະຫັດຜ່ານຄວາມປອດໄພຂອງທ່ານ (ເຊັ່ນ: MySuperPassword123)

ສະຄຣິບຈະເຮັດສຳເລັດຂະບວນການຕັ້ງຄ່າທັງໝົດໂດຍອັດຕະໂນມັດໂດຍບໍ່ປະໄວ້ຫຍັງເລີຍ.

ຂະບວນການທັງໝົດໃຊ້ເວລາປະມານໜຶ່ງຫຼືສອງນາທີ. ສະຄຣິບຈະຈັດການທຸກຢ່າງໂດຍອັດຕະໂນມັດ, ແລະທ່ານບໍ່ຈຳເປັນຕ້ອງປະຕິບັດຄຳສັ່ງໃດໆດ້ວຍຕົນເອງ.

ຫຼັງຈາກສຳເລັດແລ້ວ, ທ່ານສາມາດເຂົ້າເຖິງຜູ້ເບິ່ງແຍງລະບົບໄດ້ຜ່ານທາງ https://yourdomain/index.php

ບາງຄຳຖາມທີ່ເຈົ້າອາດຈະກັງວົນ

ໝູ່ເພື່ອນບາງຄົນອາດຈະຖາມວ່າ, ສະຄຣິບນີ້ຮອງຮັບ PHP ຫຼາຍລຸ້ນບໍ?

ແມ່ນແລ້ວ, ມັນຮອງຮັບ. ສະຄຣິບຈະກວດຫາບໍລິການ PHP-FPM ທັງໝົດທີ່ເຮັດວຽກຢູ່ໃນລະບົບໂດຍອັດຕະໂນມັດ ແລະ ໂຫຼດຄືນມັນເທື່ອລະອັນ. ສະນັ້ນມັນເຮັດວຽກໄດ້ດີບໍ່ວ່າທ່ານຈະໃຊ້ PHP 7.4 ຫຼື PHP 8.2.

ໝູ່ເພື່ອນບາງຄົນອາດຈະຖາມວ່າ, ຖ້າຂ້ອຍຕ້ອງການປ່ຽນລະຫັດຜ່ານຂອງຂ້ອຍ, ຈະເປັນແນວໃດ?

ມັນງ່າຍດາຍຫຼາຍ; ພຽງແຕ່ແລ່ນສະຄຣິບຄືນໃໝ່. ສະຄຣິບຈະສ້າງ hash ລະຫັດຜ່ານຄືນໃໝ່, ຕັ້ງຄ່າການພິສູດຢືນຢັນຕົວຕົນ Nginx ຄືນໃໝ່, ແລະຕັ້ງຄ່າ Fail2Ban ຄືນໃໝ່. ການຕັ້ງຄ່າເກົ່າຈະຖືກຂຽນທັບ.

ຈະເປັນແນວໃດຖ້າຂ້ອຍຕ້ອງການຖອນການຕິດຕັ້ງມັນ?

ທ່ານສາມາດລຶບໄດເລກະທໍລີຮາກເວັບ, ໄຟລ໌ລະຫັດຜ່ານ ແລະ ການຕັ້ງຄ່າ Fail2Ban ດ້ວຍຕົນເອງໄດ້ງ່າຍໆ. ສະຄຣິບຈະບໍ່ປະໄວ້ຮ່ອງຮອຍອື່ນໆໃນລະບົບ.

ຂຽນທີ່ສຸດ

ຂ້ອຍຮູ້ສຶກສະເໝີວ່າການດຳເນີນງານ ແລະ ການບຳລຸງຮັກສາບໍ່ຄວນສັບສົນຫຼາຍ.

ວຽກງານທີ່ເຮັດດ້ວຍຕົນເອງຫຼາຍຢ່າງສາມາດອັດຕະໂນມັດໄດ້ໂດຍໃຊ້ສະຄຣິບ. ສິ່ງນີ້ຊ່ວຍໃຫ້ທ່ານສາມາດໃຊ້ເວລາຂອງທ່ານໃນສິ່ງທີ່ສຳຄັນກວ່າ, ເຊັ່ນ: ການເພີ່ມປະສິດທິພາບຂອງເຊີບເວີ, ການຕິດຕາມສະຖານະຂອງແອັບພລິເຄຊັນ, ແລະ ການຄົ້ນຄວ້າເຕັກໂນໂລຢີໃໝ່ໆ.

ສິ່ງນີ້ເຮັດໃຫ້ຂ້ອຍນຶກເຖິງເລື່ອງປະຫວັດສາດ. ໃນຊຸມປີ 1880, ໄຟຟ້າໄດ້ເລີ່ມແຜ່ຂະຫຍາຍໄປໃນສະຫະລັດອາເມລິກາ. ເຈົ້າຂອງໂຮງງານຫຼາຍຄົນໄດ້ໃຊ້ເງິນຫຼາຍເພື່ອຊື້ເຄື່ອງກຳເນີດໄຟຟ້າ ແລະ ມໍເຕີໄຟຟ້າ ແລະ ຕິດຕັ້ງພວກມັນໃນໂຮງງານຂອງເຂົາເຈົ້າ. ຢ່າງໃດກໍຕາມ, ຫຼັງຈາກການຕິດຕັ້ງແລ້ວ, ຫຼາຍຄົນພົບວ່າປະສິດທິພາບການຜະລິດບໍ່ໄດ້ດີຂຶ້ນຢ່າງຫຼວງຫຼາຍ. ນີ້ແມ່ນຍ້ອນວ່າເຂົາເຈົ້າໄດ້ປ່ຽນແທນເຄື່ອງຈັກໄອນ້ຳດ້ວຍມໍເຕີໄຟຟ້າເທົ່ານັ້ນ, ແຕ່ຮູບແບບໂດຍລວມ, ຂະບວນການ ແລະ ວິທີການຄຸ້ມຄອງຂອງໂຮງງານຍັງຄົງບໍ່ປ່ຽນແປງ.

ຜູ້ທີ່ໄດ້ຮັບຜົນປະໂຫຍດຢ່າງແທ້ຈິງຈາກການຂະຫຍາຍຕົວຂອງໄຟຟ້າແມ່ນຜູ້ທຳອິດທີ່ເຂົ້າໃຈວ່າໄຟຟ້າໝາຍຄວາມວ່າແນວໃດແທ້ໆ. ພວກເຂົາໄດ້ອອກແບບສາຍການຜະລິດຄືນໃໝ່, ປັບໂຄງສ້າງໂຮງງານຄືນໃໝ່, ແລະ ປັບໂຄງສ້າງວິທີການດຳເນີນງານຂອງກຳມະກອນຄືນໃໝ່.

ສິ່ງດຽວກັນນີ້ໃຊ້ໄດ້ກັບການດຳເນີນງານ ແລະ ການບຳລຸງຮັກສາແບບອັດຕະໂນມັດ. ຫຼາຍຄົນຮູ້ວ່າ scripts ສາມາດໃຊ້ໄດ້, ແຕ່ພວກເຂົາຍັງມັກການດຳເນີນງານດ້ວຍມື, ຄືກັນກັບເຈົ້າຂອງໂຮງງານໃນອະດີດທີ່ຮູ້ກ່ຽວກັບມໍເຕີໄຟຟ້າ ແຕ່ຍັງໃຊ້ແນວຄິດຂອງເຄື່ອງຈັກໄອນ້ຳເພື່ອໃຊ້ພວກມັນ. Scripts ບໍ່ໄດ້ມີຈຸດປະສົງເພື່ອທົດແທນການຕັດສິນຂອງທ່ານ, ແຕ່ເພື່ອອັດຕະໂນມັດວຽກງານທີ່ຊ້ຳໆ, ກົນຈັກ, ແລະ ຜິດພາດໄດ້ງ່າຍ, ຊ່ວຍໃຫ້ທ່ານສາມາດສຸມໃສ່ພະລັງງານຂອງທ່ານໃສ່ສິ່ງທີ່ຕ້ອງການຄວາມຄິດຢ່າງແທ້ຈິງ.

ນີ້ແມ່ນວິທີທີ່ສະຄຣິບນີ້ເກີດຂຶ້ນ. ມັນໄດ້ແກ້ໄຂບັນຫາໃຫ້ຂ້ອຍ, ແລະຂ້ອຍຫວັງວ່າມັນຈະສາມາດຊ່ວຍເຈົ້າໄດ້ຄືກັນ.

ຖ້າທ່ານກຳລັງໃຊ້ HestiaCP ແລະ Adminer, ທ່ານອາດຈະຕ້ອງລອງໃຊ້ script ນີ້. ມັນອາດຈະຊ່ວຍປະຢັດເວລາຂອງທ່ານໄດ້ຫຼາຍ.

ເນື່ອງຈາກທ່ານໄດ້ອ່ານມາຮອດນີ້, ຖ້າທ່ານເຫັນວ່າມັນເປັນປະໂຫຍດ, ກະລຸນາກົດໄລຄ໌ ແລະ ແຊຣ໌ມັນ. ຖ້າທ່ານຕ້ອງການຮັບຂໍ້ມູນອັບເດດກ່ອນ, ທ່ານຍັງສາມາດຕິດຕາມຂ້ອຍໄດ້!

ຂອບໃຈທີ່ໄດ້ອ່ານບົດຄວາມຂອງຂ້ອຍ. ພົບກັນໃໝ່ໃນຄັ້ງຕໍ່ໄປ.

ຫວັງວ່າ ບົດຄວາມ "HestiaCP One-Click Automated Deployment Script for Adminer (Including Nginx Authentication + Fail2Ban Dual Protection)" ທີ່ແບ່ງປັນໃນ ບລັອກຂອງ Chen Weiliang ( https://www.chenweiliang.com/ ) ຈະເປັນປະໂຫຍດຕໍ່ທ່ານ.

ຮູ້ສຶກວ່າບໍ່ເສຍຄ່າທີ່ຈະແບ່ງປັນລິ້ງຂອງບົດຄວາມນີ້: https://www.chenweiliang.com/cwl-34395.html

ເພື່ອປົດລັອກເຄັດລັບທີ່ເຊື່ອງໄວ້ເພີ່ມເຕີມ🔑, ຍິນດີຕ້ອນຮັບເຂົ້າສູ່ຊ່ອງ Telegram ຂອງພວກເຮົາ!

Share and like ຖ້າທ່ານມັກມັນ! ການແບ່ງປັນ ແລະຖືກໃຈຂອງເຈົ້າເປັນແຮງຈູງໃຈຢ່າງຕໍ່ເນື່ອງຂອງພວກເຮົາ!

 

评论评论

您的邮箱地址不会被公开。必填项已用*标注

ເລື່ອນໄປທາງເທີງ