آموزش دایرکت ادمین، سی پنل، وب سایت پنل

خانه / مدیریت سرور

مدیریت سرور

آیا واقعا سرویس VPS مناسب سایت من است؟

VPS چیست؟ چرا و چه زمانی باید از VPS برای میزبانی سایت استفاده کنیم؟

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

حالا این سوال مطرح میشود که آیا واقعا سرور مجازی مناسب میزبانی سایت ها می باشد یا خیر؟

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

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

فک کنید سایتی که با CMS  های آماده مانند WordPress  یا prestashop طراحی شده است به خودی خود با توجه به  نوع CMS و پلاگین ها و قالب های استفاده شده منابع قابل توجهی نیاز خواهد داشت، حالا منابع مورد نیاز سیستم عامل و کنترل پنل را هم به این موارد اضافه کنید و در ادامه احتمالا سایت شما بازدید هم خواهد داشت و وب سرور و سایر سرویس ها (مانند ایمیل، دیتابیس، آنتی ویرویس) نیز باید پاسخ گوی درخواست بازدیدکنندگان سایت باشند و منابع باز هم بیشتر و بیشتر استفاده خواهد شد.
استفاده از یکVPS  با منابع کم مطمئنا و بزودی مشکلاتی برای سایت و سرور شما بوجود خواهد آورد، پس تبلیغات برای خرید VPS را براحتی قبول نکنید و قبل از خرید  VPSبه نوع استفاده از آن و سایت خود توجه کنید. واقعا استفاده از VPS  همیشه بهتر از استفاده از هاست اشتراکی نیست!

VPS  باRam  بین ۲ تا ۴ گیگ و یک پردازنده مجازی با دو core  برای یک سایت با بازدید کمتر ۲۰۰۰ در روز مناسب است اما برای سایت هایی با بیش از این بازدید مطمئنا مناسب نیست.

اگر از Cpanel  یا Directadmin  استفاده میکنید سروری کمتر از ۴G  رم برای شما مشکل ساز خواهد بود و اگر شما خدمات هاستینگ ارائه میدهید و سایت های زیادی را میزبانی میکنید بهتر است از VPS  با منابع محدود استفاده نکنید.
اگر شما از سیستم عامل ویندوز استفاده کنید مطمئنا منابع بیشتری لازم خواهد بود و عملا VPS  با سیستم عامل ویندوز با RAM  کمتر از ۳G  کیفیت بالایی در پاسخ گویی به درخواست ها نخواهد داشت. ( اگر سایر سرویس های ویندوز سرور را فعال کنید و نرم افزارهای بیشتری بروی آن نصب کنید باید منتظر  بدتر شدن سرعت اتصال و پاسخ گویی هم باشید)
نکته دیگر تعداد core  هایی است که به VPS  اختصاص داده میشود، از جایی که تعداد core  ها و thread  های سرور اصلی محدود است، بنابراین اختصاص core  هایی با بیش از توان سرور اصلی مجازی سازی شده،  میتواند برای VPS  ها مشکل ساز باشد. فرض کنید ۶ سرور مجازی یا همان VPS  بروی سرور اصلی ساخته شده باشد و به هر کدام ۲Core  اختصاص داده شده باشد که مجموعا ۱۲core  میشود بنابراین سرور اصلی باید حداقل ۱۲core  داشته باشد. (به این موضوع توجه کنید سرور اصلی و سیستم مجازی ساز مانند   Esxiیاkvm  و سیستم عامل های آن ها خود نیز به منابعی مانند Ram  و Cpu  نیاز خواهد داشت)
توجه داشته باشید بجز VPS  شما چندین VPS  دیگر روی سرور اختصاصی اصلی وجود دارد و شما مطمئن نیستید که منابع اختصاص داده شده به همه VPS ها در حد توان سرور است یا مدیر سرور برای فروش بیشتر VPS  منابع را oversell  کرده است(یعنی بیش از توان سرور VPS  ایجاد و منابع در اختیار آن ها قرار داده است.)

همینطور ابزارهای مجازی سازی توانایی مدیریت دقیق منابع را ندارند، یعنی ممکن است یکVPS  بروی سرور منابعی بیش از منابع اختصاص داده شده استفاده کند و باعث بروز مشکل برای سایر VPS  های سرور شود.

با توجه به مواردی که تو این مقاله در مورد VPS  ها فهمیدیم، حالا با دقت بیشتری میتونیم از این سرویس استفاده کنیم.

نصب PHP Composer در لینوکس

Install PHP Composer on a Linux

برای نصب php composer مراحل زیر را دنبال کنید.

curl -sS https://getcomposer.org/installer | php
chmod +x composer.phar
mv composer.phar /usr/local/bin/composer

