HestiaCP, Adminer స్క్రిప్ట్‌ను (Nginx ప్రమాణీకరణ + Fail2Ban ద్వంద్వ రక్షణతో సహా) ఒకే క్లిక్‌తో స్వయంచాలకంగా అమలు చేయడానికి వీలు కల్పిస్తుంది.

అడ్మినర్‌ను మాన్యువల్‌గా ఇన్‌స్టాల్ చేయడం ఆపండి! మొత్తం సెక్యూరిటీ కాన్ఫిగరేషన్‌ను ఒకే స్క్రిప్ట్ నిర్వహించగలదు.

రెండు రోజుల క్రితం, సిస్టమ్ అడ్మినిస్ట్రేషన్‌లో పనిచేసే నా స్నేహితుడు ఒకడు, తన సర్వర్‌లో అడ్మినర్‌ను ఇన్‌స్టాల్ చేయడానికి దాదాపు రోజంతా పడుతోందని నాతో వాపోయాడు. అడ్మినర్‌ను ఇన్‌స్టాల్ చేయడమేమీ కష్టం కాదు; అది కేవలం ఒక PHP ఫైల్, దాన్ని నేరుగా ఇన్‌స్టాల్ చేస్తే చాలు, అది పనిచేస్తుంది. కానీ సమస్య ఏమిటంటే, ఒక PHP ఫైల్‌ను అలా ఇన్‌స్టాల్ చేసి పని అయిపోయిందని అనుకోలేము.

మీరు సబ్‌డొమైన్‌లను కాన్ఫిగర్ చేయడం, ప్లగిన్‌లను లోడ్ చేయడం, Nginx ప్రమాణీకరణను సెటప్ చేయడం మరియు బ్రూట్-ఫోర్స్ దాడులను నివారించడానికి Fail2Banను కాన్ఫిగర్ చేయడం వంటివి చేయాలి . ప్రతి దశ సంక్లిష్టమైనది కాదు, కానీ అవన్నీ కలిసి అనేక విడివిడి కమాండ్‌లు మరియు కాన్ఫిగరేషన్ ఫైల్‌లకు దారితీస్తాయి.

ఇంకా చిరాకు కలిగించే విషయం ఏమిటంటే, ప్రామాణీకరణ మరియు ఫైర్‌వాల్‌ల వంటి భద్రతా సంబంధిత కాన్ఫిగరేషన్‌లు లోపాలకు ఎక్కువగా గురవుతాయి. ఒక చిన్న పొరపాటు వల్ల డేటాబేస్ నిర్వహణ ఇంటర్‌ఫేస్ బహిరంగ ఇంటర్నెట్‌కు బహిర్గతమై, ఎవరైనా దాన్ని యాక్సెస్ చేయడానికి వీలవుతుంది.

నేను కూడా అంతకుముందు అదే పని చేస్తుండటంతో, ఆ సమయంలో నాకు నవ్వొచ్చింది. తర్వాత, నేను దాన్ని ఇంక భరించలేకపోయాను, అందుకే ఈ దశలన్నింటినీ స్వయంచాలకం చేయడానికి ఒకే క్లిక్‌తో పనిచేసే డిప్లాయ్‌మెంట్ స్క్రిప్ట్‌ను రాశాను.

HestiaCP, Adminer స్క్రిప్ట్‌ను (Nginx ప్రమాణీకరణ + Fail2Ban ద్వంద్వ రక్షణతో సహా) ఒకే క్లిక్‌తో స్వయంచాలకంగా అమలు చేయడానికి వీలు కల్పిస్తుంది.

ఎందుకు ఉపయోగించకూడదుphpMyAdmin

మరింత ప్రాచుర్యం పొందిన phpMyAdminను ఎందుకు ఉపయోగించకూడదు అని మీరు అడగవచ్చు.

నిజానికి, phpMyAdminకు ఎక్కువ మంది వినియోగదారులు మరియు పెద్ద కమ్యూనిటీ ఉంది. కానీ కొన్ని విషయాలలో Adminer మరింత మెరుగ్గా పనిచేస్తుందని నేను అనుకుంటున్నాను.

