ติดตั้ง Caddy Web Server จากแหล่งที่มาสำหรับการปฏิบัติตามใบอนุญาตบน Ubuntu 16.04 LTS

ในเดือนกันยายนปี 2017 แคดดี้ EULA มีการเปลี่ยนแปลงและอินสแตนซ์แคดดี้ทั้งหมดดำเนินการโดยธุรกิจและเว็บไซต์ส่วนตัวที่ดำเนินการพาณิชย์จำเป็นต้องมีใบอนุญาตเชิงพาณิชย์ในแคดดี้ที่ดาวน์โหลดไบนารี บทช่วยสอนนี้ช่วยให้ลูกค้าที่ต้องการติดตั้งเว็บเซิร์ฟเวอร์ Caddy ให้สอดคล้องกับ EULA ใหม่ ในขณะที่เขียนเมื่อรวบรวมแคดดี้จากแหล่งที่มาและสร้างไบนารีของคุณเองคุณไม่จำเป็นต้องมีใบอนุญาตแบบชำระเงินไม่ว่าคุณจะเป็นธุรกิจหรือดำเนินการพาณิชย์บนเว็บไซต์ส่วนตัวของคุณ มันเป็นสิ่งสำคัญที่จะตรวจสอบ EULA ล่าสุดสำหรับการปฏิบัติตามก่อนที่จะทำตามขั้นตอนในบทช่วยสอนนี้

คุณสมบัติ:

  • การกำหนดค่าสั้นเข้าใจได้ง่าย
  • สร้างด้วย Go
  • การบันทึกที่ขยายได้
  • การส่งไฟล์สแตติกที่รวดเร็วที่สุด
  • การสนับสนุนไซต์ & พร็อกซีแบบไดนามิก
  • ตัวตรวจสอบการกำหนดค่าภายใน
  • ไบนารีแบบคงที่
  • ใช้ ciphers ทันสมัยที่ Mozilla แนะนำตามค่าเริ่มต้น
  • การตรวจจับ MITM (คนตรงกลาง)
  • รองรับ SNI (ตัวระบุชื่อเซิร์ฟเวอร์)
  • Let's Let's เข้ารหัสการสร้าง / ดึง / ต่ออายุใบรับรองโดยอัตโนมัติ
  • สนับสนุน OCSP
  • สนับสนุนโฮสต์เสมือน
  • การสนับสนุนการแสดงผล Markdown2html
  • สนับสนุน HTTP / 2, QUIC & Websocket ในตัว
  • โหลดบาลานซ์สนับสนุน reverse proxying & SSL

ข้อกำหนดเบื้องต้น

ปรับปรุงระบบ

ล็อกอินด้วยผู้ใช้ทั่วไปที่ได้รับอนุญาตให้ใช้คำสั่ง sudo อัปเดตระบบดังต่อไปนี้

sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y

ติดตั้ง Caddy From Source

ดาวน์โหลดซอร์สโค้ดของ Caddy เว็บเซิร์ฟเวอร์รุ่นล่าสุด สิ่งนี้ไม่มีปลั๊กอินบุคคลที่สามสำหรับแคดดี้

go get -u github.com/mholt/caddy/caddy && go get -u github.com/caddyserver/builds && cd go/src/github.com/mholt/caddy/caddy

ทางเลือก:หากคุณต้องการtls.dns.vultrปลั๊กอิน dnsproviders บุคคลที่สามให้คัดลอกรายการต่อไปนี้ สิ่งนี้จะดาวน์โหลดทั้งซอร์สโค้ดของ Caddy และtls.dns.vultrปลั๊กอิน dnsproviders บุคคลที่สามหากคุณต้องการใช้

go get -u github.com/mholt/caddy/caddy && go get -u github.com/caddyserver/builds && go get -u github.com/caddyserver/dnsproviders/vultr && cd go/src/github.com/mholt/caddy/caddy && sed -i '38i\\t_ "github.com/caddyserver/dnsproviders/vultr"' caddymain/run.go

รวบรวมcaddyไบนารี การรวบรวมนี้จะใช้เวลาน้อยกว่าหนึ่งนาที

go run build.go

ตรวจสอบรุ่นและรายการปลั๊กอินของcaddyไบนารี

./caddy -version && ./caddy -plugins

คัดลอกไบนารีแคดดี้อยู่ใน~/go/src/github.com/mholt/caddy/caddy/กับ/usr/binไดเรกทอรีและเปลี่ยนกลับไดเรกทอรีรากของไดเรกทอรีผู้ใช้ของคุณ

sudo cp caddy /usr/bin/ && cd

สร้างcaddy.serviceไฟล์ systemd ใน/etc/systemd/system/ไดเรกทอรีโดยใช้echoคำสั่ง

sudo su -c "echo -e '[Unit]\nAfter=network-online.target\nDescription=Caddy HTTP/2 web server\nDocumentation=https://caddyserver.com/docs\nWants=network.target\n\n[Service]\nAmbientCapabilities=CAP_NET_BIND_SERVICE\nCapabilityBoundingSet=CAP_NET_BIND_SERVICE\nEnvironment=CADDYPATH=/etc/ssl/caddy\n## Environment=VULTR_API_KEY=XXXXXXXX ##Uncomment and add your Vultr API (API tab on the Settings page) if using the Vultr DNS Manager to handle DNS for your VPS instance.\nExecReload=/bin/kill -USR1 $MAINPID\nExecStart=/usr/bin/caddy -agree=true -conf=/etc/caddy/caddy.conf -quic -root=/var/tmp\nGroup=www-data\nKillMode=mixed\nKillSignal=SIGQUIT\nLimitNOFILE=1048576\nLimitNPROC=512\nNoNewPrivileges=true\nPrivateDevices=true\nPrivateTmp=true\nProtectHome=true\nProtectSystem=full\nReadWriteDirectories=/etc/ssl/caddy\nRestart=on-abnormal\nTimeoutStopSec=5s\nUser=www-data\n\n[Install]\nWantedBy=multi-user.target' > /etc/systemd/system/caddy.service"

