VPS veidnes izveide ar Drupal 9 uz Centos 8

Mēs turpinām paplaÅ”ināt savu tirgu. Mēs nesen jums stāstÄ«jām, kā izveidoja Gitlab attēlu, un Å”onedēļ Drupal parādÄ«jās mÅ«su tirgÅ«.

Mēs pastāstām, kāpēc mēs viņu izvēlējāmies un kā tika izveidots attēls.

VPS veidnes izveide ar Drupal 9 uz Centos 8

Drupal ā€” ērta un jaudÄ«ga platforma jebkura veida vietņu izveidei: no mikrovietnēm un emuāriem lÄ«dz lieliem sociālajiem projektiem, ko izmanto arÄ« par pamatu tÄ«mekļa lietojumprogrammām, rakstÄ«ta PHP un izmantojot relāciju datu bāzes kā datu krātuvi.

Drupal 9 ietver visas funkcijas, kas ieviestas versijā 8.9. Galvenā atŔķirÄ«ba starp 9. un 8. versiju ir tāda, ka platforma turpinās saņemt atjauninājumus un droŔības labojumus pēc 2021. gada novembra. 9. versija arÄ« vienkārÅ”o atjaunināŔanas procesu, padarot jaunināŔanas procesu no 8. versijas vēl vienkārŔāku.

Servera prasības

Lai izmantotu Drupal, ieteicams izmantot 2 GB RAM un 2 CPU kodolus.

Galvenie Drupal faili aizņem apmēram 100 MB, turklāt jums bÅ«s nepiecieÅ”ama vieta attēlu, datu bāzes, motÄ«vu, papildu moduļu un dublējumu glabāŔanai, kas bÅ«s atkarÄ«gi no vietnes lieluma.

Drupal 9 nepiecieÅ”ama PHP 7.4 vai jaunāka versija ar minimālu ierobežojumu (memory_limit) 64 MB atmiņai; ja tiek izmantoti papildu moduļi, ieteicams instalēt 128 MB.

Drupal var izmantot Apache vai Nginx kā tīmekļa serveri un MySQL, PostgreSQL vai SQLite kā datu bāzi.

Mēs instalēsim Drupal, izmantojot Nginx un MySQL.

UzstādīŔana

Atjaunināsim instalētās pakotnes uz jaunāko versiju:

sudo dnf update -y

Pievienosim pastāvīgu atļauju ienākoŔajai trafikai http/80 un https/443 portiem:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

Piemērosim jaunos ugunsmūra noteikumus:

sudo systemctl reload firewalld

Instalēsim Nginx:

sudo dnf install nginx -y

Sāksim un iespējosim Nginx serveri:

sudo systemctl start nginx
sudo systemctl enable nginx

Tā kā galvenā Centos krātuve paŔlaik izmanto PHP 7.2, pievienosim REMI repozitoriju ar PHP 7.4 (minimālā versija Drupal 9).
Lai to izdarītu, pievienojiet EPEL repozitoriju (nepiecieŔams REMI krātuvei):

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Pievienosim REMI repozitoriju:

sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Iespējosim php:remi-7.4 moduli, lai instalētu php 7.4:

sudo dnf module enable php:remi-7.4 -y

Instalējiet php-fpm un php-cli:

sudo dnf install -y php-fpm php-cli

Instalēsim PHP moduļus, kas nepiecieÅ”ami, lai Drupal darbotos:

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

Mēs arī instalēsim ieteicamos PHP mbstring opcache moduļus:

sudo dnf install -y php-mbstring php-opcache

Instalēsim MySQL serveri:

sudo dnf install mysql-server -y

Ieslēdzam un startēsim MySQL serveri:

sudo systemctl start mysqld
sudo systemctl enable mysqld

Tā kā mēs veidojam VDS veidni un tie var bÅ«t lēni, mēs pievienosim mysqld starta aizkavi 30 sekundes, pretējā gadÄ«jumā var rasties problēmas ar servera palaiÅ”anu sākotnējās sistēmas sāknÄ“Å”anas laikā:

sudo sed -i '/Group=mysql/a 
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.service

Mainīsim grupu un lietotāju, kurā darbosies nginx, veicot izmaiņas failā /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

Attiecīgi mainīsim PHP sesiju direktorija īpaŔnieku uz nginx:

sudo chown -R nginx. /var/lib/php/session

Noņemsim rindiņas ar komentāriem no konfigurācijas faila /etc/nginx/nginx.conf (lai sed nebÅ«tu divkārÅ”u trigeru):

sudo sed -i -e '/^[ t]*#/d'  /etc/nginx/nginx.conf

Pievienojiet gzip saspieŔanas iestatījumus failam /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

Pievienosim indeksa faila index.php iestatījumus /etc/nginx/nginx.conf:

sudo sed -i '/        root         /usr/share/nginx/html;/a 
        index index.php index.html index.htm;
' /etc/nginx/nginx.conf