మొదటిది, ఇది తేలికైనది; అడ్మినర్ కేవలం ఒకే PHP ఫైల్, అయితే phpMyAdmin అనేది చాలా ఫైల్స్ తో కూడి ఉంటుంది. రెండవది, ఇది సురక్షితమైనది; అడ్మినర్ యొక్క రూపకల్పన తత్వం "డిఫాల్ట్‌గా విశ్వసనీయం కాదు," అంటే డేటాబేస్‌ను ఆపరేట్ చేయడానికి మీరు కనెక్షన్ సమాచారాన్ని స్పష్టంగా కాన్ఫిగర్ చేయాలి.

మరొక అంశం పనితీరు; పెద్ద డేటాబేస్‌లను నిర్వహించడంలో phpMyAdmin కంటే Adminer గణనీయంగా వేగవంతమైనది.

వాస్తవానికి, వీటిలో ఏవీ అత్యంత ముఖ్యమైన విషయాలు కావు. అత్యంత ముఖ్యమైన విషయం ఏమిటంటే, ఈ స్క్రిప్ట్ వల్ల నేను ఇకపై ఆ భద్రతా సంబంధిత విషయాలను మాన్యువల్‌గా కాన్ఫిగర్ చేయాల్సిన అవసరం లేదు.

అసలు ఆ స్క్రిప్ట్ ఏమి చేసింది?

ఈ స్క్రిప్ట్ వెనుక ఉన్న ఆలోచన నిజానికి చాలా సరళమైనది: మీరు సాధారణంగా చేతితో చేసే అన్ని దశలను స్వయంచాలకం చేయడం.

ఇంటరాక్టివ్ ఇన్‌పుట్ కోసం, స్క్రిప్ట్ మిమ్మల్ని కొన్ని ప్రశ్నలు అడుగుతుంది: HestiaCP యూజర్‌నేమ్, డొమైన్ పేరు, అథెంటికేషన్ యూజర్‌నేమ్ మరియు పాస్‌వర్డ్. మీరు వీటిని మాత్రమే నమోదు చేయాలి, మిగిలినవన్నీ స్క్రిప్ట్ చూసుకుంటుంది.

ఈ స్క్రిప్ట్ స్వయంచాలకంగా వెబ్ రూట్ డైరెక్టరీని సృష్టిస్తుంది, (పాస్‌వర్డ్ ఫైల్‌లను రూపొందించడానికి ఉపయోగించే) apache2-utils మరియు PHP ఎన్విరాన్‌మెంట్ ఇన్‌స్టాల్ చేయబడ్డాయో లేదో తనిఖీ చేస్తుంది, అలాగే డైరెక్టరీ సృష్టి మరియు డిపెండెన్సీ ఇన్‌స్టాలేషన్‌ను నిర్వహిస్తుంది.

అడ్మినర్‌ను డౌన్‌లోడ్ చేసేటప్పుడు, స్క్రిప్ట్ మొదట అధికారిక రిపోజిటరీ నుండి తాజా వెర్షన్‌ను డౌన్‌లోడ్ చేయడానికి ప్రయత్నిస్తుంది. ఒకవేళ అధికారిక రిపోజిటరీ అందుబాటులో లేకపోతే, అది స్వయంచాలకంగా స్థిరమైన గిట్‌హబ్ రిలీజెస్ రిపోజిటరీకి మారుతుంది. ఇది చాలా ముఖ్యమైనదని నేను భావిస్తున్నాను, ఎందుకంటే అధికారిక రిపోజిటరీ కొన్నిసార్లు అస్థిరంగా ఉండవచ్చు; నేను గతంలో కనెక్షన్ టైమ్‌అవుట్‌లను ఎదుర్కొన్నాను.

ప్లగిన్ డౌన్‌లోడ్‌ల విషయానికి వస్తే, ఈ స్క్రిప్ట్ మూడు ప్రధాన ప్లగిన్‌లను డౌన్‌లోడ్ చేస్తుంది: plugin.php అనేది ప్లగిన్ లోడర్, fc-sqlite-connection-without-credentials.php పాస్‌వర్డ్ రహిత కనెక్షన్‌లను నిర్వహించడానికి ఉపయోగించబడుతుంది, మరియు login-password-less.php పాస్‌వర్డ్ హ్యాష్ లాగిన్‌కు మద్దతు ఇస్తుంది.