نصب به اتمام رسید. برای مشاهده نسخه composer دستور زیر را وارد کنید..

composer -V

آشنایی کامل با فایروال Iptables

Iptables and Netfilter Architecture

فایروال ها ابزار مهمی هستند که می توانند به منظور حفاظت از سرورها و زیرساخت ها پیکربندی شوند. در اکوسیستم لینوکس، ابزار iptables  به عنوان فایروال به طور گسترده ای استفاده می شود که با چارچوب فیلترینگ بسته netfilter هسته (kernel) سیستم عامل در ارتباط است.

در این مقاله  ما در مورد چگونگی استفاده از iptables و تعامل آن با netfilter و چگونگی ارتباط اجزای مختلف فیلترینگ و سیستم mangling در کنار یکدیگر صحبت خواهیم کرد.

Netfilter Hooks

۵ قلاب یاhook  برای netfilter  تعریف شده است که برنامه میتواند با آن ها کار کند. هر پکتی که وارد فرایند پردازش میشود با یکی از hook  ها در kernel  قلاب (hook) میشود. بسته به نوع هر پکت input, output و یا  forward قلابی به آن اختصاص داده میشود.

در ادامه قلاب هاییکه در پشته پروتکلی شبکه تعریف می شوند به اختصار بیان شده است:

ادامه ی مطلب

ریدایرکت سایت با htaccess به https

redirect www to non-www or vice versa

کدهای زیر را در htaccess قرار دهید

ریدایرکت بدون www به www

RewriteCond %{HTTP_HOST} ^your_domain.com$
RewriteRule ^(.*)$ http://www.your_domain.com/$1 [R=301]

 

ریدایرکت www به بدون www

RewriteCond %{HTTP_HOST} ^www.your_domain.com$
RewriteRule ^(.*)$ http://your_domain.com/$1 [R=301]

 

برای زمانی که از SSL و https استفاده میکنید..

ریدایرکت بدون www به www

RewriteCond %{HTTP_HOST} ^your_domain.com$
RewriteCond %{SERVER_PORT} ^443
RewriteRule ^(.*)$ https://www.your_domain.com/$1 [R=301]

ریدایرکت www به بدون www

RewriteCond %{HTTP_HOST} ^www.your_domain.com$
RewriteCond %{SERVER_PORT} ^443
RewriteRule ^(.*)$ https://your_domain.com/$1 [R=301]

برای ریدایرکت هم زمان http و https به آدرس https بصورت زیر عمل کنید.

RewriteCond %{HTTP_HOST} ^www.your_domain.com$
RewriteCond %{SERVER_PORT} ^80
RewriteCond %{SERVER_PORT} ^443
RewriteRule ^(.*)$ https://your_domain.com/$1 [R=301]

 

 

عدم مشاهده اکانت در List Accounts در سی پنل

Missing account on the “List Accounts” in the WHM on a cPanel server

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

/etc/trueuserdomains
/etc/userdomains
/var/cpanel/users/USERNAME
/etc/apache2/conf/httpd.conf

به جای USERNAME نام کاربری را وارد کنید.

در دو فایل اول باید خطی مانند زیر وجود اشته باشد:

domain.com: username

که domain.com نام دامنه و username نام کاربری اکانت است.

در فایل سوم باید خطوط زیر موجود باشد:

DNS=domain.com
USER=username
IP=ipaddress
OWNER=root(or reseller owner)

که شامل نام دامنه، نام کاربری، IP و نماینده مالک یوزر می باشد. مطمئن شوید این ۴ خط در این فایل بصورت صحیح وجود داشته باشد.

فایل httpd.conf هم شامل تنظیمات آپاچی هر یوزر است بنابراین یوزر مورد نظر باید در این فایل دارای تنظیمات صحیح و مشابه سایر اکانت ها باشد. در صورت وجود مشکل و یا نیاز به ایجاد مجددا این فایل دستور زیر را اجرا کنید..

/scripts/rebuildhttpdconf

در نهایت پس از اطمینان از موارد بالا دستور زیر را اجرا کنید.

/scripts/updateuserdomains

 

 

 

تغییر نسخه php در دایرکت ادمین

برای تغییر یا بروز رسانی نسخه php در دایرکت ادمین دستورات زیر را پیگیری کنیدو در نسخه custombuild2.0 امکان استفاده از دو نسخه php وجود دارد.

برای این تغییرات در custombuild2.0

cd /usr/local/directadmin/custombuild
./build update
./build update_data
./build set php2_mode php-fpm
./build set php2_mode mod_php
./build set php1_release 7.0
./build set php2_release 5.6

در این آموزش نسخه اول php ورژن ۷ و نسخه دوم ورژن ۵٫۶ انتخاب شده است، همچنین امکان تعیین mode برای هر نسخه php وجود دارد.
در نهایت php را rebuild کنید.

