بهینه سازی mysql برای سرعت بیشتر

در این آموزش شیوه بهینه سازی mysql برای سرعت بیشتر رو به شما آموزش خواهیم داد

با بهینه سازی mysql سرعت سایت های شما بیشتر می شود.

بهینه سازی mysql

برای بهینه سازی mysql ابتدا با استفاده از نرم افزار putty وارد ssh سرور خود شوید و سپس فایل my.cnf با دستور زیر ویرایش کنید :

nano /etc/my.cnf

و کد های زیر را وارد این فایل کنید و سپس دستور service mysql restart را وارد کنید.

اخطار : ممکن است بعد از وارد کردن کد های زیر مشکلاتی در برخی سیستم های مدیریت محتوا مانند وردپرس ایجاد شود لطفا پس از وارد کردن کد ها سایت های خود را کامل بررسی کنید. و هر لینک را چند بار refresh کنید ممکن است در سیستم وردپرس لینک های شما خطا ۴۰۴ دهد.

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

توجه : کد های زیر یک مثال برای سرور های ۲ هسته و یا ۲ گیگ رم هستند و شما باید این کد ها را با توجه به سخت افزار سرور خود تغییر دهید.

# The following options will be passed to all MySQL clients
[client]
socket=/tmp/mysql.sock

# The MySQL server
[mysqld]
tmpdir=/tmp
socket=/tmp/mysql.sock
skip-locking
skip-networking
skip-name-resolve

server-id=1

max_connections=500
key_buffer_size=384M
max_allowed_packet=16M
table_cache=256
sort_buffer_size=2M
read_buffer_size=2M
join_buffer_size=2M

# if you are performing GROUP BY or ORDER BY queries on tables that
# are much larger than your available memory, you should increase
# the value of read_rnd_buffer_size to speed up the reading of rows
# following sorting operations.
# but: change the session variable only from within those clients
# that need to run large queries
read_rnd_buffer_size=2M

max_heap_table_size=256M
tmp_table_size=256M

myisam_sort_buffer_size=64M

# increase until threads_created doesnt grow anymore
thread_cache=256

query_cache_type=1
query_cache_limit=1M
query_cache_size=32M

# Try number of CPU’s*2 for thread_concurrency
thread_concurrency=4

[mysqldump]
quick
max_allowed_packet=16M

[mysql]
no-auto-rehash

[isamchk]
key_buffer=128M
sort_buffer_size=128M
read_buffer=2M
write_buffer=2M

[myisamchk]
key_buffer=128M
sort_buffer_size=128M
read_buffer=2M
write_buffer=2M

[mysqlhotcopy]
interactive-timeout

 

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

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

برای آپدیت کرنل لینوکس (redhat) ابتدا وارد ssh سرور خود شوید و سپس دستور زیر را برای آپدیت کرنل وارد کنید.

آپدیت کرنل لینوکس

yum update kernel*

توجه داشته باشید * را حذف نکنید. * باعث می شود تمام کرنل های شما آپدیت شود. همچنین توجه داشته باشید با وارد کردن این دستور کرنل شما فقط آپدیت می شود و آپگرید نمی شود.

آموزش نصب آنتی ویروس clamav

در این آموزش روش نصب آنتی ویروس clamav را به شما خواهیم آموخت

آنتی ویروس clamav یک نرم افزار رایگان می باشد که روی سیستم عامل لینوکس نصب می شود. این آنتی ویروس می تواند به صورت آنلاین فایل ها و ایمیل ها را بررسی کند و در صورت وجود فایل ویروسی و یا فایل های شل آنها را حذف می کند.

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

برای نصب این آنتی ویروس clamav در صورتی که کنترل پنل شما سی پنل است :

ابتدا وارد whm شوید و سپس مانند تصویر زیر از قسمت cpanel روی گزینه Manage Plugins کلیک کنید.

آنتی ویروس clamav

سپس از قسمت clamavconnector تیک Install and keep updated را علامت زده و روی گزینه save کلیک کنید و صبر کنید تا آنتی ویرویس clamav نصب شود.

آنتی ویروس clamav

برای نصب آنتی ویرویس clamav در صورتی که کنترل پنل شما دایرکت ادمین است :