สร้าง/etc/caddy/ไดเรกทอรีซึ่งจะมีไฟล์กำหนดค่าเว็บเซิร์ฟเวอร์ของ Caddy /etc/ssl/caddy/ไดเรกทอรีซึ่งจะมีใบรับรองการเข้ารหัสลับ Let 's; /usr/share/caddy/ไดเรกทอรีซึ่งจะมีไฟล์ตัวอย่างของ html; และ/var/log/caddy/ไดเรกทอรีซึ่งจะมีบันทึกของเว็บเซิร์ฟเวอร์ Caddy โดยใช้mkdirคำสั่ง เปลี่ยนความเป็นเจ้าของกลุ่มเป็นwww-dataกลุ่มโดยใช้chownคำสั่งเป็น/etc/ssl/caddy/และ/var/log/caddy/ไดเรกทอรี ลบการดำเนินการทั่วโลกสิทธิ์การอ่านและเขียนได้โดยใช้chmodคำสั่งเพื่อรักษาความปลอดภัย/etc/ssl/caddy/ไดเรกทอรี

sudo mkdir -p {/etc/{caddy/conf.d,ssl/caddy},/usr/share/caddy,/var/log/caddy} && sudo chown www-data /etc/ssl/caddy/ /var/log/caddy/ && sudo chmod 750 /etc/ssl/caddy/

เปิดใช้งานเว็บเซิร์ฟเวอร์ Caddy

sudo systemctl daemon-reload && sudo systemctl enable caddy

กำหนดค่า Caddy Web Server

แต่ละส่วนด้านล่างอธิบายวิธีกำหนดค่า Caddy สำหรับสถานการณ์ที่แตกต่างกัน คุณสามารถใช้สิ่งเหล่านี้เพื่อการอ้างอิงและข้ามไปยังส่วนที่ตรงกับความต้องการของคุณ

ตั้งค่าแคดดี้เพื่อแสดงหน้า HTML แบบคงที่ (ไม่ใช่ SSL)

สร้างไฟล์เท็มเพลตการกำหนดค่าพื้นฐานระดับรูทที่มีชื่อcaddy.confใน/etc/caddy/ไดเร็กทอรีซึ่งใช้การนำเข้าสำหรับไฟล์คอนฟิกูเรชัน vhost จริงสำหรับเว็บไซต์ HTML ตัวอย่างแบบคงที่ที่มีชื่อexample.com.confใน/etc/caddy/conf.d/ไดเร็กทอรีโดยใช้echoคำสั่ง

sudo su -c 'echo -e "import conf.d/*.conf" > /etc/caddy/caddy.conf' && sudo su -c 'echo -e "example.com:80 {\n\tredir http://www.example.com{url}\n}\nwww.example.com:80 {\n\terrors /var/log/caddy/example.com-error.log\n\timport header.protection\n\tlog /var/log/caddy/example.com-access.log\n\troot /var/www/html/\n}" > /etc/caddy/conf.d/example.com.conf' && sudo su -c 'echo -e "header / {\n\tX-XSS-Protection \"1; mode=block\"\n\tX-Content-Type-Options \"nosniff\"\n\tX-Frame-Options \"SAMEORIGIN\"\n}" > /etc/caddy/conf.d/header.protection'

สร้าง/var/www/htmlไดเรกทอรีและสร้างindex.htmlภายในง่าย ๆโดยใช้echoคำสั่ง

sudo mkdir -p /var/www/html && sudo su -c 'echo -e "<!DOCTYPE html>"\\n"<head>"\\n\\t"<meta charset="utf-8">"\\n\\t"<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">"\\n\\t"<title>Static HTML Page"\\n\\t"</title>"\\n\\t"<meta name="description" content="">"\\n\\t"<meta name="viewport" content="width=device-width, initial-scale=1">"\\n"</head>"\\n"<body>"\\n\\t"<p>Caddy is working."\\n\\t"</p>"\\n"</body>"\\n"</html>" > /var/www/html/index.html'

เริ่มต้นเว็บเซิร์ฟเวอร์ Caddy

sudo systemctl start caddy

เปิดเว็บเบราว์เซอร์ของคุณไปที่ FQDN ( example.com) ของอินสแตนซ์ VPS ของคุณ

ตั้งค่าแคดดี้เพื่อแสดงหน้า HTML แบบคงที่ (SSL)

สร้างไฟล์เท็มเพลตการกำหนดค่าพื้นฐานระดับรูทที่มีชื่อcaddy.confใน/etc/caddy/ไดเร็กทอรีซึ่งใช้การนำเข้าสำหรับไฟล์คอนฟิกูเรชัน vhost จริงสำหรับเว็บไซต์ HTML ตัวอย่างแบบคงที่ที่มีชื่อexample.com.confใน/etc/caddy/conf.d/ไดเร็กทอรีโดยใช้echoคำสั่ง

