بایگانی دسته: سی پنل Cpanel

آموزش تنظیمات و کانفیگ فایروال csf

آموزش تنظیمات و کانفیگ فایروال csf

 

فایروال متن باز و رایگان Config Server Firewall با نام اختصاری CSF قوی ترین فایروال رایگان و Open Source لینوکس است . فایروال CSF روی کلیه توزیع های لینوکس نصب شده و بهترین فایروال برای استفاده در سرور مجازی محسوب میشود . کانفیگ فایروال CSF در سرور های لینوکس مبتنی بر کنترل پنل های وب هاستینگ cPanel ، Directadmin و همچنین Webmin به دلیل وجود یک UI یا یک پنل گرافیگی و وب بیس به خصوص برای افرادی که دانش کار در محیط Command Line را ندارند ساده تر است . با کانفیگ صحیح فایروال CSF قادر به تشخیص و کنترل بسیاری از حملات و Attack ها مانند اسکن کردن پورت ، حملات SYN flood ، حملات لاگین بیس brute force attacks و … خواهید بود .

برای مشاهده مجازی ساز ها و سیستم عامل های تست شده و سازگار با فایروال CSF به لینک زیر مراجعه کنید :

http://www.configserver.com/cp/csf.html

این مقاله به کانفیگ فایروال CSF روی سرور های مجازی لینوکس بر پایه Debian مانند Debian Linux و Ubuntu Linux می پردازد . در صورت آشنا بودن با مباحث پایه ای لینوکس میتوانید از همین آموزش برای کانفیگ و تنظیمات CSF در توزیع های RHEL مانند CentOS ، Fedora و RedHat نیز استفاده کنید .

دستورات اجرا و نصب فایروال CSF باید با دسترسی های root super user در سیستم عامل لینوکس سرور اجرا شوند :

su root

آموزش تنظیمات و کانفیگ فایروال CSF

فایروال CSF امکانات زیادی برای محافظت سرور مجازی و سرور اختصاصی لینوکس شما در برابر انواع حملات سایبری ارائه میکند که به معرفی آن ها میپردازیم :

جلوگیری از تلاش های لاگین بدون مجوز یا Login authentication failure daemon

فایروال CSF به صورت مداوم و در بازه های زمانی مشخص شده لاگ های سرور را برای بررسی تلاش های ناموفق لاگین به سرور بررسی میکند . CSF بر اساس خواسته شما به این دسته از حملات پاسخ میدهد . برای مثال میتوانید با کانفیگ صحیح به CSF اعلام کنید در صورت مشاهده بیش از ۵ تلاش ناموفق برای لاگین به یکی از سرویس های لینوکس ، آی پی Attacker را برای مدت محدودی (با به صورت دائمی) بلاک کند . نرم افزار ها و سرویس های زیر در حال حاضر توسط CSF محافظت میشوند :

  • سرویس های Courier imap, Dovecot, uw-imap, Kerio
  • سرویس openSSH
  • کنترل پنل WHM/cPanel و صفحه Webmail
  • سرویس های Pure-ftpd, vsftpd, Proftpd
  • دایرکتوری های رمز دار (htpasswd)
  • مغایرت های Mod_security
  • مغایرت های Suhosin
  • سرویس Exim SMTP AUTH

امکان سفارسی کردن لاگ ها و محل ذخیره سازی آن ها برای فایروال CSF وجود دارد .

رد یابی پراسس های لینوکس Process tracking

فایروال CSF در صورت کانفیگ ، امکان ردیابی و تعقیب پراسس های مشکوک اجرا شده در background را به سرور مجازی و اختصاصی شده هدیه میکند . با استفاده از این ابزار قادر به شناسایی و جلوگیری از Exploit در VPS یا VDS خود خواهید بود .

مانیتور کردن دایرکتوری ها Directory watching

با کمک این ابزار CSF قادر به مانیتور لحظه ای پوشه /tmp و سایر دایرکتوری های مورد نظر شما برای شناسایی اسکریپت های خطرناک و تروژان ها میباشد . در صورت شناسایی هر گونه اسکریپت ها بدافزار ، CSF مدیر سرور را از طریق ارسال ایمیل اگاه خواهد ساخت .

محافظ Port flood protection

کانفیگ صحیح و تنظیمات حرفه ای در این بخش به شما امکان جلوگیری از حملات port flood attacks و انواع خاصی از حملات Dos و DDos را میدهد . با انجام تنظیمات این بخش شما مشخص میکنید حد اکثر چند کانکشن در یک بازه زمانی مشخص و روی یک پورت خاص مجوز اتصال دارند . مثلا هر IP مجاز به اتصال ۱۰ کانکشن در ۵ ثانیه روی پورت ۸۰ خواهد بود و در صورت تجاوز از این تعداد ، بر اساس تنظیمات انجام شده IP مورد نظر به صورت موقت یا دائم بلاک خواهد شد .

در زدن به پورت Port knocking

با کمک تنظیمات این بخش فایروال CSF مجوز اتصال به پورت های بسته را برای گروهی از کلاینت ها که مرحله در زدن به پورت را با موفقیت پش سر میگذارند فراهم میکند . این ابزار امنیت سرور مجازی و اختصاصی لینوکس را به میزان قابل ملاحظه ای بالا میبرد .

