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

خانه / Server (صفحه ی 4)

Server

نصب 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/GeoIP2.dat.gz
gunzip GeoIP.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity2.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

تنظیم php.ini اختصاصی برای mod_php)cli) در دایرکت ادمین

 I want per-domain or per-path settings for php mod_php
در گام نخست باید با توجه به نسخه php سرور مسیر php.ini را پیدا کنید.
به عنوان مثال اگر از php5.6 استفاده میکنید، مسیر بصورت زیر خواهد بود.
/usr/local/php56/lib/php.conf.d
 
۱- تنظیمات بر اساس domain بصورت زیر خواهد بود.
/usr/local/lib/php56/php.conf.d/30-domain.com.ini
مقادیر دلخواه را در ان فایل قرار دهید. (مقادیر زیر یک نمونه می باشد)

[HOST=domain.com]
disable_functions =exec
post_max_size = 128M
session.save_path=/home/َUSER/tmp
upload_tmp_dir=/home/USER/tmp

در این مثال بجای domain.com باید نام دامنه را قرار دهید.
بجای USER باید username را قرار دهید.
 
۲- تنطیمات بر اساس آدرس 
/usr/local/lib/php56/php.conf.d/30-USER.ini

 

بجای USER باید username را قرار دهید.
 
عدد عبارت مشخص کننده اولویت اجرا فایل ها می باشد. (در این مثال از ۳۰  استفاده شده است) می توانید برای اولویت بالاتر از عدد ۱۰ استفاده کنید.

ریدایرکت کردن تمام درخواست های DNS به یک IP

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

با این کار میتوانید DNS تمام دامنه های مورد نظر را بروی سرور خود تنظیم نمایید و صفحه default وب سرور را مشاهده کنید.

برای این کار باید تمام درخواست های DNS وارد شده به سرور به IP سرور redirect شود.

در سیستم عامل Centos بصورت ابتدا باید یک مسیر zone جدید بصورت زیر اضافه کنید. احتمالا مسیر فایل به شکل زیر است:

nano /etc/named.conf

zone جدید با نام db.catchall:

zone "." { type master; file "/var/named/db.catchall"; };

اکنون کافی است فایل این zone را با اطلاعات زیر ایجاد کنید.

nano /var/named/db.catchall

محتویات فایل بصورت زیر خواهد بود.

$TTL       604800
@        IN      SOA     . root.localhost. (
                                ۱              ; Serial
                              ۶۰۴۸۰۰           ; Refresh
                               ۸۶۴۰۰           ; Retry
                           ۲۴۱۹۲۰۰             ; Expire
                              ۶۰۴۸۰۰  )        ; Negative CacheTTL
     IN   NS  .
.    IN   A     Your portal IP
*.   IN   A     Your portal IP

به جای Your portal IP باید IP سرور خود را قرار دهید.

توجه کنید این اموزش برای Centos می باشد در سایر سیستم عامل ها ممکن است مسیرها اندکی متفاوت باشد.

 

محدود کردن ارسال ایمیل برای یک اکانت در Cpanel

تعداد ارسال ایمیل ساعتی برای همه اکانت ها در فایل زیر ذخیره می شود.
/var/cpanel/maxemailsperhour
برای محدود کردن یک اکانت و دامنه خاص در cpanel باید فایل زیر را ویرایش نمایید:
nano /var/cpanel/maxemails
و خطوط زیر را اضافه کنید.
domain.com=100
بجای domain.com نام دامنه مورد نظر را وارد کنید.
پس از اعمال و ذخیره تغییرات دستور زیر را اجرا کنید.

 

/scripts/build_maxemails_config

مسیر زیر را ویرایش کنید:

/var/cpanel/users/username

بجای username نام اکانت مورد نظر را وارد کنید.

مقدار MAX_EMAIL_PER_HOUR را به عدد مورد نظر تغییر دهید.

در انتها دستور زیر را اجرا کنید.

/usr/local/cpanel/scripts/updateuserdomains

 

فایل Hosts سیستم عامل چیست؟ چگونه فایل Hosts را تغییر دهیم.

سیستم ابتدا فایل Hosts را بررسی میکند و سپس به سراغ DNS های سیستم میرود، بنابراین برای مشاهده سایت هایی که هنوز DNS آن ها را تنظیم نکرده اید و یا سرور میزبانی کننده دارای DNS سرور نیست، میتوانید از فایل Hosts برای این منظور استفاده کنید. در واقع بجای ترجمه آدرس سایت از طریق DNS، درخواست مستقیما از IP تنظیم شده فراخوانی میشود.

برای تغییر فایل هاست Hosts در سیستم عامل های مختلف توجه داشته باشید که باید دسترسی کافی برای تغییرات داشته باشید، همچنین آنتی ویروس و فایروال سیستم خود را غیر فعال نمایید.

نحوه تغییر فایل Hosts در ویندوز 

نحوه تغییر فایل Hosts در لینوکس

نحوه تغییر فایل Hosts در مک 