sudo su -c 'echo -e "import conf.d/*.conf" > /etc/caddy/caddy.conf' && sudo su -c 'echo -e "example.com {\n\tredir https://www.example.com{url}\n}\nwww.example.com {\n\terrors /var/log/caddy/example.com-error.log\n\timport header.protection\n\tlog /var/log/caddy/example.com-access.log\n\troot /var/www/html/\n\ttls [email protected]\n}" > /etc/caddy/conf.d/example.com.conf' && sudo su -c 'echo -e "header / {\n\tX-XSS-Protection \"1; mode=block\"\n\tX-Content-Type-Options \"nosniff\"\n\tX-Frame-Options \"SAMEORIGIN\"\n}" > /etc/caddy/conf.d/header.protection'

สร้าง/var/www/htmlไดเรกทอรีและสร้างindex.htmlภายในง่าย ๆโดยใช้echoคำสั่ง

sudo mkdir -p /var/www/html && sudo su -c 'echo -e "<!DOCTYPE html>"\\n"<head>"\\n\\t"<meta charset="utf-8">"\\n\\t"<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">"\\n\\t"<title>Static HTML Page"\\n\\t"</title>"\\n\\t"<meta name="description" content="">"\\n\\t"<meta name="viewport" content="width=device-width, initial-scale=1">"\\n"</head>"\\n"<body>"\\n\\t"<p>Caddy is working."\\n\\t"</p>"\\n"</body>"\\n"</html>" > /var/www/html/index.html'

เริ่มต้นเว็บเซิร์ฟเวอร์ Caddy

sudo systemctl start caddy

เปิดเว็บเบราว์เซอร์ของคุณไปที่ FQDN ( example.com) ของอินสแตนซ์ VPS ของคุณ

ตั้งค่าแคดดี้ในการประมวลผลหน้า PHP โดยใช้เซิร์ฟเวอร์ PHP-FPM (ไม่ใช่ SSL)

สร้างไฟล์เท็มเพลตการกำหนดค่าพื้นฐานระดับรูทที่มีชื่อcaddy.confใน/etc/caddy/ไดเร็กทอรีซึ่งใช้การนำเข้าสำหรับไฟล์คอนฟิกูเรชัน vhost จริงสำหรับหน้า PHPInfo ตัวอย่างที่มีชื่อexample.com.confใน/etc/caddy/conf.d/ไดเร็กทอรีโดยใช้echoคำสั่ง

sudo su -c 'echo -e "import conf.d/*.conf" > /etc/caddy/caddy.conf' && sudo su -c 'echo -e "example.com:80 {\n\tredir http://www.example.com{url}\n}\nwww.example.com:80 {\n\terrors /var/log/caddy/example.com-error.log\n\tfastcgi / /var/run/php/php7.0-fpm.sock php\n\timport header.protection\n\tlog /var/log/caddy/example.com-access.log\n\troot /var/www/html/\n}" > /etc/caddy/conf.d/example.com.conf' && sudo su -c 'echo -e "header / {\n\tX-XSS-Protection \"1; mode=block\"\n\tX-Content-Type-Options \"nosniff\"\n\tX-Frame-Options \"SAMEORIGIN\"\n}" > /etc/caddy/conf.d/header.protection'

สร้างวิindex.phpใน/var/www/htmlไดเรกทอรีโดยใช้echoคำสั่ง

sudo su -c 'echo -e "<?php\nphpinfo();\n?>" > /var/www/html/index.php'

ติดตั้งเซิร์ฟเวอร์ PHP-FPM เพื่อประมวลผลไฟล์ PHP

sudo apt install php-fpm -y

เริ่มต้นเว็บเซิร์ฟเวอร์ Caddy

sudo systemctl start caddy

เปิดเว็บเบราว์เซอร์ของคุณไปที่ FQDN ( example.com) ของอินสแตนซ์ VPS ของคุณ

ตั้งค่าแคดดี้ในการประมวลผลหน้า PHP โดยใช้เซิร์ฟเวอร์ PHP-FPM (SSL)

สร้างไฟล์เท็มเพลตการกำหนดค่าพื้นฐานระดับรูทที่มีชื่อcaddy.confใน/etc/caddy/ไดเร็กทอรีซึ่งใช้การอิมพอร์ตสำหรับไฟล์คอนฟิกูเรชัน vhost จริงสำหรับเว็บไซต์ตัวอย่างการทดสอบแบบไดนามิกที่มีชื่อexample.com.confใน/etc/caddy/conf.d/ไดเร็กทอรีโดยใช้echoคำสั่ง

sudo su -c 'echo -e "import conf.d/*.conf" > /etc/caddy/caddy.conf' && sudo su -c 'echo -e "example.com {\n\tredir https://www.example.com{url}\n}\nwww.example.com {\n\terrors /var/log/caddy/example.com-error.log\n\tfastcgi / /var/run/php/php7.0-fpm.sock php\n\timport header.protection\n\tlog /var/log/caddy/example.com-access.log\n\troot /var/www/html/\n\ttls [email protected]\n}" > /etc/caddy/conf.d/example.com.conf' && sudo su -c 'echo -e "header / {\n\tX-XSS-Protection \"1; mode=block\"\n\tX-Content-Type-Options \"nosniff\"\n\tX-Frame-Options \"SAMEORIGIN\"\n}" > /etc/caddy/conf.d/header.protection'

สร้างวิindex.phpใน/var/www/htmlไดเรกทอรีโดยใช้echoคำสั่ง

sudo su -c 'echo -e "<?php\nphpinfo();\n?>" > /var/www/html/index.php'

ติดตั้งเซิร์ฟเวอร์ PHP-FPM เพื่อประมวลผลไฟล์ PHP

sudo apt install php-fpm -y

เริ่มต้นเว็บเซิร์ฟเวอร์ Caddy