برای کسب اطلاعات بیشتر در زمینه Port Knocking به آدرس زیر مراجعه کنید :

http://www.portknocking.org

محدودیت در تعداد کانکشن ها Connection limit protection

این قابلیت به شما امکان تعیین کردن تعداد مجاز کانکشن برای هر IP را میدهد . با کانفیگ اصولی این بخش مثلا هر IP قابلیت اتصال حد اکثر ۲۰۰ یا ۳۰۰ کانکشن همزمان را خواهد داشت . یکی از تنظیمات موثر در کنترل بعضی از انواع حملات Dos و Ddos در سرور های لینوکس همین قسمت است .

پنل ادمین فایروال بر پایه وب UI integration

فایروال CSF از یک پنل وب بیس قوی و کاربر پسند برای کنتل پنل های هاستینگ cPanel ، Webmin و دایرکت ادمین پشتیبانی میکند . با کمک این ابزار قدرتمند تسلط شما بر مدیریت فایروال بیشتر شده و انجام تغییرات در فایروال به مراتب ساده تر میگردد .

موارد فوق تنها بخشی از امکانات فایروال قدرتمند CSF بودند که به اختصار به آن ها اشاره شد . در ادامه مبحث ، به آموزش نصب و کانفیگ حرفه ای فایروال CSF در سرور لینوکس میپردازیم :

آموزش تنظیمات و کانفیگ فایروال csf نصب فایروال CSF

فایروال CSF به صورت پیش فرض در مخازن توزیع های Debian و Ubuntu و CentOS از لینوکس موجود نیست . بنا بر این برای نصب فایروال CSF باید آن را از وب سایت رسمی سی اس اف دانلود کنیم :

wget http://www.configserver.com/free/csf.tgz

tar -xzf csf.tgz

cd csf

sh install.sh

با اجرای دستورات فوق فایروال CSF روی سرور شما نصب میشود . ولی در اولین قدم ابتدا باید از وجود کلیه ماژول های IPTABLES مورد نیاز CSF روی سرور اطمینان حاصل کنیم . برای بررسی وجود یا عدم وجود ماژول های ضروری IPTABLES روی سرور لینوکس باید اسکریپت پرل CSF مخصوص بررسی ماژول های IPTABLES زیر را اجرا کنیم :

perl /usr/local/csf/bin/csftest.pl

در صورت عدم دریافت هر گونه fatal errors توسط اسکریپت پرل فوق ، فایروال CSF بدون مشکل روی سرور شما کار خواهد کرد . در حین فرایند نصب CSF روی سرور ، IP کامپیوتر شما به صورت اتوماتیک WHITELIST میشود . نکته بعدی که در هنگام نصب اولیه فایروال باید به آن توجه کنید قرار گرفتن اتوماتیک فایروال به صورت پیش فرض  در وضعیت و حالت  تست است . دلیل آن نیز مشخص است . اگر نیاز به باز کردن پورت های خاصی روی سرور دارید ، حتما قبل از خارج کردن فایروال از حالت تست آن ها را باز کنید . اگر از کنترل پنل های هاستینگ استفاده میکنید یا مثلا پورت SSH شما یک پورت غیر استاندارد و به جز پورت ۲۲ هست ، باید این پورت ها را قبل از فعال کردن کامل فایروال  و خروج از وضعیت تست باز کنید و در غیر این صورت به محض خارج کردن فایروال CSF از حالت تست امکان قطع  شدن دسترسی های شما  به سرور وجود خواهد داشت . برای جلوگیری از این مشکل اجازه بدهید سرور با فایروال در وضعیت تست حد اقل ۵ یا ۱۰ دقیقه کار کنید . فایروال csf در وضعیت testing هر ۵ دقیقه کلیه رول های IPTABLES را پاک میکند . بنا بر این اگر هم ایرادی در کانفیگ فایروال باشد که منجر به قطع دسترسی های شما شده باشد ، بعد از ۵ دقیقه خود به خود غیر فعال میگردد .

کانفیگ مقدماتی و پایه فایروال CSF

برای کانفیگ فایروال CSF باید فایل csf.conf را ویرایش کنید . بعد از ذخیره تغییرات در فایل csf.conf با ریست کردن فایروال تغییرات در IPTABLES اعمال خواهند شد :

vi /etc/csf/csf.conf

csf -r

مرحله اول : تنظیمات پورت های سرور

هر چقدر دسترسی ها به سرور شما محدود تر باشد ، امنیت سرور خواه نا خواه افزایش پیدا میکند . این یک قاعده کلی است و پورت های سرور هم مشمول همین قانون هستند . هیچ دلیلی وجود ندارد که پورت های بی استفاده سیستم عامل لینوکس سرور مجازی یا سرور اختصاصی شما باز باشند . بنا بر این در اولین قدم به مدیریت پورت ها در لینوکس میپردازیم . با نصب فایروال CSF پورت های زیر به صورت پیش فرض باز خواهند شد :

TCP_IN = “20,21,22,25,53,80,110,143,443,465,587,993,995”