ابتدا وارد ssh سرور خود شوید و سپس دستورات زیر را وارد کنید :

cd /usr/local/directadmin/custombuild
./build update
./build set clamav yes
./build clamav

با دستور زیر فایل exim.conf را ویرایش کنید و کد زیر را قبل از primary_hostname  = اضافه کنید.

برای جستجو در فایل می توانید از کلید ctrl + w استفاده کنید.

av_scanner = clamd:127.0.0.1 3310

در همان فایل check_message: را جستجو کنید و در ادامه آن کد های زیر را وارد کنید.

deny message = This message contains malformed MIME ($demime_reason)
demime = *
condition = ${if >{$demime_errorlevel}{2}{1}{0}}
deny message = This message contains a virus or other harmful content ($malware_name)
demime = *
malware = */defer_ok
deny message = This message contains an attachment of a type which we  do not accept (.$found_extension)
demime = bat:com:pif:prf:scr:vbs
warn message = X-Antivirus-Scanner: Clean mail though you should still use an Antivirus

و سپس دستور زیر را وارد کنید

/etc/init.d/exim restart

در دایرکت ادمین پلاگین اضافه نمی شود و باید دستورات آن را در ssh وارد کنید.

تغییر port دایرکت ادمین برای امنیت بیشتر

در این آموزش روش تغییر port دایرکت ادمین برای امنیت بیشتر رو به شما آموزش خواهیم داد

port پیش فرض دایرکت ادمین ۲۲۲۲ می باشد ، عدم تغییر port دایرکت ادمین یک ریسک امنیتی می باشد. با تغییر port دایرکت ادمین امنیت سرور خود را بالا ببرید برای تغییر پورت دایرکت ادمین موارد زیر را انجام دهید.

تغییر port دایرکت ادمین

ابتدا با استفاده از نرم افزار putty وارد ssh سرور خود شوید.

سپس با دستور زیر فایل directadmin.conf را ویرایش کنید.

nano /usr/local/directadmin/conf/directadmin.conf

سپس با کلید ctrl + w کلمه port را جستجو کنید و مقدار آن را از ۲۲۲۲ به پورت مورد نظر خود تغییر دهید و با کلید های ctrl + x و سپس کلید Enter فایل را ذخیره کنید و با دستور زیر دایرکت ادمین را restart کنید.

service directadmin restart

توجه داشته باشید اگر روی سرور فایروال دارید لازم است port جدید را در فایروال خود اضافه کنید و port قدیم را حذف کنید.

فعال کردن safe_mode در php برای امنیت بیشتر

با فعال کردن safe_mode در php خود می توانید امنیت سرور خود را بیشتر کنید قبل از انجام تغییرات لازم است از موارد زیر اطلاع داشته باشید

safe_mode در php چیست ؟ :با فعال کردن safe_mode در php.ini می توانید از اجرا فایل های شل جلوگیری کنید. safe_mode از دستورات خطرناکی که می تواند توسط یک فایل php روی سرور برای ورود هکر و دسترسی به اطلاعات اجرا شود جلوگیری می کند.

فعال کردن safe_mode

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

safe_mode روشن یا خاموش ؟ : فعال بودن این قسمت در php برای امنیت بسیار پیشنهاد می شود اما ممکن است فعال بودن آن در سرور های هاستینگ مشکلاتی را ایجاد کند اگر safe_mode را در سرور های هاستینگ ( سرور های اشتراکی ) فعال می کنید سایت های خود را کنترل کنید تا با مشکل مواجه نشود و در صورت وجود مشکل safe_mode را با استفاده از php.ini اختصاصی یوزر برای سایت مورد نظر غیر فعال کنید.

 

برای فعال کردن safe_mode توسط ssh دستورات زیر را وارد کنید :

دستور php –ini را وارد کنید تا مسیر فایل php.ini شما نمایش داده شود. مسیر بعد از جمله Loaded Configuration File نمایش داده می شود.

سپس با استفاده از دستور nano فایل php.ini سرور خود را ویرایش کنید. مانند : nano /test/test/php.ini در این مثال تست پوشه های مسیر شما است.

سپس با کلید ctrl + w کلمه safe_mode = را جستجو کنید و مقدار Off ر ابه on تغییر دهید و فایل را توسط کلید ctrl و سپس کلید Enter ذخیره کنید.

 