sudo systemctl start caddy

เปิดเว็บเบราว์เซอร์ของคุณไปที่ FQDN ( example.com) ของอินสแตนซ์ VPS ของคุณ

ติดตั้ง Caddy เพื่อเรียกใช้ Wordpress โดย Proxying เซิร์ฟเวอร์ PHP-FPM (ไม่ใช่ SSL)

สร้างไฟล์เท็มเพลตการกำหนดค่าพื้นฐานระดับรูทที่มีชื่อcaddy.confใน/etc/caddy/ไดเรกทอรีซึ่งใช้การนำเข้าสำหรับไฟล์การกำหนดค่า vhost ที่แท้จริงสำหรับเว็บไซต์ตัวอย่างการทดสอบ Wordpress ชื่อexample.com.confใน/etc/caddy/conf.d/ไดเรกทอรีโดยใช้echoคำสั่ง

sudo su -c 'echo -e "import conf.d/*.conf" > /etc/caddy/caddy.conf' && sudo su -c 'echo -e "example.com:80 {\n\tredir http://www.example.com{url}\n}\nwww.example.com:80 {\n\terrors /var/log/caddy/example.com-error.log\n\tfastcgi / /var/run/php/php7.0-fpm.sock php\n\timport header.protection\n\tlog /var/log/caddy/example.com-access.log\n\trewrite {\n\t\tif {path} not_starts_with /wp-admin\n\t\tif {path} not_starts_with /wp-content\n\t\tif {path} not_starts_with /wp-includes\n\t\tto {path} {path}/ /index.php\n\t}\n\troot /var/www/html/\n}" > /etc/caddy/conf.d/example.com.conf' && sudo su -c 'echo -e "header / {\n\tX-XSS-Protection \"1; mode=block\"\n\tX-Content-Type-Options \"nosniff\"\n\tX-Frame-Options \"SAMEORIGIN\"\n}" > /etc/caddy/conf.d/header.protection'

ติดตั้งunzipโปรแกรมเพื่อแตกไฟล์ Wordpress tar-gzipped ( latest.tar.gz)

sudo apt install unzip

ดาวน์โหลดlatest.tar.gzไฟล์ลงใน/tmp/ไดเรกทอรีเปลี่ยนสิทธิ์ผู้ใช้และกลุ่มของ/var/www/htmlไดเรกทอรีเป็นผู้ใช้www-dataและกลุ่มwww-dataและแยกเนื้อหาของlatest.tar.gzไฟล์ลงใน/var/www/html/ไดเรกทอรี

sudo su - www-data -c "wget -N -P /tmp/ -q https://wordpress.org/latest.tar.gz" -s /bin/bash && sudo chown -R www-data.www-data /var/www/html && sudo su - www-data -c "tar -C /var/www/html/ -zxf /tmp/latest.tar.gz --strip-components=1" -s /bin/bash  && sudo su - www-data -c "rm /tmp/latest.tar.gz" -s /bin/bash

ติดตั้งเซิร์ฟเวอร์ PHP-FPM เพื่อประมวลผลไฟล์ PHP และส่วนขยาย PHP ที่จำเป็นต้องใช้ในการโต้ตอบกับ Wordpress

sudo apt install php-curl php-fpm php-imagick php-mbstring php-mcrypt php-mysql php-pspell php-xmlrpc -y

ติดตั้งเซิร์ฟเวอร์ฐานข้อมูล MariaDB เพื่อเก็บข้อมูลสำหรับ Wordpress

sudo apt install mariadb-server -y

ทางเลือก:ปิดใช้งานskip-name-resolveเพื่อหลีกเลี่ยงบทลงโทษการค้นหา DNS สำหรับการเชื่อมต่อไคลเอ็นต์ปิดTCP/IPฟังฐานข้อมูลและใช้ซ็อกเก็ตยูนิกซ์เท่านั้น

sudo sed -i '26iskip-name-resolve\nskip-networking' /etc/mysql/mariadb.conf.d/50-server.cnf

รีสตาร์ทเซิร์ฟเวอร์ฐานข้อมูล MariaDB เป็นการเปลี่ยนแปลงการกำหนดค่าใหม่

sudo systemctl restart mysql

รักษาความปลอดภัยเซิร์ฟเวอร์ฐานข้อมูล MariaDB แทนที่ตัว********ยึดด้านล่างในคำสั่งแรกด้วยรหัสผ่านรูทใหม่

sudo mysql -e "UPDATE mysql.user SET Password=PASSWORD('********') WHERE User='root'" && sudo mysql -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')" && sudo mysql -e "DELETE FROM mysql.user WHERE User=''" && sudo mysql -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'" && sudo mysql -e "" && sudo mysql -e "FLUSH PRIVILEGES"

สร้างฐานข้อมูลwordpress_example_com, สำหรับ Wordpress; ผู้ใช้ฐานข้อมูลที่เฉพาะเจาะจงwordpress_example_com_adminและฐานข้อมูลสิทธิ์น้อยที่สุดที่จำเป็น ( ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECTและUPDATE) สำหรับวัน Wordpress หลักและปลั๊กอินติดตั้งวันทำงานและแกน / ปลั๊กอินการปรับปรุง แทนที่example_comในwordpress_example_comด้วยชื่อโดเมนจริงของคุณexample_comในwordpress_example_com_adminด้วยชื่อโดเมนจริงของคุณและ ********มีรหัสผ่านใหม่โดยเฉพาะสำหรับwordpress_example_com_adminผู้ใช้

