วันเสาร์ที่ 25 เมษายน พ.ศ. 2563

วิธีตั้งค่า Vesta Control Panel ให้เว็บ Wordpress ไม่ล่ม เมื่อเซิร์ฟเวอร์มีคนเข้าเยอะๆ

หลังจากที่เราติดตั้ง Vesta Control Panel แล้วได้ใช้ไปสักพัก ติดปัญหาคือเว็บนั้นล่มเมื่อมีคนเข้าประมาน 300-400 คน สถิติจากใน Google Analytics ซึ่งเป็นปัญหามาโดยตลอดถึงแม้นจะอัพ Digitalocean ให้สเป็คสูงขึ้นก็ตาม

จนกระทั้งผมได้มาลอง Plesk และ Open speed lite สองตัวนี้สามารถรองรับคนเข้าได้สูงกว่า Vesta Control Panel มาก ทั้งที่ใช้สเป็ค Digitalocean เท่ากัน

ทำให้เกิดการลอง Config เซิร์ฟเวอร์ที่ใช้ Vesta Control Panel ให้รองรับการเข้าเว็บ Wordpress ได้สูงสุด

ขั้นตอนแรก





ให้ทำการตั้งค่า Proxy SupportNGINX โดยไปที่ WEB กดปุ่ม Edit แล้วทำการเลือก Caching


ขั้นตอนที่สอง




แก้ไขไฟล์ ใน /etc/nginx/nginx.conf โดยเปลี่ยน worker_processes auto เป็น 5 และ เปลี่ยน worker_connection 1024 เป็น 24000


worker_processes 5;
worker_connection 24000;
ทำการ Restart Service nginx โดยใช้คำสั่ง
service nginx restart


ขั้นตอนที่สาม


แก้ไขไฟล์ /etc/mysql/my.cnf โดยเปลี่ยน max_connections=30 เป็น300 และ max_user_connections=20 เป็น 200

max_connections=300
max_user_connections=200
ทำการ Restart Service Mysql โดยใช้คำสั่ง
service mysql restart


ขั้นตอนที่สี่




โหลดปลั๊กอิน LiteSpeed Cache มาติดตั้งเพื่อทำ Cache เว็บ Wordpress

เท่านี้เป็นการเสร็จการตั้ง Vesta ให้สามารถรับคนได้สูงๆ และไม่ล่มได้
จากผลการทดสอบ ที่ Ram 1 gb นั้นยังมีล่มบ้างบางผลการทดสอง Load test แต่ถ้าอัพสเป็คให้เป็น Ram 2 gb จากผลทดสอบนั้นเว็บไม่ล่มมีการตอบกลับรีเควสสม่ำเสมอ รับคนได้ 2000 คนต่อวิได้สบายๆ


วันจันทร์ที่ 1 เมษายน พ.ศ. 2562

วิธีรีเซตหรือเปลี่ยนรหัสผ่าน เข้า vestacp เมื่อล็อกอินไม่ได้

เมื่อไหร่ลืมรหัสผ่านเข้า Control panel vesta ต้องการที่จะรีตเซตรหัสผ่าน

วิธีแก้ไข

เปิดหน้าต่าง Command Line พิมพ์คำสั่ง
cd /usr/local/vesta/bin/
./v-change-user-password admin password

วันพุธที่ 1 สิงหาคม พ.ศ. 2561

แก้ปัญหา ติดตั้ง Vesta Control Panel แล้วใช้ปลั๊กอิน WP Cerber Security ใน Wordpress แล้วขึ้น IP ของ server ตัวเอง



วันก่อน ผมได้ติดตั้ง Vestacp เสร็จ หลังจากได้ลองเล่นไปสักพัก เกิดปัญหาอยู่ 1 อย่างคือ
ปลั๊กอินมองไม่เห็น IP client ซึ้งผมได้ลงปลั๊กอิน WP Cerber Security ของ Wordpress เพื่อเอาไว้เพิ่มความปลอดภัยแต่ไม่รู้ว่าเกิดบัคหรืออะไรนะ ทำให้ปลั๊กอินตัวนี้มองเห็น IP เป็น IP เครื่องเซิร์ฟเวอร์ตัวเองอย่างเดียว อาจจะเป็นปัญหา ที่ apache ทำให้มันบล๊อกเว็บตัวเองตลอดเวลาทำให้ login เข้าระบบไม่ได้


วิธีแก้ไขให้รันคำสั่งใน Command Line


wget https://raw.githubusercontent.com/serghey-rodin/vesta/master/upd/switch_rpath.sh
chmod +x switch_rpath.sh

./switch_rpath.sh

Code จาก switch_rpath.sh

#!/bin/bash
# Switch apache to remoteip module

# Checking rpaf config
if [ ! -e "/etc/apache2/mods-enabled/rpaf.load" ]; then
    exit
fi

# Checking remoteip module
if [ ! -e "/etc/apache2/mods-available/remoteip.load" ]; then
    exit
fi

if [ -f "/etc/apache2/mods-enabled/remoteip.load" ]; then
    echo "RemoteIP is already activated"
    exit
fi

# Disabling rpaf
/usr/sbin/a2dismod rpaf > /dev/null 2>&1
rm -f /etc/apache2/mods-enabled/rpaf.conf

# Enabling remoteip
/usr/sbin/a2enmod remoteip > /dev/null 2>&1

# Creating configuration
conf="/etc/apache2/mods-enabled/remoteip.conf"
echo "<IfModule remoteip_module>" > $conf
echo "    RemoteIPHeader X-Real-IP" >> $conf
for ip in $(ls /usr/local/vesta/data/ips); do
    echo "    RemoteIPInternalProxy $ip" >> $conf
done
echo "</IfModule>" >> $conf

