چگونه با پنل دایرکت ادمین سرور لینوکس خود را مدیریت کنیم؟

فعلا با چند تا دستور کاربردی آشنا بشید:

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

wget http://site.com/file.zip

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

wget ftp://username:password@XXX.XXX.XXX.XXX/Folder/File.zip

که بجای xxx آی پی و بجای username:password یوزر و پسورد اف تی پی رو وارد می کنید.
برای پاک کردن از دستور زیر استفاده می کنیم و اگه سوالی پرسید y می زنیم:

rm file.zip

برای منتقل کردن فایل به جایی دیگر از دستور زیر استفاده می کنیم:

mv file.zip /home/directory/test

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

tar -xvf file.tar

اگه فرمت tar.gz بود از دستور زیر استفاده می کنیم:

tar xzf file.zip

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

unzip file.zip

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

ls -al

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

mv file newfile

برای ایجاد دایرکتوری از دستور زیر استفاده می کنیم:

mkdir directoryname

و برای حذفش از دستور زیر استفاده می کنیم:

Cd /hmoe/directory/test

بعد نوبت این میرسه که وارد محیط کامند لینوکس (SSH) بشیم که باید نرم افزار پیوتی رو داشته باشیم. برای دانلود نرم افزار پیوتی اینجا کلیک کنید.
اولین کار اینه که ما کنترل پنل دایرکت ادمین رو نصب کنیم.
اول وقتی وی پی اس یا سرورتون رو تحویل گرفتید باید از داشتن بعضی چیزا مطمئن بشید.
مثلا داشتن یک ادیتور. با دستور زیر ادیتوری برای لینوکس نصب می کنیم:

yum install nano

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

yum install flex

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

yum update -y
yum install gcc-c++ gcc automake -y

در SSh دستور زیر رو بزنید تا متوجه بشید HostName شما چیه!

hostname

حالا میریم تا دایرکت ادمین رو نصب کنیم:
اول باید دانلودش کنیم:

wget http://directadmin.com/setup.sh

دستورات زیر رو بعد از اتمام دانلود بزنید:

chmod +x setup.sh
sh setup.sh

یادتون باشه در وی پی اس لینوکس که با اوپن وی زد مجازی سازی شده باشه باید در جایی که مربوط به کارت شبکه سوال می پرسه venet0:0 بزارید و سایر جاها eth0
از شما لایسنس آی دی و کلاینت آی دی رو می پرسه بعلاوه ی هاست نیم که با توجه به اطلاعات در دسترس داده ها رو وارد می کنید.
به سوالات پرسیده شده با توجه به نیاز و اطلاعات سرور پاسخ بدید.
پس از حدود ۳۰ تا ۶۰ دقیقه نصب به پابان میرسه و شما می تونید با استفاده از آدرس زیر و پسورد ادمین که در پایان نصب بهتون میده وارد کنترل پنل بشید…

http://XXX.XXX.XXX.XXX:2222

که بجای X ها آی پی سرورتون رو وارد کنید.
بعد از اتمام نصب در putty اگر به آخرین پیغام ها دقت کنید می بینید که پسورد برای وارد شدن به بخش ادمین دایرکت ادمین داده شده. با توجه به آی پی و پورت ۲۲۲۲ می تونید وارد بخش ادمین بشید:
اولین کارایی که باید انجام بدید اینه که به بخش Administrator Settings برید و به باکسی جایی که نیم سرورها وارد شده رفته و نیم سرور ها رو آپدیت کنید. بعد تیک دو قسمت زیر رو حتما بزنید:

Prevent 127.0.0.1 from being blacklisted
Blacklist IPs for excessive login attempts

و برای دومی ، مثلا عدد ۱۰ رو انتخاب کنید.
بعد برای قسمت زیر Yes رو انتخاب کنید تا کسی نتونه پسورد ضعیف ایجاد کنه

Difficult Password Enforcement

بعد به آدرس زیر برید (جای یک ها ، آیی پی خودتون رو بزارید):

http://111.111.111.111:2222/CMD_TICKET

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