sudo mysql -e "CREATE DATABASE wordpress_example_com DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci" && sudo mysql -e "CREATE USER 'wordpress_example_com_admin'@'localhost' IDENTIFIED BY '********'; GRANT USAGE ON *.* TO 'wordpress_example_com_admin'@'localhost';" && sudo mysql -e "GRANT ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, UPDATE ON wordpress_example_com.* TO 'wordpress_example_com_admin'@'localhost';" && sudo mysql -e "FLUSH PRIVILEGES"

สร้างไฟล์กำหนดค่า Wordpress wp-config.phpใน/var/www/htmlไดเรกทอรี แทนที่example_comในwordpress_example_comด้วยชื่อโดเมนจริงของคุณexample_comในwordpress_example_com_adminด้วยชื่อโดเมนจริงของคุณและ ********มีรหัสผ่านใหม่โดยเฉพาะสำหรับwordpress_example_com_adminผู้ใช้

sudo su - www-data -c 'echo -e "<?php\ndefine('\'DB_CHARSET''\'', '\'utf8''\'');\ndefine('\'DB_COLLATE''\'', '\'''\'');\ndefine('\'DB_HOST''\'', '\'localhost''\'');\ndefine('\'DB_NAME''\'', '\'wordpress_example_com''\'');\ndefine('\'DB_PASSWORD''\'', '\'********''\'');\ndefine('\'DB_USER''\'', '\'wordpress_example_com_admin''\'');\ndefine('\'FS_METHOD''\'', '\'direct''\'');\ndefine('\'WP_DEBUG''\'', false);" > /var/www/html/wp-config.php' -s /bin/bash && sudo su -c www-data -c "curl -s https://api.wordpress.org/secret-key/1.1/salt/ >> /var/www/html/wp-config.php" && sudo su - www-data -c 'echo -e "\$table_prefix  = '\'wp_''\'';\nif ( !defined('\'ABSPATH''\'') )\n\tdefine('\'ABSPATH''\'', dirname(__FILE__) . '\'/''\'');\nrequire_once(ABSPATH . '\'wp-settings.php''\'');\nfunction _remove_script_version( \$src ){ if ( strpos( \$src, '\'ver=''\'' ) ) \$src = remove_query_arg( '\'ver''\'', \$src ); return \$src; }\nadd_filter( '\'script_loader_src''\'', '\'_remove_script_version''\'', 15, 1 );\nadd_filter( '\'style_loader_src''\'', '\'_remove_script_version''\'', 15, 1 );" >> /var/www/html/wp-config.php' -s /bin/bash

เริ่มต้นเว็บเซิร์ฟเวอร์ Caddy

sudo systemctl start caddy

เปิดเว็บเบราว์เซอร์ของคุณไปที่ FQDN ( example.com) ของอินสแตนซ์ VPS ของคุณ คุณจะเห็นหน้าการเลือกภาษา หลังจากเลือกภาษาให้คลิกContinueปุ่มสีน้ำเงินที่ด้านล่างขวาเพื่อไปยังขั้นตอนถัดไปของการติดตั้ง Wordpress

ในหน้าถัดไปให้ป้อนชื่อเว็บไซต์ของคุณในSite Titleฟิลด์ (1) ชื่อผู้ใช้ของผู้ดูแลระบบในUsernameฟิลด์ (2) ใช้รหัสผ่านที่สร้างขึ้นหรือป้อนรหัสผ่านของคุณเองในPasswordฟิลด์ (3) ป้อนที่อยู่อีเมลที่ถูกต้องในYour Emailฟิลด์ (4) และเปิดหรือปิดการใช้งานSearch Engine Visibilityตัวเลือก (5) ขึ้นอยู่กับว่าเว็บไซต์ของคุณอยู่ในระยะการสร้างหรือไม่ เมื่อคุณพอใจให้คลิกที่Install Wordpressปุ่มสีเทา(6) เพื่อตั้งค่า Wordpress ให้เสร็จสมบูรณ์

คุณจะมาถึงในพื้นที่การจัดการ Wordpress การติดตั้งเริ่มต้นของ Wordpress เสร็จสมบูรณ์แล้ว

ติดตั้ง Caddy เพื่อเรียกใช้ Wordpress โดย Proxying เซิร์ฟเวอร์ PHP-FPM (ไม่ใช่ SSL)

สร้างไฟล์เท็มเพลตการกำหนดค่าพื้นฐานระดับรูทที่มีชื่อcaddy.confใน/etc/caddy/ไดเรกทอรีซึ่งใช้การนำเข้าสำหรับไฟล์การกำหนดค่า vhost ที่แท้จริงสำหรับเว็บไซต์ตัวอย่างการทดสอบ Wordpress ชื่อexample.com.confใน/etc/caddy/conf.d/ไดเรกทอรีโดยใช้echoคำสั่ง

sudo su -c 'echo -e "import conf.d/*.conf" > /etc/caddy/caddy.conf' && sudo su -c 'echo -e "example.com {\n\tredir https://www.example.com{url}\n}\nwww.example.com {\n\terrors /var/log/caddy/example.com-error.log\n\tfastcgi / /var/run/php/php7.0-fpm.sock php\n\timport header.protection\n\tlog /var/log/caddy/example.com-access.log\n\trewrite {\n\t\tif {path} not_starts_with /wp-admin\n\t\tif {path} not_starts_with /wp-content\n\t\tif {path} not_starts_with /wp-includes\n\t\tto {path} {path}/ /index.php\n\t}\n\troot /var/www/html/\n\ttls [email protected]\n}" > /etc/caddy/conf.d/example.com.conf' && sudo su -c 'echo -e "header / {\n\tX-XSS-Protection \"1; mode=block\"\n\tX-Content-Type-Options \"nosniff\"\n\tX-Frame-Options \"SAMEORIGIN\"\n}" > /etc/caddy/conf.d/header.protection'

