วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS
เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย
เมื่อพิจารณาจากความปลอดภัยของ OpenBSD มันทำให้รู้สึกถึงพลังของเว็บไซต์ WordPress ของคุณโดยเฉพาะอย่างยิ่งเนื่องจาก WordPress และ PHP มีแนวโน้มที่จะย้ายเป้าหมายสำหรับสคริปต์ kiddies เนื่องจาก httpd ของ OpenBSD ได้รับการออกแบบมาโดยเฉพาะเพื่อให้บริการหน้าคงที่การดำเนินการ POST จะถูกสงวนไว้สำหรับกระบวนการ fastcgi และ slowcgi สิ่งนี้ทำให้ยากสำหรับนักแสดงตัวโกงที่อาจทำลายกระบวนการของเว็บเซิร์ฟเวอร์และเข้าถึงเซิร์ฟเวอร์ของคุณ การดำเนินการ POST จะถูกไพพ์ไปยังกระบวนการ fastcgi และใช้ล่ามภายนอก บทความนี้จะกล่าวถึงไม่เพียง แต่การตั้งค่าไซต์ WordPress ของคุณ แต่ยังมีเทคนิคการบำรุงรักษาขั้นพื้นฐานและวิธีสำรองและคืนค่าไซต์และฐานข้อมูล เมื่อใดก็ตามที่คุณเห็นexample.com
ว่าเป็นโดเมนโปรดแทนที่ด้วยโดเมนของคุณ
หากคุณยังไม่ได้ดำเนินการคุณจะต้องสร้าง/etc/doas.conf
ไฟล์ คำสั่ง doas คือการเปลี่ยนง่าย ๆ ของ OpenBSD สำหรับ sudo เพื่อความสะดวกฉันได้เพิ่มตัวเลือก nopass เพื่อที่คุณจะได้ไม่ต้องพิมพ์รหัสผ่านของคุณอีกครั้งเมื่อใช้ doas หากคุณไม่ต้องการรับสิ่งนี้
su -
echo "permit nopass keepenv :wheel" > /etc/doas.conf
ขึ้นอยู่กับวิธีจัดทำแพคเกจ OpenBSD สำหรับการปรับใช้บางครั้งตัวจัดการแพคเกจอาจไม่มีที่เก็บข้อมูลที่กำหนดค่าไว้ เพื่อกำหนดค่าพื้นที่เก็บข้อมูลอย่างเป็นทางการ OpenBSD เราต้องสร้าง/etc/installurl
ไฟล์
doas su
echo "https://cdn.openbsd.org/pub/OpenBSD" > /etc/installurl
exit
ตอนนี้เราต้องเพิ่ม PHP และโมดูลพิเศษบางอย่างที่ WordPress ต้องการเพื่อจัดการกับสิ่งต่าง ๆ เช่นรูปภาพและการเข้ารหัส เมื่อได้รับแจ้งให้เลือกติดตั้งแพ็คเกจใหม่ล่าสุดของ PHP สิ่งหนึ่งที่คุณต้องทำคือคัดลอกไฟล์โมดูล ini จากไดเรกทอรีตัวอย่างไปยังไฟล์หลัก สิ่งนี้จะต้องทำเพื่อเปิดใช้งานโมดูล PHP เพิ่มเติม
doas pkg_add -r mariadb-client mariadb-server php php-curl php-mysqli php-zip pecl73-mcrypt pecl73-imagick wget
doas cp /etc/php-7.3.sample/* /etc/php-7.3/.
ในโลกปัจจุบันเว็บไซต์จะต้องให้บริการผ่าน SSL หรือหน้าถูก downranked โดยเครื่องมือค้นหา โชคดีที่ OpenBSD มีแอพพลิเคชั่นที่เรียกว่า acme-client acme-client จะสร้างไพรเวตคีย์ใหม่โดยอัตโนมัติและขอใบรับรองที่ถูกต้องใหม่ ลูกค้า acme ขึ้นอยู่กับการมีเว็บเซิร์ฟเวอร์ในสถานที่ดังนั้นเราจะต้องสร้างคำนิยามเซิร์ฟเวอร์เริ่มต้นอย่างรวดเร็ว
/etc/httpd.conf
ด้วยการแก้ไขที่คุณชื่นชอบสร้าง เราจะเพิ่มคำจำกัดความเซิร์ฟเวอร์อื่น ๆ ลงในไฟล์ในภายหลัง สำหรับตอนนี้จะเพียงพอเพื่อให้ไคลเอ็นต์ acme ทำงานได้อย่างถูกต้อง
prefork 5
types { include "/usr/share/misc/mime.types" }
server "default" {
listen on egress port 80
root "/htdocs"
directory index "index.html"
location "/.well-known/acme-challenge/*" {
request strip 2
root "/acme"
}
}
/etc/acme-client.conf
นอกจากนี้ยังใช้โปรแกรมแก้ไขที่คุณชื่นชอบสร้าง
authority letsencrypt {
api url "https://acme-v02.api.letsencrypt.org/directory"
account key "/etc/acme/letsencrypt-privkey.pem"
}
authority letsencrypt-staging {
api url "https://acme-staging-v02.api.letsencrypt.org/directory"
account key "/etc/acme/letsencrypt-staging-privkey.pem"
}
domain example.com {
alternative names { www.example.com }
domain key "/etc/ssl/private/example.com.key"
domain full chain certificate "/etc/ssl/example.com.crt"
sign with letsencrypt
}
ตอนนี้เราต้องเปิดใช้งานและเริ่มต้น httpd เมื่อเราทำสิ่งนี้แล้วเราสามารถเรียกใช้ลูกค้าและรอให้ได้รับใบรับรองใหม่ของเรา หลังจากที่เราทำเช่นนี้เราจะเพิ่มงาน cron เพื่อขอใหม่โดยอัตโนมัติทุก 7 วันดังนั้นเราไม่ต้องกังวลเกี่ยวกับการหมดอายุ
doas rcctl enable httpd
doas rcctl start httpd
doas acme-client -v example.com
ตอนนี้เราสร้างงาน cron เพิ่มบรรทัดนี้ใต้รายการสุดท้าย ในกรณีนี้เรากำลังบอกลูกค้าให้ขอใบรับรองใหม่เวลา 1:00 น. ทุกวันเสาร์
doas crontab -e
0 1 * * 6 acme-client -F example.com && rcctl reload httpd
ตอนนี้ได้เวลาตั้งค่า httpd สำหรับ WordPress แล้ว แทนที่จะวางคำจำกัดความของเว็บไซต์ของเราโดยตรง/etc/httpd.conf
เราจะวางไว้ในไฟล์แยกต่างหากที่เรียกว่า/etc/httpd.conf.example.com
และรวมไว้ในไฟล์กำหนดค่าหลัก โดยทั่วไปแล้วเป็นวิธีที่ดีที่จะแยกทั้งสองนี้ออกโดยเก็บคำจำกัดความทั้งไซต์ไว้ในไฟล์กำหนดค่าหลักของคุณและการตั้งค่าเฉพาะโดเมนต่างกัน
เพิ่มบรรทัดต่อไปนี้ที่ด้านล่างของ/etc/httpd.conf
ไฟล์ของคุณ:
include "/etc/httpd.conf.example.com"
/etc/httpd.conf.example.com
ตอนนี้ใช้โปรแกรมแก้ไขที่คุณชื่นชอบสร้างของคุณ เพื่อความสะดวกเราจะสร้างไฟล์บันทึกแยกสำหรับโดเมนของคุณ สิ่งนี้ทำให้ง่ายขึ้นเมื่อพยายามไล่ตามปัญหาที่อาจเกิดขึ้นกับไซต์ของคุณ
server "example.com" {
listen on egress port 80
alias "www.example.com"
# Automatically redirect to SSL
block return 302 "https://$SERVER_NAME$REQUEST_URI"
log {
access "access-example.com"
error "error-example.com"
}
}
server "example.com" {
listen on egress tls port 443
alias "www.example.com"
root "/htdocs/wordpress"
directory index "index.php"
log {
access "access-example.com"
error "error-example.com"
}
tcp { nodelay, backlog 10 }
tls {
certificate "/etc/ssl/example.com.crt"
key "/etc/ssl/private/example.com.key"
}
hsts {
# max-age value is the number of seconds in 1 year
max-age 31556952
preload
subdomains
}
location "/.well-known/acme-challenge/*" {
root "/acme"
request strip 2
}
location "/posts/*" {
fastcgi {
param SCRIPT_FILENAME \
"/htdocs/wordpress/index.php"
socket "/run/php-fpm.sock"
}
}
location "/page/*" {
fastcgi {
param SCRIPT_FILENAME \
"/htdocs/wordpress/index.php"
socket "/run/php-fpm.sock"
}
}
location "/feed/*" {
fastcgi {
param SCRIPT_FILENAME \
"/htdocs/wordpress/index.php"
socket "/run/php-fpm.sock"
}
}
location "/comments/feed/*" {
fastcgi {
param SCRIPT_FILENAME \
"htdocs/wordpress/index.php"
socket "/run/php-fpm.sock"
}
}
location "/wp-json/*" {
fastcgi {
param SCRIPT_FILENAME \
"htdocs/wordpress/index.php"
socket "/run/php-fpm.sock"
}
}
location "/wp-login.php*" {
authenticate "WordPress" with "/htdocs/htpasswd"
fastcgi socket "/run/php-fpm.sock"
}
location "*.php*" {
fastcgi socket "/run/php-fpm.sock"
}
}
เพื่อความปลอดภัยที่มากขึ้นเราจะดำเนินการขอพรอมต์เพิ่มเติมสำหรับชื่อผู้ใช้และรหัสผ่านเมื่อเข้าสู่เว็บไซต์การดูแลระบบ เนื่องจากตัวย่อของสคริปต์ต้องการลองซ้ำ ๆ และเข้าสู่ระบบของ WordPress เราจึงสร้างการเข้าสู่ระบบเพิ่มเติมในระดับเว็บเซิร์ฟเวอร์ โดยทั่วไปแล้วพวกเขาจะคาดเดาได้ประมาณ 5 ครั้งก่อนที่ WordPress จะเกิดข้อผิดพลาดที่ไม่ได้รับอนุญาต 401 ครั้ง
doas su
cd /var/www/htdocs
doas htpasswd htpasswd <user>
doas chown www:www htpasswd
doas chmod 0640 htpasswd
doas rcctl reload httpd
เราต้องทำการเปลี่ยนแปลง php เพื่อให้การติดตั้ง WordPress ของคุณสามารถส่งอีเมลได้ WordPress และปลั๊กอินบางตัวใช้ความสามารถในการส่งอีเมลเพื่อแจ้งเตือนคุณเกี่ยวกับการอัพเกรดการแจ้งเตือนและการเปลี่ยนแปลง การไม่สามารถส่งอีเมลสามารถทำลายคุณสมบัติบางอย่างของ WordPress เนื่องจาก httpd ทำงานในสภาพแวดล้อมที่ chrooted เราต้องบอก php วิธีการส่งอีเมล นอกจากนี้เรายังต้องทำการแสดงสองสามครั้งเป็น php-fpm
ค้นหาsendmail_path
บรรทัดใน/etc/php-7.3.ini
และทำการเปลี่ยนแปลงต่อไปนี้:
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; sendmail_path =
sendmail_path = /bin/femail -t -i
ค้นหาบรรทัดต่อไปนี้/etc/php-fpm.conf
และเปลี่ยนเป็นดังนี้:
pm.start_servers = 5
pm.min_spare_servers = 1
pm.max_spare_servers = 6
ขั้นตอนต่อไปคือการเปิดใช้งานและเริ่ม php-fpm
doas rcctl enable php73_fpm
doas rcctl start php73_fpm
MariaDB เป็นทางเลือกแทนที่ของ MySQL เราต้องทำการตั้งค่าเบื้องต้นและการเตรียมฐานข้อมูลสำหรับ WordPress
ก่อนที่เราจะสามารถใช้ MariaDB ได้อย่างมีประสิทธิภาพเราต้องอนุญาตให้ mysql daemon ใช้ทรัพยากรมากกว่าค่าเริ่มต้น ในการดำเนินการนี้ให้ทำการเปลี่ยนแปลงดังต่อไปนี้/etc/login.conf
โดยเพิ่มรายการนี้ที่ด้านล่าง
mysqld:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
เราจำเป็นต้องทำการเปลี่ยนแปลงบางอย่างในแฟ้มการกำหนดค่า /etc/my.cnf
MariaDB, ด้วยการให้ไคลเอนต์ mysql และเซิร์ฟเวอร์สื่อสารผ่านซ็อกเก็ตโดเมน UNIX แทน TCP การใช้หน่วยความจำของเซิร์ฟเวอร์ของคุณจะลดลง คุณไม่จำเป็นต้องทำการเปลี่ยนแปลงทั้งหมดที่แนะนำด้านล่าง ทั้งสองคนที่สำคัญมีการเปลี่ยนแปลงเป็นsocket
เส้นและเพื่อแสดงความคิดเห็นออกbind-address
บรรทัด สิ่งนี้จะย้ายซ็อกเก็ตภายใน/var/www
สภาพแวดล้อม chroot เพื่อให้ WordPress สามารถเชื่อมต่อกับฐานข้อมูล โดยการใส่ความคิดเห็นให้กับbind-address
สายเราป้องกัน MariaDB ไม่ให้ฟังพอร์ต TCP
[client-server]
socket=/var/www/var/run/mysql/mysql.sock
#port=3306
# This will be passed to all MariaDB clients
[client]
#password=my_password
# The MariaDB server
[mysqld]
# To listen to all IPv4 network addresses, use "bind-address = 0.0.0.0"
#bind-address=127.0.0.1
# Directory where you want to put your data
#data=/var/mysql
# This is the prefix name to be used for all log, error and replication files
#log-basename=mysqld
# Logging
#log-bin=/var/mysql/mariadb-bin
#max_binlog_size=100M
#binlog_format=row
#expire_logs_days = 7
#general-log
#slow_query_log
query_cache_type = 1
query_cache_limit = 1M
query_cache_size = 16M
ตอนนี้เราต้องเรียกใช้ MariaDB ติดตั้งไบนารีและเปิดใช้งานและเริ่ม MariaDB ขั้นตอนนี้จะตั้งค่ารหัสผ่านรูทและเลือกที่จะทิ้งฐานข้อมูลทดสอบ เป็นความคิดที่ดีที่จะทำตามคำแนะนำทั้งหมดในขั้นตอนการติดตั้งที่ปลอดภัย
doas mysql_install_db
doas rcctl enable mysqld
doas rcctl start mysqld
doas mysql_secure_installation
สร้างฐานข้อมูล WordPress และผู้ใช้ฐานข้อมูล อย่าลืมแทนที่<wp_user>
ด้วยชื่อผู้ใช้ฐานข้อมูลที่คุณเลือกและ<password>
ด้วยรหัสผ่านที่ซับซ้อนที่คุณเลือก
mysql -u root -p
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO '<wp_user>'@'localhost' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;
EXIT
WordPress ไม่ได้มีพอร์ต OpenBSD อย่างเป็นทางการมาระยะหนึ่งแล้วเพราะมันใช้งานได้ดีมาก ดาวน์โหลดแยกและย้ายโฟลเดอร์การติดตั้ง WordPress
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar xvfz latest.tar.gz
doas mv wordpress /var/www/htdocs/.
doas chown -R www:www /var/www/htdocs/wordpress
doas chmod 0755 /var/www/htdocs/wordpress
cd /var/www/htdocs/wordpress/
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
เรามีการคัดลอก/etc/resolv.conf
และไปยังไดเรกทอรีที่เราจะไปสร้างที่เรียกว่า/etc/hosts
/var/www/etc
นี่คือเพื่อให้ WordPress สามารถเข้าถึงตลาดได้สำเร็จ คุณจะต้องมีสิ่งนี้เพื่อดาวน์โหลดปลั๊กอินและชุดรูปแบบผ่านทางเว็บไซต์ผู้ดูแลระบบ WordPress นอกจากนี้ยังเป็นสิ่งสำคัญที่ปลั๊กอิน Jet Pack ทำงานได้อย่างถูกต้อง
doas mkdir /var/www/etc
doas cp /etc/hosts /var/www/etc/.
doas cp /etc/resolv.conf /var/www/etc/.
จากที่นี่เรียกดูเว็บไซต์ WordPress ของคุณโดยใช้ https ผ่าน URL ที่คุณระบุไว้ในข้อกำหนดของเว็บเซิร์ฟเวอร์ หากทุกอย่างทำงานอย่างถูกต้องคุณจะเห็นวิซาร์ดการติดตั้ง WordPress เมื่อคุณไปที่ตัวเลือกเพื่อระบุเซิร์ฟเวอร์ฐานข้อมูลคุณควรใช้localhost:/var/run/mysql/mysql.sock
เมื่อติดตั้ง WordPress เสร็จแล้วก็ถึงเวลาตั้งค่าลิงก์เพื่อให้พวกเขาดู SEO ที่เป็นมิตรมากขึ้น จากหน้าจอ WordPress Settings -> Permalinks
ผู้ดูแลระบบให้ไปที่ /posts/%postname%
คลิกที่โครงสร้างที่กำหนดเองและประเภท หลังจากทำการเปลี่ยนแปลงนี้ให้คลิกปุ่มบันทึกการเปลี่ยนแปลง ตอนนี้คุณมีลิงค์ที่ดูดีกว่ามาก ตัวอย่างเช่นลิงก์ถาวรจะมีลักษณะเช่นนี้:https://example.com/posts/example-blog-post
จากที่นี่คุณควรมีเว็บไซต์พื้นฐานพร้อมใช้งาน ทำให้แน่ใจว่าคุณติดตั้งปลั๊กอินเช่น Jet Pack และ WP-Super Cache ปลั๊กอิน WP-Super Cache ช่วยให้เว็บไซต์ของคุณเร็วขึ้นด้วยการแคชหน้าเว็บและกำจัดการค้นหาฐานข้อมูลอย่างต่อเนื่องและ JetPack ให้สถิติการรับชมที่ยอดเยี่ยมแก่คุณ
ควรไปโดยไม่บอกว่าการสำรองเว็บไซต์และฐานข้อมูลของคุณนั้นสำคัญมาก โชคดีที่มันเป็นเรื่องง่ายที่จะทำ สำรองข้อมูลทั้งสองไปยังโฮมไดเร็กตอรี่ของคุณจากนั้นคุณสามารถคัดลอกมันไปยังตำแหน่งอื่น คุณยังสามารถสร้างสแน็ปช็อตผ่านแผงควบคุม Vultr มันเป็นความคิดที่ดีที่จะทำทั้งสองอย่าง
cd /var/www/htdocs
tar cvfz wordpress.tgz wordpress/
cp wordpress.tgz /home/user
mysqldump -u root -p wordpress > wordpress.sql && gzip wordpress.sql
หากฐานข้อมูลของคุณเสียหายและจำเป็นต้องกู้คืนให้ทำดังต่อไปนี้:
gunzip wordpress.sql.gz
mysql -u root -p wordpress
DROP USER '<user>'@'localhost';
DROP DATABASE wordpress;
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO '<wp_user>'@'localhost' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;
EXIT
mysql -u root -p wordpress < wordpress.sql
หากคุณทำการเปลี่ยนแปลงไฟล์สคริปต์ WordPress ที่ทำให้บางสิ่งเสียหายคุณสามารถติดตั้ง WordPress ใหม่ได้ตลอดเวลาผ่านแผงควบคุมของผู้ดูแลระบบ มองหาUpdates
ส่วนและคลิกที่ลิงค์ Re-install Now
มองหาปุ่มที่มีข้อความ อย่างน้อยนี้จะแก้ไขสิ่งที่เสียหาย แต่การกำหนดค่าส่วนใหญ่ของคุณจะยังคงไม่เปลี่ยนแปลง
หากฐานข้อมูลของคุณอยู่ในสภาพดี แต่คุณได้แก้ไขไฟล์และทำลายสิ่งต่าง ๆ จนคุณไม่สามารถไปยังคอนโซลผู้ดูแลระบบ WordPress ได้ให้ทำดังนี้
rm /var/www/htdocs/wordpress
cp /home/user/wordpress.tgz /tmp
tar xvfz wordpress.tgz
mv wordpress /var/www/htdocs/.
chown -R www:www /var/www/htdocs/wordpress
cd /var/www/htdocs/wordpress
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
เรียนรู้วิธีการติดตั้ง 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