Pievienosim noklusējuma servera iestatÄ«jumus: PHP apstrāde caur php-fpm ligzdu, statisko failu žurnāla atspējoÅ”ana, derÄ«guma termiņa pagarināŔana, favicon.ico un robots.txt piekļuves un kļūdu žurnāla atspējoÅ”ana un piekļuves .ht aizliegÅ”ana. faili visiem:

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

Instalējiet wget, kas nepiecieÅ”ama certbot instalÄ“Å”anai:

sudo dnf install wget -y

Lejupielādējiet izpildāmo failu certbot no ārpuses:

cd ~
wget https://dl.eff.org/certbot-auto

Pārvietot certbot uz /usr/local/bin/:

mv certbot-auto /usr/local/bin/certbot-auto

Un pieŔķirsim saknes īpaŔnieka tiesības:

chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Instalēsim certbot atkarÄ«bas un Å”ajā posmā pārtrauksim tā darbu (Atbildes: Y, c):

certbot-auto

Lejupielādēsim arhīvu ar jaunāko Drupal 9 versiju no izbraukuma:

cd ~
wget https://www.drupal.org/download-latest/tar.gz

Instalējiet tar, lai izsaiņotu arhīvu:

sudo dnf install tar -y

Izdzēsīsim noklusējuma failus direktorijā /usr/share/nginx/html/:

rm -rf /usr/share/nginx/html/*

Izpakosim failus tīmekļa servera direktorijā:

tar xf tar.gz -C /usr/share/nginx/html/

Pārvietosim failus no apakŔdirektorijas uz tīmekļa servera saknes direktoriju:

mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/

IzdzēsÄ«sim apakÅ”direktoriju:

rm -rf /usr/share/nginx/html/drupal-9.0.7

Izdzēsīsim arhīvu ar instalācijas failiem:

rm -f ./tar.gz

PieŔķirsim nginx failu īpaŔnieku:

chown -R nginx. /usr/share/nginx/html

Šajā posmā mēs izslēgsim serveri un veiksim momentuzņēmumu:

shutdown -h now

Pēc VDS palaiÅ”anas no momentuzņēmuma mēs veiksim MySQL servera sākotnējo iestatÄ«Å”anu, palaižot skriptu:

mysql_secure_installation

Iespējosim paroles pārbaudītāju:

Would you like to setup VALIDATE PASSWORD component? : y

Iestatīsim MySQL root lietotāja paroli:

New password:
Re-enter new password:

Noņemsim anonīmos lietotājus:

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y

Neļausim root izveidot attālu savienojumu:

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y

Izdzēsīsim testa datu bāzi:

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y

Pārlādēsim privilēģiju tabulas:

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y

Pēc tam, lai pabeigtu instalÄ“Å”anu, mēs varam doties uz vps_ip_adrese
Šajā adresē mēs redzēsim Drupal instalācijas lapu.

Izvēlēsimies lietojamo valodu. Piemēram: krievu valoda. NoklikŔķiniet uz "Saglabāt un turpināt"

Izvēlēsimies instalācijas profilu (demonstrācija tiek izmantota tikai, lai iepazÄ«tos ar sistēmu). MÅ«su gadÄ«jumā lai tas bÅ«tu ā€œstandartaā€.

Nākamajā lapā mēs pieŔķirsim datubāzei nosaukumu, piemēram, ā€œdrupalā€. NorādÄ«sim datu bāzes lietotājvārdu root un viņam doto paroli, palaižot mysql_secure_installation. NoklikŔķiniet uz "Saglabāt un turpināt".

GaidÄ«sim, lÄ«dz tiks pabeigta tulkojumu instalÄ“Å”ana un atjaunināŔana (process var ilgt vairākas minÅ«tes).

Mēs norādÄ«sim vietnes nosaukumu, iestatÄ«sim vietnes e-pastu (kuras vietnes vārdā tiks sÅ«tÄ«ti paziņojumi), pieteikÅ”anās vārdu, paroli un Drupal administratora konta e-pastu. Mēs arÄ« iestatÄ«sim valsti un laika joslu reÄ£ionālajos iestatÄ«jumos. Un pabeidziet instalÄ“Å”anu, noklikŔķinot uz "Saglabāt un turpināt".

Pēc tam jūs varat doties uz vadības paneli ar izveidoto Drupal administratora pieteikumvārdu un paroli.

HTTPS iestatīŔana (neobligāti)

Lai konfigurētu HTTPS, VDS ir jābūt derīgam DNS nosaukumam, norādiet

/etc/nginx/nginx.conf

servera sadaļā servera nosaukums (piemēram):

server_name  domainname.ru;

Restartējam nginx:

service nginx restart

Palaidīsim certbot:

sudo /usr/local/bin/certbot-auto --nginx

Ievadiet savu e-pastu, piekrÄ«tiet pakalpojumu sniegÅ”anas noteikumiem (A), Abonējiet biļetenu (pēc izvēles) (N), izvēlieties domēna vārdus, kuriem vēlaties izsniegt sertifikātu (Ievadiet visiem).

Ja viss noritēja bez kļūdām, mēs redzēsim ziņojumu par veiksmÄ«gu sertifikātu izsniegÅ”anu un servera konfigurāciju:

Congratulations! You have successfully enabled ...

Pēc tam savienojumi ar 80. portu tiks novirzÄ«ti uz 443 (https).

Pievienojiet mapei /etc/crontab, lai automātiski atjauninātu sertifikātus:

# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"

Uzticamā saimniekdatora droŔības iestatīŔana (ieteicams)

Å is iestatÄ«jums ir paredzēts kā risinājums problēmai, kas saistÄ«ta ar dinamisko bāzes_url noteikÅ”anu, un ir paredzēts, lai novērstu HTTP HOST galvenes uzbrukumus (kad jÅ«su vietne uzskata, ka tā ir kāda cita).

Lai to izdarītu, iestatījumu failā ir jānorāda vietnes uzticamie domēna nosaukumi.

Failā

/usr/share/nginx/html/sites/default/settings.php Atcelsim komentārus vai pievienosim iestatījumu ar faktisko vietņu nosaukumu modeļiem, piemēram:

$settings['trusted_host_patterns'] = [
  '^www.mydomain.ru$',
];

PHP APCu instalēŔana (IETEICAMS)

Drupal atbalsta APCu ā€” alternatÄ«vo PHP lietotāja keÅ”atmiņu, 8. un 9. versijas APCu izmanto kā Ä«slaicÄ«gu lokālo keÅ”atmiņu vairāk nekā iepriekŔējās versijās. Noklusējuma keÅ”atmiņas lielums (32 MB) ir piemērots lielākajai daļai vietņu, un tas nedrÄ«kst pārsniegt 512 MB.

Lai aktivizētu, instalējiet PHP APCu moduli:

dnf -y install php-pecl-apcu

Restartējiet nginx un php-fpm:

service nginx restart
service php-fpm restart

Ja izmantojat krievu valodu un APCu ar ieteicamo keÅ”atmiņas atmiņas lielumu, vadÄ«bas panelÄ« var tikt parādÄ«ts brÄ«dinājums, ka keÅ”atmiņai atvēlētās atmiņas lielums atŔķiras no ieteicamā, taču patiesÄ«bā viss darbojas pareizi, un nepareizais brÄ«dinājums, visticamāk, tiks labots nākamajos atjauninājumos.

Vai arī, ja brīdinājums sāpina acis, varat to izmantot atbilstoŔs ielāps no izbraukuma.

Atgādinām, ka jūs varat arī izgatavot attēlu mums

Ir trīs iespējas, kā piedalīties.

Sagatavojiet attēlu pats un saņemiet līdz 3000 rubļu

Ja esat gatavs nekavējoties mesties kaujā un radÄ«t tēlu, kas jums trÅ«kst, mēs jÅ«su iekŔējā bilancē ieskaitÄ«sim 3000 rubļu, ko varēsiet tērēt serveros.

Kā izveidot savu attēlu:

  1. Izveidojiet kontu pie mums TieÅ”saistē
  2. Paziņojiet atbalsta dienestam, ka gatavojaties izveidot un pārbaudīt attēlus
  3. Mēs ieskaitÄ«sim jums 3000 rubļu un nodroÅ”ināsim iespēju izveidot momentuzņēmumus
  4. Pasūtiet virtuālo serveri ar tīru operētājsistēmu
  5. Instalējiet programmatÅ«ru Å”ajā VPS un konfigurējiet to
  6. Uzrakstiet instrukcijas vai skriptu programmatūras izvietoŔanai
  7. Izveidojiet momentuzņēmumu konfigurētajam serverim
  8. PasÅ«tiet jaunu virtuālo serveri, nolaižamajā sarakstā ā€œServera veidneā€ atlasot iepriekÅ” izveidoto momentuzņēmumu
  9. Ja serveris ir veiksmīgi izveidots, nododiet 6. posmā saņemtos materiālus tehniskajam atbalstam
  10. Ja rodas kļūda, varat noskaidrot iemeslu atbalsta dienestam un atkārtot iestatīŔanu

Uzņēmumu Ä«paÅ”niekiem: piedāvājiet savu programmatÅ«ru

Ja esat programmatūras izstrādātājs, kas tiek izvietots un izmantots VPS, mēs varam jūs iekļaut tirgū. Tādā veidā mēs varam palīdzēt jums piesaistīt jaunus klientus, palielināt satiksmi un informētību. Uzrakstiet mums

Pastāsti mums komentāros, kāda attēla tev trūkst?

Un mēs to sagatavosim paÅ”i

VPS veidnes izveide ar Drupal 9 uz Centos 8

VPS veidnes izveide ar Drupal 9 uz Centos 8

Avots: www.habr.com