خوب حالا از سمت راست یه قسمت هست که نوشته User Level که اگه روش کلیک کنید براتون پیغام میده که دامنه ای ثبت نشده و یه لینک میده برای مدیریت دامنه و ثبت اون. روش کلیک کنید . توی صفحه ای که باز شد روی Add Domain کلیک کنید و در صفحه وارد شده ، اطلاعات دامنه ای که قرار دامنه ی اصلی سرور باشه رو وارد کنید. بعد از ایجاد ، شما از الان می تونید به بخش User Level هم دسترسی داشته باشید و مثلا اکانت ایمیل بسازید و … .
یه کار دیگه ای هم که باید انجام بدید اینه در در Admin Level به قسمت DNS Administration برید و بر روی دامنه ی اصلی کلیک کنید و مطابق با شکل زیر برای این دامنه ، یک بار برای ns1 و یک بار برای ns2 ، یک A رکورد تعریف کنید.

یادتون باشه حدود ۱۲ تا ۲۴ ساعت بعد از اعمال تغییرات ، در سایت intoDNS  دامنه خودتون رو وارد کنید و از صحت کار ها اطمینان پیدا کنید.
کاری که شما الان باید بکنید اینه که یه فایروال واسه سرورتون نصب کنید. برای دانلود و نصب فایروال به ترتیب دستورات زیر رو در محیط SSH وارد کنید.

yum install perl-libwww-perl
rm -fv csf.tgz
wget http://www.configserver.com/free/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh

بعد از نصب فایروال ، شما باید اون رو در محیط ادمین DA ببینید. جایی که عبارت ConfigServer Firewall&Security رو نوشته! حالا روش کلیک کنید تا وارد محیط مدیریت فایروال بشید. برای اینکه فایروال رو فعال کنید به قسمت Firewall Configuration برید و داخل تکست باکس اولی ، جایی که نوشته TESTING عبارت ۰ بزارید و در پایین صفحه روی Change کلیک کنید و سپس بر روی Restart csf+lfd کلیک کنید.تازه فایروال فعال میشه! البته یه سری تنظیمات داره که بوقتش بهش می پردازیم.
الان وقت انجام یه سری تنظییمات مدیریتی هست. در همون قسمت Admin level دایرکت ادمین برید به قسمت File Editor تا توی بعضی فایل ها تغییرات ایجاد کنیم. اول یه زحمت بکشید و از لیست بازشو ، آخرین مورد که برای ویرایش فایل php.ini هست رو انتخاب کنید. بعد از انتخاب روی Show File کلیک کنید. حالا باید تغییراتی که می خواهیم رو اعمال کنیم.
دنبال عبارت Resource Limits باشید. وقتی پیداش کردید مقادیر زیر اون رو باید با توجه به نیاز و امکانات خودتون ویرایش کنید. برای memory_limit اگه رم بالایی ندارید و از سرور برای هاستینگ و یا میزبانی سایت های زیادی می خواهید استفاده کنید مقدارش رو به ۳۲ یا نهایتا ۶۴ تغییر بدید. بعد نوبت به پیدا کردن عبارت File Uploads میشه که در زیر اون باید عبارت upload_max_filesize وجود داشته باشه! اون رو به ۲۰ یا ۳۰ یا به رقمی که مایل هستید ارتقا بدید. این مقدار مربوط به حداکثر سایز فایل برای آپلود فایل به کمک توابع PHP هست.
سپس دنبال عبارت upload_max_filesize بگردید و مقدار اون رو به ۳۲ ارتقا بدید. بعد باید سراغ عبارت disable_functions برید. جلوش خالیه. شما در اینجا باید یک سری توابع خطرناک PHP رو غیر فعال کنید.لیست اونا به شرح زیر هست:

show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open, allow_url_fopen,dl,ini_set

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

