Drupal 9 VPS ĆĄabloni loomine CentOS 8-l

Me jÀtkame oma turuplatsile laienemist. Hiljuti rÀÀkisime sellest, kuidas loomiseks kasutatakse Gitlabi, kuid sellel nÀdalal on meie turuplatsil ilmunud Drupal.

RÀÀgime, miks valisime just selle ja kuidas see pilt loodi.

Drupal 9 VPS ĆĄabloni loomine CentOS 8-l

Drupal — mugav ja vĂ”imekas platvorm erinevate tĂŒĂŒpi veebisaitide loomiseks: alates mikrosaitidest ja blogidest kuni suurte sotsiaalsete projektideni, mida kasutatakse ka veebirakenduste aluseks, kirjutatud PHP keeles ja kasutades andmete salvestamiseks relatsioonilisi andmebaase.

Drupal 9 sisaldab kÔiki versioonis 8.9 rakendatud funktsioone. Versiooni 9 peamine erinevus versioonist 8 on see, et platvormile pakutakse uuendusi ja turbeparandusi ka pÀrast novembrit 2021. Ainus muudatus on see, et versioonis 9 on uuendamisprotsess lihtsustatud, muutes versioonilt 8 uuendamise veelgi lihtsamaks.

ServerinÔuded

Drupal'i kasutamiseks on soovitatav kasutada 2 GB RAM-i ja 2 sĂŒdamikku CPU-d.

Drupal'i pÔhifailid vÔtavad umbes 100 MB, lisaks vajate ruumi piltide, andmebaasi, teemade, lisamoodulite ja varukoopiate salvestamiseks, mis sÔltub teie saidi suurusest.

Drupal 9 nÔuab PHP 7.4 vÔi kÔrgemat versiooni koos minimaalsete piirangutega (memory_limit) 64 MB mÀlu, lisamoodulite kasutamisel soovitatakse seada 128 MB.

Veebiserverina vÔib Drupal kasutada Apache't vÔi Nginx'i ning andmebaasina MySQL'i, PostgreSQL'i vÔi SQLite'i.

Paigaldame Drupal'i kasutades Nginx'i ja MySQL'i.

Installeerimine

Uuendame paigaldatud pakette viimasele versioonile:

sudo dnf update -y

Lisa pĂŒsiv lubamine sissetulevale liiklusele http/80 ja https/443 portidel:

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

Rakendame uued tulemĂŒĂŒri reeglid:

sudo systemctl reload firewalld

Paigaldame Nginx'i:

sudo dnf install nginx -y

KÀivitame ja kÀivitame Nginx serveri:

sudo systemctl start nginx
sudo systemctl enable nginx

Kuna hetkel CentOS'i pÔhikataloogis kasutatakse PHP 7.2 versiooni, lisame REMI repositooriumi PHP 7.4 (Drupal 9 minimaalne versioon).
Selleks lisame EPEL repositooriumi (REMIl on see vajalik):

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

Lisame REMI repositooriumi:

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

KĂ€ivitage php:remi-7.4 moodul PHP 7.4 paigaldamiseks:

sudo dnf module enable php:remi-7.4 -y

Paigaldame php-fpm ja php-cli:

sudo dnf install -y php-fpm php-cli

Paigaldame vajalikud PHP moodulid Drupal'i toimimiseks:

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

Paigaldame ka soovitatavad PHP moodulid mbstring ja opcache:

sudo dnf install -y php-mbstring php-opcache

Paigaldame MySQL serveri:

sudo dnf install mysql-server -y

LĂŒlitame sisse ja kĂ€ivitame MySQL serveri:

sudo systemctl start mysqld
sudo systemctl enable mysqld

Kuna teeme VDS-i jaoks malli ja need vĂ”ivad olla aeglased, lisame mysqld kĂ€ivitamisele 30-sekundilise viivituse, et vĂ€ltida serveri kĂ€ivitamisprobleeme sĂŒsteemi esmakordsel laadimisel:

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

Muudame rĂŒhma ja kasutajat, kelle alt nginx töötab, tehes muudatused failis /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

Muudame PHP sessioonide katalooge omanikku vastavalt nginx-ile:

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

Kustutame konfiguratsioonifailist /etc/nginx/nginx.conf kommentaaririd, et vÀltida sed-i topeltkÀivitusi:

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