ติดตั้งunzipโปรแกรมเพื่อแตกไฟล์ Wordpress tar-gzipped, ( latest.tar.gz)

sudo apt install unzip

ดาวน์โหลดlatest.tar.gzไฟล์ลงใน/tmp/ไดเรกทอรีเปลี่ยนสิทธิ์ผู้ใช้และกลุ่มของ/var/www/htmlไดเรกทอรีเป็นผู้ใช้www-dataและกลุ่มwww-dataและแยกเนื้อหาของlatest.tar.gzไฟล์ลงใน/var/www/html/ไดเรกทอรี

sudo su - www-data -c "wget -N -P /tmp/ -q https://wordpress.org/latest.tar.gz" -s /bin/bash && sudo chown -R www-data.www-data /var/www/html && sudo su - www-data -c "tar -C /var/www/html/ -zxf /tmp/latest.tar.gz --strip-components=1" -s /bin/bash  && sudo su - www-data -c "rm /tmp/latest.tar.gz" -s /bin/bash

ติดตั้งเซิร์ฟเวอร์ PHP-FPM เพื่อประมวลผลไฟล์ PHP และส่วนขยาย PHP ที่จำเป็นต้องใช้ในการโต้ตอบกับ Wordpress

sudo apt install php-curl php-fpm php-imagick php-mbstring php-mcrypt php-mysql php-pspell php-xmlrpc -y

ติดตั้งเซิร์ฟเวอร์ฐานข้อมูล MariaDB เพื่อเก็บข้อมูลสำหรับ Wordpress

sudo apt install mariadb-server -y

ทางเลือก:ปิดใช้งานskip-name-resolveเพื่อหลีกเลี่ยงบทลงโทษการค้นหา DNS สำหรับการเชื่อมต่อไคลเอนต์ปิดฟัง TCP / IP ของฐานข้อมูลและใช้ซ็อกเก็ต unix เท่านั้น

sudo sed -i '26iskip-name-resolve\nskip-networking' /etc/mysql/mariadb.conf.d/50-server.cnf

รีสตาร์ทเซิร์ฟเวอร์ฐานข้อมูล MariaDB เป็นการเปลี่ยนแปลงการกำหนดค่าใหม่

sudo systemctl restart mysql

รักษาความปลอดภัยเซิร์ฟเวอร์ฐานข้อมูล MariaDB แทนที่ตัว********ยึดด้านล่างในคำสั่งแรกด้วยรหัสผ่านรูทใหม่

sudo mysql -e "UPDATE mysql.user SET Password=PASSWORD('********') WHERE User='root'" && sudo mysql -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')" && sudo mysql -e "DELETE FROM mysql.user WHERE User=''" && sudo mysql -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'" && sudo mysql -e "" && sudo mysql -e "FLUSH PRIVILEGES"

สร้างฐานข้อมูลwordpress_example_com, สำหรับ Wordpress; ผู้ใช้ฐานข้อมูลที่เฉพาะเจาะจงwordpress_example_com_adminและฐานข้อมูลสิทธิ์น้อยที่สุดที่จำเป็น ( ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECTและUPDATE) สำหรับวัน Wordpress หลักและปลั๊กอินติดตั้งวันทำงานและแกน / ปลั๊กอินการปรับปรุง แทนที่example_comในwordpress_example_comด้วยชื่อโดเมนจริงของคุณexample_comในwordpress_example_com_adminด้วยชื่อโดเมนจริงของคุณและ ********มีรหัสผ่านใหม่โดยเฉพาะสำหรับwordpress_example_com_adminผู้ใช้

sudo mysql -e "CREATE DATABASE wordpress_example_com DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci" && sudo mysql -e "CREATE USER 'wordpress_example_com_admin'@'localhost' IDENTIFIED BY '********'; GRANT USAGE ON *.* TO 'wordpress_example_com_admin'@'localhost';" && sudo mysql -e "GRANT ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, UPDATE ON wordpress_example_com.* TO 'wordpress_example_com_admin'@'localhost';" && sudo mysql -e "FLUSH PRIVILEGES"

สร้างไฟล์กำหนดค่า Wordpress wp-config.phpใน/var/www/htmlไดเรกทอรี แทนที่example_comในwordpress_example_comด้วยชื่อโดเมนจริงของคุณexample_comในwordpress_example_com_adminด้วยชื่อโดเมนจริงของคุณและ ********มีรหัสผ่านใหม่โดยเฉพาะสำหรับwordpress_example_com_adminผู้ใช้

sudo su - www-data -c 'echo -e "<?php\ndefine('\'DB_CHARSET''\'', '\'utf8''\'');\ndefine('\'DB_COLLATE''\'', '\'''\'');\ndefine('\'DB_HOST''\'', '\'localhost''\'');\ndefine('\'DB_NAME''\'', '\'wordpress_example_com''\'');\ndefine('\'DB_PASSWORD''\'', '\'********''\'');\ndefine('\'DB_USER''\'', '\'wordpress_example_com_admin''\'');\ndefine('\'FS_METHOD''\'', '\'direct''\'');\ndefine('\'WP_DEBUG''\'', false);" > /var/www/html/wp-config.php' -s /bin/bash && sudo su -c www-data -c "curl -s https://api.wordpress.org/secret-key/1.1/salt/ >> /var/www/html/wp-config.php" && sudo su - www-data -c 'echo -e "\$table_prefix  = '\'wp_''\'';\nif ( !defined('\'ABSPATH''\'') )\n\tdefine('\'ABSPATH''\'', dirname(__FILE__) . '\'/''\'');\nrequire_once(ABSPATH . '\'wp-settings.php''\'');\nfunction _remove_script_version( \$src ){ if ( strpos( \$src, '\'ver=''\'' ) ) \$src = remove_query_arg( '\'ver''\'', \$src ); return \$src; }\nadd_filter( '\'script_loader_src''\'', '\'_remove_script_version''\'', 15, 1 );\nadd_filter( '\'style_loader_src''\'', '\'_remove_script_version''\'', 15, 1 );" >> /var/www/html/wp-config.php' -s /bin/bash