فعلا با php.ini کاری نداریم. روی Save کلیک کنید. حالا بریم سراغ هفتمین مورد از این لیست کشویی! یعنی فایل sshd_config ! حالا اون رو باز کنید و تغییرات زیر رو درش اعمال کنید. در جایی که نوشته port 22 باید # رو بردارید و بجای عدد ۲۲ ، یه پورت آزاد مثلا ۲۰۱۱ رو قرار بدید . یادتون باشه که باید این پورت رو در فایروال ، آزاد کنیم. بعد دنبال عبارت Use DNS بگردید و بجای yes عبارت no بزارید و # قبل از اون رو هم بردارید. و بعد این فایل رو هم ذخیره کنید. حالا میریم سراغ یه فایل دیگه یعنی exim.conf . بازش کنید در به دنبال عبارت log_selector بگردید و بخش مربوط به اون رو با عبارات زیر جابجا کنید:

log_selector = \
+arguments \
+subject \
+delivery_size \
+sender_on_delivery \
+received_recipients \
+received_sender \
+smtp_confirmation \
+subject \
+smtp_incomplete_transaction \
-dnslist_defer \
-host_lookup_failed \
-queue_run \
-rejected_header \
-retry_defer \
-skip_delivery

این فایل رو هم ذخیره کنید.حالا به محیط ادمین برید و سپس به محیط فایروال تا پورت SSH رو که در فایل مربوط به اون تغییر داده بودیم ، آزاد کنیم. به قسمت برید و دنبال عبارت TCP_IN و TCP_OUT بگرید و پورتی رو که برای پیوتی انتخاب کرده بودید رو بهش اضافه کنید و پورت ۲۲ رو از هر دوشون حذف کنید. در پایین صفحه دوباره روی Change کلیک کنید و بعد هم Restart csf+lfd رو کلیک کنید.
یه مورد یادم رفت.این که شما بعد از هر تغییر باید سرویس مربوز به اون فایل رو ریست کنید. در محیط Admin Level دایرکت ادمین به قسمت Service Monitor برید و سرویس های exim , httpd , sshd رو ری استارت کنید.
در مورد کانفیگ mysql و apache باید این رو بدونیم که مقدار رم ما و نیز قدرت پردازنده CPU خیلی مهمه! و در واقع همه ی تنظیمات با توجه به اونا انجام میشه. البته برای کاربرد های مختلف هم کانفیگ ها متفاوت هست. مثلا کانفیگ این فایل ها برای سروری که مخصوص دانلود هست با سروری که مخصوص هاستینگ هست با سروری که مخصوص فقط یک سایت هست متفاوته!
ما فرض رو بر این می زاریم که وی پی اس شما برای میزبانی چند سایت در نظر گرفته شده که معمولا بیشترین حالت رو شامل میشه. اول میریم تا فایل کانفیگ mysql رو ویرایش کنیم.
دستور زیر رو وارد کنید

nano /etc/nano.cnf

حالا اگه مقداری داشت و چیزی داخلش بود پاک کنید و با مقادیر زیر اون رو جایگزین کنید:

[mysqld]
local-infile=0
max_connections = 400
key_buffer = 16M
myisam_sort_buffer_size = 32M
join_buffer_size = 1M
read_buffer_size = 1M
sort_buffer_size = 2M
table_cache = 1024
thread_concurrency=2
thread_cache_size = 286
interactive_timeout = 25
wait_timeout = 1000
connect_timeout = 10
max_allowed_packet = 16M
max_connect_errors = 10
query_cache_limit = 1M
query_cache_size = 16M
query_cache_type = 1
tmp_table_size = 16M
skip-innodb
[mysqld_safe]
open_files_limit = 8192
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer = 32M
sort_buffer = 32M
read_buffer = 16M
write_buffer = 16M
[mysqlhotcopy]
interactive-timeout