TCP_OUT = “20,21,22,25,53,80,110,113,443”

UDP_IN = “20,21,53”

UDP_OUT = “20,21,53,113,123”

سرویس هایی که از این پورت ها  استفاده میکنند به شرح زیر هستند :

Port 20: FTP data transfer
Port 21: FTP control
Port 22: Secure shell -SSH
Port 25: Simple mail transfer protocol -SMTP
Port 53: Domain name system -DNS
Port 80: Hypertext transfer protocol -HTTP
Port 110: Post office protocol v3 -POP3
Port 113: Authentication service/identification protocol
Port 123: Network time protocol -NTP
Port 143: Internet message access protocol -IMAP
Port 443: Hypertext transfer protocol over SSL/TLS -HTTPS
Port 465: URL Rendesvous Directory for SSM -Cisco
Port 587: E-mail message submission -SMTP
Port 993: Internet message access protocol over SSL -IMAPS
Port 995: Post office protocol 3 over TLS/SSL -POP3S

اگر از هر یک از پورت های فوق استفاده نمیکنید یا سرویس های استفاده کننده از این پورت ها در سرور شما کاربردی ندارند ، حتما آن ها را از طریق فایروال CSF ببندید .

مرحله دوم : سایر تنظیمات CSF

در ادامه مبحث آموزش کانفیگ و تنیظمات فایروال CSF به آموزش پیکربندی پر استفاده ترین و مهم ترین قسمت های فایروال CSF در لینوکس می پردازیم .

کنترل پینگ LICMP_IN

مجموعه پروتوکل های ICMP  یکی از پر استفاده ترین سرویس های دنیای اینترنت ، شبکه و هاستینگ هستند . با کمک ICMP_IN در فایروال CSF قادر به باز کردن و بستن پینگ آی پی سرور هستید . با قرار دادن مقدار ۱ پینگ سرور باز میشود و در صورت مقدار دهی ۰ پینگ سرور به طور کامل بسته میشود . اگر سرور شما یک سرور اشتراکی است بستن پینگ میتوانید مشکلاتی برای سرور به همراه داشته باشد .

محدود کردن تعداد IP های بلاک شده با DENY_IP_LIMIT

با مقدار دهی به DENY_IP_LIMIT حد اکثر تعداد IP های مجاز برای نگهداری در لیست بلاک فایروال CSF را مشخص میکنید . مقدار دهی زیاد به این پارامترسبب افزایش لود سرور و مصرف CPU میگردد . خیلی از وب مستران به دلایلی که عموما  اشتباه است این مقدار را روی ۱۰۰۰ یا بیشتر تنظیم میکنند که سبب مصرف بالای منابع سرور میگردد . حد اکثر مقدار توصیه شده ۲۰۰ است .

تعداد آی پی ها بلاک شده به صورت موقت DENY_TEMP_IP_LIMIT

با مقدار دهی به DENY_TEMP_IP_LIMIT حد اکثر تعداد IP هایی که به صورت موقتی بلاک میشوند را تعیین کنید . مانند بلاک دائمی IP افزایش تعداد این آی پی ها نیز سبب کند شدن فایروال و سرور میگردد .

محدود کردن پکت ها PACKET_FILTER

به کمک این ابزار پکت های اشتباه ، بدون کاربرد و غیر قانونی را فیلتر کنید

کنترل حملات SYNFLOOD به کمک SYNFLOOD, SYNFLOOD_RATE , SYNFLOOD_BURST

به کمک این ابزار قادر به کنترل حملات SYNFLOOD روی سرور خود خواهید بود . با فعال سازی این قسمت شکل گیری و اتصال کانکشن های جدید به سرور کند میشود . در واقع با این تکنیک و با افزایش زمان شکل گیری و اتصال کانکشن های جدید به سرور تا حدودی حملات flood از نوع SYN کنترل خواهند شد . بنا بر این فقط زمانی که زیر حملات SYNFLOOD هستید این قسمت را فعال کنید ، چرا که ناخواسته سبب کند شدن سرعت لود شدن سایت برای کاربران جدید (کاربرانی که بعد از فعال سازی این قسمت سایت های روی سرور را باز میکنند) میشود .

محدود کردن کانکشن ها به کمک CONNLIMIT

یکی از قوی ترین امکانات فایروال CSF برای کنترل کردن حملات DOS و بعضی از انواع DDOS ابزای CONNLIMIT است . CONNLIMIT به شما این امکان را میدهد تا تعداد کانکشن های همزمان و فعال (concurrent connections) روی پورت های دلخواه را برای هر IP تعیین و محدود کنید . برای درک بهتر این موضوع یک مثال میزنیم :

آموزش تنظیمات و کانفیگ فایروال csf
آموزش تنظیمات و کانفیگ فایروال csf

این مقدار دهی به CONNLIMIT در فایروال CSF به این معنیست که تعداد کانکشن های همزمان مجاز برای هر آی پی روی پورت ۲۲ حد اکثر ۵ کانکشن و روی پورت ۴۴۳ حد اکثر ۲۰ کانکشن می باشد .

محدود کردن کانکشن ها به کمک PORTFLOOD