همچنین میتوانید از  افزونه virtual host مرورگر کروم chrome استفاده کنید. در این حالت برای مشاهده سایت دیگر نیاز به ویرایش فایل hosts سیستم را ندارید. کافی است افزونه virtual host رابروی مرورگر chrome خود نصب کنید.

بررسی و رفع مشکل Server Not Found

  • Server Not Found – error 404

گاهی ممکن است هنگام نمایش یک سایت با خطای Server Not Found مواجه شوید. برای بررسی علت و رفع مشکل مراحل زیر را دنبال کنید:

– فایروال سرور را بررسی نمایید و برای اطمینان فایروال را غیرفعال نمایید.
– فایروال سیستم خود را غیرفعال کنید.
– مطمئن شوید به proxy یا VPN متصل نباشید.
– فایل host سیستم خود را بررسی کنید.
– DNS  های کارت شبکه سیستم خود را تغییر دهید.
– resolver های سرور خود را تغییر دهید.
– مطمئن شوید record های DNS دامنه بدرستی تنظیم شده است. برای اینکار از سایت intodns.com استفاده کنید.
– فایل های temp و cache مرورگر خود را حذف کنید.
– نمایش سایت را از نقاط دیگر جهان بررسی نمایید. برای این کار از سایت check-host.net استفاده نمایید.
– از در دسترس بودن سرور میزبان سایت اطمینان حاصل کنید. از دستورات ping و telnet کمک بگیرید.

مفهوم MPM در Apache و انتخاب آن

وب سرور apache بصورت modular می باشد و امکان اضافه و حذف ویژگی ها به آن براحتی وجود دارد.  ماژول MPM در هسته apache قابلیت مدیریت اتصاصلات شبکه و توزیع درخواست ها را برعهده دارد. MPM به شما امکان استفاده از پردازش های multitasking و استفاده از apache در سایر سیستم عامل ها را میدهد.
MPM در هر لحظه فقط می تواند داری  یک حالت می باشد یکی از حالات worker|prefork|event
انتخاب MPM صحیح به عوامل زیادی ارتباط دارد. 
​– Worker MPM
با استفاده از عملکرد multiple child processes با فرایند زیاد برای هر درخواست انجام میشود. هر فرایند با یک کانکشن در زمان مدیریت میشود. worker یک انتخاب خوب برای سرورهای پر ترافیک به علت استفاده از حافظه کمتر است.
​–  event MPM
 ​مانند worker عمل میکند اما اجازه ورود درخواست های بیشتری را بصورت همزمان در  پردازش فرایندها ها وارد میکند. آزاد کردن فرایند های اصلی برای پردازش بروی درخواست های جدید انجام میشود.
— prefork MPM
از روش multiple child processes برای هر فرایند استفاده میکند.  هر پردازش با یک کانکشن در لحظه انجام میشود. در بسیاری موارد سرعت آن با worker یکسان است اما preforker حافظه memory بیشتری را استفاده میکند. در برخی حالات دارای شرایط بهتری نسبت به worker است، مانند راحت تر بودن رفع مشکل در سیستم عامل های مختلف
صرف نظر ازینکه کدام  MPM را انتخاب کنید، شما باید آن را مناسب پیکربندی کنید. به طور کلی، پیکربندی MPM شامل مشخص کردن اینکه apache چگونه به کنترل  بسیاری از worker در حال اجرا مشغول شود که شامل threads و processes می باشد.
در ادامه مفاهیم بیشتری پیرامون تنظیمات apache ارائه خواهد شد.

php.ini اختصاصی برای php-fpm در دایرکت ادمین

custom php.ini per user php-fpm

برای ایجاد php.ini اختصاصی برای php-fpm در directadmin باید فایل زیر را باز کنید.

nano /usr/local/directadmin/data/users/USERNAME/php/php-fpmXX.conf

و خطوط مورد نیاز را اضافه کنید . به عنوان مثال برای disable_functions :

php_admin_value[disable_functions] = exec,passthru,shell_exec
php_admin_flag[allow_url_fopen] = off

نصب Vnstat در Directadmin و Cpanel

How to Monitor and Log Network Traffic on Linux

از ابزار vnstat جهت مانیتورینگ و ثبت گزارشات ترافیک مصرفی شبکه در سرورهای لینوکس استفاده میشود.

برای نصب vnstat مراحل زیر را انجام دهید.

yum install epel-release
yum install vnstat
nano/etc/cron.d/vnstat

محتوای زیر را در آن قرار دهید.

*/۵ * * * * root /usr/sbin/vnstat.cron

 جهت فعال سازی ثبت و گزارش گیری کارت شبکه سرور دستور  زیر را اجرا کنید(نام کارت شبکه eth0 در نظر گرفته شده است)

vnstat -u -i eth0

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

vnstat --islist

vnstat نصب شد   می توانید با این دستور میزان پهنای باند مصرفی سرور بصورت لحظه ای را مشاهده کنید.

vnstat -l -i  [NetworkDeviceName]

بجای NetworkDeviceName نام کارت شبکه سرور را وارد کنید.

برای مشاهده گزارش روزانه

vnstat -d

برای مشاهده گزارش ماهانه

vnstat  -m