เริ่มต้นเว็บเซิร์ฟเวอร์ Caddy

sudo systemctl start caddy

เปิดเว็บเบราว์เซอร์ของคุณไปที่ FQDN ( example.com) ของอินสแตนซ์ VPS ของคุณ หลังจากเลือกภาษาให้คลิกContinueปุ่มสีน้ำเงินที่ด้านล่างขวาเพื่อไปยังขั้นตอนถัดไปของการติดตั้ง Wordpress

ในหน้าถัดไปให้ป้อนชื่อเว็บไซต์ของคุณในSite Titleฟิลด์ (1) ชื่อผู้ใช้ของผู้ดูแลระบบในUsernameฟิลด์ (2) ใช้รหัสผ่านที่สร้างขึ้นหรือป้อนรหัสผ่านของคุณเองในPasswordฟิลด์ (3) ป้อนที่อยู่อีเมลที่ถูกต้องในYour Emailฟิลด์ (4) และเปิดหรือปิดการใช้งานSearch Engine Visibilityตัวเลือก (5) ขึ้นอยู่กับว่าเว็บไซต์ของคุณอยู่ในระยะการสร้างหรือไม่ เมื่อคุณพอใจให้คลิกที่Install Wordpressปุ่มสีเทา(6) เพื่อตั้งค่า Wordpress ให้เสร็จสมบูรณ์

คุณจะมาถึงในพื้นที่การจัดการ Wordpress การติดตั้งเริ่มต้นของ Wordpress เสร็จสมบูรณ์แล้ว



Leave a Comment

ตั้งค่า NFS Share บน Debian

ตั้งค่า NFS Share บน Debian

NFS เป็นระบบไฟล์บนเครือข่ายที่อนุญาตให้คอมพิวเตอร์เข้าถึงไฟล์ผ่านเครือข่ายคอมพิวเตอร์ คู่มือนี้จะอธิบายวิธีการเปิดเผยโฟลเดอร์ผ่าน NF

วิธีการติดตั้ง Directus 6.4 CMS บน Fedora 26 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน Fedora 26 LAMP VPS

ใช้ระบบที่แตกต่างกันอย่างไร Directus 6.4 CMS เป็นระบบการจัดการเนื้อหาแบบไม่มีหัว (Headless Content Management: CMS) ที่ทรงพลังและยืดหยุ่นซึ่งให้ผู้พัฒนา

ติดตั้งเซิร์ฟเวอร์ TeamTalk บน Linux

ติดตั้งเซิร์ฟเวอร์ TeamTalk บน Linux

TeamTalk เป็นระบบการประชุมที่ช่วยให้ผู้ใช้สามารถสนทนาด้วยเสียง / วิดีโอคุณภาพสูงสนทนาผ่านข้อความถ่ายโอนไฟล์และแชร์หน้าจอ มันฉัน

การติดตั้ง Pagekit CMS บน CentOS 7

การติดตั้ง Pagekit CMS บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Pagekit เป็น CMS โอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Pagekit นั้นโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า

วิธีการติดตั้ง Sphinx Search Engine บน CentOS 7

วิธีการติดตั้ง Sphinx Search Engine บน CentOS 7

สฟิงซ์เป็นเครื่องมือค้นหาข้อความแบบโอเพนซอร์ซฟรีและโอเพนซอร์สซึ่งสามารถรวมเข้ากับเว็บแอปพลิเคชั่นต่าง ๆ เพื่อให้ได้คุณภาพที���รวดเร็วและสูง

การใช้คีย์ SSH ของคุณเพื่อเข้าสู่ผู้ใช้ที่ไม่ใช่รูท

การใช้คีย์ SSH ของคุณเพื่อเข้าสู่ผู้ใช้ที่ไม่ใช่รูท

Vultr มีคุณสมบัติที่อนุญาตให้คุณติดตั้งคีย์ SSH ล่วงหน้าเมื่อสร้างอินสแตนซ์ใหม่ สิ่งนี้อนุญาตให้คุณเข้าถึงผู้ใช้รูทเซิร์ฟเวอร์อย่างไรก็ตาม

สร้างเครือข่ายสังคมด้วย Diaspora บน Debian 9

สร้างเครือข่ายสังคมด้วย Diaspora บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Diaspora เป็นเครือข่ายโซเชียลที่ตระหนักถึงความเป็นส่วนตัวและเป็นโอเพ่นซอร์ส ในบทช่วยสอนนี้คุณจะได้เรียนรู้วิธีการตั้งค่าและกำหนดค่า po Diaspora

การติดตั้ง Fuel CMS บน Debian 9

การติดตั้ง Fuel CMS บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Fuel CMS เป็นระบบจัดการเนื้อหาที่ใช้ CodeIgniter ซอร์สโค้ดของมันถูกโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า