یکی دیگر از امکانات بسیار کاربردی و موثر فایروال CSF در کنترل حملات DOS و DDOS ویژگی محدود کردن تعداد کانکشن های مجاز برای اتصال بر روی پورت های تعیین شده در بازه ها زمانی مشخص است . با مقدار دهی صحیح و دقیق به PORTFLOOD سرعت کانکشن زدن یک آی پی روی پورت های مورد نظر شما کنترل خواهد شد . برای درک بهتر چگونگی عملکرد PORTFLOOD در فایروال CSF یک مثال میزنیم :

آموزش تنظیمات و کانفیگ فایروال csf
آموزش تنظیمات و کانفیگ فایروال csf

این مقدارد هی به PORTFLOOD به فایروال CSF دستور میدهد در صورتی اتصال بیش از ۵ کانکشن در مدت ۲۵۰ ثانیه به پورت ۲۲ از یک IP آن را بلاک کند .

اگر قصد محافظت از پورت های بیشتری را دارید میتوانید آن ها را با کاما از هم جدا کنید . به طور کلی فرمت استفاده از  PORTFLOOD برای چند پورت مختلف به شکل زیر است :

فرمت استفاده از PORTFLOOD برای چند پورت به صورت همزمان
آموزش تنظیمات و کانفیگ فایروال csf

محدود کردن کلی کانکشن ها Connection Tracking

به کمک connection tracking فایروال csf میتواند آی پی هایی را که مجموعا بیشتر از تعداد مجاز و تعیین شده به سرور کانکشن زده اند را بلاک کند . این کانکشن ها به صورت کلی محاسبه میشوند و پورت و سرویس خاصی مد نظر نیست .  برای این منظور کافی است تا مقدار CT_LIMIT را مثلا روی ۳۰۰ ست کنیم . در این صورت هر زمانی که بیشتر از ۳۰۰ کانکشن توسط یک ip به سرور متصل شود آن آی پی توسط فایروال CSF بلاک خواهد شد . فایروال CSF به صورت پیش فرض هر ۳۰ ثانیه یک بار تعداد کانکشن های هر آی پی را با مقداری که در CT_LIMIT مشخص کرده اید چک میکند .در صورتی که مایل به افزایش یا کاهش این مدت زمان هستید باید مقدار تعیین شده برای CT_INTERVAL را تغییردهید . توجه داشته باشید که این عدد هر چه کمتر باشد منابع مصرفی توسط CSF بیشتر خواهد بود .

پک امنیتی CSF شامل امکانات بسیار زیاد دیگری نیز هست که میتوانید از دموی CSF در کنترل پنل WHM آن ها را مشاهده کنید :

http://configserver.com/cp/csfdemo/config.html

کلیه تنظیمات فایروال CSF که در لینک فوق مشاهده میکنید در محیط SSH با ویرایش فایل CSF.CONF قابل دسترس هستند . برای ویرایش این فایل در لینوکس دستور زیر را در ssh اجرا کنید :

vi /etc/csf/csf.conf

بعد از پایان کانفیگ فایروال csf و ذخیره کردن تغییرات در فایروال ، باید csf را یک بار ریستارت کنید تا تغییرات اعمال شوند . برای ریست کردن فایروال csf یا از طریق پنل ادمین csf در کنترل پنل های دایرکت ادمین ، سی پنل و وبمین اقدام کنید یا در ssh دستور زیر را وارد کنید :

csf -r

حالا ۵ دقیقه فرصت دارید تا همه موارد کانفیگ شده را بررسی کنید . فایروال CSF در حالت تست ۵ دقیقه بعد از استارت کلیه رول های IPTABLES را پاک میکند تا اگر هم اشتباهی درکانفیگ فایروال رخ داده دسترسی های شما کاملا قطع نشود .در صورتی که همه چیز به درستی کار میکرد و مشکلی در کانفیگ شما وجود نداشت مجددا فایل کانفیگ فایروال csf را ویراش کرده و فایروال را از حالت تست و آزمایش خارج کنید . برای این کار کافیست مقدار TESTING را از ۱ به ۰ تغییر دهید و مجددا فایروال را ریست کنید :

TESTING = 0

csf -r

چند نکته در باره فایروال CSF

  • آی پی های بلاک شده در فایل csf.deny ذخیره میشوند
  • آی پی های مجاز و white در فایل csf.allow ذخیره میشوند
  • برای بلاک کردن آی پی در ssh کافی است تا دستور csf -d ip را وارد کنید
  • برای وایت لیست کردن آی پی در ssh کافی است تا دستور csf -a ip را وارد کنید
  • برای بلاک کرد یا وایت لیست کردن یک رنج آی پی باید آن را به شکل ۲٫۳٫۰٫۰/۱۶ در فایل مربوطه وارد کنید
  • همیشه از به روز بود فایروال خود اطیمنان داشته باشید . برای آپدیت کردن csf در محیط ssh دستور csr -u را وارد کنید
  • برای غیر فعال کردن فایروال در ssh دستور csf -x را اجرا کنید
  • برای فعال کردن مجدد فایروال csf در ssh دستور csf -e را وارد کنید
  • از استفاده همزمان csf با سایرفایروال ها جدا خود داری کنید
  • برای نصب پنل ادمین CSF در  webmin کافی است تا پلاگین مربوطه را از مسیر /usr/local/csf/csfwebmin.tgz روی کنترل پنل وب مین نصب کنید . در cPanel و Directadmin نیازی به نصب پلاگین نیست .

