سلام
لطفا ببینید این آموزش درست هست؟
مواردی که اینجا هست از چندین وب سایت جمع آوری شده
رو وی پی اس انجام دادم
فقط یک وب سایت میزبانی میشه
--------------------------------------------------------------------------------
اول باید selinux رو خاموش کنید (در وی پی اس های اوپن وی زد نیازی به انجام اینکار نیست)
در SSH بزنید : setup
در صفحه ای که میاد برید به قسمت Firewall configuration و بعد یه دور کلید tab رو بزنید تا بیاید روی run tools و بعد اینتر بزنید بعد در صفحه ای که میاد برید رو Disabled (با زدن یه بار دکمه فلش راست کیبرد) و بعد کلید space رو بزنید بعد اگه یه بار دیگه کلید tab رو بزنید میاد تو قسمت SELinux بعد بیاید رو Disabled و دوباره کلید space رو بزنید بعد یه tab بزنید تا بیاید رو OK بعد اینتر بزنید و دوباره بر میگردید به صفحه اول این بار با زدن tab بیاد رو Quit و اینتر کنید
نصب
نقل قول:
yum install nano
yum install flex
yum install perl-libwww-perl
yum update -y
yum install gcc-c++ gcc automake -y
wget http://directadmin.com/setup.sh
chmod +x setup.sh
sh setup.sh
در زمان تهیه لایسنس در اختیار شما قرار داده میشودنقل قول:
Please enter your Client ID :
در زمان تهیه لایسنس در اختیار شما قرار داده میشودنقل قول:
Please enter your License ID :
نام هاستنقل قول:
Enter your hostname (FQDN) :
y بزنیدنقل قول:
Is this correct? (y,n):
venet0:0نقل قول:
Enter the device name:
نام کارت شبکه سرور. در صورتی که از سرورهای اختصاصی یا سرورهای مجازی مبتنی بر Xen استفاده میکنید، معمولا لازم است عبارت eth0 و در صورتی که از سرورهای مجازی OpenVZ استفاده میفرمایید معمولا لازم است عبارت venet0:0 را وارد نمایید.
اگر آی پی تصحیح است y بزنیدنقل قول:
Is xxx.xxx.xxx.xxx the IP in your license? (y,n) :
Is this correct? (must match license) (y,n) : در صورتی که سیستم عامل انتخاب شده در هنگام تهیه لایسنس با سیستم عامل ذکر شده در این پیام (Enterprise 5.9) تطابق دارد، عبارت y را وارد کنید.نقل قول:
DirectAdmin will now be installed on: Enterprise 5.9
عدد 2 را وارد کنیدنقل قول:
You now have 2 options for your apache/php setup.
1: customapache: end-of-life software. Includes Apache 1.3, php 4 and frontpage. **Not recommended**. Will not work with newer OSs. Limited tech support.
2: custombuild 1.1: newer software (recommended). Includes any Apache version, php 4, 5, or both in cli and/or suphp. Frontpage not available.
Post any issues with custombuild to the forum: http://www.directadmin.com/forum/forumdisplay.php?f=61
Enter your choice (1 or 2):
در صورت استفاده از تنظیمات پیشفرض y بزنیدنقل قول:
Would you like the default settings of apache 2.2 and php 5.2 cli? (y/n):
y بزنیدنقل قول:
Would you like to search for the fastest download mirror? (y/n):
قسمت Message System ایمیل خود را در Email a copy of all messages to وارد کنید و تیک بزنید و سیو کنیدنقل قول:
در صفحه اصلی دایرکت ادمین برید به قسمت List Administrators و روی admin کلیک کنید
admin's user data رو بزنید و در صفحه ای که میاد در قسمت ایمیل ، ایمیل خودتون رو وارد کنید و سیو کنید
برگردید به صفحه اصلی دایرکت ادمین
در قسمت Administrator Settings
نقل قول:
تیک گزینه های زیر رو بردارید
Enable User Demo. Login: demo_user Password : demo
Enable Reseller Demo. Login: demo_reseller Password : demo
Enable Admin Demo. Login: demo_admin Password : demo
حالا گزینه ها رو به صورتی که میدم تغییر بدید
Max Request/Upload Size (bytes) ---->1048576000
Prevent 127.0.0.1 from being Blacklisted --- > تیک بزنید
Time before failed login count resets --->10
Check domain owner for Subdomain creation ---->yes
Enable Automatic Lost Password Recovery --->NO
Blacklist IPs for excessive login attempts ---> تیک و 80 بزنید
Difficult Password Enforcemen ---> Yes
سیو کنید
----------------------------
دستور زیر رو در ssh بزنیدد
حالا بزنیدنقل قول:
cd /usr/local/directadmin/custombuild
nano options.conf
حالا مقادیر زیر رو تغییر بدین
با کلیدهای Ctrl + X سیو و خارج شویدنقل قول:
default_php=5
php5_ver=5.2
php4_cli=no
php4_cgi=no
php5_cli=yes
php5_cgi=no
zend=yes
mysql=5.1
mysql_inst=no
mysql_backup=yes
apache_ver=2.2
phpmyadmin=yes
atmail=no
squirrelmail=yes
roundcube=yes
uebimiau=no
exim=no
spamassassin=no
mail-header-patch=yes
dovecot=yes
awstats=no
webalizer=no
proftpd=no
pureftpd=yes
حالا دستور زیر رو بزنید و صبر کنید تا کارش انجام بشه
دستور زیر رو در ssh بزنیدنقل قول:
./build all
با کلیدهای Ctrl + W کلمه disable_functions را پیدا کنید و فاکشنهای خطرناک را مسدود کنیدنقل قول:
nano /usr/local/lib/php.ini
نقل قول:
"apache_child_terminate, apache_get_modules, apache_note, apache_setenv, backtick, bzopen, bzread, bzwrite, c99_buff_prepare, c99_sess_put, c99fsearch, c99ftpbrutecheck, c99getsource, c99sh_getupdate, c99shexit, cat, chgrp, chown, closelog, cmd, crack_check, crack_closedict, crack_getlastmessage, crack_opendict, ctrl_dir, datasec, debugge_on, debugger_off, define_s yslog_variables, disk_free_space, disk_total_space, diskfreespace, dl, dos_conv, e_ini_file, escapeshellarg, escapeshellcmd, exec,filegroup, fileowner, fileperms, find, fpassthru, ftp_exec, get_current_user, get_dir, getmygid, getmyuid, getrusage, highlight_file, hypot, id, ilegetcontents, ini_ get_all, ini_alter, ini_restore, ini_set, inurl, leak, listen, ln, ls, mysql_li, netscript, old_offset, passthru, pclose, pcntl_exec, perl, perm, pfsockopen, pg_host, php_ini_scanned_files, php_uname, phpinfo, popen, popens, pos, posame, posix_access, posix_ctermid, posix_get_last_error, posix_getcwd, posix_getegid, posix_geteuid, posix_getgi, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_getpgid, posix_getpgrp, posix_getpid, posix_getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getservbyname, 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, posixc, pro, c_close, proc_get_status, proc_nice, proc_open, proc_terminate, ps_aux, psockopen, rar_open, root, rsync, safe_mode, server_software, shell-exec, shell_exec, shellcode, show_source, suExec, symlink, system, systemroot, t_dbs, tmp, virtual, wget, whoami, zip_read"
با کلیدهای Ctrl + X سیو و خارج شویدنقل قول:
allow_url_fopen --> Off
register_globals --> Off
enable_dl --> Off
display_errors --> Off
display_startup_errors --> Off
safe_mode --> Off
log_errors --> On
expose_php --> Off
magic_quotes_gpc --> On
magic_quotes_sybase --> Off
open_basedir --> On
بیشترین مدت زمان اجرای اسکریپت max_execution_time = 60
حداکثر زمان مصرف شده جهت تجزیه ورودی max_input_time = 60
بیشترین مقدار استفاده یک اسکریپت از حافظه memory_limit = 64M
max_file_uploads = 32
بیشترین حجم مجاز برای آپلود max_upload_filesize = 600M
حداکثر حجم ارسال post_max_size = 8M
پ.ن اصلاً نیازی به گفتن من نیست شما باید مقدار توابع بالا را به میزان استفاده و کارایی مورد نیاز کم و زیاد کنید.
from="john@doe.com" داخل " " ایمیل خود را تایپ کنید
----------------------------
دستور زیر رو در ssh بزنی
با زدم دکمه CTRL + W از کیبرد عبارت UseDNS رو پیدا کنید اگر کنار # بود بردارید و مقدارشو به no تغییر بدید (اگه جلوش نوشته بود no به هیچی دست نزنید و اگه نوتشه yes فقط اون yes رو به no تبدیل کنیدنقل قول:
nano /etc/ssh/sshd_config
در جایی که نوشته port 22 باید # رو بردارید و بجای عدد ۲۲ ، یه پورت آزاد مثلا ۲۰۱۱ رو قرار بدید . یادتون باشه که باید این پورت رو در فایروال ، آزاد کنیم.
با کلیدهای Ctrl + X سیو و خارج شوید
----------------------------
امن کردن /tmp:
ساخت 2000 مگابایت فضا ذخیره سازی:نقل قول:
cd /dev
ساخت فایل سیستم ext :نقل قول:
dd if=/dev/zero of=tmpMnt bs=1024 count=2000000
ایجاد یک پشتیبان:نقل قول:
/sbin/mke2fs /dev/tmpMnt
mount کردن فایل سیستم جدید با noexec:نقل قول:
cp -R /tmp/ /tmp_backup
سطح مجوز را هم تغییر دهید:نقل قول:
mount -o loop,rw,nosuid,noexec /dev/tmpMnt /tmp
پشتیبانی را که تهیه کرده بودیم، کپی میکنیم:نقل قول:
chmod 0777 /tmp
پشتیبان را حذف میکنیم:نقل قول:
cp -R /tmp_backup/* /tmp/
امن کردن /var/tmp :نقل قول:
rm -rf /tmp_backup
تهیه یک پشتیبان:
آدرس دهی میکنیم:نقل قول:
mv /var/tmp /var/tmpbck
فایل های داخل پشتیبان را کپی میگیریم:نقل قول:
ln -s /tmp /var/tmp
امن کردن /dev/shm :نقل قول:
cp /var/tmpbck/* /tmp/
فایل زیر را با ویرایشگر باز میکنیم:
اگر ویرایشگر nano را نصب ندارید، با دستور زیر نصب کنید.
مقدار زیر را پیدا کنید :نقل قول:
nano /etc/fstab
مقدار زیر را جایگزین مقدار فوق میکنیم:نقل قول:
none /dev/shm tmpfs defaults,rw 0 0
مجددا” mount میکنیم:نقل قول:
none /dev/shm tmpfs defaults,nosuid,noexec,rw 0 0
و حالا یه بار سرور رو با دستور reboot ریبوت کنیدنقل قول:
mount -o remount /dev/shm
----------------------------
نصب CSF
حالا باید یه ایمیل به سرور بدید تا سی اس اف از طریق اون با شما در ارتباط باشهنقل قول:
yum -y install perl-libwww-perl.noarch
wget http://www.configserver.com/free/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.directadmin.sh
chmod 600 /etc/csf/csf.conf
برای این کار در اس اس اچ بزنید
و آدرس ایمیلتون رو داخلش بنویسید و سیوش کنیدنقل قول:
nano /root/.forward
----------------------------
خوب نوبتی هم باشه نوبت کانفیگ apache هست. همونطور که گفتم تنظیمات apache و mysql به میزان رم و قدرت سی پی یو بستگی داره. مثلا برای یک وی پی اس با رم ۲۵۶ تا ۵۱۲ مگابایت ، کانفیگ زیر برای پروسس ها می تونه خوب باشه:
البته شما می تونید بعد از یک دو روز از زمانی که سرور رو کانفیگ کردید با دستور free -m در محیط SSH مقدار رم خالی رو پیدا کنید و در صورتی که رم خالی داشتید مقادیر MaxClients و MaxSpareServers رو ارتقا بدید.نقل قول:
Timeout 200
KeepAlive On
MaxKeepAliveRequests 200
KeepAliveTimeout 3
MinSpareServers 5
MaxSpareServers 20
StartServers 5
MaxClients 25
MaxRequestsPerChild 2000
HostnameLookups Off
فایل کانفیگ دایرکت ادمین برای 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
با دستور زیر می تونید تعداد آی پی هایی که به سرور شما متصل شدند رو در بیارید:
البته بحث تنظیم apache خیلی پیچیده و مفصل هست و مدهای زیادی برای کنترل اون وجود داره که انشاالله در جلسات بعد ، در حد توانم اونا رو هم براتون آماده می کنم.نقل قول:
netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -n
--------------------
خوب بریم تا بحث در مورد کنترل پنل دایرکت ادمین و مدیریت سرور به کمک اون رو ادامه بدیم. توی این جلسه یه سری آموزش مربوط کانفیگ فایل mysql رو براوتون آماده کردم .
در مورد کانفیگ 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