ใช้งาน WordPress บน OpenBSD 6.6 ด้วย OpenBSDs HTTPD

บทนำ

เมื่อพิจารณาจากความปลอดภัยของ 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/.

รับ Let's Encrypt Certificates

ในโลกปัจจุบันเว็บไซต์จะต้องให้บริการผ่าน 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

ตอนนี้ได้เวลาตั้งค่า 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 และ PHP-FPM

เราต้องทำการเปลี่ยนแปลง 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

MariaDB เป็นทางเลือกแทนที่ของ MySQL เราต้องทำการตั้งค่าเบื้องต้นและการเตรียมฐานข้อมูลสำหรับ WordPress

ก่อนที่เราจะสามารถใช้ MariaDB ได้อย่างมีประสิทธิภาพเราต้องอนุญาตให้ mysql daemon ใช้ทรัพยากรมากกว่าค่าเริ่มต้น ในการดำเนินการนี้ให้ทำการเปลี่ยนแปลงดังต่อไปนี้/etc/login.confโดยเพิ่มรายการนี้ที่ด้านล่าง

mysqld:\
    :openfiles-cur=1024:\
    :openfiles-max=2048:\
    :tc=daemon:

เราจำเป็นต้องทำการเปลี่ยนแปลงบางอย่างในแฟ้มการกำหนดค่า /etc/my.cnfMariaDB, ด้วยการให้ไคลเอนต์ 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

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 ให้สถิติการรับชมที่ยอดเยี่ยมแก่คุณ

การสำรองเว็บไซต์ WordPress และฐานข้อมูลของคุณ

ควรไปโดยไม่บอกว่าการสำรองเว็บไซต์และฐานข้อมูลของคุณนั้นสำคัญมาก โชคดีที่มันเป็นเรื่องง่ายที่จะทำ สำรองข้อมูลทั้งสองไปยังโฮมไดเร็กตอรี่ของคุณจากนั้นคุณสามารถคัดลอกมันไปยังตำแหน่งอื่น คุณยังสามารถสร้างสแน็ปช็อตผ่านแผงควบคุม 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

คืนค่าเว็บไซต์ WordPress ของคุณ

หากฐานข้อมูลของคุณเสียหายและจำเป็นต้องกู้คืนให้ทำดังต่อไปนี้:

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 {} \;


Leave a Comment

วิธีการติดตั้ง 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