لایسنس رایگان و اورجینال سی پنل

با سلام خدمت کاربران گرامی یو سرور

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

جهت دریافت لایسنس رایگان سی پنل از طریق تیکت با ما در ارتباط باشید

http://userver.ir/client/

ایجاد اکانت اف تی پی در سی پنل

FTP مخفف عبارت File Transfer Protocol  پروتکلی استاندارد جهت انتقال فایل بین کامپیوترهای مختلف

می باشد. توسط این پروتکل و نرم افزارهای اف تی سمت کاربر ، مانند FileZilla ، CuteFTP و … می توانید

فایل های خود را بدون استفاده از کنترل پنل به هاست خود انتقال دهید.

درصورتیکه مدیریت سایت را در اختیار چند نفر قرار داده اید و هر کدام احتیاج به آپلود فایل روی هاست دارند

می توانید از اکانت اف تی پی برای محدود کردن سطح دسترسی هر مدیر استفاده کنید به این صورت که

برای هر یک از آنها یک اکانت  اف تی پی ایجاد کنید تا بتوانند بصورت همزمان و بدون ایجاد اختلال برای یکدیگر

به فایل های سرور دسترسی داشته باشند.

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

چگونه بانک اطلاعاتی بسازم؟

برای ایجاد بانک اطلاعاتی و یوزر آن به شکل زیر اقدام کنید :

 

1- وارد کنترل پنل هاست شوید و طبق عکس زیر روی my sql databases کلیک کنید

 

 

برای دیدن ادامه آموزش به ادامه مطلب بروید

ادامه خواندن چگونه بانک اطلاعاتی بسازم؟

نمایش تعداد ایمیل های Queue در whm توسط ssh

شاید شما هم خیلی مواقع نیاز داشته باشید تا بدانید که در سرور سی پنل شما چه مقدار ایمیل Queue شده است اما اتمام لایسنس سی پنل این امکان را از شما سلب نموده است؟

برای مشاهده ایمیل های در صف از طریق ssh از دستور زیر میتوانید استفاده کنید:

exim -bp | exiqsumm

دستور فوق تعداد دامینهایی که به آنها ایمیل در حال ارسال است را به همراه تعداد ایمیل ها و تعداد کل صف ایمیل ها نمایش میدهد

در صورت نیاز به سرور مخصوص ایمیل مارکتینگ با  ما تماس بگیرید

 

آموزش ریستور کردن فایل های بزرگ و حجیم دیتابیس MySQL در ssh لینوکس

یکی از بزرگ ترین مشکلات مشتریانی که از هاست اشتراکی و میزبانی وب لینوکس به سرور مجازی یا سرور اختصاصی کوچ میکنند مشکل ریستور کردن فایل های sql بزرگ و حجیم در MySQL سرور لینوکس است . برنامه هایی مانند phpmyadmin یا MySQL  Dumper قادر به ذخیره سازی و ریستور کردن و بازیابی دیتابیس های خیلی بزرگ و حجیم نیستند و در صورت انتقال و ریستور کردن با آن ها همیشه احتمال و خطر بازیابی ناقص اطلاعات و آسیب دیدین دیتابیس وجود دارد .

  MySQL-Backup-and-Restore

از طرفی همیشه امکان ریستور کردن بکاپ کلی یا Full Backup برای خریدار سرور مجازی یا سرور اختصاصی امکان پذیر نیست . مثلا فول بکاپ توسط کنترل پنل cPanel ایجاد شده است ولی سرور مقصد از کنترل پنل دایرکت ادمین یا کلوکسو استفاده میکند . در این وضعیت هیچ راهی نیست جز استفاده از دستورات و کامند های ssh در لینوکس . در صورت استفاده صحیح از این کامند ها و دستورات برای بازیابی و ریستور کردن فایل های MySQL و دیتابیس ، قادر خواهید بود به راحتی فایل های MySQL با پسوند .sql و حجم های بالای ۱۵ و ۲۰ گیگ را در کمترین زمان ممکن و بدون خطا و آسیب دیدن به اطلاعات بازیابی و ریستور کنید .

قبل از انجام ریستور کردن دیتابیس توسط دستورات لینوکس در محیط ssh ابتدا باید اندازه پارامتر max_allowed_packet را بر اساس حجم دیتابیس مورد نظر تنظیم نمایید . برای ایجاد تغییرات در این پارامتر باید فایل my.cnf در مسیر /etc/ را ادیت کرده و میزان مورد نظر خود را وارد نمایید . سپس فایل را ذخیره کرده و سرویس MySQL را ریست کنید .