పాస్‌వర్డ్ హ్యాష్ జనరేషన్ మరియు index.php విషయంలో ఒక చిన్న విషయం ఉంది: ఈ స్క్రిప్ట్ $_ENV ను నేరుగా ఉపయోగించకుండా, పాస్‌వర్డ్‌ను తిరిగి పొందడానికి getenv() ను ఉపయోగిస్తుంది. దీనివల్ల, హ్యాష్ లెక్కింపు ఖాళీగా రావడానికి కారణమయ్యే ఒక php.ini కాన్ఫిగరేషన్ సమస్యను నివారించవచ్చు. నేను స్వయంగా ఈ సమస్యను ఎదుర్కొని, php.ini లో 'E' స్కోప్ ఎనేబుల్ చేయబడలేదని కనుక్కోవడానికి చాలా సమయం వెచ్చించాను.

Nginx ప్రామాణీకరణను కాన్ఫిగర్ చేయడానికి, ఈ స్క్రిప్ట్ Nginx ప్రధాన కాన్ఫిగరేషన్ ఫైల్‌ను నేరుగా సవరించడానికి బదులుగా HestiaCP యొక్క స్థానిక include విధానాన్ని ఉపయోగిస్తుంది. ఈ విధానం వల్ల కలిగే ప్రయోజనం ఏమిటంటే, మీరు డొమైన్ కాన్ఫిగరేషన్‌ను తిరిగి నిర్మించినప్పటికీ ప్రామాణీకరణ విఫలం కాదు.

Fail2Ban కాన్ఫిగరేషన్‌లో, ఈ స్క్రిప్ట్ 401 ఎర్రర్‌లను పర్యవేక్షించడానికి ఒక ఫిల్టరింగ్ నియమాన్ని సృష్టిస్తుంది. ఒకవేళ ఒక IP 10 నిమిషాల వ్యవధిలో 3 సార్లు లాగిన్ అవ్వడంలో విఫలమైతే, అది 1 గంట పాటు బ్లాక్ చేయబడుతుంది.

అనుమతుల మరమ్మత్తు మరియు సర్వీస్ రీలోడింగ్ విషయానికి వస్తే, ఈ స్క్రిప్ట్ సరైన ఫైల్ అనుమతులను స్వయంచాలకంగా సెట్ చేసి, PHP-FPM, Nginx, మరియు Fail2Ban లను రీలోడ్ చేస్తుంది.

నేను భద్రత విషయంలో చాలా శ్రద్ధ వహిస్తాను.

నిజం చెప్పాలంటే, నేను అన్నిటికన్నా ఎక్కువగా పట్టించుకునేది డేటాబేస్ నిర్వహణ సాధనాల భద్రత గురించే.

ఒకసారి ఆలోచించండి, అడ్మిన్ మీ సర్వర్‌లోని అన్ని డేటాబేస్‌లను నేరుగా నియంత్రించగలరు. ఒకవేళ అది పబ్లిక్ ఇంటర్నెట్‌కు బహిర్గతమై, ఎవరైనా దాన్ని స్కాన్ చేస్తే, దాని పర్యవసానాలు ఊహించలేనంత తీవ్రంగా ఉంటాయి.

ఈ స్క్రిప్ట్‌కు త్రివిధ రక్షణ ఉంది.

మొదటి పొర Nginx యొక్క HTTP బేసిక్ ఆథ్. మీరు Adminerను యాక్సెస్ చేసినప్పుడు, మీ యూజర్‌నేమ్ మరియు పాస్‌వర్డ్‌ను నమోదు చేయమని అడుగుతూ మీ బ్రౌజర్ ఒక డైలాగ్ బాక్స్‌ను పాప్ అప్ చేస్తుంది. సరైన సమాచారాన్ని నమోదు చేసిన తర్వాత మాత్రమే మీరు Adminer లాగిన్ పేజీని చూడగలరు.

రెండవ పొర అనేది అడ్మిన్ యొక్క సొంత పాస్‌వర్డ్ హాష్ లాగిన్. నేను index.php లో పాస్‌వర్డ్ హాషింగ్‌ను కాన్ఫిగర్ చేశాను, కాబట్టి ఎవరైనా Nginx ప్రమాణీకరణను దాటవేసినప్పటికీ, వారికి అడ్మిన్ లాగిన్ పాస్‌వర్డ్ తెలియదు.