برای فعال کردن safe_mode از محیط گرافیکی سی پنل (whm) موارد زیر را انجام دهید

ابتدا وارد whm شوید و از قسمت Service Configuration روی گزینه PHP Configuration Editor کنید.

سپس روی قسمت safe_mode کلیک کنید و روی ON کلیک کنید.

 

برای فعال کردن safe_mode از محیط گرافیکی دایرکت ادمین موارد زیر را انجام دهید

ابتدا وارد admin دایرکت ادمین شوید و سپس روی گزینه File Editor کلیک کنید و فایل php.ini خود را ویرایش کنید.

سپس مقدار safe_mode = را on وارد کنید.

برای تست این تغییرات می توانید یک فایل php در یکی از سایت های خود ایجاد کنید و کد زیر را در آن وارد کنید و فایل را اجرا کنید و تنظیمات php را مشاهده کنید.

< ?php
phpinfo();
?>

خاموش کردن خطا php برای امنیت بیشتر

در این آموزش شیویه خاموش کردن خطا php برای امنیت بیشتر را به شما خواهیم داد

یکی از روش های که هکر ها برای ورود به sql سایت استفاده می کنند استفاده از خطا سایت می باشد ، این یعنی زمانی که برنامه یا همان سیستم مدیریت محتوا شما مشکل در برنامه نویسی داشته باشد بعد از باز شدن یک url سایت شما یا یک خطا php مواجه می شود که شامل نام آن فایل و خطی که مشکل دارد می شود.

هکر ها با تغییر (بازی) در url می توانند به سایت شما و در نتیجه دسترسی به sql و یا دسترسی به کل سرور را بگیرند.

برای امنیت بیشتر بهتر است نمایش خطا php خود را خاموش کنید.

برای خاموش کردن خطا php کافیست ابتدا وارد ssh سرور خود شوید و سپس مراحل زیر را انجام دهید.

دستور php –ini را وارد کنید تا مسیر فایل php.ini شما نمایش داده شود. مسیر بعد از جمله Loaded Configuration File نمایش داده می شود.

سپس با استفاده از دستور nano فایل php.ini سرور خود را ویرایش کنید. مانند : nano /test/test/php.ini در این مثال تست پوشه های مسیر شما است.

سپس با کلید ctrl + w کلمه display_errors = را جستجو کنید و کلید enter را فشار دهید. توجه داشته باشید در فایل php.ini این کلمه ۲ بار تکرار شده است. شما باید کلمه ای را پیدا کنید که بعد از = On یا Off باشد. شما می توانید مجدد با استفاده از ctrl+w جستجو کنید.

سپس On را به Off تغییر دهید و سپس با کلید ctrl + x را فشار دهید و کلید enter را فشار دهید.

نمایش خطا php سرور شما خاموش شده است.

نحوه تغییر آی پی سرور و لایسنس دایرکت ادمین

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

برای تغییر آی پی سرور و لایسنس دایرکت ادمین ابتدا لازم است main ip سرور خود را تغییر دهید و سپس آی پی لایسنس خود را به آی پی جدید تغییر داده و دستورات زیر را برای تغییر لایسنس وارد کنید.

cd /usr/local/directadmin/scripts
./getLicense.sh 1234 56789

۱۲۳۴ شماره مشتری شما ( client id ) و ۵۶۷۸۹ لایسنس (license) شما می باشد.

پس از تغییر لایسنس لازم است سرویس دایرکت ادمین خود مجدد راه اندازی کنید :

/etc/init.d/directadmin restart

اسکریپت ipswap.sh برای تغییر آی پی از تنظیمات و اکانت های دایرکت ادمین می باشد. برای اجرا کردن آن دستورات زیر را وارد کنید :

cd /usr/local/directadmin/scripts
./ipswap.sh 1.2.3.4 4.3.2.1

توجه داشته باشید ۱.۲.۳.۴ آی پی قدیم شما و ۴.۳.۲.۱ آی پی جدید شما می باشد.

پس از تغییر آی پی لازم است سرویس های زیر را مجدد راه اندازی (Restart) کنید :

/etc/init.d/httpd restart
/etc/init.d/proftpd restart
/etc/init.d/exim restart
/etc/init.d/dovecot restart

