نصب mysql به جای mariadb در دایرکت ادمین

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

در خط اول دستورات زیر پوشه فعلی mysql را تغییر نام می دهید ( اگر احیانا بک آپی که در فوق گرفتید مخدوش بود این فولدر سوپاپ اطمینان است ! )

mv /usr/bin/mysql /usr/bin/mysql_backup

سپس ورژن mysql را انتخاب و نصب کنید.

cd /usr/local/directadmin/custombuild
./build set mysql 5.6
./build set mysql_inst mysql
./build mysql

و php را کامپایل نمایید

./build php n

آموزش نصب xsendfile

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

 

https://tn123.org/mod_xsendfile/mod_xsendfile-0.12.tar.gz

و آنرا اکسترکت کنید

tar -xvf mod_xsendfile-0.12.tar.gz

وارد پوشه شوید

cd /mod_xsendfile-0.12

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

/usr/sbin/apxs -cia mod_xsendfile.c

و آپاچی را ریستارت کنید

service httpd restart

تنظیم disable_function در کلودلینوکس

برخی توابع در لینوکس هستند که به توابع خطرناک مشهور هستند ! البته خطرناک از این بابت که اگر End user دسترسی به این توابع داشته باشد خواسته یا ناخواسته موجب نفوذ و خرابکاری در اطلاعات سرور و سایر مشتریان خواهد شد . به همین منظور ما توصیه می کنیم توابع زیر را در لینونکس ببندید.

mail, shell, symlink, ini_restore, mysql_list_dbs, popen, stream_select, socket_select, socket_create, socket_create_listen, socket_create_pair, socket_listen, socket_accept, socket_bind, socket_strerror, socket_clear_error, socket_close, socket_connect, socket_get_option, socket_getpeername, socket_getsockname, socket_last_error, socket_read, socket_recv, socket_recvfrom, socket_send, socket_sendto, socket_set_block, socket_set_nonblock, socket_set_option, socket_shutdown, socket_write, readlink, symlink, link, pfsockopen, ini_alter, dl, openlog, syslog, pcntl_exec, pcntl_fork, pcntl_signal, pcntl_waitpid, pcntl_wexitstatus, pcntl_wifexited, pcntl_wifsignaled, pcntl_wifstopped, pcntl_wstopsig, pcntl_wtermsig, fpassthru, system, passthru, exec, proc_close, proc_get_status, proc_nice, proc_terminate, shell_exec, posix_access, posix_ctermid, posix_errno, posix_get_last_error, posix_getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_getpgid, posix_getpgrp, posix_getpid, posix_getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_getuid, posix_initgroups, posix_isatty, posix_kill, posix_mkfifo, posix_mknod, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_setuid, posix_strerror, posix_times, posix_ttyname, posix_uname, ini_get_all, php_uname, diskfreespace, disk_free_space, disk_total_space, sys_getloadavg, curl_multi_add_handle, curl_multi_close, curl_multi_exec, curl_multi_getcontent, curl_multi_info_read, curl_multi_init, curl_multi_remove_handle, curl_multi_select,show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open

در لیست توابع خطرناک فوق تابع mail نیز هست که موجب میشود کاربر نتواند از طریق php mail ایمیل ارسال کند و ایمیل هایی که ارسال می کند حتما باید شناسایی شده و از طریق SMTP باشد.

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

در کلودلینوکس که شما چند php.ini دارید باید در همه آنها این لیست را قرار دهید و پس از آن cagefs را برای همه یوزرها با یک کامند آپدیت کنید.

برای ویرایش هر فایل php.ini از الگوی زیر بهره بگیرید

/opt/alt/phpXX/etc/php.ini

و به جای XX ورژن را قرار دهید ، مثلا ۵۵ ، ۵۶ ، ۵۴ ، ۵۳ ، ۵۲ ، ۷۰ ، ۷۱

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

cagefsctl --force-update

تنظیم کران جاب در سرور لینوکسی

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

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

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

crontab -l

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

crontab -e

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

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

سپس عبارت زیر را تایپ نمایید

۰ ۴ * * * service mysql restart

