ปัญหา เนื่องจากก่อนหน้านี้ได้มีการ Convert Easy apache 3 เป็น Easy apache 4 จึงส่งผลค่า disable_function ในไฟล์ php.ini หายไปครับ จึงได้มีการแก้ไขโดยการเพิ่มค่าเข้าไปทั้งหมด หากพบปัญหาในการใช้งาน Website สามารถดำเนินการได้ตามข้อมูลด้านล่างครับ วิธีการแก้ไขปัญหา1. ตรวจสอบ Version Mutiphp ว่าลูกค้าใช้งานอยู่ใน Version ใด WHM >> Software >> MultiPHP Manager 2. เมื่อทราบ Version ที่ลูกค้าใช้งานแล้วสามารถดำเนินการ Enable Function ได้โดย 2.1 ดำเนินการค้นหาคำว่า disable_function จากนั้นให้ทำการลบข้อมูลที่ลูกค้าต้องการใช้งานออกเช่น phpinfo , popen , system ตาม Part version ที่ลูกค้าใช้งานดังนี้ Cloudlinux alt-php44 >> /opt/alt/php44/etc/php.ini alt-php51 >> /opt/alt/php51/etc/php.ini alt-php52 >> /opt/alt/php52/etc/php.ini alt-php53 >> /opt/alt/php53/etc/php.ini alt-php54 >> /opt/alt/php54/etc/php.ini alt-php55 >> /opt/alt/php55/etc/php.ini alt-php56 >> /opt/alt/php56/etc/php.ini alt-php70 >> /opt/alt/php70/etc/php.ini alt-php71 >> /opt/alt/php71/etc/php.ini alt-php72 >> /opt/alt/php72/etc/php.ini alt-php73 >> /opt/alt/php73/etc/php.ini Easy apache ea-php54 >> /opt/cpanel/ea-php54/root/etc/php.ini ea-php56 >> /opt/cpanel/ea-php56/root/etc/php.ini ea-php70 >> /opt/cpanel/ea-php70/root/etc/php.ini ea-php71 >> /opt/cpanel/ea-php71/root/etc/php.ini ea-php72 >> /opt/cpanel/ea-php72/root/etc/php.ini
ปัญหา เนื่องจากใน Mysql version 5.7 เป็นต้นไปจะมีการเปิดการใช้งาน Function : ONLY_FULL_GROUP_BY และNO_ZERO_DATE โดย Default ส่งผลให้ Website ของลูกค้าไม่สามารถใช้งานได้ วิธีการแก้ไข 1. Access SSH เข้าไปที่ Server ที่ต้องการ 2. ทำการตรวจสอบว่ามีการเปิด Function : ONLY_FULL_GROUP_BY และ NO_ZERO_DATE ไว้อยู่หรือไม่โดยการ Run command : mysql จากนั้นใส่ข้อมูล SELECT @@sql_mode; [root@system ~]# mysql Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 4330Server version: 5.7.25-log MySQL Community Server (GPL) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>SELECT @@sql_mode; 3. จะแสดงข้อมูล Function ที่มีการเปิดการใช้งานทั้งหมด mysql> SELECT @@sql_mode;+------------------------------------------------------------------------------------------------------------------------+| @@sql_mode |+------------------------------------------------------------------------------------------------------------------------+| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |+------------------------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec) mysql> 4. หากพบว่ามีการเปิดการใช้งาน Function : ONLY_FULL_GROUP_BY และ NO_ZERO_DATE ให้ทำการปิดโดยให้ไปดำเนินการที่ไฟล์ /etc/my.cnf [root@system ~]# nano -w /etc/my.cnf 5. ทำการเพิ่มข้อมูลตามรายละเอียดด้านล่าง [mysqld]sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 6. ทำการ Restart service mysql [root@system ~]# /scripts/restartsrv_mysql
วิธีติดตั้ง free SSL tool ของ LetsEncrypt บน DirectAdmin 1. สำหรับ Server ที่เป็น CentOS 6 หรือที่ใหม่กว่า จะต้องทำการตั้งค่าให้ DA to allow SNI โดยจะต้องเข้าไปเพิ่มค่า enable_ssl_sni=1 ในไฟล์ /usr/local/directadmin/conf/directadmin.conf 2. ทำการ Enable letsencrypt=1 ในไฟล์ /usr/local/directadmin/conf/directadmin.conf 3. Restart DirectAdmin run command : echo "action=directadmin&value=restart" >> /usr/local/directadmin/data/task.queue; /usr/local/directadmin/dataskq d2000 4. Add the /.well-known Alias cd /usr/local/directadmin/custombuild ./build rewrite_confs 5. จากนั้นให้ run script cd /usr/local/directadmin/custombuild ./build update ./build letsencrypt 6. เมื่อเสร็จแล้วให้ login User Level -> SSL Certificates เข้าไปติดตั้ง อ้างอิง : https://help.directadmin.com/item.php?id=648 https://help.directadmin.com/item.php?id=641&in1=letsencrypt&in2=1
ตรวจสอบที่ Part : /etc/usersdata ก่อนทุกครั้งว่ามีข้อมูลหรือไม่ ปัญหา ไม่สามารถตรวจสอบ Account ของลูกค้าผ่านหน้า WHM >> List account ได้ วิธีการแก้ไข 1. Access SSH เข้าไปที่ Server ที่ต้องการ 2. ทำการย้าย Directory ในส่วนของ /var/cpanel/userdata โดยใช้คำสั่ง [root@vps ~]#mv /var/cpanel/userdata /var/cpanel/userdata.orig 3. ทำการสร้าง Directory ขึ้นมาใหม่โดยใช้คำสั่ง [root@vps ~]# cd /var/cpanel/ [root@vps cpanel]# mkdir /var/cpanel/userdata 4. ทำการ run script เพื่อทำการสร้างข้อมูลของ User ทั้งหมดขึ้นมาใหม่ [root@vps cpanel]# /usr/local/cpanel/bin/userdata_update --reset 5. ทำการตรวจสอบความถูกต้องของการตั้งค่า [root@vps ~]# /usr/local/cpanel/bin/fix_userdata_perms 6. ทำการ Update cache [root@vps ~]# /scripts/updateuserdatacache 7. Rebuild Apache [root@vps ~]# /scripts/rebuildhttpdconf ตรวจสอบการใช้งานอีกครั้งว่าสามารถ list account ได้แล้วหรือไม่
วิธี Config firewall csf & lfd ให้ Allow port 20,21 และ ping เฉพาะ ip ที่ต้องการ เงื่อนไขที่ต้องการ 1. ต้องการปิด Port TCP IN 20 และ 21 แต่จะให้สามารถใช้งาน FTP ด้วย Port 20 และ 21 ได้จาก Ip ที่กำหนดเท่านั้น 2. ต้องการปิด icmp ไม่ให้สามารถ Ping ได้แต่จะอนุญาตแค่เฉพาะ Ip ที่ต้องการสามารถ Ping ได้ วิธีดำเนินการตามเงื่อนไขที่ 1 ต้องการปิด Port TCP IN 20 และ 21 แต่จะให้สามารถใช้งาน FTP ด้วย Port 20 และ 21 ได้จาก Ip ที่กำหนดเท่านั้น 1. Login WHM >> Home >> Plugins >> ConfigServer Security & Firewall >> Firewall Configuration 2. ทำการลบข้อมูลในส่วนของ TCP IN Port 20 และ 21 ออกเพื่อไม่ให้สามารถใช้งาน FTP ได้ 3. ไปที่เมนู Home >> Plugins >> ConfigServer Security & Firewall >> Firewall Allow IPs ทำการเพิ่มข้อมูล tcp|in|d=20_21|s=203.78.98.10 วิธีดำเนินการตามเงื่อนไขที่ 2 ต้องการปิด icmp ไม่ให้สามารถ Ping ได้แต่จะอนุญาตแค่เฉพาะ Ip ที่ต้องการเท่านั้นสามารถ Ping ได้ 1. Login WHM >> Home >> Plugins >> ConfigServer Security & Firewall >> Firewall Configuration 2. ทำการปิดการใช้งาน ICMP_IN และ ICMP_OUT 3. ไปที่เมนู Home >> Plugins >> ConfigServer Security & Firewall >> Firewall Allow IPs ทำการเพิ่มข้อมูล icmp|in|d=ping|s=203.78.98.10