سپس این آی پی جدید را برای دی ان اس های خود تنظیم کنید.

 

رفع مشکل اجرا نشدن task.queue در دایرکت ادمین

در صورت اجرا نشدن task.queue در دایرکت ادمین ، لطفا موارد زیر را کنترل کنید :

محتوا فایل زیر را بررسی کنید :

/usr/local/directadmin/data/task.queue

محتوا این فایل باید هر چند دقیقه یکبار حذف شود در صورت حذف نشدن آن task.queue اجرا نمی شود.

/var/log/cron  را بررسی کنید ( در دبیان /var/log/syslog ) که dataskq در هر دقیقه در حال اجرا باشد اگر نیست دستورات زیر را وارد کنید :

chmod 644 /etc/cron.d/directadmin_cron
/sbin/service crond restart

مطمئن شوید که crond در حال اجرا است :

ps ax | grep cron

مجدد برای راه اندازی مجدد crond اقدام کنید : /sbin/service crond restart

اگر crond روی سرور شما نصب نشده است از دستورات زیر استفاده کنید :

yum -y install vixie-cron cronie
service crond start
chkconfig crond on

اگر تمام این موارد را کنترل کردید و task.queue پردازش نشد از دستور زیر برای اجرای دستی آن استفاده کنید :

/usr/local/directadmin/dataskq d

چگونگی گرفتن backup دایرکت ادمین با دستور ssh

در صورتی که لایسنس دایرکت ادمین شما منقضی (expire) شده باشد و یا سرویس دایرکت ادمین شما از کار افتاده باشد و شما نیاز داشته باشید از سایت های خود نسخه پشتیبان تهیه کنید توسط دستورات زیر می توانید اینکار را انجام دهید.

نحوه گرفتن backup دایرکت ادمین :

ابتدا با استفاده از نرم افزار putty وارد ssh سرور خود شوید.

دستور زیر را وارد کنید :

echo “action=backup&local%5Fpath=%2Fhome%2Fadmin%2Fadmin%5Fbackups%32&owner=admin&type=admin&value=multiple&when=now&where=local&who=all” >> /usr/local/directadmin/data/task.queue

با بررسی /var/log/cron مطمئن شوید که dataskq در حال اجرا است اگر در حال اجرا نیست می توانید با دستور زیر آن را دستی اجرا کنید :

/usr/local/directadmin/dataskq d200

backup دایرکت ادمین در مسیر زیر ذخیره می شود :

/home/admin/admin_backups

این دستور برای گرفتن backup دایرکت ادمین ۱ کاربر می باشد :

echo “action=backup&local%5Fpath=%2Fhome%2Fadmin%2Fadmin%5Fbackups&owner=admin&select%30=testuser&type=admin&value=multiple&when=now&where=local” >> /usr/local/directadmin/data/task.queue

توجه داشته باشید testuser همان کاربری است. که قصد گرفتن backup آن را دارید.

برای restore نسخه پشتیبان دایرکت ادمین از طریق ssh می توانید دستور زیر را وارد کنید :

echo “action=restore&ip%5Fchoice=file&local%5Fpath=%2Fhome%2Fadmin%2Fadmin%5Fbackups&owner=admin&select%30=user%2Eadmin%2Etestuser%2Etar%2Egz&type=admin&value=multiple&when=now&where=local” >> /usr/local/directadmin/data/task.queue

 

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

برای نصب IonCube روی سی پنل طبق دستورالعمل زیر عمل نمایید:

ابتدا با نام کاربری و رمز عبور root سرور  وارد WHM خود شوید و مسیر زیر را دنبال کنید.
Main >> Software >> EasyApache (Apache Update

روی دکمه start customizing based on profile کلیک کنید.
روی دکمه next step کلیک کنید
تیک IonCube Loader for PHP را علامت بزنید.
سپس روی دکمه save and build کلیک کنید و تا پایان نصب صبر کنید و پس از آن نرم افزاری که با ioncube کار می کند را تست کنید.

دستور نصب ioncube در سی پنل توسط ssh :

/scripts/phpextensionmgr install IonCubeLoader

شما می توانید با دستور php -v از نصب شدن ioncube اطمینان پیدا کنید.