./build php n
./build rewrite_confs

 

تفاوت سرور اختصاصی با سرور مجازی

What’s The Difference Between VPS vs Dedicated Server

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

سرور اختصاصی انواع مختلفی دارد، برخی از انواع آن در زیر نام برده شده است:

-Towers

-Rack Servers

-Blade Servers

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

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

از نظر مدیریت و رفع مشکل، سرور مجازی سادگی بیشتری دارد اما موارد خاص مانند raid  یا اتصالات فیزیکی-بیرونی مانند usb  یا  hard external  برای سرور مجازی وجود نخواهد داشت.  مطمئنا از نظر هزینه سرور مجازی دارای قیمت کمتر و راه اندازی ساده تری می باشد.

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

نصب mod_Geoip در Cpanel

Install mod_geoip on cPanel with EasyApache

برای بستن IP های یک کشور یا شهر خاص در سرور میتوانید از ماژول geoip برای وب سرور خود استفاده کنید. در این آموزش نحوه نصب mod_geoip روی آپاچی در cpanel را آموزش میدهیم.

سرورستاپ

ابتدا epel را نصب کنید.

yum install epel-release

سپس ماژول های زیر را نصب کنید.

yum install GeoIP GeoIP-devel GeoIP-data zlib-devel

در مسیر

/usr/share/GeoIP

پکیج های زیر را دانلود و extract کنید.

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
gunzip GeoIP.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip GeoLiteCity.dat.gz

اکنون موارد زیر را نصب کنید.

yum install httpd-devel apr-devel ea-apache24-devel.x86_64 ea-apache24-tools.x86_64

اکنون باید ماژول mod_geoip برای Apache کامپایل شود.

cd /usr/share/GeoIP
wget https://github.com/maxmind/geoip-api-mod_geoip2/archive/1.2.10.tar.gz
tar xvzf 1.2.10.tar.gz
cd geoip-api-mod_geoip2-1.2.10/
sed s/remote_ip/client_ip/g -i mod_geoip.c
apxs -i -a -L/usr/lib64 -I/usr/include -lGeoIP -c mod_geoip.c

اکنون فایل mod_geoip.conf باز کنید.

nano /etc/apache2/conf.modules.d/mod_geoip.conf

مقادیر زیر را در آن قرار دهید.

LoadModule geoip_module /usr/lib64/apache2/modules/mod_geoip.so
<IfModule mod_geoip.c>
GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat Standard
GeoIPDBFile /usr/share/GeoIP/GeoLiteCity.dat Standard
</IfModule>

در نهایت سرویس apache را restart کنید.

service httpd restart

برای اطمینان از نصب دستور زیر را وارد کنید..

httpd -M | grep geoip


نصب Laravel در centos

How To Install Laravel  Framework on CentOS

پیش نیازهای نصب لاراول:

نسخه PHP:

۵٫۶ و بالاتر

ماژول های PHP:

OpenSSL , PDO , Mbstring , Tokenizer

ترجیا سعی کنید روی سرورهای خارج از ایران نصب نمایید.

ابتدا باید مخزن epel را نصب کنید.

yum install epel-release

ابتدا باید Composer را نصب کنید.

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer

اکنون باید laravel نصب شود.

وارد مسیری شوید که میخواهید لاراول نصب شود.

git clone https://github.com/laravel/laravel.git
cd laravel
composer install
chown -R USER.USER laravel
chmod -R 755 laravel

در نهایت باید Encryption Key ایجاد و در فایل app.php دخیره شود.

php artisan key:generate

Application key [Z4hfTHU7hFMwHauzOwv7rO9e0MJ9UnhQ] set successfully.

اطلاعات را در فایل config/app.php در قسمت APP_KEY به شکل زیر ذخیره کنید.

‘key’ => env(‘APP_KEY’, ‘Z4hfTHU7hFMwHauzOwv7rO9e0MJ9UnhQ’),
‘cipher’ => ‘AES-256-CBC’,

 

در نهایت سرویس apache را restart کنید.

service httpd restart

تغییر آدرس دایرکتوری subdomian و addon domain در Cpanel

Change the Subdomain Root Document Cpanel

برای تغییر مسیر پوشه یا دایرکتوری مربوط به ساب دومین subdomian و دامنه اضافه  addon domain  قبل از هر چیز باید از طریق WHM قابلیت Restrict document roots را غیر فعال کنید.

برای این کار از طریق WHM وارد بخش Tweak Settings و تب domains شوید و گزینه Restrict document roots to public_html را off کنید.

اکنون میتوانید از cpanel اکانت مورد نظر مسیر پوشه subdomain یا addondomain را به مسیر دیگری ( مثلا به پوشه ای قبل از public_html) تغییر دهید.