Lisame konfiguratsioonifaili /etc/nginx/nginx.conf gzip'i kokkusurumise seaded

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

Lisame faili /etc/nginx/nginx.conf seadist index.php jaoks:

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

Lisame seadistused defaultri serverile php töötlemiseks php-fpm soketi kaudu, keelame staatiliste failide logimise, suurendame aegumisaega, keelame favicon.ico ja robots.txt logide ning vigade logimise ja keelame juurdepÀÀsu .ht failidele kÔigile:

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

Paigime wget, mis on vajalik certboti installimiseks:

sudo dnf install wget -y

Laadime certboti tÀitevfaili alla ametlikult saidilt:

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

Liigutame certboti kausta /usr/local/bin/:

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

MÀÀrame Ôigused ning omanikuks root:

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

Paigaldame certboti sÔltuvused ja sel hetkel lÔpetame selle töö (Vastused: Y, c):

certbot-auto

Laadime ametlikult saidilt alla Drupal 9 viimase versiooni arhivi:

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

Paigaldame tar, et arhiveerida faili avamiseks:

sudo dnf install tar -y

Kustutame vaikefailid kataloogist /usr/share/nginx/html/:

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

Pakime failid veebiserveri katalooge:

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

Kandame failid alamkataloogist veebiserveri peasse kataloogi:

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

Kustutame alamkatalooge:

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

Kustutame installifailide arhiivi:

rm -f ./tar.gz

MÀÀrame failide omanikuks nginx:

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

Selles etapis lĂŒlitame serveri vĂ€lja ja teeme snapshot'i:

shutdown -h now

PÀrast VDS-i kÀivitamist snapshot'ist teeme MySQL serveri algse seadistuse kÀivitades skripti:

mysql_secure_installation

LĂŒlitame sisse paroolide valideerimise:

Kas soovite seadistada VALIDATE PASSWORD komponenti? : y

Seame MySQL kasutaja root parooli:

Uus parool:
Kinnita uus parool:

Kustutame anonĂŒĂŒmsetest kasutajatest:

Eemaldada anonĂŒĂŒmsed kasutajad? (Press y|Y jah, mis tahes teine nupp ei) : y

Keelame root'i eemalt sisselogimise:

Eemalt root sisselogimine keelata? (Press y|Y jah, mis tahes teine nupp ei) : y

Kustutame testandmebaasi:

Eemaldada testandmebaas ja ligipÀÀs sellele? (Press y|Y jah, mis tahes teine nupp ei) : y

TaaskÀivitage Ôiguste tabelid:

TaaskĂ€ivitada Ă”iguste tabelid nĂŒĂŒd? (Press y|Y jah, mis tahes teine nupp ei) : y

PÀrast seda, et paigaldamine lÔpetada, saame minna aadressile vps_ip_address
Sellel aadressil nÀeme Drupal'i installimise lehte.

Valime kasutatava keele. NĂ€iteks: vene keel. KlĂ”psame „Salvesta ja jĂ€tka“

Valime installatsiooniprofiili (demo kasutatakse ainult sĂŒsteemiga tutvumiseks). Antud juhul olgu see „standardne“.

JĂ€rgmisel lehel mÀÀrame andmebaasi nime, nĂ€iteks „drupal“. MÀÀrame andmebaasi kasutajanime root ja parooli, mis talle mÀÀrati mysql_secure_installation kĂ€ivitamisel. KlĂ”psame „Salvesta ja jĂ€tka“.

Ootame installimise ja tÔlgete vÀrskendamise lÔppemist (protsess vÔib vÔtta mitu minutit).

MÀÀrame saidi nime, sisestame saidi e-posti (millelt saadetakse saidi teated), administraatori Drupal-i kasutajanime, parooli ja e-posti. Samuti mÀÀrame riigi ja ajatsooni regionaalsetes seadeteks. LĂ”petame installimise, klĂ”psates „Salvesta ja jĂ€tka“.

PĂ€rast seda saame administreerimispaneelile minna loodud admin kasutajanime ja parooliga.

HTTPS-i seadistamine (valikuline)

HTTPS-i seadistamiseks peab VDS-il olema registreeritud DNS-nimi, sisestage see

/etc/nginx/nginx.conf

serveri jaotisesse (nÀiteks):

