Бид зах зээлээ өргөжүүлсээр байна. Хэрхэн гэдгийг бид саяхан танд хэлсэн , мөн энэ долоо хоногт манай зах зээл дээр гарч ирэв Drupal.
Бид яагаад түүнийг сонгосон, дүр төрхийг хэрхэн бүтээсэн талаар танд хэлэх болно.
Drupal — микро сайт, блогоос эхлээд нийгмийн томоохон төслүүд хүртэл ямар ч төрлийн вэб сайт үүсгэхэд тохиромжтой, хүчирхэг платформ бөгөөд PHP дээр бичигдсэн вэб програмын үндэс болгон ашигладаг, харилцааны мэдээллийн санг өгөгдөл хадгалах газар болгон ашигладаг.
Drupal 9-р хувилбар нь 8.9 хувилбарт хэрэгжүүлсэн бүх функцуудыг агуулдаг. 9 болон 8-р хувилбарын хоорондох гол ялгаа нь платформ нь 2021 оны 11-р сараас хойш шинэчлэлт болон аюулгүй байдлын нөхөөсүүдийг үргэлжлүүлэн хүлээн авах болно. 9-р хувилбар нь шинэчлэлтийн процессыг хялбарчилж, 8-р хувилбараас шинэчлэхэд бүр ч хялбар болгодог.
Серверийн шаардлага
Хэрэглэх зориулалттай Drupal 2 GB RAM болон 2 CPU цөм ашиглахыг зөвлөж байна.
Үндсэн файлууд Drupal ойролцоогоор 100 МБ эзэлдэг тул танд зураг, мэдээллийн сан, сэдэв, нэмэлт модулиуд болон нөөцлөлтүүдийг хадгалах зай хэрэгтэй бөгөөд энэ нь таны сайтын хэмжээнээс хамаарна.
Хэрэгтэй Drupal 9 нь PHP 7.4 буюу түүнээс дээш хувилбарыг хамгийн бага хязгаарлалттайгаар шаарддаг (memory_limit) 64 МБ санах ойд зориулагдсан; хэрэв нэмэлт модуль ашиглаж байгаа бол 128 МБ суулгахыг зөвлөж байна.
Вэб сервер болгон Drupal Apache эсвэл Nginx, мөн MySQL, PostgreSQL эсвэл SQLite-г мэдээллийн сан болгон ашиглаж болно.
Бид суурилуулалт хийх болно Drupal Nginx болон MySQL ашиглан.
тохиргоо
Суулгасан багцуудыг хамгийн сүүлийн хувилбар болгон шинэчилье:
sudo dnf update -yhttp/80 болон https/443 портууд руу орж ирж буй урсгалын байнгын зөвшөөрлийг нэмье:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=httpsГалт ханын шинэ дүрмийг хэрэгжүүлцгээе:
sudo systemctl reload firewalldNginx-г суулгацгаая:
sudo dnf install nginx -yNginx серверийг эхлүүлж, идэвхжүүлцгээе:
sudo systemctl start nginx
sudo systemctl enable nginx Одоогоор үндсэн репозиторт байгаа тул Centos PHP хувилбар 7.2 ашиглагдаж байгаа тул PHP 7.4-тэй REMI репозиторийг нэмье (хамгийн бага хувилбар нь Drupal 9).
Үүнийг хийхийн тулд EPEL репозиторыг нэмнэ үү (REMI репозитороос шаардлагатай):
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmREMI репозиторыг нэмье:
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
php 7.4 суулгахын тулд php:remi-7.4 модулийг идэвхжүүлцгээе:
sudo dnf module enable php:remi-7.4 -yphp-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-opcacheMySQL серверийг суулгацгаая:
sudo dnf install mysql-server -yMySQL серверийг асаагаад эхлүүлцгээе:
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/etc/php-fpm.d/www.conf-д өөрчлөлт оруулснаар nginx ажиллах бүлэг болон хэрэглэгчийг өөрчилье:
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.confPHP сессийн лавлах эзэмшигчийг nginx болгон өөрчилье:
sudo chown -R nginx. /var/lib/php/session/etc/nginx/nginx.conf тохиргооны файлаас тайлбар бүхий мөрүүдийг устгацгаая (sed-д давхар триггер байхгүй болно):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.confGzip шахалтын тохиргоог /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.confindex.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.confCertbot суулгахад шаардлагатай wget-г суулгана уу:
sudo dnf install wget -yСайтаас гадуурх certbot гүйцэтгэх файлыг татаж авна уу:
cd ~
wget https://dl.eff.org/certbot-autoСертботыг /usr/local/bin/ руу зөөнө үү:
mv certbot-auto /usr/local/bin/certbot-autoRoot хийх эрхийг эзэмшигчийн хувьд хуваарилъя:
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-autoСертбот хамаарлыг суулгаж, энэ үе шатанд түүний ажлыг тасалцгаая (Хариулт: 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.gzNginx файлуудын эзэмшигчийг томилъё:
chown -R nginx. /usr/share/nginx/htmlЭнэ үе шатанд бид серверийг унтрааж, агшин зуурын зургийг авах болно:
shutdown -h nowХормын хувилбараас VDS-г ажиллуулсны дараа бид скриптийг ажиллуулж MySQL серверийн анхны тохиргоог хийнэ.
mysql_secure_installationНууц үг баталгаажуулагчийг идэвхжүүлье:
Would you like to setup VALIDATE PASSWORD component? : yMySQL root хэрэглэгчийн нууц үгээ тохируулъя:
New password:
Re-enter new password:Нэргүй хэрэглэгчдийг устгацгаая:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : yRoot-г алсаас холбохоос сэргийлье:
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". Mysql_secure_installation-г ажиллуулахдаа өгөгдлийн сангийн хэрэглэгчийн нэр болон түүнд өгсөн нууц үгийг зааж өгье. "Хадгалаад үргэлжлүүлэх" дээр дарна уу.
Орчуулгыг суулгаж, шинэчлэхийг хүлээнэ үү (процесс хэдэн минут болж магадгүй).
Бид сайтын нэрийг зааж, сайтын имэйл хаягийг (сайтын мэдэгдлийг илгээх), нэвтрэх нэр, нууц үг, админы бүртгэлийн имэйл хаягийг тохируулна. DrupalМөн бид бүс нутгийн тохиргоонд улс орон болон цагийн бүсийг тохируулна. Дараа нь "Хадгалах ба Үргэлжлүүлэх" дээр дарж суулгалтыг дуусгана уу.
Үүний дараа та үүсгэсэн администраторын нэвтрэх болон нууц үгээр хяналтын самбар руу очиж болно. Drupal.
HTTPS тохируулах (заавал биш)
HTTPS-г тохируулахын тулд VDS нь хүчинтэй DNS нэртэй байх ёстой
/etc/nginx/nginx.confсерверийн хэсэгт серверийн нэр (жишээ нь):
server_name domainname.ru;Nginx-г дахин эхлүүлье:
service nginx restartСертбот ажиллуулцгаая:
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-apcuNginx болон php-fpm-г дахин эхлүүлнэ үү:
service nginx restart
service php-fpm restartХэрэв та кэшэнд санал болгож буй санах ойн хэмжээ бүхий орос хэл болон APCu ашигладаг бол кэшэд хуваарилсан санах ойн хэмжээ нь санал болгож буй хэмжээнээс өөр байна гэсэн анхааруулгыг хяналтын самбараас харж болно, гэхдээ үнэн хэрэгтээ бүх зүйл зөв ажилладаг. буруу анхааруулгыг дараагийн шинэчлэлтүүдээр засах болно.
Эсвэл анхааруулга таны нүдийг гэмтээж байвал та хэрэглэж болно .
Та ч бас бидэнд зориулж имиж хийж болно гэдгийг сануулъя
Хэрхэн оролцох гурван сонголт бий.
Зургийг өөрөө бэлтгэж, 3000 рубль таны үлдэгдэлд аваарай
Хэрэв та нэн даруй тулалдаанд орж, алга болсон дүр төрхийг бий болгоход бэлэн байгаа бол бид таны дотоод үлдэгдэлд 3000 рубль өгөх болно, үүнийг серверт зарцуулж болно.
Өөрийнхөө зургийг хэрхэн бүтээх вэ:
- Бидэнтэй данс үүсгэ
- Та зураг үүсгэж, турших гэж байгаагаа дэмжлэгт мэдэгдээрэй
- Бид танд 3000 рубль өгч, агшин зуурын зураг үүсгэх боломжийг олгоно
- Цэвэр үйлдлийн системтэй виртуал сервер захиалаарай
- Энэ VPS дээр програм хангамжийг суулгаж тохируулна уу
- Програм хангамжийг ашиглах заавар эсвэл скрипт бичнэ үү
- Тохируулсан серверийн хормын хувилбарыг үүсгэ
- "Серверийн загвар" унадаг жагсаалтаас өмнө нь үүсгэсэн агшин зуурын зургийг сонгон шинэ виртуал сервер захиалаарай.
- Хэрэв сервер амжилттай үүсгэгдсэн бол 6-р шатанд хүлээн авсан материалыг техникийн дэмжлэг рүү шилжүүлнэ
- Хэрэв алдаа гарсан бол та шалтгааныг нь шалгаж, тохиргоог дахин хийж болно
Бизнес эрхлэгчдэд: програм хангамжаа санал болго
Хэрэв та VPS дээр суулгаж, ашигладаг програм хангамж хөгжүүлэгч бол бид таныг зах зээлд оруулах боломжтой. Ингэснээр бид танд шинэ үйлчлүүлэгчид, замын хөдөлгөөн, мэдлэгийг бий болгоход туслах болно.
Танд ямар зураг дутагдаж байгаагаа сэтгэгдэл дээр хэлээрэй?
Тэгээд бид өөрсдөө бэлдэх болно
Эх сурвалж: www.habr.com