حالا وارد کنترل پنل وب هاستینگ سرور خود شوید و یک دیتابیس جدید ایجاد کنید . سپس نام کاربری و کلمه عبور این دیتابیس جدید را ساخته و به آن اختصاص دهید . حالا از طریق ssh وارد فولدر و پوشه ای شوید که فایل .sql در آن واقع شده است . با دستورات زیر اقدام به بازیابی و ریستور کردن این فایل .sql داخل دیتابیس MySQL ساخته شده در کنترل پنل وب هاستینگ خود نمایید :

mysql -u dbuser -p  dbname < db.sql

با زدن کلید Enter سیستم عامل از شما رمز و کلمه عبور دیتابیس ساخته شده در کنترل پنل را میخواهد که با وارد کردن آن عملیات بازیابی و ریستور کردن دیتابیس آغاز میگردد . اگر به کلمه عبور MySQL Root Password دسترسی دارید میتوانید بدون نیاز به کلمه عبور و نام کاربری دیتابیس اقدام به بازیابی و ریستور کردن آن با یوزر root پایگاه داده MySQL نمایید :

mysql -u root -p  dbname < db.sql

مشکل ایمپورت کردن دیتابیس های بزرگ و پر حجم در phpmyadmin

اسکریپت phpmyadmin معروف ترین برنامه مدیریت تحت وب دیتابیس های مبتنی بر MySQL است که تقریبا تمام کنترل پنل های وب هاستینگ معروف لینوکس ، از آن به عنوان اولین یا تنها برنامه مدیریت دیتابیس های MySQL استفاده میکنند .  ریستور کردن و ایمپورت دیتابیس های بزرگ MySQL  به کمک زبان php و به واسطه اسکریپت phpmyadmin به هیچ عنوان پیشنهاد نمیشود (به دلیل احتمال بروز خطا با ایمپورت ناقص دیتابیس) ، بنا بر این فقط زمانی اقدام به انجام این کار کنید که حجم دیتابیس شما حد اکثر ۲۰ یا ۳۰ مگابایت و سرعت کانکشن و اینترنت شما نیز حد اقل ۵۱۲ است . در غیر این صورت احتمال ایمپورت ناقص و خراب شدن دیتابیس بسیار زیاد است .

phpmyadmin_import

مشکل ایمپورت کردن دیتابیس های بزرگ و پر حجم در phpmyadmin

در بیشتر سرور های میزبانی وب مبتنی بر کنترل پنل های وب هاستینگ سی پنل و دایرکت ادمین ، حد اکثر حجم مجاز آپلود فایل توسط php به صورت پیش فرض روی ۸ مگابایت محدود شده است . بنا بر این در صورت ایمپورت کردن و آپلود کردن دیتابیس های بزرگ تر از ۸ مگابایت با پیام های خطایی مشابه زیر مواجه خواهید شد :

You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit.

the file size exceeded the maximum size permitted by your PHP configuration

برای حل این مشکل و رفع محدودیت حجم آپلود و ایمپورت دیتابیس های MySQL کافی است تا فایل php.ini را ویرایش کرده و مقادیر زیر را به این شکل افزایش دهید :

memory_limit = 128M
post_max_size = 128M
upload_max_filesize = 128M
max_execution_time = 300
max_input_time = 300

بعد از انجام  تغییرات فوق در فایل php.ini اقدام به ریستارت کردن وب سرور و/یا اجرا کننده php کنید تا تغییرات در سرور اعمال شوند :

service httpd restart

با مراجعه مجدد به صفحه ایمپورت phpmyadmin مشاهده خواهید کرد که محدودیت ۸ مگابایتی آپلود دیتابیس به ۱۲۸ مگابایت افزایش پیدا کرده است .

برای ریستور کردن دیتابیس های بزرگ تر از ۲۰ مگابایت حتما از طریق SSH و دستورات مربوط به MySQL استفاده کنید  . در مطالب گذشته وب سایت ، آموزش ریستور کردن فایل های پر حجم و بزرگ MySQL داده شده است

استارت نشدن سرویس MYSQL در سرور لینوکس Cpanel

مشکل استارت نشدن سرویس MySQL در تمام سرور های هاستینگ لینوکس و به خصوص در سرور های مبتنی بر کنترل پنل های معروف سی پنل و دایرکت ادمین بسیار شایع است . پیام هایی خطایی که در هنگام اجرای دستور استارت سرویس MySQL در خروجی ترمینال مشاهده میشود متفاوت است و معمولا بسته به نوع کامپایل کردن MySQL ، ورژن MySQL مورد استفاده در لینوکس ، توزیع لینوکس ، کنترل پنل وب هاستینگ و … پیام خطای خروجی در ترمینال نیز متفاوت است .

برخی از خطا ها و ارور های عدم اجرا شدن سرویس MySQL در لینوکس عبارتند از :

Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock

Starting MySQL. ERROR! Manager of pid-file quit without updating file

Starting MySQL.Manager of pid-file quit without updating file FAILED

MySQL Daemon failed to start

Another MySQL daemon already running with the same unix socket

ERROR 2003 (HY000): Can’t connect to MySQL server on 127.0.0.1

MySQL is not running, but lock exists FAILED

MySQL manager or server PID file could not be found

MySQL is running but PID file could not be found FAILED