این مقادیر در زمانی که رم شما بین ۲۵۶ تا ۵۱۲ مگ هست مناسبه و در حالتی که رم بیشتری دارید طبق آموزش خود دایرکت ادمین ، این فایل رو ادیت کنید.(در پایین این آموزش رو هم خواهم گفت. خطی که بولد کردم رو دقت کنید. مقدار این خط باید ۲ برابر تعداد هسته های سی پی یوی شما باشه. یعنی اگه دو هسته اختصاصی دارید این عدد باید ۴ باشه و … .
حالا اگه مقدار رم شما بالا بود به کانفیگ زیر و توضیحات اون دقت کنید:

[mysqld]
local-infile=0
skip-locking
query_cache_limit=1M
query_cache_size=64M // سی و دو مگابایت به ازای هر یک گیگ رم
query_cache_type=1
max_connections=500
interactive_timeout=100
wait_timeout=100
connect_timeout=10
thread_cache_size=128
key_buffer=16M
join_buffer=1M
max_allowed_packet=16M
table_cache=1024
record_buffer=1M
sort_buffer_size=2M // یک مگابایت به ازای هر یک گیگ رم
read_buffer_size=2M // یک مگابایت به ازای هر یک گیگ رم
max_connect_errors=10
# تعداد سی پی یو ها ضرب در دو
thread_concurrency=2
myisam_sort_buffer_size=64M
server-id=1
[safe_mysqld]
err-log=/var/log/mysqld.log
open_files_limit=8192
[mysqldump]
quick
max_allowed_packet=16M
[mysql]
no-auto-rehash
#safe-updates
[isamchk]
key_buffer=64M // سی و دو مگابایت به ازای هر یک گیگ رم
sort_buffer=64M
read_buffer=16M
write_buffer=16M
[myisamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M
[mysqlhotcopy]
interactive-timeout

این مقادیر در سایت دایرکت ادمین برای یک سرور با سیستم عامل سنت اُ اس و بیش از ۲ گیگ رم آمده است.
خوب نوبتی هم باشه نوبت کانفیگ apache هست. همونطور که گفتم تنظیمات apache و mysql به میزان رم و قدرت سی پی یو بستگی داره. مثلا برای یک وی پی اس با رم ۲۵۶ تا ۵۱۲ مگابایت ، کانفیگ زیر برای پروسس ها می تونه خوب باشه:

Timeout 200
KeepAlive On
MaxKeepAliveRequests 200
KeepAliveTimeout 3
MinSpareServers 5
MaxSpareServers 20
StartServers 5
MaxClients 25
MaxRequestsPerChild 2000
HostnameLookups Off

البته شما می تونید بعد از یک دو روز از زمانی که سرور رو کانفیگ کردید با دستور free -m در محیط SSH مقدار رم خالی رو پیدا کنید و در صورتی که رم خالی داشتید مقادیر MaxClients و MaxSpareServers رو ارتقا بدید.
فایل کانفیگ دایرکت ادمین برای apache در مسیر زیر هست:

/etc/httpd/conf/httpd.conf

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

/etc/httpd/conf/extra/httpd-mpm.conf

و دنبال این خط بگردید:

<IfModule mpm_prefork_module>

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

ServerLimit 2000
KeepAlive On
KeepAliveTimeout 60
MaxClients 1600
MaxSpareServers 200
MinSpareServers 50

این مورد رو در نظر داشته باشید که همه چیز به قدرت سرور یا وی پی اس شما بستگی داره.
با دستور زیر می تونید تعداد آی پی هایی که به سرور شما متصل شدند رو در بیارید:

netstat -plan|grep :80|awk {‘print $5′}|cut -d: -f 1|sort|uniq -c|sort -n

البته بحث تنظیم apache خیلی پیچیده و مفصل هست و مدهای زیادی برای کنترل اون وجود داره که انشاالله در پست های بعد ، در حد توانم اونا رو هم براتون آماده می کنم.
مورد بعدی بحث نصب ماژول های کاربردی برای سرورتون هست. اولین ماژولی که می خواهیم نصب کنیم ماژول Soap هست که بیشترین کاربردش برای پرداخت آنلاین بانک ها هست.
مراحل نصب به شرح زیر هست:
اول باید دستور زیر رو بزنید تا تغییراتی در فایل configure.php5 اعمال کنیم:

nano /usr/local/directadmin/custombuild/configure/ap2/configure.php5

حالا خط زیر رو بعد از ./configure \ اضافه کنید.

–enable-soap \

حالا فایل رو ذخیره کنید و دستورت زیر رو بزنید:

cd /usr/local/directadmin/custombuild
./build clean
./build php

حالا بریم سراغ نصب ماژول IonCube که بیشتر بدرد کسایی می خوره که می خوان برنامه WHMCS رو نصب کنن.
به ترتیب مراحل زیر رو انجام بدید:

cd /usr/local
wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
tar -zxvf ioncube_loaders_lin_x86.tar.gz
nano /usr/local/lib/php.ini

حالا خط زیر رو باید به آخر فایل php.ini که باز کردید اضافه کنید:

zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.2.so

بعد دستور زیر رو بزنید تا apache رو ری استارت کنیم.

service httpd restart

حالا واسه اینکه مطمئن بشیم که نصب انجام شده دستور زیر رو بزنید تا ببینید که IonCube نصب هست یا نه:

php -v

تنظیم دامنه اصلی در دایرکت ادمین

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

اگر این دامنه درست ست نشود معمولا با ورود به سایت پیام " Apache is functioning normally " نشان داده می شود.

خوب اولین قدم این است که با اکانت مدیر کل وارد پنل دایرکت ادمین شده و در قسمت "DNS Administration" هرچیزی که ساخته اید را پاک کنید. این قسمت باید خالی خالی خالی باشد ! حالا از منوی سمت راست گزینه "User Level"  را انتخاب کنید. در صورتی که قبلا دامنه ای وارد نکرده باشید فقط یک گزینه برای اضافه کردن دامنه هست که بر روی همان کلیک کنید و دامنه ی مورد نظر خود را ( دامنه اصلی هاست ) وارد کنید.  ولی اگر پیش از این دامنه ای اضافه کرده باشید، با کلیک بر روی User Level مجموعه از آیکون های تنظیمات دایرکت ادمین به شما نمایش داده می شود که باید از قسمت Domain Setup  گزینه Change a domain name  را انتخاب کرده و دامنه ی که قبلا انتخاب کرده اید را به دامنه ی اصلی تغییر دهید. خوب 99 درصد راه را رفتیم !

حالا از منوی سمت راست گزینه ی "Reseller Level" را انتخاب کرده و بر روی NameServers کلیک کنید. در جدول بالای صفحه در جلوی آن دامنه ای که وجود دارد تیک بزنید و بر روی کلید Create ... کلیک کنید.

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

به همین راحتی به همین خوشمزگی.

البته توجه داشته باشید که خطای "Apache is functioning normally " می تواند ناشی از تنظیمات اشتباه فایل کانفیگ هم باشد ولی اگر دایرکت ادمین را به تازگی نصب کرده اید و آنقدرها هم حرفه ای نیستید که بتوانید در این فایلها تغییرات دهید احتمال 99 درصد به علت تنظیم اشتباه دامنه با این پیغام مواجه می شوید. کمی سعی کنید درست می شود.

نصب suPHP برای ایجاد دسترسی مناسب به پوشه ها در دایرکت ادمین

خوب این قسمت برای این لازم است که وقتی سیستم های مدیریت محتوا مثل جوملا یا وردپرس را نصب می کنید با مشکل در آپلود فایلها یا نصب  کامپوننت و ماژول ها بر نخورید . مثلا در جوملا وقتی suPHP نصب نباشد در هنگام آپلود فایل خطای " فایل برای آپلود بزرگ است " را می دهد. البته در سایر پنل ها مثل سی پنل، کلوکسو و یا حتی پنل رایگان zPanel این مشکل وجود ندارد ولی خوب در دایرکت ادمین هنوز این جور کارها را باید دستی انجام داد! خب برویم سر نصب :

دستورات زیر را به ترتیب در ssh اجرا کنید :

cd /usr/local/directadmin/custombuild/
./build clean
./build update
nano options.conf

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

default_php=5
php5_cli=no
php5_cgi=yes

حالا کلیدهای Ctrl+x و y را زده و سپس این دستورات را وارد نمایید :

./build all d
./build rewrite_confs
./build roundcube
./build phpmyadmin

توجه داشته باشید در این حالت بیشترین پرمیژن folder ها می توانید 755 و فایل ها بهتر است 644 باشد. همچنین هیچ فایلی نمی توانید دارای مالکیت apache , root یا nobody باشد.

منبع : سرور ستاپ

منبع : دایرکت ادمین اینستال

+ منبع: وب هاستینگ تاک