سپس دکمه Esc بر روی کیبرد را بزنید و تایپ کنید

:wq

و اینتر
در مثال فوق ما سرویس mysql را هر روز ۴ صبح ریستارت می کنیم.

آموزش آپگرید mysql توسط custombuild 2 در دایرکت ادمین

به ترتیب دستورات زیر را در خط فرمان لینوکس وارد نمایید

cd /usr/local/directadmin/custombuild
./build set mysql 5.6
./build set mysql_inst mysql
./build set mysql_backup yes
./build update
./build mysql

پس از آپگرید شدن mysql حتما مجدد php را نیز با دستور زیر کامپایل نمایید

./build php n

خطای #۱۲۷۳ – Unknown collation: ‘utf8mb4_unicode_ci’

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

#۱۲۷۳ – Unknown collation: ‘utf8mb4_unicode_ci’

یا

#۱۲۷۳ – Unknown collation: ‘utf8mb4_unicode_520_ci’

مواجه شدید با سه دستور زیر فایل مربوطه را ویرایش کنید ( ابتدا بهتر است mysql را به نسخه ۵٫۶ ارتقا دهید اگر مشکل داشت سه دستور زیر را وارد نمایید.

 

sed -i 's/utf8mb4/utf8/g' your_file.sql
sed -i 's/utf8_unicode_ci/utf8_general_ci/g' your_file.sql
sed -i 's/utf8_unicode_520_ci/utf8_general_ci/g' your_file.sql

غیرفعال کردن فایروال IPTABLES

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

service iptables stop

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

chkconfig iptables off

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

 iptables -A INPUT -i lo -j ACCEPT
 iptables -A OUTPUT -o lo -j ACCEPT

آموزش نصب LetsEncrypt در دایرکت ادمین

۱- ابتدا SNI را در سرور فعال نمایید ( آموزش فعال سازی SNI در دایرکت ادمین )

۲- LetsEncrypt را در تنظیمات دایرکت ادمین فعال کنید.

echo "letsencrypt=1" >> /usr/local/directadmin/conf/directadmin.conf

۳- دایرکت ادمین را ریستارت نمایید

echo "action=directadmin&value=restart" >> /usr/local/directadmin/data/task.queue; /usr/local/directadmin/dataskq d2000

۴- حال اجرا کنید

cd /usr/local/directadmin/custombuild
./build rewrite_confs
./build update
./build letsencrypt

کانفیگ مدنظر انجام شد . برای فعال کردن ssl سمت یوزر آموزش فعال کردن SSL رایگان در هاست دایرکت ادمین را مشاهده نمایید.

نحوه فعالسازی SNI در دایرکت ادمین

SNI امکانیست در وب سرور که به کاربران اجازه می دهند از کاربران از یک آی پی به اشتراک گذاشته شده برای ست کردن SSL استفاده نمایند.

برای فعال کردن SNI در دایرکت ادمین باید این گزینه در directadmin.conf ست شود.

دقت بفرمایید که SNI بر روی CentOS 5 و Debian 5 ساپورت نمی شود ، پس بهتر است از نسخه ۶ یا ۷ سیستم عامل centos استفاده نمایید.

وارد فایل زیر می شویم.

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

و عبارت زیر را اضافه می کنیم

enable_ssl_sni=1

حال دایرکت ادمین را ریستارت کنید. ابتدا جستجو کنید در فایل ( با دکمه ترکیبی ctrl+w ) که آیا عبارت enable_ssl_sni قبلا در تنظیمات وجود داشته یا خیر اگر نبود خط فوق را اضافه کنید.

service directadmin restart

نحوه حذف mysql در اوبونتو

برای حذف mysql در سیستم عامل اوبونتو به ترتیب دستورات زیر را بزنید ( نسخه ای که قصد حذف آنرا داریم ۵٫۵ هست ، دستور زیر را با توجه به نسخه دلخواهتان ویرایش نمایید )
۱- حذف

sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-5.5 mysql-client-core-5.5

۲- حذف پوشه

sudo rm -rf /etc/mysql /var/lib/mysql

۳- پاکسازی

sudo apt-get autoremove
sudo apt-get autoclean