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

خانه / Server

Server

دلایل انتخاب هاست ایران

هاست داخل ایران چیست؟

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

آیا باید از هاست ایران استفاده کنم؟

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

مزیت های استفاده از هاست ایران

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

مشکلات استفاده از هاست ایران

در کنار مزیت هایی که هاست ایران دارد، مشکلاتی نیز ممکن در این سرویس رخ دهد.

اولین مورد، مشکل ارتباط داخل و خارج کشور می باشد که این موضوع مستقیما بروی ورودی سایت از موتورهای جستجو، ایندکس شدن  و رتبه سایت شما تاثیر منفی خواهد داشت.
مشکل بعدی حملات DDOS می باشد، به علت زیرساخت نه چندان قوی و پهنای باند محدود شبکه داخلی کشور ممکن است حملات سایبری سایت شما را از کار بیاندازد و متاسفانه هنوز راهکاری برای این موضوع در داخل شکور و زیرساخت های آن وجود ندارد، در زمان حمله به سایت یا سرور شما IP سرور میزبان به حالت IranAccess تغییر میکند، به این معنا که سایت یا سرور شما تنها از داخل کشور باز میشود، با این روش حملات سایبری خنثی می شود اما مشکلاتی که در ابتدا اشاره شد مجددا بروز خواهد کرد.
همچنین متاسفانه هنوز هم هزینه ترافیک در داخل کشور نسبت به خارج کشور بیشتر است، یعنی شما باید برای ترافیک ماهانه هاست یا سرور خود در داخل کشور هزینه بیشتری پرداخت کنید. با اینکه هزینه ترافیک برای بازدیدکننده نهایی نیمه بها یا رایگان شده است اما هنوز هزینه ترافیک برای دیتاسنتر ها و مالکان سرور و هاست تفکیک نشده و ترافیک ایران و خارج دارای هزینه یکسان می باشد.

 

چه هاستی برای من مناسب تر است؟

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

 

 

 

نصب 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

عدم مشاهده اکانت در 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

 

نصب 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

تنظیم 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 خود نصب کنید.