خطای memcached support requires libmemcached حین کامپایل php

اگر قصد نصب اکستنشن memcached روی سرورتون رو دارید حین کامپایل php ممکنه با خطای زیر مواجه بشید:

checking for libmemcached location... configure: error: memcached support requires libmemcached. Use --with-libmemcached-dir=<DIR> to specify the prefix where libmemcached headers and library are located
**ERROR** Could not configure MemCached extension build

برای رفع خطا کافیه libmemcached رو با دستور زیر نصب کنید روی سرور و سپس مجدد php رو کامپایل کنید:

yum install libmemcached-devel

خطاهای نصب مودسکوریتی کومودو در دایرکت ادمین

اگر قصد نصب مودسکوریتی با رول‌های شرکت کومودو روی دایرکت‌ادمین رو داشته باشید، ممکنه با اشکالاتی مواجه بشید. خصوصا اگر وب‌سرور دایرکت‌ادمین شما آپاچی به همراه انجین‌ایکس باشه (nginx_apache) احتمال بروز این خطاها بیشتر می‌شه و سرویس انجین‌ایکس شما با اشکال مواجه می‌شه.

اول این که مودسکوریتی چیه؟ مودسکوریتی نوعی WAF یا وب اپلیکیشن فایرواله که با یک سری قوانین از پیش تغیین شده از خرابکاری و نفوذ به سرور شما جلوگیری می‌کنه. طبیعتا هر سروری که روی شبکه عمومی اینترنت قرار می‌گیره نیاز به ابزارهایی داره که مانع از بروز اشکال در عملکرد سرور بشن، مودسکوریتی یکی از همین ابزارهاست.

کومودو هم یکی از معتبرترین شرکت‌های امنیتیه که برا مودسکوریتی هم یک سری قوانین فایروالی بصورت رایگان ارائه کرده و با وب‌سرورهای معروف از جمله آپاچی، انجین‌ایکس و لایت‌اسپید هم سازگاری داره.

ادامه خواندن خطاهای نصب مودسکوریتی کومودو در دایرکت ادمین

پر شدن صف ایمیل WHM با ایمیل‌های روت

گاها ممکنه روی سرور سی‌پنلی شما ارسال و دریافت ایمیل با تاخیر زیادی انجام بشه. یا حتی ممکنه بدون این که اکانت مشکل‌سازی روی سرور داشته باشید که ارسال ایمیل اسپم انجام بده IP سرورتون بلک لیست بشه، در چنین مواردی طبعا اولین کاری که می‌کنید باید به صف ایمیل (Mail Queue Manager) تو پنل WHM مراجعه کنید که ببینید چه خبره.

اینجاست که آدم فانی با مشاهده صف ایمیل که از صف این روزهای مرغ و گوشت شلوغ‌تره یاد اون شعر استاد اخوان ثالث می‌افته که فرموده از اسپم توی صف خبر کس ندهد، آن لحظه خبر شوی که در لیست شده‌ای. مراد شاعر از لیست در این بیت همون بلک لیست ایمیلی هست که وارد شدن درش با خودته و خارج شدن نیاز به توسل و تمسک فراوان داره.

ادامه خواندن پر شدن صف ایمیل WHM با ایمیل‌های روت

خطای edquota: Quota write failed در سی‌پنل

به جرئت می‌شه گفت cPanel کاربرپسندترین و قدرتمندترین کنترل‌پنل میزبانی وب هست. اما گاها اشکالاتی به این کنترل‌پنل ارزنده وارد می‌شه، مثلا حجم دیسک مصرفی اکانت‌ها به درستی نمایش داده نمی‌شه. خب خود سی‌پنل برای رفع این اشکالات عموما اسکریپت‌هایی ارائه داده. اسکریپتی که برای رفع اشکالات مصرف دیسک اکانت‌ها توی سی‌پنل تعریف شده با دستور زیر اجرا می‌شه.

/scripts/fixquotas

امروز که قصد داشتم با اجرای این اسکریپت مشکلات حجم اکانت‌های یکی از سرورها رو حل کنم، مع‌الاسف در اقدامی غیرمنتظره با صحنه زیر مواجه شدم.

Installing Default Quota Databases......Done
journaled quota support: kernel supports, user space tools supports (available)
checking out /backup
checking out /backup
Quotas have been enabled and updated.
Reading package for 1G
Resetting quota for user1 to 1024 M
edquota: Quota write failed (id 511): Invalid argument
Reading package 2G
Resetting quota for user2 to 2048 M
edquota: Quota write failed (id 518): Invalid argument
Reading package 3G
Resetting quota for user3 to 3072 M
edquota: Quota write failed (id 521): Invalid argument
Resetting quota for user4 to 3072 M
edquota: Quota write failed (id 515): Invalid argument
Resetting quota for user5 to 1024 M
......
ادامه خواندن خطای edquota: Quota write failed در سی‌پنل