วิธีการติดตั้ง Snipe-IT บน Ubuntu 16.10

วิธีการติดตั้ง Snipe-IT บน Ubuntu 16.10

ใช้ระบบที่แตกต่างกันอย่างไร Snipe-IT เป็นเว็บแอปพลิเคชั่นฟรีและโอเพนซอร์สสำหรับการจัดการสินทรัพย์ด้านไอที มันถูกเขียนบนกรอบงาน Laravel 5.2 และการใช้งาน

วิธีการติดตั้งเครื่องมือจัดการโครงการไทก้าบน Ubuntu 16.04

วิธีการติดตั้งเครื่องมือจัดการโครงการไทก้าบน Ubuntu 16.04

ใช้ระบบที่แตกต่างกันอย่างไร ไทกะเป็นแอปพลิเคชั่นฟรีและโอเพ่นซอร์สสำหรับการจัดการโครงการ ซึ่งแตกต่างจากเครื่องมือการจัดการโครงการอื่น ๆ ไทก้าใช้ส่วนเพิ่ม

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

FTP ที่ปลอดภัยมากหรือเพียงแค่ vsFTPd เป็นซอฟต์แวร์น้ำหนักเบาที่มีความสามารถในการปรับแต่ง ในบทช่วยสอนนี้เราจะรักษาความปลอดภัยของข้อความ

วิธีการติดตั้ง GCC บน CentOS 6

วิธีการติดตั้ง GCC บน CentOS 6

CentOS ติดตามการพัฒนา Red Hat Enterprise Linux (RHEL) RHEL พยายามที่จะเป็นแพลตฟอร์มเซิร์ฟเวอร์ที่มั่นคงซึ่งหมายความว่าจะไม่รีบเร่งในการรวม

วิธีการติดตั้ง Ranger Terminal File Manager บน Linux

วิธีการติดตั้ง Ranger Terminal File Manager บน Linux

Ranger เป็นตัวจัดการไฟล์แบบบรรทัดคำสั่งที่มีการเชื่อมโยงคีย์ VI มันจัดเตรียมอินเตอร์เฟส curses ที่เรียบง่ายและดีพร้อมมุมมองบนลำดับชั้นไดเร็กทอรี

วิธีการสร้าง Brotli จากซอร์สบน Ubuntu 18.04 LTS

วิธีการสร้าง Brotli จากซอร์สบน Ubuntu 18.04 LTS

ใช้ระบบที่แตกต่างกันอย่างไร Brotli เป็นวิธีการบีบอัดแบบใหม่ที่มีอัตราการบีบอัดที่ดีกว่า GZIP ซอร์สโค้ดของมันถูกโฮสต์แบบสาธารณะบน Githu นี้

ตั้งค่าบัญชีผู้ใช้ SFTP เท่านั้นบน CentOS 7

ตั้งค่าบัญชีผู้ใช้ SFTP เท่านั้นบน CentOS 7

ในบางโอกาสผู้ดูแลระบบอาจต้องสร้างบัญชีผู้ใช้และ จำกัด การเข้าถึงเพื่อจัดการไฟล์ของตัวเองผ่าน sFTP เท่านั้น

วิธีการติดตั้ง Omeka Classic 2.4 CMS บน Ubuntu 16.04 LAMP VPS

วิธีการติดตั้ง Omeka Classic 2.4 CMS บน Ubuntu 16.04 LAMP VPS

ใช้ระบบที่แตกต่างกันอย่างไร Omeka Classic 2.4 CMS เป็นแพลตฟอร์มเผยแพร่ดิจิตอลฟรีและโอเพ่นซอร์สและระบบการจัดการเนื้อหา (CMS) สำหรับการแบ่งปันดิจิต้า

ปิดใช้งานหรือ จำกัด การล็อกอินรูทผ่าน SSH บน Linux

ปิดใช้งานหรือ จำกัด การล็อกอินรูทผ่าน SSH บน Linux

การอนุญาตให้ล็อกอินรูทผ่าน SSH นั้นถือว่าเป็นการปฏิบัติด้านความปลอดภัยที่ไม่ดีทั่วทั้งอุตสาหกรรมเทคโนโลยี คุณสามารถดำเนินการที่ละเอียดอ่อนแทน

วิธีการติดตั้ง Moodle บน CentOS 7

วิธีการติดตั้ง Moodle บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Moodle เป็นแพลตฟอร์มการเรียนรู้โอเพนซอร์ซหรือระบบจัดการหลักสูตร (CMS) - ชุดซอฟต์แวร์โอเพ่นซอร์สฟรีที่ออกแบบมาเพื่อช่วย

วิธีการติดตั้ง RabbitMQ บน Ubuntu 16.04

วิธีการติดตั้ง RabbitMQ บน Ubuntu 16.04

ใช้ระบบที่แตกต่างกันอย่างไร RabbitMQ เป็นนายหน้าข้อความโอเพ่นซอร์สที่ใช้กันอย่างแพร่หลายเขียนในภาษาการเขียนโปรแกรม Erlang เป็นมิดเดิลแวร์ที่มุ่งเน้นข้อความ

ติดตั้ง NGINX พร้อม ModSecurity บน CentOS 6

ติดตั้ง NGINX พร้อม ModSecurity บน CentOS 6

ในบทความนี้ฉันจะอธิบายวิธีสร้าง LEMP สแต็คที่ได้รับการป้องกันโดย ModSecurity ModSecurity เป็นไฟร์วอลล์เว็บแอพพลิเคชันแบบโอเพนซอร์สที่มีประโยชน์

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true