server_name domainname.ru;

TaaskÀivitame nginx:

service nginx restart

KĂ€ivitame certboti:

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

Sisestage oma e-post, nÔustuge teenuse tingimustega (A), tellige uudiskiri (valikuline) (N), valige domeeninimed, mille jaoks tuleb sertifikaat vÀlja anda (Enter kÔigile).

Kui kÔik lÀks hÀsti, nÀeme sertifikaatide ja serveri seadistamise edukast vÀljastamisest teavitavat sÔnumit:

Palju Ônne! Olete edukalt aktiveerinud ...

PĂ€rast seda suunatakse 80 port HTTPS-ile (443).

Lisame /etc/crontab automaatseks sertifikaatide uuendamiseks:

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

UsaldusvÀÀrse Host Security seadistamine (soovitatav)

See seadistus on mĂ”eldud lahenduseks probleemile, mis on seotud dĂŒnaamilise base_url mÀÀramisega, ja see on loodud, et vĂ€ltida HTTP HOST Header rĂŒnnakuid (kui teie veebisait arvab, et ta on keegi teine).

Selleks tuleb mÀÀrata usaldusvÀÀrsed domeeninimed veebisaidi seadete failis.

Failis

/usr/share/nginx/html/sites/default/settings.php Eemaldame kommentaari vÔi lisame seade aktuaalsete domeeninimede mustritega, nÀiteks:

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

PHP APCu installimine (SOOVITATAV)

Drupal toetab APCu — Alternative PHP User Cache, versioonid 8 ja 9 kasutavad APCu lĂŒhiajalise kohaliku vahemĂ€lu jaoks rohkem kui varasemad versioonid. VahemĂ€lu suurus vaikimisi (32 MB) sobib enamikule veebisaitidele ja ei tohi ĂŒletada 512 MB.

Aktiveerimiseks paigaldame PHP APCu mooduli:

dnf -y install php-pecl-apcu

TaaskÀivitame nginx ja php-fpm:

service nginx restart
service php-fpm restart

Kui kasutate vene keelt ja APCu soovitatava mÀlu suurusega vahemÀlu, vÔite juhtpaneelis nÀha hoiatust, et eraldatud mÀlu suurus ei vasta soovitatule, kuid tegelikult töötab kÔik Ôigesti ja vale hoiatuse parandavad tÔenÀoliselt tulevastes uuendustes.

VÔi kui hoiatus hÀirib, vÔite kasutada sobivat pidi offfailt.

Tahame teile meelde tuletada, et vÔite ka meie jaoks pildi luua

On kolm vÔimalust, kuidas osaleda.

Valmistage pilt ise ja saate 3000 rubla oma kontole

Kui olete valmis kohe tegutsema ja looma puuduoleva pildi, anname teile 3000 rubla sisetaskusse — mida saate serverite ostmiseks kasutada.

Kuidas luua oma pilt:

  1. Looge meie juures konto, veebilehel
  2. Teavitage tuge, et kavatsete pilte luua ja тДстida.
  3. Anname teile 3000 rubla ning aktiveerime vÔimaluse luua snapshot'e.
  4. Tellitud virtuaalne server puhta operatsioonisĂŒsteemiga
  5. Installige sellele VPS-ile tarkvara ja seadistage see
  6. Koostage juhend vÔi skript tarkvara juurutamiseks
  7. Looge konfigureeritud serveri jaoks momentka
  8. Tellige uus virtuaalne server, valides rippmenĂŒĂŒst 'Serveri mall' varem loodud momentka
  9. Kui server on edukalt loodud, edastage 6. etapis saadud materjalid tehnilisele toele
  10. Vea korral vÔite tÀpsustada toe kÀest probleemi ja korrata seadistamist

Ärimeestele: pakkuda oma tarkvara

Kui olete tarkvaraarendaja, mida juurutatakse ja kasutatakse VPS-il, saame teid lisada turuplatsile. Nii saame aidata teil tuua uusi kliente, liiklust ja tuntust. Kirjutage meile

RÀÀkige kommentaarides, millisest pildist teil puudus on?

Ja me valmistame selle ise

Drupal 9 VPS ĆĄabloni loomine CentOS 8-l

Drupal 9 VPS ĆĄabloni loomine CentOS 8-l

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster