DirectAdmin

DirectAdmin

15 items(1/2) 2 Next » Last »|

DirectAdmin : Delete All Ticket and Message

โดย Little Bear on 5 ธ.ค. 62 09:22

cd /usr/local/directadmin/data/admin
echo -n "" > tickets.list

วิธีการติดตั้ง Let’s Encrypt automated free SSL certificate

โดย Little Bear on 31 ม.ค. 60 13:55

เข้าสู่ยุค https จึงจำต้องทำเสียแล้ว

มาลองติดตั้ง Let's Encrypt บน Directadmin กันอีกสักรอบ

1. เริ่มด้วยการแก้ไข config ของ Directadmin ให้สามารถใช้งาน Let's Encrypt ก่อน

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

สำหรับใครที่ใช้ path : /var/www/html/.well-known (ใช้โดเมนเดียว) ให้เพิ่ม

enable_ssl_sni=1
letsencrypt=1

ส่วนใครที่ใช้ path : /home/user/domains/domain.com/public_html/.well-known (ใช้หลายโดเมน) ให้เพิ่ม

enable_ssl_sni=1
letsencrypt=2

หรือจะสั่งผ่าน Terminal ก็ได้โดย

echo enable_ssl_sni=1 >> /usr/local/directadmin/conf/directadmin.conf
echo letsencrypt=2 >> /usr/local/directadmin/conf/directadmin.conf

แล้วสั่ง update config โดย

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

2. แล้วมาเพิ่ม Let's Encrypt ให้กับแต่ละเว็บ

กำหนดให้เว็บสามารถใช้งาน Secure SSL ก่อน

แล้วจึงไปเพิ่ม SSL Certificates ให้กับเว็บ โดยเลือก Free & automatic certificate from Let's Encrypt

(ต้องทำทั้ง www และ ไม่มี www)

ถ้าต้องการให้สามารถใช้งานได้ทั้ง https และ http ให้สร้าง link private _ html ให้ชี้ไปที่ public _ html ด้วยคำสั่ง

ln -s public _ html private _ html

แต่ถ้าต้องการให้ใช้งานเฉพาะ https อย่างเดียว ให้ rename public _ html ไปเป็น private _ html แล้วสร้าง folder public _ html ใหม่ และสร้างไฟล์ .htaccess โดยเพิ่มคำสั่ง

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Let's Encrypt ก็จะเป็นของเรา

เปลี่ยนค่าใน System Backup

โดย Little Bear on 3 ต.ค. 56 09:32

ปรับค่าในการทำ System Backup ใหม่ เป็น

  • ยกเลิก Configure Full System Backup : Backup MySQL Databases
  • เพิ่ม Directories : /backup/daily/home/mysql
  • เปลี่ยนเวลา cronjob เป็น 00:01 น. ทุกวัน

Update : สถานการณ์ของ load ดีขึ้น System backup เสร็จภายใน 1 ชั่วโมง rsync fullbackup เริ่มเวลา 03.00 น. เสร็จประมาณ 07.00 น.

ปิด cronjob บางตัวของ Directadmin

โดย Little Bear on 7 ส.ค. 56 02:34

รู้สึกว่า Directadmin จะ run cronjob เพื่อคำนวณสถิติทุกวันตอน 10 นาทีหลังเที่ยงคืน ทำให้ I/O เต็มเกือบ 100% ก็เลยขอลองปิดดูสักพัก แล้วค่อยว่ากันอีกที

root@godserv:# nano /etc/cron.d/directadmin_cron
* * * * * root /usr/local/directadmin/dataskq
2 0-23/6 * * * root echo 'action=vacation&value=all' >> /usr/local/directadmin/data/task.queue;
#5 5 * * 0 root /sbin/quotaoff -a; /sbin/quotacheck -augm; /sbin/quotaon -a;
#10 0 * * * root echo 'action=tally&value=all' >> /usr/local/directadmin/data/task.queue
20 4 1 * * root echo 'action=reset&value=all' >> /usr/local/directadmin/data/task.queue
0 4 * * * root echo 'action=check&value=license' >> /usr/local/directadmin/data/task.queue

ได้มาจาก www.thaihosttalk.com

Directadmin เข้า port 2222 ไม่ได้

โดย Little Bear on 10 ก.ค. 56 02:13

เข้า DirectAdmin ไม่ได้มาหลายวัน กะว่าจะ restart server แต่ว่า รอก่อน จะทำกลางวัน เผื่อมีปัญหาจะได้วิ่งไป CAT ได้