Starting MySQL../etc/init.d/mysqld: line 159: kill: (9188) – No such process ERROR

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

وجود خطا در فایل my.cnf

 

در اولین قدم ، محتویات مربوط به فایل my.cnf را بررسی کنید . اگر تعداد خط ها و مقادیر وارد شده در این فایل زیاد هستند ، با دستور زیر فایل رو موقتا تغییر نام داده و سرویس MySQL را ریستارت کنید :

mv /etc/my.cnf /etc/my.cnf.dis

service mysqld restart

در سرور های سی پنل برای رییستارت کردن سرویس MySQL دستور زیر را اجرا کنید :

service mysql restart

در توزیع های لینوکس (بدون کنترل پنل وب هاستینگ) اوبونتو و دبیان نیز برای ویرایش فایل my.cnf مطابق زیر عمل کنید :

vi /etc/mysql/my.cnf

در صورتی که بعد از تغییر نام (و خارج کردن این فایل از دسترس سرویس MySQL) سرویس پایگاه داده MySQL بدون مشاهده ارور خاضی استارت شد‌ ، پس مشکل را باید در syntax یا مقدار دهی غلط به پارامتر های تاثیر گذار بر MySQL جستجو کرد .

خراب شدن یا Corrupt شدن جداول

این مشکل بیشتر در جدول های Innodb مشاهده میشود ولی در به طور کلی برای جداول Myisam نیز صادق است . در این وضعیت باید بسته به نوع جدول و دلایل Crash کردن دیتابیس ، به رفع مشکل بپردازید .

استارت همزمان چند سرویس MySQL

در حالت عادی ِ، با اجرای دستور service mysqld start اگر سرویس MySQL از قبل اجرا شده باشد ، با یک پیام خطا مبنی بر run بودن سرویس دریافت خواهید کرد . در شرایط خاص ، پیش می آید که چند نسخه یا Instance از این سرویس در حال اجرا باشد که خود سبب ایجاد اختلال در کار MySQL میگرردد . در این وضعیت ممکن است شما هرگز متوجه اجرای همزمان چند سرویس همزمان نشوید و حتی با اجرای دستور service mysqld start یکی از پیام های خطای مربوط به استارت نشدن سرویس MySQL در سرور لینوکس را دریافت کنید . در این وضعیت بهترین کار KILL کردن پراسس های مربوط به سرویس MySQL است .

killall -9 mysql

killall -9 mysqld

killall -9 mysql_safe

service mysqld start OR service mysqld start

استفاده یک daemon دیگر از سوکت MySQL

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

rm /var/lib/mysql/mysql.sock

service mysqld start OR service mysqld start

قفل شدن MySQL در لینوکس

در مواقع خاص و نادر ، سرویس MySQL استاپ میشود ولی فایل مربوط به Lock یا قفل شدن سرویس MySQL از دایرکتوری مربوطه در لینوکس حذف نمیگردد . در این حالت پیام خطای روی خروجی ترمینال شبیه این خواهد بود :

mysql is dead but subsys locked

برای حل این مشکل کافی است تا فایل مربوط به lock شدن mysql را حذف کنید و مجددا اقدام به استارت کردن سرویس MySQL کنید :

rm /var/lock/subsys/mysqld

service mysqld start OR service mysql start

همانطور که بالاتر نیز به آن اشاره کردیم ، عدم استارت سرویس MySQL در برخی موارد بسیار پیچیده و گیج کننده خواهد بود و رفع آن همیشه به استناد به موارد آموزش داده شده امکان پذیر نیست . عوامل بسیار زیاد دیگری نیز میتوانند سبب استارت نشدن سرویس MySQL روی سرور لینوکس شوند که فقط با Trace کردن کامل و حرفه ای سرور لینوکس امکان رفع این ایراد میسر خواهد بود . در صورت بروز این مشکل در سرور های لینوکس خود ، حتما حل مشکل را به دست یک فرد با تجربه بسپارید ، چرا که در صورت انجام یک اشتباه ساده ، امکان آسیب دیدن جدی جدول های دیتابیس وجود خواهد داشت .

 

در صورتی که فرصت کافی برای کانفیگ و بهینه سازی سرور لینوکسی خود ندارید از طریق پرتال مشترکین با ما در ارتباط باشید.

نحوه بک آپ گیری در سرور های Cpanel

بسیاری مواقع برای شما نیز حتماً افتاق افتاده که پشتیبان سایت شما از بین رفته باشد و مدیر هاست شما نیز بک آپی از سایت نداشته باشد؟

برای بک آپ گیری و جلوگیری از بروز اینچنین مشکلاتی ابتدا وارد کنترل پنل سی پنل خودش شوید (اطلاعات ورود را از مدیر شرکتی که هاست تهیه نموده اید درخواست کنید) . پس از ورود موفق به سی پنل از گزینه Backup که در شکل زیر نمایان میباشد استفاده نمایید:

backup-cpanel

پس از انتخاب این گزینه وارد صفحه بک آپ ها در هاست خود میشوید ، در صورتی که مدیر هاست تنظیمات سرور را بخوبی انجام داده باشد معمولاً بک آپ های روزانه ، هفتگی و ماهانه باید همانند شکل زیر در این قسمت مشخص و قابل دانلود باشد :

