# mysqldump -u root -p --all-databases > backup.sql
แสดงบทความที่มีป้ายกำกับ linux แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ linux แสดงบทความทั้งหมด
วันอาทิตย์ที่ 21 มกราคม พ.ศ. 2567
วันอังคารที่ 29 สิงหาคม พ.ศ. 2566
วันอังคารที่ 4 กรกฎาคม พ.ศ. 2566
คำสั่งลีนุกสำหรับอัพเดท หรือเปลี่ยนวันเวลา บนเซิฟเวอร์ ลีนุก Linux command to change date and time on linux centos
#date 081813562023
08 month
18 day
13 hour
56 minute
2023 year
วันอังคารที่ 22 ธันวาคม พ.ศ. 2558
apache not start suexec mechanism enabled (wrapper /usr/sbin/suexec)
Cent os apache start failed
error log show
suexec mechanism enabled (wrapper /usr/sbin/suexec)
อยุ่ๆมาวันหนึ่ง เข้าเว็บไม่ได้ซะง้าน
ไปเช็กดู service httpd start failed
หามาสองวันล่ะ ไม่รู้ทำงัย มีวิธีเดียวก็ไปไล่ดู log เท่านั้นแหล่ะ
ดู error log มันขึ้น
suexec mechanism enabled (wrapper /usr/sbin/suexec)
แก้ไม่ถูกเลยเซ็งจริงๆๆ หาในกูเกิ้ลก็ไม่เจอ
ไล่ดูในล็อกเรื่อยๆ ไปเจอ nss_error_log
มันแจ้งให้ใส่
Unable to verify certificate 'Server-Cert'. Add "NSSEnforceValidCerts off""
to nss.conf so the server can start until the problem can be resolved.
ก็แค่ไปเปิดไฟล์ใน /etc/httpd/conf.d/nss.conf
แล้วเพิ่มบรรทัดนี้เข้าไป NSSEnforceValidCerts off แล้วเซฟ
ก็สตาร์ทอปาเซ่ได้ดังเดิมหุหุๆๆ
error log show
suexec mechanism enabled (wrapper /usr/sbin/suexec)
อยุ่ๆมาวันหนึ่ง เข้าเว็บไม่ได้ซะง้าน
ไปเช็กดู service httpd start failed
หามาสองวันล่ะ ไม่รู้ทำงัย มีวิธีเดียวก็ไปไล่ดู log เท่านั้นแหล่ะ
ดู error log มันขึ้น
suexec mechanism enabled (wrapper /usr/sbin/suexec)
แก้ไม่ถูกเลยเซ็งจริงๆๆ หาในกูเกิ้ลก็ไม่เจอ
ไล่ดูในล็อกเรื่อยๆ ไปเจอ nss_error_log
มันแจ้งให้ใส่
Unable to verify certificate 'Server-Cert'. Add "NSSEnforceValidCerts off""
to nss.conf so the server can start until the problem can be resolved.
ก็แค่ไปเปิดไฟล์ใน /etc/httpd/conf.d/nss.conf
แล้วเพิ่มบรรทัดนี้เข้าไป NSSEnforceValidCerts off แล้วเซฟ
ก็สตาร์ทอปาเซ่ได้ดังเดิมหุหุๆๆ
วันพฤหัสบดีที่ 8 ตุลาคม พ.ศ. 2558
ติดตั้ง Syslog NG เก็บ Log file จาก Cisco RV016 10/100 16-Port VPN Router
1. ติดตั้ง CentOS 6.5 (ไอพี 192.168.1.30)
2. ติดตั้ง Syslog NG
https://denard.me/post/installing-syslog-ng-on-centos-6-4/
3. คอนฟิก Syslog NG
เพิ่มท้ายไฟล์ /etc/syslog-ng/syslog-ng.conf
# Log from Endian Server
source s_endianserver {
tcp(ip("0.0.0.0")port(514)keep-alive(yes)max-connections(300));
udp(ip("0.0.0.0") port(514));
};
destination d_logserver {
file("/var/log/$HOST/$R_YEAR/$R_MONTH/squid-$R_YEAR-$R_MONTH-$DAY.log"
owner(root) group(adm) perm(665)
create_dirs(yes) dir_perm(0775));
};
log {
source(s_endianserver);
destination(d_logserver);
};
4.รีสตาร์ท เซอวิส
5.เปิดเซอวิส ของ Cisco (ไอพี 192.168.1.250)
7.จะได้โฟลเดอร์เก็บไฟล์ ใน /var/log/
******************
-ในส่วนของ s_endianserver และ d_logserver ตั้งชื่อได้ตามใจชอบเลยครับ เสร็จแล้วจะได้ดังรูป
-อธิบายเพิ่มเติมนะครับ ตรง source s_endianserver หมายถึงส่วนต้นทาง ที่ส่ง log มาเก็บที่เครื่องนี้
ip 0.0.0.0 port 514 หมายถึง ยอมรับ log จากทุก ip ที่ส่งมาผ่าน port 514
-ตรง destination d_logserver หมายถึงไฟล์ที่ใช้เก็บ log
โดยตามตัวอย่างนี้จะเก็บ log แยกตามชื่อ host ต้นทาง / ปี / เดือน / log ไฟล์ ของแต่ละวัน
-ตรง log อันนี้เป็นการจับคู่ ต้นทางและปลายทางเข้าด้วยกัน (อาจใส่ filter เข้าไปด้วยก็ได้)
2. ติดตั้ง Syslog NG
https://denard.me/post/installing-syslog-ng-on-centos-6-4/
3. คอนฟิก Syslog NG
เพิ่มท้ายไฟล์ /etc/syslog-ng/syslog-ng.conf
# Log from Endian Server
source s_endianserver {
tcp(ip("0.0.0.0")port(514)keep-alive(yes)max-connections(300));
udp(ip("0.0.0.0") port(514));
};
destination d_logserver {
file("/var/log/$HOST/$R_YEAR/$R_MONTH/squid-$R_YEAR-$R_MONTH-$DAY.log"
owner(root) group(adm) perm(665)
create_dirs(yes) dir_perm(0775));
};
log {
source(s_endianserver);
destination(d_logserver);
};
4.รีสตาร์ท เซอวิส
5.เปิดเซอวิส ของ Cisco (ไอพี 192.168.1.250)
6.รีสตาร์ท เราเตอร์
7.จะได้โฟลเดอร์เก็บไฟล์ ใน /var/log/
******************
-ในส่วนของ s_endianserver และ d_logserver ตั้งชื่อได้ตามใจชอบเลยครับ เสร็จแล้วจะได้ดังรูป
-อธิบายเพิ่มเติมนะครับ ตรง source s_endianserver หมายถึงส่วนต้นทาง ที่ส่ง log มาเก็บที่เครื่องนี้
ip 0.0.0.0 port 514 หมายถึง ยอมรับ log จากทุก ip ที่ส่งมาผ่าน port 514
-ตรง destination d_logserver หมายถึงไฟล์ที่ใช้เก็บ log
โดยตามตัวอย่างนี้จะเก็บ log แยกตามชื่อ host ต้นทาง / ปี / เดือน / log ไฟล์ ของแต่ละวัน
-ตรง log อันนี้เป็นการจับคู่ ต้นทางและปลายทางเข้าด้วยกัน (อาจใส่ filter เข้าไปด้วยก็ได้)
วันเสาร์ที่ 9 พฤษภาคม พ.ศ. 2558
linux command line to create .tar.gz file
-----CREATE
# tar -zcvf archive_name.tar.gz directory_to_compress
-----EXTRACT
# tar -zxvf archive_name.tar.gz
วันอาทิตย์ที่ 4 มกราคม พ.ศ. 2558
eth0 ไม่ทำงาน ไม่สตาร์ทตอนเริ่มระบบ centos
เมื่อติดตั้ง centos 6.4 เสร็จแล้ว การ์ดแลน eth0 ไม่ทำงาน ไม่สตาร์ทตอนเริ่มระบบ centos ใช้คำสั่ง
#ifup eth0
นี่แค่ให้มันทำงานชั่วคราว
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
เปลี่ยน
ONBOOT="yes"
แค่นี่แหละ
#ifup eth0
นี่แค่ให้มันทำงานชั่วคราว
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
เปลี่ยน
ONBOOT="yes"
แค่นี่แหละ
วันพุธที่ 17 ธันวาคม พ.ศ. 2557
การดำเนินการหลังติดตั้ง CentOS 7
18 Nov 2014
สำหรับลูกค้า Cloud server ที่เลือกใช้งาน CentOS 7 แบบ minimal configuration เราขอแนะนำขั้นตอนที่ควรดำเนินการเพื่อความปลอดภัยในการใช้งาน หลังการ build virtual machine (cloud server) ดังนี้
User management
user : root เป็น user หลักที่จะได้หลังจากที่มีติดตั้ง CentOS เพื่อนำใช้ในการดำเนินการแก้ไขติดตั้งส่วนต่างๆ และเป็น user มีสิทธิ์ในการจัดการสูงสุดของระบบ ดังนั้นเพื่อความปลอดภัยในการใช้งาน เราจึงควรสร้าง user อื่นๆ เพื่อทำหน้าที่ในส่วนนี้แทน และใช้งาน user: root ในกรณีที่จำเป็นเท่านั้น
เริ่มต้นจาก การเข้าสู่ระบบด้วย user: root และสร้าง user ใหม่ รวมทั้งกำหนด password สำหรับ user ที่สร้างขึ้นใหม่ โดยควรกำหนด password ให้ค่อนข้างยากต่อการคาดเดา เช่น มีจำนวน 8 ตัวขึ้นไป, ประกอบด้วยตัวอักษรพิมพ์ใหญ่ พิมพ์เล็ก ตัวเลข และ อักขระพิเศษ
1 | # adduser somchai |
2 | # password somchai |
หลังจากนั้น เราจะกำหนดสิทธิของ user ที่สร้างขึ้นใหม่ด้วย sudo เพื่อให้สามารถดำเนินการในส่วนต่างๆ แทน user :root ได้
1 | #visudo |
เพิ่มสิทธ์ ของ user: somchai ต่อจากบรรทัดของ “root ALL=(ALL) ALL”
1 | somchai ALL=(ALL:ALL) ALL |
บันทึกและออกจากหน้าคำสั่ง
ทดสอบ login ด้วย user: somchai ผ่านหน้า console และ run คำสั่ง เพื่อทดสอบสิทธ์การใช้งาน เช่น
1 | $ sudo iptables –L |
Configure SSH
หลังจากที่เราได้สร้าง user ใหม่แล้ว ต่อไปเราจะเริ่มแก้ไขส่วนต่างๆ ของระบบ จาก user ที่สร้างขึ้น โดยเริมจากกำหนดสิทธิ์ ในการ remote เข้ามายัง server รวมทั้งปิดสิทธิ์การ remote ของ user: root
1 | $ sudo vi /etc/ssh/sshd_config |
แก้ไขจาก
1 | #Port 22 > Port 9009 |
2 |
3 | #PermitRootLogin yes > PermitRootLogin no |
บันทึกและออกจากหน้าคำสั่ง
สามารถตรวจสอบความถูกต้อง ของไฟล์ที่แก้ไขได้ตามคำสั่งด้านล่าง
1 | $ sudo sshd -t |
ทำการ restart SSH service (เพื่อความแน่ใจ ท่านอาจทำกระบวนการนี้ผ่าน console เพื่อไม่ให้ติดปัญหา ssh ถูก block จาก firewall)*
1 | $ sudo systemctl reload sshd.service |
Basic Firewall
สำหรับ CentOS นั้น จะมี firewall มาให้ด้วยแล้ว คือ firewalld และส่วนที่ใช้ในการกำหนดกฎและค่าต่างๆ คือ firewall-cmd ในบทความนี้เราจะกล่าวถึงการปรับค่าของ firewall จากค่าที่ได้มาจากการติดตั้ง server เท่านั้น โดยเมื่อเราสั่ง start service แล้ว เราจะสามารถกำหนดกฏ หรือ port ต่างๆ เพื่อการใช้งานได้
สั่งให้เริ่มต้นการทำงาน
1 | $ sudo systemctl start firewalld |
ส่วนแรกคือ การเปิดการใช้งานให้สามารถ remote มายัง server คือ SSH service
สำหรับ SSH service นั้น หากยังไม่มีการแก้ไข port ของ SSH server สามารถ enable service ได้ด้วยคำสั่ง
1 | # sudo firewall-cmd --permanent --add-service=ssh |
แต่หากมีการเปลี่ยนแปลง SSH port (ซึ่งก่อนหน้านี้เราได้มีการเปลี่ยนแปลงค่าดังกล่าวแล้ว) สามารถดำเนินการกำหนด port ใหม่ได้ด้วยคำสั่ง
1 | $ sudo firewall-cmd --permanent --remove-service=ssh |
2 | $ sudo firewall-cmd --permanent --add-port=9009/tcp |
หากเราต้องการ ไปใช้งานส่วนอื่น เช่น Mail server หรือ Web server สามารถเพิ่มการใช้งานได้
1 | $ sudo firewall-cmd --permanent --add-service=smtp |
2 | $ sudo firewall-cmd --permanent --add-service=http |
ตัวอย่าง การตรวจสอบ service ต่างๆ ที่สามารถเรียกใช้งานได้
1 | $ sudo firewall-cmd --get-services |
เมื่อกำหนดค่า firewall เรียบร้อย สามารถตรวจสอบรายละเอียดส่วนที่มีการแก้ไขได้จาก
1 | $ sudo firewall-cmd --permanent --list-all |
และสั่ง reload ค่าดังกล่าวเพื่อใช้งาน พร้อมทั้งกำหนดให้ service มีเริ่มทำงานตั้งแต่มีการ start เครื่อง
1 | $ sudo firewall-cmd --reload |
2 | $ sudo systemctl enable firewalld |
Time zones
ค่า Time zones โดยปกติ จะมีการกำหนดตั้งแต่ช่วงการติดตั้งแล้ว แต่เราควรตรวจสอบเวลาและ Time zones ให้ถูกต้องอีกครั้งก่อนการเริ่มต้นใช้งาน
1 | $ sudo timedatectl list-timezones |
2 | $ sudo timedatectl set-timezone Asia/Bangkok |
3 | $ sudo timedatectl |
Network Time Protocol
เมื่อกำหนดค่า Time zones ถูกต้องแล้ว ต่อไปเราจะทำการตั้งค่า การ sync ค่าเวลาจาก server อื่น เพื่อให้มีเวลาการทำงานที่ถูกต้องและตรงกัน ซึ่งสำหรับ Service ที่นำมาใช้งานคือ ntp ซึ่ง สามารถติดตั้งได้จาก default repositories ของ CentOS
1 | $ sudo yum install ntp |
2 | $ sudo systemctl start ntpd |
3 | $ sudo systemctl enable ntpd |
Keep OS up-to-date (patching)
เราควรมีการ update package ต่างๆ ให้เป็น version ใหม่อยู่อย่างสม่ำเสมอ เพื่อป้องกันช่องโหว่งที่อาจจะพบได้ในบาง version จึงควรรันคำสั่งนี้เป็นระยะๆ (สัปดาห์ละครั้งเป็นต้น)
1 | $ sudo yum update |
เคดิตจากเว็บ http://www.hostpacific.com/basic-centos7-configuration/
สมัครสมาชิก:
บทความ (Atom)