วันนี้ลองอีกทีด้วยว่า เจอว่า PID file อาจจะไม่ sync ในกรณีนี้ให้บังคับ restart directadmin เลยด้วย

killall -9 directadmin
/etc/init.d/directadmin start

ใช้ได้แฮะ ไม่ต้อง reboot server

นี่แหละน๊า "ปัญหาทุุกอย่าง ไม่จำเป็นต้อง restart server ก็ได้" เนาะ

ที่มา help.directadmin.com

How to update Directadmin by SSH

โดย Little Bear on 26 มิ.ย. 56 10:11

Directadmin มีอัพเดทเวอร์ชั่นใหม่ แต่ผมไม่สามารถเข้า https://www.mydomain.com:2222 ได้ เลยต้อง SSH เข้าไป build เอง

ขั้นตอนคือ

  • SSH เข้าไปที่ server
  • เปลี่ยน directory ไปที่ /usr/local/directadmin/custombuild
  • พิมพ์ : "./build update" เพื่อดึงรายการอัพเดทล่าสุด
  • พิมพ์ : "./build versions" เพื่อดูรายการอัพเดทใหม่พร้อมรายละเอียดเวอร์ชั่นของแต่ละ package และเวอร์ชั่นใหม่ที่ยังไม่ปรับปรุง
  • พิมพ์ : "./build update_versions" เพื่อทำการอัพเดท

เท่านี้แหละ

ที่มา hostjunkies.com

DirectAdmin system backup

โดย Little Bear on 16 พ.ค. 56 09:09

เคยสำรองข้อมูลบน DirectAdmin ด้วยคำสั่ง CMDSYSTEMBACKUP โดยตั้งเวลาไว้ให้ทำงานตอนตี 5 กว่า (กว่าจะสำรองเสร็จปาเข้าไปเกือบ 10 โมงเช้า) DA ทำสำรองข้อมูลของ MySql ด้วยคำสั่ง mysqldump ทำให้ load เยอะมากจนเว็บล่ม ยังหาทางแก้ปัญหาไม่ได้ ตั้งใจว่าจะแก้ปัญหาชั่วคราวโดยการเปลี่ยนเวลาในการ backup ไปเป็นตอนดึก ๆ แทน

แต่ปัญหาคือจำไม่ได้แล้วว่าเข้าไปกำหนดผ่านทางเมนูไหน (นานมาแล้ว)

และเพิ่งหาเจอว่าอยู่ที่

http://YOUR-IP:2222/CMD_SYSTEM_BACKUP

http://YOUR-IP:2222/CMD_ADMIN_BACKUP

เปลี่ยนเวลาเรียบร้อยแล้ว แต่ค่อยหาทางลด load อีกที

Directadmin : ย้ายโดเมนจากยูสเซอร์หนึ่งไปยังอีกยูสเซอร์หนึ่ง

โดย Little Bear on 1 พ.ค. 55 14:25

Transfer a domain from one user to another

ใช้ script นี้

cd /usr/local/directadmin/scripts
./move_domain.sh domain.com olduser newuser

แต่ว่า หลังจากย้ายแล้ว ฐานข้อมูลจะยังคงเป็นชื่อเดิม ยูสเซอร์เดิม ก็จะต้องทำการย้ายฐานข้อมูลเองนะครับ

ที่มา Transfer a domain from one user to another

Centos 6 minimal + DirectAdmin

โดย Little Bear on 3 เม.ย. 55 16:21

การติดตั้ง DirectAdmin บน CentOS 6 minimal ซึ่ง CentOS 6 minimal ไม่มี library พื้นฐานบางตัวมาให้โดยเฉพาะ mysql หลังจากลง CentOS เรียบร้อย ให้สั่ง update และติดตั้ง package เพิ่มเติม

yum update
rpm -Uvh http://mirrors.thzhost.com/epel/6/x86_64/epel-release-6-5.noarch.rpm
yum install gcc-c++ make patch screen wget quota ncftp bind bind-utils caching-nameserver which bison flex webalizer patch openssl-devel.x86_64 curl-devel.x86_64 e2fsprogs-devel.x86_64 perl-DBI ntp tcpdump iptables telnet traceroute rsync openssh-clients perl-Term-ReadKey autoconf rpm-build vim-enhanced nginx automake libaio libcurl-devel

หลังจากนั้นให้ติดตั้ง DirectAdmin ตามปกติ

คู่มือติดตั้ง CentOS 6

ที่มา www.thaihosttalk.com

วิธีการตั้งค่าให้ DirectAdmin Block IP อัตโนมัติเมื่อตรวจพบการ Brute Force บน Debian 6 64-bit