backup-cpanel2

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

در صورتی که گزینه ای برای دانلود نباشد با استفاده از گزینه Download or Generate a Full Web Site Backup  همانند صفحه زیر به مرحله بک گیری در سی پنل وارد خواهید شد:

backup-cpanel3

 

در این صفحه آدرس ایمیلی برای دریافت اطلاع رسانی اتمام بک آپ وارد نموده و گزینه Generate Backup را انتخاب نمایید

پس از مدت زمان اندکی بک آپ گیری از سایت شما در  هاست سی پنل پایان یافته و از همین قسمت قابل دانلود به کامپیوتر شخصی میباشد.

در صورت نیاز به هاست حرفه ای لینوکس Cpanel با کانفیگ فوق حرفه ای و بک آپ گیری منظم در چندین سرور از طریق پرتال مشترکین برای ما درخواست ارسال فرمایید

موفق باشید

 

نصب و تنظیمات اولیه سی پنل (Cpanel )

دنیای هاستینگ و سایت های php همیشه با نام کنترل پنل Cpanel به شهرت رسیده و شناخته شده میباشد.
بر خلاف سایر کنترل پنل های معروف مانند دایرکت ادمین ، کنترل پنل هاست سی پنل فقط بر روی ۳ توزیع معروف لینوکس قابل نصب است . نسخه اول توزیع Red Hat Enterprise لینوکس است که بسیار گران قیمت است و ۲ نسخه بعدی CentOS و Cloudlinux هستند . در هنگام نصب سیستم عامل لینوکس برای حد اکثر بازدهی ممکنه cPanel در سرور یک پارتیشن بندی حرفه ای به شما توصیه میشود که در انتهای این مقاله یک نمونه آن درج شده است .

آموزش نصب سی پنل cPanel

با کمک برنامه putty و از طریق ssh به سرور متصل شوید . برای نضب سی پنل نیازی به خرید لایسنس نیست و میتوانید از نسخه ترایال استفاده کنید و بعدا اقدام به خرید لایسنس نمایید . برای نصب سی پنل بر روی سرور مجازی یا اختصاصی لینوکس ابتدا باید کتابخانه perl و دانلود منیجر wget را روی سرور خود نصب کنید . برای این منظور دستور زیر را در محیط ssh اجرا کنید :

yum install perl wget -y

آخرین ورژن استیبل پرل و دانلود منیجر wget در لینوکس با دستور فوق نصب شدند . حالا باید آخرین ورژن Whm/cPanel را از وب سایت رسمی آن دانلود کنید . برای این کار با کمک دستور wget آخرین ورژن سی پنل را دانلود میکنیم . توجه داشته باشید این کار باید داخله دایرکتوری home/ انجام بشود :

cd /home

wget -N http://httpupdate.cpanel.net/latest

sh latest

عملیات نصب سی پنل و کنترل پنل وب هاستینگ whm در سیستم لینوکس شما آغاز شد . در عملیات نصب سی پنل صبر و حوصله داشته باشید . این نصب بسته به نوع سرور و قدرت پورت میتواند بین 25 دقیقه تا بیش از ۱ ساعت به طول بیانجامد(این عملیات بسته با میزان منابع سخت افزاری شما دارد) . پس از اتمام عملیات نصب cPanel بر روی سرور مجازی یا سرور اختصاصی لینوکس شما ، کنترل پنل وب هاست یا WHM با آدرس زیر در دسترس شما خواهد بود :

https://server-ip:2087

پس از این مرحله برای اولین بار  ویزارد نهایی سی پنل برای شما نمایش داده میشود که مراحل نصب آن ساده میباشد ، در مرحله اول تنظیمات مربوط به هاست نیم دی ان اس پابلیک و ایمیل مدیریت سرور میباشد ، در مرحله بعدی تنظیمات مربوط به آی پی ها میباشد که در صورت عدم وجود آی پی اضافی روی سرور شما به این قسمت نیازی ندارید ، در قسمت بعدی تنظیمات مربوط به آی پی  های NS را باید تنظیم و برای NS ها با تیک رکورد A به آی پی سرور مجازی یا اختصاصی اعمال کرد.

در صورتی که  نیاز به کانفیگ سرور سی پنل دارید و وقت کافی برای این تنظیمات ندارید میتوانید از طریق پرتال مشترکین برای ما یک درخواست بفرستید.

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

/ حد اقل 25 گیگابایت  برای پایه سیستم عامل
/BOOT 250 مگا بایت
/USR حد اقل 15 گیگابایت برای سی پنل ، تنظیمات ، برنامه ها
/VAR حد اقل 15 گیگابایت ولی در مواردی که حجم دیتابیس ها زیاد است باید فضای بیشتری اختصاص دهید MySQL databases, cPanel configuration, system logs, and mail queue
/HOME اکانت ها و یوزر ها در این پارتیشن ذخیره میشوند . بنا بر این هر چه بیشتر بهتر! cPanel user accounts
/TMP حد اقل ۲ گیگابیت Temporary files
SWAP دو برابر رم سرور برای رم Swap