بش اسکریپت خواندن خط به خط محتویات یک فایل

بیاید اینطور در نظر بگیریم که من روی یک سرور وب سی‌پنلی یک فایل متنی دارم که تو هر خطش اسم یکی از یوزرای اون سرور درج شده، من می‌خوام از این اکانت‌ها بکاپ بگیرم. خب یه راهش اینه که بشینم برای تک تک یوزرها اسکریپت بکاپ سی‌پنل رو اجرا کنم. مثلا برای بکاپ گرفتن از یوزر admin دستور زیر رو اجرا کنم.

/scripts/pkgacct admin

انجام این کار شاید برای یک، دو، پنج یا ده تا یوزر زیاد سخت نباشه، اما اگر ۲۰۰ تا یوزر داشته باشیم چطور؟ آیا باید بشینیم از تک تک اکانت‌ها بکاپ بگیریم؟ طبعا نه! نه عمر ما انقدر طولانیه که برای این چیزهای پیش پا افتاده وقت این چنینی بذاریم و نه دنیای لینوکس اونقدر محدوده که نتونه راهی جلوی ما بذاره که این کار رو توسط اتوماسیون انجام بدیم.

ادامه خواندن بش اسکریپت خواندن خط به خط محتویات یک فایل

ایجاد کامند اختصاصی در لینوکس

گاها ممکنه به هر دلیلی بخواید روی سیستم عامل لینوکس‌تون کامندهای اختصاصی داشته باشید. خب ما می‌دونیم یک سری دستورات توی کرنل لینوکس هستند، مثل دستور ls که لیست فایل‌ها و دایرکتوری‌های موجود در یک دایرکتوری رو به شما نشون می‌ده. یا یک سری دستورات بعد از نصب یک سری از برنامه‌ها برای شما اضافه می‌شن، مثل دستور ls که بعد از نصب برنامه‌ای تحت همین عنوان (sudo apt install ls) به سیستم عامل شما اضافه می‌شه و در صورتی که اجرا بشه، قطار در حال حرکتی صفحه ترمینال شما رو مزین می‌کنه.

حالا من می‌خوام دستوراتی داشته باشم که کارهایی رو برای من انجام بدن. کارهایی رو که خودم مدنظر دارم، با دستوراتی که خودم تعیین کردم. هدف از انجام این کار طبیعتا صرفه‌جویی در زمان انجام کارها برای ما هست.

خب، چطور این کار رو انجام بدم؟

ادامه خواندن ایجاد کامند اختصاصی در لینوکس

شل اسکریپت بکاپ از دیتابیس‌های MySQL

لکن اگر نیاز به اسکریپتی دارید که بتواند از همه دیتابیس‌هاس MySQL یک سرور بکاپ بگیرد می‌توانید از اسکریپت زیر استفاده نُمایید.

 #! /bin/bash
 
TIMESTAMP=$(date +"%F")
BACKUP_DIR="/backup/dbs"
MYSQL=/usr/bin/mysql
MYSQLDUMP=/usr/bin/mysqldump

mkdir -p "$BACKUP_DIR/$TIMESTAMP"
 
databases=`$MYSQL -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)"`
 
for db in $databases; do
  $MYSQLDUMP --force --opt -u root --databases $db | gzip > "$BACKUP_DIR/$TIMESTAMP/$db.gz"
done

find $BACKUP_DIR/* -type d -ctime +29 -exec rm -rf {} \;

echo Databases Backup Task Completed On $HOSTNAME

کار این اسکریپت این هست که از همه دیتابیس‌های MySQL بکاپ گرفته، با فرمت gz فشرده‌سازی کرده و در مسیر زیر نگهداری می‌کند.

/backup/dbs

هربار اسکریپت اجرا می‌شه دیتابیس‌های دامپ شده در یک دایرکتوری که نام اون تاریخ روز اجرای اسکریپت هست ذخیره می‌شن.

همچنین لاین زیر هم بدین منظور بکار رفته که بکاپ‌هایی که 30 روز یا بیشتر از زمان ایجادشون گذشته حذف بشن تا خدای‌ناکرده مشکل کمبود فضای دیسک هم ایجاد نشه.

find $BACKUP_DIR/* -type d -ctime +29 -exec rm -rf {} \;