Me jätkame oma turuplatsile laienemist. Hiljuti rääkisime sellest, kuidas , kuid sellel nädalal on meie turuplatsil ilmunud Drupal.
Räägime, miks valisime just selle ja kuidas see pilt loodi.
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.
Installimine
Uuendame paigaldatud pakette viimasele versioonile:
sudo dnf update -yLisa püsiv lubamine sissetulevale liiklusele http/80 ja https/443 portidel:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=httpsRakendame uued tulemüüri reeglid:
sudo systemctl reload firewalldPaigaldame Nginx'i:
sudo dnf install nginx -yKä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.rpmLisame 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 -yPaigaldame php-fpm ja php-cli:
sudo dnf install -y php-fpm php-cliPaigaldame 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-xmlPaigaldame ka soovitatavad PHP moodulid mbstring ja opcache:
sudo dnf install -y php-mbstring php-opcachePaigaldame MySQL serveri:
sudo dnf install mysql-server -yLülitame sisse ja käivitame MySQL serveri:
sudo systemctl start mysqld
sudo systemctl enable mysqldKuna 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.serviceMuudame 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.confMuudame PHP sessioonide katalooge omanikku vastavalt nginx-ile:
sudo chown -R nginx. /var/lib/php/sessionKustutame konfiguratsioonifailist /etc/nginx/nginx.conf kommentaaririd, et vältida sed-i topeltkäivitusi:
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.confLisame 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.confLisame 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.confLisame 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.confPaigime wget, mis on vajalik certboti installimiseks:
sudo dnf install wget -yLaadime certboti täitevfaili alla ametlikult saidilt:
cd ~
wget https://dl.eff.org/certbot-autoLiigutame certboti kausta /usr/local/bin/:
mv certbot-auto /usr/local/bin/certbot-autoMäärame õigused ning omanikuks root:
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-autoPaigaldame certboti sõltuvused ja sel hetkel lõpetame selle töö (Vastused: Y, c):
certbot-autoLaadime ametlikult saidilt alla Drupal 9 viimase versiooni arhivi:
cd ~
wget https://www.drupal.org/download-latest/tar.gzPaigaldame tar, et arhiveerida faili avamiseks:
sudo dnf install tar -yKustutame 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.7Kustutame installifailide arhiivi:
rm -f ./tar.gzMäärame failide omanikuks nginx:
chown -R nginx. /usr/share/nginx/htmlSelles etapis lülitame serveri välja ja teeme snapshot'i:
shutdown -h nowPärast VDS-i käivitamist snapshot'ist teeme MySQL serveri algse seadistuse käivitades skripti:
mysql_secure_installationLülitame sisse paroolide valideerimise:
Kas soovite seadistada VALIDATE PASSWORD komponenti? : ySeame 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) : yKeelame root'i eemalt sisselogimise:
Eemalt root sisselogimine keelata? (Press y|Y jah, mis tahes teine nupp ei) : yKustutame testandmebaasi:
Eemaldada testandmebaas ja ligipääs sellele? (Press y|Y jah, mis tahes teine nupp ei) : yTaaskä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
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.confserveri jaotisesse (näiteks):
server_name domainname.ru;Taaskäivitame nginx:
service nginx restartKäivitame certboti:
sudo /usr/local/bin/certbot-auto --nginxSisestage 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-apcuTaaskäivitame nginx ja php-fpm:
service nginx restart
service php-fpm restartKui 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 .
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:
- Looge meie juures konto,
- Teavitage tuge, et kavatsete pilte luua ja тестida.
- Anname teile 3000 rubla ning aktiveerime võimaluse luua snapshot'e.
- Tellitud virtuaalne server puhta operatsioonisüsteemiga
- Installige sellele VPS-ile tarkvara ja seadistage see
- Koostage juhend või skript tarkvara juurutamiseks
- Looge konfigureeritud serveri jaoks momentka
- Tellige uus virtuaalne server, valides rippmenüüst 'Serveri mall' varem loodud momentka
- Kui server on edukalt loodud, edastage 6. etapis saadud materjalid tehnilisele toele
- 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.
Rääkige kommentaarides, millisest pildist teil puudus on?
Ja me valmistame selle ise
Allikas: habr.com