మూడవ పొర ఫెయిల్2బ్యాన్ యొక్క బ్రూట్-ఫోర్స్ రక్షణ. ఎవరైనా మీ పాస్‌వర్డ్‌ను బ్రూట్-ఫోర్స్ చేయడానికి ప్రయత్నిస్తే, ఫెయిల్2బ్యాన్ వారి 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 "=================================================="

స్క్రిప్ట్‌ను ఎలా అమలు చేయాలి: స్క్రిప్ట్‌కు అమలు అనుమతులు ఇవ్వండి:

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 ద్వారా Adminerను యాక్సెస్ చేయవచ్చు.

మీరు ఆందోళన చెందగల కొన్ని ప్రశ్నలు

ఈ స్క్రిప్ట్ బహుళ PHP వెర్షన్‌లకు మద్దతు ఇస్తుందా అని కొంతమంది స్నేహితులు అడగవచ్చు.

అవును, దీనికి మద్దతు ఉంది. ఈ స్క్రిప్ట్ సిస్టమ్‌లో నడుస్తున్న అన్ని PHP-FPM సేవలను స్వయంచాలకంగా గుర్తించి, వాటిని ఒక్కొక్కటిగా రీలోడ్ చేస్తుంది. కాబట్టి మీరు PHP 7.4 లేదా PHP 8.2 ఉపయోగిస్తున్నా ఇది సరిగ్గా పనిచేస్తుంది.

కొంతమంది స్నేహితులు, "నేను నా పాస్‌వర్డ్‌ను మార్చుకోవాలనుకుంటే ఏమవుతుంది?" అని అడగవచ్చు.

ఇది చాలా సులభం; స్క్రిప్ట్‌ను మళ్లీ రన్ చేస్తే చాలు. ఆ స్క్రిప్ట్ పాస్‌వర్డ్ హ్యాష్‌ను తిరిగి జనరేట్ చేస్తుంది, Nginx అథెంటికేషన్‌ను మరియు Fail2Banను తిరిగి కాన్ఫిగర్ చేస్తుంది. పాత కాన్ఫిగరేషన్ తొలగించబడుతుంది.

నేను దాన్ని అన్‌ఇన్‌స్టాల్ చేయాలనుకుంటే?

మీరు వెబ్ రూట్ డైరెక్టరీ, పాస్‌వర్డ్ ఫైల్ మరియు Fail2Ban కాన్ఫిగరేషన్‌ను మాన్యువల్‌గా సులభంగా తొలగించవచ్చు. ఈ స్క్రిప్ట్ సిస్టమ్‌లో మరే ఇతర ఆనవాళ్లను వదిలిపెట్టదు.

చివరిలో వ్రాయండి

నిర్వహణ మరియు మరమ్మత్తు ఇంత సంక్లిష్టంగా ఉండకూడదని నేను ఎప్పుడూ భావిస్తూ ఉంటాను.

వాస్తవానికి, స్క్రిప్ట్‌లను ఉపయోగించి అనేక మాన్యువల్ పనులను ఆటోమేట్ చేయవచ్చు. దీనివల్ల మీరు సర్వర్ పనితీరును మెరుగుపరచడం, అప్లికేషన్ స్థితిని పర్యవేక్షించడం మరియు కొత్త సాంకేతికతలపై పరిశోధన చేయడం వంటి మరింత ముఖ్యమైన విషయాలపై మీ సమయాన్ని వెచ్చించవచ్చు.

ఇది నాకు ఒక చారిత్రక కథను గుర్తు చేస్తుంది. 1880వ దశకంలో, యునైటెడ్ స్టేట్స్‌లో విద్యుత్ వ్యాప్తి చెందడం ప్రారంభమైంది. చాలా మంది ఫ్యాక్టరీ యజమానులు జనరేటర్లు మరియు ఎలక్ట్రిక్ మోటార్లను కొనడానికి చాలా డబ్బు ఖర్చు చేసి, వాటిని తమ ఫ్యాక్టరీలలో ఏర్పాటు చేసుకున్నారు. అయితే, వాటిని ఏర్పాటు చేసుకున్న తర్వాత, ఉత్పత్తి సామర్థ్యం గణనీయంగా మెరుగుపడలేదని చాలామంది గమనించారు. దీనికి కారణం, వారు కేవలం ఆవిరి యంత్రాల స్థానంలో ఎలక్ట్రిక్ మోటార్లను మాత్రమే అమర్చారు, కానీ ఫ్యాక్టరీ యొక్క మొత్తం నిర్మాణం, ప్రక్రియలు మరియు నిర్వహణ పద్ధతులు మాత్రం మారకుండా అలాగే ఉండిపోయాయి.

