ตั้งค่า NFS Share บน Debian
NFS เป็นระบบไฟล์บนเครือข่ายที่อนุญาตให้คอมพิวเตอร์เข้าถึงไฟล์ผ่านเครือข่ายคอมพิวเตอร์ คู่มือนี้จะอธิบายวิธีการเปิดเผยโฟลเดอร์ผ่าน NF
ในเดือนกันยายนปี 2017 แคดดี้ EULA มีการเปลี่ยนแปลงและอินสแตนซ์แคดดี้ทั้งหมดดำเนินการโดยธุรกิจและเว็บไซต์ส่วนตัวที่ดำเนินการพาณิชย์จำเป็นต้องมีใบอนุญาตเชิงพาณิชย์ในแคดดี้ที่ดาวน์โหลดไบนารี บทช่วยสอนนี้ช่วยให้ลูกค้าที่ต้องการติดตั้งเว็บเซิร์ฟเวอร์ Caddy ให้สอดคล้องกับ EULA ใหม่ ในขณะที่เขียนเมื่อรวบรวมแคดดี้จากแหล่งที่มาและสร้างไบนารีของคุณเองคุณไม่จำเป็นต้องมีใบอนุญาตแบบชำระเงินไม่ว่าคุณจะเป็นธุรกิจหรือดำเนินการพาณิชย์บนเว็บไซต์ส่วนตัวของคุณ มันเป็นสิ่งสำคัญที่จะตรวจสอบ EULA ล่าสุดสำหรับการปฏิบัติตามก่อนที่จะทำตามขั้นตอนในบทช่วยสอนนี้
คุณสมบัติ:
ล็อกอินด้วยผู้ใช้ทั่วไปที่ได้รับอนุญาตให้ใช้คำสั่ง sudo อัปเดตระบบดังต่อไปนี้
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
ดาวน์โหลดซอร์สโค้ดของ 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 สำหรับสถานการณ์ที่แตกต่างกัน คุณสามารถใช้สิ่งเหล่านี้เพื่อการอ้างอิงและข้ามไปยังส่วนที่ตรงกับความต้องการของคุณ
สร้างไฟล์เท็มเพลตการกำหนดค่าพื้นฐานระดับรูทที่มีชื่อ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 ของคุณ
สร้างไฟล์เท็มเพลตการกำหนดค่าพื้นฐานระดับรูทที่มีชื่อ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 ของคุณ
สร้างไฟล์เท็มเพลตการกำหนดค่าพื้นฐานระดับรูทที่มีชื่อ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 ของคุณ
สร้างไฟล์เท็มเพลตการกำหนดค่าพื้นฐานระดับรูทที่มีชื่อ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.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.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 เสร็จสมบูรณ์แล้ว
NFS เป็นระบบไฟล์บนเครือข่ายที่อนุญาตให้คอมพิวเตอร์เข้าถึงไฟล์ผ่านเครือข่ายคอมพิวเตอร์ คู่มือนี้จะอธิบายวิธีการเปิดเผยโฟลเดอร์ผ่าน NF
ใช้ระบบที่แตกต่างกันอย่างไร Directus 6.4 CMS เป็นระบบการจัดการเนื้อหาแบบไม่มีหัว (Headless Content Management: CMS) ที่ทรงพลังและยืดหยุ่นซึ่งให้ผู้พัฒนา
TeamTalk เป็นระบบการประชุมที่ช่วยให้ผู้ใช้สามารถสนทนาด้วยเสียง / วิดีโอคุณภาพสูงสนทนาผ่านข้อความถ่ายโอนไฟล์และแชร์หน้าจอ มันฉัน
ใช้ระบบที่แตกต่างกันอย่างไร Pagekit เป็น CMS โอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Pagekit นั้นโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า
สฟิงซ์เป็นเครื่องมือค้นหาข้อความแบบโอเพนซอร์ซฟรีและโอเพนซอร์สซึ่งสามารถรวมเข้ากับเว็บแอปพลิเคชั่นต่าง ๆ เพื่อให้ได้คุณภาพที���รวดเร็วและสูง
Vultr มีคุณสมบัติที่อนุญาตให้คุณติดตั้งคีย์ SSH ล่วงหน้าเมื่อสร้างอินสแตนซ์ใหม่ สิ่งนี้อนุญาตให้คุณเข้าถึงผู้ใช้รูทเซิร์ฟเวอร์อย่างไรก็ตาม
ใช้ระบบที่แตกต่างกันอย่างไร Diaspora เป็นเครือข่ายโซเชียลที่ตระหนักถึงความเป็นส่วนตัวและเป็นโอเพ่นซอร์ส ในบทช่วยสอนนี้คุณจะได้เรียนรู้วิธีการตั้งค่าและกำหนดค่า po Diaspora
ใช้ระบบที่แตกต่างกันอย่างไร Fuel CMS เป็นระบบจัดการเนื้อหาที่ใช้ CodeIgniter ซอร์สโค้ดของมันถูกโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า
ใช้ระบบที่แตกต่างกันอย่างไร Snipe-IT เป็นเว็บแอปพลิเคชั่นฟรีและโอเพนซอร์สสำหรับการจัดการสินทรัพย์ด้านไอที มันถูกเขียนบนกรอบงาน Laravel 5.2 และการใช้งาน
ใช้ระบบที่แตกต่างกันอย่างไร ไทกะเป็นแอปพลิเคชั่นฟรีและโอเพ่นซอร์สสำหรับการจัดการโครงการ ซึ่งแตกต่างจากเครื่องมือการจัดการโครงการอื่น ๆ ไทก้าใช้ส่วนเพิ่ม
FTP ที่ปลอดภัยมากหรือเพียงแค่ vsFTPd เป็นซอฟต์แวร์น้ำหนักเบาที่มีความสามารถในการปรับแต่ง ในบทช่วยสอนนี้เราจะรักษาความปลอดภัยของข้อความ
CentOS ติดตามการพัฒนา Red Hat Enterprise Linux (RHEL) RHEL พยายามที่จะเป็นแพลตฟอร์มเซิร์ฟเวอร์ที่มั่นคงซึ่งหมายความว่าจะไม่รีบเร่งในการรวม
Ranger เป็นตัวจัดการไฟล์แบบบรรทัดคำสั่งที่มีการเชื่อมโยงคีย์ VI มันจัดเตรียมอินเตอร์เฟส curses ที่เรียบง่ายและดีพร้อมมุมมองบนลำดับชั้นไดเร็กทอรี
ใช้ระบบที่แตกต่างกันอย่างไร Brotli เป็นวิธีการบีบอัดแบบใหม่ที่มีอัตราการบีบอัดที่ดีกว่า GZIP ซอร์สโค้ดของมันถูกโฮสต์แบบสาธารณะบน Githu นี้
ในบางโอกาสผู้ดูแลระบบอาจต้องสร้างบัญชีผู้ใช้และ จำกัด การเข้าถึงเพื่อจัดการไฟล์ของตัวเองผ่าน sFTP เท่านั้น
ใช้ระบบที่แตกต่างกันอย่างไร Omeka Classic 2.4 CMS เป็นแพลตฟอร์มเผยแพร่ดิจิตอลฟรีและโอเพ่นซอร์สและระบบการจัดการเนื้อหา (CMS) สำหรับการแบ่งปันดิจิต้า
การอนุญาตให้ล็อกอินรูทผ่าน SSH นั้นถือว่าเป็นการปฏิบัติด้านความปลอดภัยที่ไม่ดีทั่วทั้งอุตสาหกรรมเทคโนโลยี คุณสามารถดำเนินการที่ละเอียดอ่อนแทน
ใช้ระบบที่แตกต่างกันอย่างไร Moodle เป็นแพลตฟอร์มการเรียนรู้โอเพนซอร์ซหรือระบบจัดการหลักสูตร (CMS) - ชุดซอฟต์แวร์โอเพ่นซอร์สฟรีที่ออกแบบมาเพื่อช่วย
ใช้ระบบที่แตกต่างกันอย่างไร RabbitMQ เป็นนายหน้าข้อความโอเพ่นซอร์สที่ใช้กันอย่างแพร่หลายเขียนในภาษาการเขียนโปรแกรม Erlang เป็นมิดเดิลแวร์ที่มุ่งเน้นข้อความ
ในบทความนี้ฉันจะอธิบายวิธีสร้าง LEMP สแต็คที่ได้รับการป้องกันโดย ModSecurity ModSecurity เป็นไฟร์วอลล์เว็บแอพพลิเคชันแบบโอเพนซอร์สที่มีประโยชน์
เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย
เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์
เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ
ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน
การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane
ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+
อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ
เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม
13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data
คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true