โดย Little Bear on 17 พ.ย. 54 01:43

DirectAdmin ตั้งแต่เวอร์ชัน 1.39 เป็นต้นไป ได้เพิ่มความสามารถในการตรวจสอบการ Brute Force หรือการเดาสุ่มรหัสผ่านไปเรื่อยๆ (รายละเอียด) แต่สิ่งหนึ่งที่ DirectAdmin ไม่ได้ทำมาให้คือ ทำการแบนไอพีที่มา Brute Force เราโดยอัตโนมัติ ทำให้ DirectAdmin ทำได้เพียงแค่แจ้งเตือนว่ามีไอพีใด Brute Force เครื่องเราเรื่อยๆ โดยไม่ได้มีประโยชน์อันใดเพิ่มขึ้นมา (นอกจากทำให้รำคาญอีเมลแจ้งเตือน) เพราะฉะนั้นบทความนี้จะมาบอกถึงขั้นตอนทำให้ DirectAdmin แบนไอพีที่มา Brute Force โดยอัตโนมัติ โดยลินุกซ์ดิสโทรที่ผมใช้คือ Debian 6 64-bit ถ้าใช้ CentOS ลองทำตามขั้นตอนที่นี่ดูครับ

ขั้นแรกให้ลง iptables ก่อนด้วยคำสั่ง

apt-get install iptables

จากนั้นเราจะสร้างสคริปต์ blockip.sh ไว้ที่ /usr/local/directadmin/scripts/custom/blockip.sh โดยมีเนื้อหาตามนี้ครับ

#!/bin/sh

curriptables() {         echo "<br><br><textarea cols=160 rows=60>";         /sbin/iptables -nL         echo "</textarea>"; }
### Make sure it's not already blocked COUNT=`grep -c $ip /etc/network/iptables.save`; if [ "$COUNT" -ne 0 ]; then         echo "$ip already exists in iptables ($COUNT). Not blocking.";         curriptables         exit 2; fi
echo "Adding $ip to iptables...<br>"; /sbin/iptables -I INPUT -s $ip -j DROP /sbin/iptables-save > /etc/network/iptables.save
echo "<br><br>Result:"; curriptables exit 0;

เสร็จแล้วรันคำสั่ง

chmod 700 /usr/local/directadmin/scripts/custom/block_ip.sh

ซึ่งสคริปต์นี้จะทำให้เราสามารถสั่ง block ip ผ่านหน้าจัดการใน DirectAdmin ได้ โดยให้ไปที่เมนู Brute Force Monitor แล้วกดลิงก์ IP Info ของไอพีที่เราต้องการบล็อก หลังจากนั้นให้กดปุ่ม Block This IP ที่ด้านล่างสุด

ถ้าต้องการให้ iptables ถูก restore ข้อมูลใหม่ทุกครั้งที่ reboot เครื่อง ให้ใส่

post-up iptables-restore /etc/network/iptables.save

ลงไปที่ด้านท้ายของไฟล์ /etc/network/interfaces

ถ้าต้องการให้ DirectAdmin ทำการ block ip อัตโนมัติ โดยไม่ต้องมากดปุ่ม Block This IP เอง ให้สร้างไฟล์ /usr/local/directadmin/scripts/custom/bruteforcenotice_ip.sh และใส่เนื้อหาตามนี้

#!/bin/sh
SCRIPT=/usr/local/directadmin/scripts/custom/block_ip.sh
ip=$value $SCRIPT
exit $?;

เสร็จแล้วรันคำสั่ง

chmod 700 /usr/local/directadmin/scripts/custom/brute_force_notice_ip.sh

โดยจำนวนการ Brute Force ก่อนที่จะโดน block ip นั้น สามารถตั้งได้ที่เมนู Administrator Settings > Notify Admins after an IP has และใส่จำนวนที่ต้องการลงไปครับ

ถ้าต้องการยกเลิก block ip อาจจะต้องเข้ามาพิมพ์คำสั่งยกเลิกด้วยตัวเองไปก่อนครับ ด้วยคำสั่งนี้

iptables -D INPUT -s xxx.xxx.xxx.xxx -j DROP
iptables-save > /etc/network/iptables.save

เปลี่ยน xxx.xxx.xxx.xxx เป็น ip ที่เราต้องการยกเลิก block

ที่มา: วิธีการตั้งค่าให้ DirectAdmin Block IP อัตโนมัติเมื่อตรวจพบการ Brute Force บน Debian 6 64-bit , I wish to have a block_ip.sh so I can block IPs through DirectAdmin , How to block an IP in Linux

15 items(1/2) 2 Next » Last »|