เรายังคงขยายตลาดของเราต่อไป เราเพิ่งคุยกันเกี่ยวกับวิธีการ
เราบอกว่าทำไมเราถึงเลือกมันและภาพถูกสร้างขึ้นอย่างไร
Drupal เป็นแพลตฟอร์มที่สะดวกและมีประสิทธิภาพสำหรับการสร้างเว็บไซต์ทุกประเภท ตั้งแต่ไมโครไซต์และบล็อก ไปจนถึงโครงการทางสังคมขนาดใหญ่ ซึ่งใช้เป็นพื้นฐานสำหรับเว็บแอปพลิเคชัน เขียนด้วย PHP และใช้ฐานข้อมูลเชิงสัมพันธ์เป็นที่จัดเก็บข้อมูล
Drupal 9 มีคุณสมบัติทั้งหมดที่เปิดตัวในเวอร์ชัน 8.9 ข้อแตกต่างที่สำคัญระหว่างเวอร์ชัน 9 และเวอร์ชัน 8 คือแพลตฟอร์มจะยังคงได้รับการอัปเดตและการแก้ไขความปลอดภัยต่อไปหลังจากเดือนพฤศจิกายน 2021 นอกจากนี้ในเวอร์ชัน 9 กระบวนการอัปเกรดยังง่ายขึ้น ทำให้กระบวนการอัปเกรดจากเวอร์ชัน 8 ง่ายยิ่งขึ้นไปอีก
ข้อกำหนดของเซิร์ฟเวอร์
หากต้องการใช้ Drupal ขอแนะนำให้ใช้ RAM 2 GB และ CPU 2 คอร์
ไฟล์ Drupal หลักมีขนาดประมาณ 100 MB นอกจากนี้ คุณจะต้องมีพื้นที่ในการจัดเก็บรูปภาพ ฐานข้อมูล ธีม ส่วนเสริม และการสำรองข้อมูล ซึ่งจะขึ้นอยู่กับขนาดของไซต์ของคุณ
Drupal 9 ต้องใช้ PHP 7.4 หรือสูงกว่าโดยมีขีดจำกัดขั้นต่ำ (memory_limit
) เป็นหน่วยความจำ 64 MB กรณีใช้โมดูลเพิ่มเติมแนะนำให้ติดตั้ง 128 MB
Drupal สามารถใช้ Apache หรือ Nginx เป็นเว็บเซิร์ฟเวอร์ และใช้ MySQL, PostgreSQL หรือ SQLite เป็นฐานข้อมูลได้
เราจะติดตั้ง Drupal โดยใช้ Nginx และ MySQL
การติดตั้ง
อัพเดตแพ็คเกจที่ติดตั้งเป็นเวอร์ชันล่าสุด:
sudo dnf update -y
มาเพิ่มการอนุญาตถาวรสำหรับการรับส่งข้อมูลขาเข้าไปยังพอร์ต http/80 และ https/443:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
ใช้กฎไฟร์วอลล์ใหม่:
sudo systemctl reload firewalld
ติดตั้ง Nginx:
sudo dnf install nginx -y
มาเริ่มและเปิดใช้งานเซิร์ฟเวอร์ Nginx กัน:
sudo systemctl start nginx
sudo systemctl enable nginx
เนื่องจากปัจจุบัน PHP 7.2 ถูกใช้ในพื้นที่เก็บข้อมูลหลักของ Centos เรามาเพิ่มพื้นที่เก็บข้อมูล REMI ด้วย PHP 7.4 (เวอร์ชันขั้นต่ำสำหรับ Drupal 9)
เมื่อต้องการทำเช่นนี้ ให้เพิ่มพื้นที่เก็บข้อมูล EPEL (จำเป็นโดยพื้นที่เก็บข้อมูล REMI):
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
มาเพิ่มที่เก็บ REMI:
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
เปิดใช้งานโมดูล php:remi-7.4 เพื่อติดตั้ง php 7.4:
sudo dnf module enable php:remi-7.4 -y
ติดตั้ง php-fpm และ php-cli:
sudo dnf install -y php-fpm php-cli
ติดตั้งโมดูล PHP ที่จำเป็นสำหรับ Drupal ในการทำงาน:
sudo dnf install -y php-mysqlnd php-date php-dom php-filter php-gd php-hash php-json php-pcre php-pdo php-session php-simplexml php-spl php-tokenizer php-xml
นอกจากนี้เรายังจะติดตั้งโมดูล PHP mbstring opcache ที่แนะนำ:
sudo dnf install -y php-mbstring php-opcache
ติดตั้งเซิร์ฟเวอร์ MySQL:
sudo dnf install mysql-server -y
เปิดใช้งานและเริ่มต้นเซิร์ฟเวอร์ MySQL:
sudo systemctl start mysqld
sudo systemctl enable mysqld
เนื่องจากเรากำลังสร้างเทมเพลตสำหรับ VDS และอาจทำงานช้า เราจะเพิ่มความล่าช้าในการเริ่มต้น mysqld เป็น 30 วินาที มิฉะนั้นอาจเกิดปัญหาในการสตาร์ทเซิร์ฟเวอร์ระหว่างการบูตระบบครั้งแรก:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.service
มาเปลี่ยนกลุ่มและผู้ใช้ที่ nginx จะทำงานโดยทำการเปลี่ยนแปลงใน /etc/php-fpm.d/www.conf:
sudo sed -i --follow-symlinks 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf
sudo sed -i --follow-symlinks 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf
เปลี่ยนเจ้าของไดเร็กทอรีเซสชัน PHP เป็น nginx ตาม:
sudo chown -R nginx. /var/lib/php/session
ลองลบบรรทัดความคิดเห็นออกจากไฟล์คอนฟิกูเรชัน /etc/nginx/nginx.conf (เพื่อไม่ให้มีการเข้าชมสองครั้งสำหรับ sed):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.conf
เพิ่มการตั้งค่าการบีบอัด gzip ใน /etc/nginx/nginx.conf
sudo sed -i '/types_hash_max_size 2048;/a
gzip on;
gzip_static on;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/x-icon image/svg+xml application/x-font-ttf;
gzip_comp_level 9;
gzip_proxied any;
gzip_min_length 1000;
gzip_disable "msie6";
gzip_vary on;
' /etc/nginx/nginx.conf
มาเพิ่มการตั้งค่าของไฟล์ดัชนี index.php ไปที่ /etc/nginx/nginx.conf:
sudo sed -i '/ root /usr/share/nginx/html;/a
index index.php index.html index.htm;
' /etc/nginx/nginx.conf
มาเพิ่มการตั้งค่าสำหรับเซิร์ฟเวอร์เริ่มต้นที่ประมวลผล php ผ่านซ็อกเก็ต php-fpm ปิดการใช้งานบันทึกสำหรับไฟล์คงที่ เพิ่มเวลาหมดอายุ ปิดการใช้งานการเข้าถึงและบันทึกข้อผิดพลาดสำหรับ favicon.ico และ robots.txt และปฏิเสธการเข้าถึงไฟล์ .ht สำหรับ ทุกคน:
sudo sed -i '/ location / {/a
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~* ^.+.(js|css|png|jpg|jpeg|gif|ico|woff)$ {
access_log off;
expires max;
}
location ~ .php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ /.ht {
deny all;' /etc/nginx/nginx.conf
ติดตั้ง wget ที่จำเป็นในการติดตั้ง certbot:
sudo dnf install wget -y
ดาวน์โหลดไฟล์ปฏิบัติการ certbot จากนอกสถานที่:
cd ~
wget https://dl.eff.org/certbot-auto
ย้าย certbot ไปที่ /usr/local/bin/:
mv certbot-auto /usr/local/bin/certbot-auto
และกำหนดสิทธิ์และความเป็นเจ้าของให้กับรูท:
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto
ติดตั้งการพึ่งพาของ certbot และหยุดในขั้นตอนนี้ (คำตอบ: Y, c):
certbot-auto
ดาวน์โหลดไฟล์เก็บถาวรด้วย Drupal 9 เวอร์ชันล่าสุดจากนอกสถานที่:
cd ~
wget https://www.drupal.org/download-latest/tar.gz
ติดตั้ง tar เพื่อคลายไฟล์เก็บถาวร:
sudo dnf install tar -y
ลบไฟล์ดีฟอลต์ในไดเร็กทอรี /usr/share/nginx/html/:
rm -rf /usr/share/nginx/html/*
คลายซิปไฟล์ไปยังไดเร็กทอรีเว็บเซิร์ฟเวอร์:
tar xf tar.gz -C /usr/share/nginx/html/
ย้ายไฟล์จากไดเร็กทอรีย่อยไปยังไดเร็กทอรีรากของเว็บเซิร์ฟเวอร์:
mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/
ลบไดเรกทอรีย่อย:
rm -rf /usr/share/nginx/html/drupal-9.0.7
ลบไฟล์เก็บถาวรด้วยไฟล์การติดตั้ง:
rm -f ./tar.gz
ตั้งค่าเจ้าของไฟล์ nginx:
chown -R nginx. /usr/share/nginx/html
ในขั้นตอนนี้ เราจะปิดเซิร์ฟเวอร์และถ่ายภาพ:
shutdown -h now
หลังจากเริ่ม VDS จากสแน็ปช็อต เราจะดำเนินการตั้งค่าเริ่มต้นของเซิร์ฟเวอร์ MySQL โดยการรันสคริปต์:
mysql_secure_installation
เปิดใช้งานเครื่องมือตรวจสอบรหัสผ่าน:
Would you like to setup VALIDATE PASSWORD component? : y
ตั้งรหัสผ่านผู้ใช้รูท MySQL:
New password:
Re-enter new password:
ลบผู้ใช้ที่ไม่ระบุชื่อ:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
มาป้องกันไม่ให้รูทเชื่อมต่อจากระยะไกล:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
ลองลบฐานข้อมูลทดสอบ:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
โหลดตารางสิทธิพิเศษอีกครั้ง:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
หลังจากนั้นเพื่อให้การติดตั้งเสร็จสมบูรณ์เราสามารถไปที่
ที่อยู่นี้เราจะเห็นหน้าพร้อมการติดตั้ง Drupal
เลือกภาษาที่จะใช้ ตัวอย่างเช่น: รัสเซีย คลิก "บันทึกและดำเนินการต่อ"
มาเลือกโปรไฟล์การติดตั้งกันดีกว่า (การสาธิตใช้เพื่อความคุ้นเคยกับระบบเท่านั้น) ในกรณีของเรา ปล่อยให้มันเป็น "มาตรฐาน"
ในหน้าถัดไป ตั้งชื่อฐานข้อมูล เช่น "drupal" ระบุชื่อผู้ใช้ฐานข้อมูล root และรหัสผ่านที่มอบให้เมื่อเริ่มต้น mysql_secure_installation คลิก "บันทึกและดำเนินการต่อ"
รอให้การติดตั้งและอัปเดตการแปลเสร็จสมบูรณ์ (กระบวนการอาจใช้เวลาหลายนาที)
ระบุชื่อไซต์ ตั้งค่าอีเมลของไซต์ (ในนามของไซต์ที่จะมีการแจ้งเตือน) การเข้าสู่ระบบ รหัสผ่าน และอีเมลของบัญชีผู้ดูแลระบบ Drupal เราจะตั้งค่าประเทศและเขตเวลาในการตั้งค่าภูมิภาคด้วย และทำการติดตั้งให้เสร็จสิ้นโดยคลิก "บันทึกและดำเนินการต่อ"
หลังจากนั้นคุณสามารถไปที่แผงควบคุมด้วยการเข้าสู่ระบบและรหัสผ่านของผู้ดูแลระบบ Drupal ที่สร้างขึ้น
การตั้งค่า HTTPS (ไม่บังคับ)
ในการกำหนดค่า HTTPS VDS ต้องมีชื่อ DNS ที่ถูกต้อง โดยระบุใน
/etc/nginx/nginx.conf
ในส่วนเซิร์ฟเวอร์ชื่อเซิร์ฟเวอร์ (ตัวอย่าง):
server_name domainname.ru;
รีสตาร์ท nginx:
service nginx restart
เริ่มกันเลย certbot:
sudo /usr/local/bin/certbot-auto --nginx
ป้อนอีเมลของคุณ ยอมรับข้อกำหนดในการให้บริการ (A) สมัครรับจดหมายข่าว (ไม่บังคับ) (N) เลือกชื่อโดเมนที่คุณต้องการออกใบรับรอง (ป้อนทั้งหมด)
หากทุกอย่างดำเนินไปโดยไม่มีข้อผิดพลาด เราจะเห็นข้อความเกี่ยวกับการออกใบรับรองและการตั้งค่าเซิร์ฟเวอร์ที่ประสบความสำเร็จ:
Congratulations! You have successfully enabled ...
หลังจากนั้นการเชื่อมต่อบนพอร์ต 80 จะถูกเปลี่ยนเส้นทางไปที่ 443 (https)
เพิ่มใน /etc/crontab เพื่อต่ออายุใบรับรองโดยอัตโนมัติ:
# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"
การตั้งค่าการรักษาความปลอดภัยของโฮสต์ที่เชื่อถือได้ (แนะนำ)
การตั้งค่านี้มีจุดมุ่งหมายเพื่อเป็นวิธีแก้ปัญหาการตรวจจับ base_url แบบไดนามิก และมีวัตถุประสงค์เพื่อป้องกันการโจมตีส่วนหัว HTTP HOST (เมื่อไซต์ของคุณคิดว่าเป็นบุคคลอื่น)
ในการดำเนินการนี้ คุณจะต้องระบุชื่อโดเมนที่เชื่อถือได้ของไซต์ในไฟล์การตั้งค่า
ในไฟล์
/usr/share/nginx/html/sites/default/settings.php
ไม่แสดงความคิดเห็นหรือเพิ่มการตั้งค่าที่มีรูปแบบของชื่อเว็บไซต์จริง เช่น
$settings['trusted_host_patterns'] = [
'^www.mydomain.ru$',
];
การติดตั้ง PHP APCu (แนะนำ)
Drupal รองรับ APCu - แคชผู้ใช้ PHP ทางเลือก เวอร์ชัน 8 และ 9 ใช้ APCu เป็นแคชในเครื่องระยะสั้นมากกว่าเวอร์ชันก่อนหน้า ขนาดแคชเริ่มต้น (32 MB) จะเหมาะกับไซต์ส่วนใหญ่ และต้องไม่เกิน 512 MB
หากต้องการเปิดใช้งาน ให้ติดตั้งโมดูล PHP APCu:
dnf -y install php-pecl-apcu
รีสตาร์ท nginx และ php-fpm:
service nginx restart
service php-fpm restart
ในกรณีที่ใช้ภาษารัสเซียและ APCu ด้วยขนาดหน่วยความจำแคชที่แนะนำ คุณสามารถดูคำเตือนในแผงควบคุมได้ว่าขนาดของหน่วยความจำแคชที่จัดสรรนั้นแตกต่างจากขนาดที่แนะนำ แต่ในความเป็นจริงแล้วทุกอย่างทำงานได้อย่างถูกต้องและไม่ถูกต้อง คำเตือนมักจะได้รับการแก้ไขในการอัปเดตครั้งถัดไป
หรือหากคำเตือนทำให้แสบตาก็สามารถใช้ได้
เราต้องการเตือนคุณว่าคุณสามารถสร้างภาพให้เราได้เช่นกัน
มีสามตัวเลือกในการเข้าร่วม
เตรียมภาพด้วยตัวเองและรับ 3000 รูเบิลจากยอดคงเหลือของคุณ
หากคุณพร้อมที่จะเข้าสู่การต่อสู้ทันทีและสร้างภาพลักษณ์ที่คุณขาดไป เราจะมอบเครดิต 3000 รูเบิลให้กับยอดเงินภายในของคุณ - คุณสามารถใช้มันบนเซิร์ฟเวอร์ได้
วิธีสร้างภาพของคุณ:
- สร้างบัญชีกับเรา
เว็บไซต์ - บอกฝ่ายสนับสนุนว่าคุณกำลังจะสร้างและทดสอบอิมเมจ
- เราจะให้เครดิตคุณ 3000 รูเบิล และเปิดใช้งานความสามารถในการสร้างสแนปชอต
- สั่งซื้อเซิร์ฟเวอร์เสมือนพร้อมระบบปฏิบัติการที่ปลอดภัย
- ติดตั้งซอฟต์แวร์บน VPS นี้และตั้งค่า
- เขียนคำสั่งหรือสคริปต์สำหรับการปรับใช้ซอฟต์แวร์
- สร้างสแน็ปช็อตสำหรับเซิร์ฟเวอร์ที่กำหนดค่า
- สั่งซื้อเซิร์ฟเวอร์เสมือนใหม่โดยเลือกสแน็ปช็อตที่สร้างไว้ก่อนหน้านี้ในรายการแบบเลื่อนลง "เทมเพลตเซิร์ฟเวอร์"
- ในกรณีที่สร้างเซิร์ฟเวอร์สำเร็จ ให้โอนวัสดุที่ได้รับในขั้นตอนที่ 6 ไปยังฝ่ายสนับสนุนด้านเทคนิค
- ในกรณีที่เกิดข้อผิดพลาด คุณสามารถตรวจสอบสาเหตุกับฝ่ายสนับสนุนและทำการตั้งค่าซ้ำได้
สำหรับเจ้าของธุรกิจ: เสนอซอฟต์แวร์ของคุณ
หากคุณเป็นนักพัฒนาซอฟต์แวร์ที่ใช้งานและใช้งานบน VPS เราสามารถรวมคุณเข้าสู่ตลาดได้ นี่คือวิธีที่เราสามารถช่วยคุณดึงดูดลูกค้าใหม่ ปริมาณการเข้าชม และการมองเห็นได้
แจ้งให้เราทราบในความคิดเห็นคุณคิดถึงภาพอะไร?
และเราจะเตรียมมันเอง
ที่มา: will.com