sed -i "s/LogFormat \"%h/LogFormat \"%a/g" /etc/apache2/apache2.conf

# Restarting apache
/usr/sbin/apachectl restart > /dev/null 2>&1

# EOF
exit

อ้างอิงจาก https://forum.vestacp.com/viewtopic.php?t=13817#p56361



วันพุธที่ 11 กรกฎาคม พ.ศ. 2561

ติดตั้ง Vesta Control Panel และ Wordpress บน Digitalocean

นี้เป็นบทความแรกที่เขียนขึ้นมาเพื่อก่อนให้เกิดประโยชน์สำหรับคนที่กำลังสนใจติดตั้ง Wordpress บน DigitalOcean ที่ผมได้เขียนบทความนี้ขึ้นมาเพราะกลัวว่าจะลืมวิธีการติดตั้ง Wordpress ยิ่งนับวันยิ่งลืมสิ่งที่เคยทำไปแล้วโดยบนความนี้จะมีการติดตั้ง Vesta Control Panel เพื่อไว้คอยจัดการเซิร์ฟเวอร์ให้คล้ายๆ กับแชร์โฮส ทำให้ 1 เครื่องเซิร์ฟเวอร์สามารถเพิ่มเว็บไซต์ได้หลายๆ เว็บทำให้เราใช้ทรัพยากรได้คุ้มค่าและการติดตั้ง Wordpress แบบ Command Line เพียงแค่ run คำสั่งตามที่เขียนเอาไว้ในบทความนี้ก็สามารถลง Wordpress ได้อย่างรวดเร็ว มาเริ่มติดตั้งกันเลย

ขั้นแรกเราต้องสมัครสมาชิก DigitalOcean ก่อนซึ้งที่เลือกใช้ Cloud ของ DigitalOcean เนื่องจากค่าบริการต่อเดือนที่มีราคาถูกและคุ้มค่ามาก
เราจ่ายเงินแค่ 5 ดอล เราก็ได้เครื่องเซิร์ฟเวอร์มาไว้ใช้ สามารถ สมัคร DigitalOcean ได้ที่นี้ www.digitalocean.com

เมื่อเราสมัคร DigitalOcean เสร็จแล้วให้เราสร้าง Droplets โดยเลือก Ubuntu 16.04.4 x64



เลือกขนาดของเครื่องเซิร์ฟเวอร์ตามที่ต้องการในบทความนี้ใช้แค่ 5 ดอล

เลือกเซิร์ฟเวอร์อยู่สิงคโปร์ เลือก IPv6 และ Monitoring แล้วก็กดปุ่ม Create 


รอสักพักเราจะได้รับ Username,Password และ IP ของเครื่องเซิร์ฟเวอร์ที่เราสร้างในอีเมล


ขั้นตอนการติดตั้ง Vesta Control Panel

ให้เราทำการ SSH เข้ามายังเครื่องเซิร์ฟเวอร์ของตัวเองแล้วใช้คำสั่ง

curl -O http://vestacp.com/pub/vst-install.sh

bash vst-install.sh --force
เมื่อขึ้นข้อความ
- Would you like to continue [y/n] : ให้ใส่ y
- Please enter admin email address : ให้ใส่อีเมล
- Please enter FQDN hostname : ใส่ชื่อเว็บไซต์


รอติดตั้ง Vesta Control Panel ประมาน 15 นาที เมื่อติดตั้งเสร็จแล้วจะขึ้นข้อความตามรูปข้างล่างนี้ให้ทำการจด Username และ Password เอาไว้ เพื่อใช้ในการ login


เข้าหน้า Login ของ Vesta Control Panel ทาง Port 8083 จากตัวอย่างจะเข้าทาง Url http://188.166.231.115:8083 จะเจอหน้า login ให้ใส่ Username และ Password ที่ได้จดเอาไว้


เมื่อเข้ามาใน Vesta Control Panel แล้วให้มาที่แถบ WEB แล้วกดปุ่ม + เพื่อทำการเพิ่มเว็บ


ใส่รายละเอียด WEB ของเราลงไป กดปุ่ม Add เพื่อบันทึกข้อมูล


จากนี้ให้เรามาที่แถบ DB และกด + เพื่อทำการสร้างฐานข้อมูล


ทำการตั้งค่า Database, User, Password ตามที่เราต้องการแล้วกดปุ่ม Add เพื่อสร้างฐานข้อมูล เอาไว้ใช้ในการ Config Wordpress ในภายหลัง



วิธีติดตั้ง Wordpress โดยใช้ Command Line

เข้าไปไดเร็กทอรี่ของเว็บเรา ที่สร้างโดย Vesta Control Panel ตาม Path นี้

cd /home/admin/web/example.com/public_html

เมื่อเราอยู่ที่ ไดเร็คเทอรี่ public_html เรียบร้อยแล้วเราจะทำการโหลดไฟล์ Wordpress และทำการติดตั้งให้เราใช้คำสั่ง

wget https://wordpress.org/latest.zip
unzip latest.zip
cd wordpress
mv * .[^.]* ..
rmdir wordpress
rm index.html

ตั้งค่ามีสิทธิ์ใน Wordpress บนระบบ linux

sudo touch .htaccess
sudo chmod 660 .htaccess
mkdir wp-content/upgrade
sudo chown -R admin:admin ..
sudo find .. -type d -exec chmod g+s {} \;
sudo chmod g+w wp-content
sudo chmod -R g+w wp-content/themes
sudo chmod -R g+w wp-content/plugins
เมื่อเข้าหน้าเว็บจะขึ้นหน้าต่างให้ Config ตามรูปข้างล่างนี้ เป็นอันเสร็จการติดตั้ง Wordpress