విద్యుత్ విప్లవం వల్ల నిజంగా లబ్ధి పొందిన వారే, విద్యుత్ యొక్క నిజమైన అర్థాన్ని మొదటగా గ్రహించారు. వారు ఉత్పత్తి శ్రేణులను పునఃరూపకల్పన చేశారు, కార్యశాలలను పునర్నిర్మించారు మరియు కార్మికులు పనిచేసే విధానాన్ని పునర్వ్యవస్థీకరించారు.

ఆపరేషన్స్ మరియు మెయింటెనెన్స్ ఆటోమేషన్‌కు కూడా ఇదే వర్తిస్తుంది. స్క్రిప్ట్‌లను ఉపయోగించవచ్చని చాలా మందికి తెలిసినప్పటికీ, వారు ఇప్పటికీ మాన్యువల్ ఆపరేషన్‌నే ఇష్టపడతారు. ఇది సరిగ్గా, గతంలో ఎలక్ట్రిక్ మోటార్ల గురించి తెలిసి కూడా, వాటిని స్టీమ్ ఇంజిన్ల నాటి ఆలోచనా విధానంతో ఉపయోగించిన ఫ్యాక్టరీ యజమానుల లాంటిది. స్క్రిప్ట్‌లు మీ విచక్షణను భర్తీ చేయడానికి ఉద్దేశించినవి కావు, కానీ పునరావృతమయ్యే, యాంత్రికమైన మరియు పొరపాట్లు జరిగే అవకాశం ఉన్న పనులను ఆటోమేట్ చేయడానికి ఉద్దేశించినవి. తద్వారా, నిజంగా ఆలోచించాల్సిన వాటిపై మీ శక్తిని కేంద్రీకరించడానికి అవి మీకు వీలు కల్పిస్తాయి.

ఈ స్క్రిప్ట్ ఈ విధంగా పుట్టింది. ఇది నాకున్న ఒక సమస్యను పరిష్కరించింది, మరియు ఇది మీకు కూడా సహాయపడుతుందని నేను ఆశిస్తున్నాను.

మీరు HestiaCP మరియు Adminer ఉపయోగిస్తుంటే, ఈ స్క్రిప్ట్‌ను ఒకసారి ప్రయత్నించి చూడవచ్చు. ఇది మీకు చాలా సమయాన్ని ఆదా చేయవచ్చు.

మీరు ఇంతవరకు చదివారు కాబట్టి, ఇది మీకు ఉపయోగకరంగా అనిపిస్తే, దయచేసి లైక్ చేసి షేర్ చేయండి. మీరు అప్‌డేట్‌లను ముందుగా పొందాలనుకుంటే, నన్ను ఫాలో కూడా అవ్వొచ్చు!

నా వ్యాసం చదివినందుకు ధన్యవాదాలు. మళ్ళీ కలుద్దాం.

చెన్ వీలియాంగ్ బ్లాగ్ ( https://www.chenweiliang.com/ ) లో పంచుకున్న "HestiaCP One-Click Automated Deployment Script for Adminer (Including Nginx Authentication + Fail2Ban Dual Protection)" అనే వ్యాసం మీకు ఉపయోగకరంగా ఉంటుందని ఆశిస్తున్నాము.

ఈ వ్యాసం యొక్క లింక్‌ను పంచుకోవడానికి సంకోచించకండి: https://www.chenweiliang.com/cwl-34395.html

మరిన్ని దాచిన ఉపాయాలను అన్‌లాక్ చేయడానికి🔑, మా టెలిగ్రామ్ ఛానెల్‌లో చేరడానికి స్వాగతం!

మీకు నచ్చితే షేర్ చేయండి మరియు లైక్ చేయండి! మీ షేర్లు మరియు ఇష్టాలు మా నిరంతర ప్రేరణ!

 

发表 评论

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

పైకి స్క్రోల్