Mes ir toliau plečiame savo rinką. Neseniai papasakojome, kaip ir šią savaitę pasirodė mūsų prekyvietėje Drupal.
Pasakojame, kodėl pasirinkome jį ir kaip buvo sukurtas įvaizdis.
Drupal — patogi ir galinga platforma kuriant bet kokio tipo svetaines: nuo mikrosvetainių ir tinklaraščių iki didelių socialinių projektų, taip pat naudojama kaip žiniatinklio programų pagrindas, parašyta PHP ir naudojant reliacines duomenų bazes kaip duomenų saugyklą.
Drupal 9 versijoje yra visos 8.9 versijoje įdiegtos funkcijos. Pagrindinis skirtumas tarp 9 ir 8 versijų yra tas, kad platforma ir toliau gaus atnaujinimus ir saugos pataisas po 2021 m. lapkričio mėn. 9 versija taip pat supaprastina atnaujinimo procesą, todėl dar lengviau atnaujinti iš 8 versijos.
Serverio reikalavimai
Naudoti Drupal Rekomenduojama naudoti 2 GB RAM ir 2 procesoriaus branduolius.
Pagrindiniai failai Drupal užims apie 100 MB, jums taip pat reikės vietos paveikslėliams, duomenų bazei, temoms, papildomiems moduliams ir atsarginėms kopijoms saugoti, o tai priklausys nuo jūsų svetainės dydžio.
Už Drupal 9 reikalauja PHP 7.4 arba naujesnės versijos su minimaliu apribojimu (memory_limit) 64 MB atminčiai, jei naudojami papildomi moduliai, rekomenduojama įdiegti 128 MB.
Kaip žiniatinklio serveris Drupal galima naudoti „Apache“ arba „Nginx“, o kaip duomenų bazę – „MySQL“, „PostgreSQL“ arba „SQLite“.
Mes įdiegsime Drupal naudojant „Nginx“ ir „MySQL“.
Montavimas
Atnaujinkime įdiegtus paketus į naujausią versiją:
sudo dnf update -yPridėkime nuolatinį įeinančio srauto leidimą į http/80 ir https/443 prievadus:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=httpsTaikykime naujas ugniasienės taisykles:
sudo systemctl reload firewalldĮdiegkime Nginx:
sudo dnf install nginx -yPradėkime ir įgalinkime Nginx serverį:
sudo systemctl start nginx
sudo systemctl enable nginx Kadangi šiuo metu pagrindinėje saugykloje Centos Naudojama PHP 7.2 versija, pridėkime REMI saugyklą su PHP 7.4 (minimali versija, skirta Drupal 9).
Norėdami tai padaryti, pridėkite EPEL saugyklą (reikalaujama REMI saugykloje):
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmPridėkime REMI saugyklą:
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Įgalinkime php:remi-7.4 modulį, kad įdiegtumėte php 7.4:
sudo dnf module enable php:remi-7.4 -yĮdiekite php-fpm ir php-cli:
sudo dnf install -y php-fpm php-cliĮdiegsime darbui reikalingus PHP modulius. 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-xmlTaip pat įdiegsime rekomenduojamus PHP mbstring opcache modulius:
sudo dnf install -y php-mbstring php-opcacheĮdiegkime MySQL serverį:
sudo dnf install mysql-server -yĮjunkite ir paleiskite MySQL serverį:
sudo systemctl start mysqld
sudo systemctl enable mysqldKadangi mes kuriame VDS šabloną, o jie gali būti lėti, pridėsime mysqld paleidimo delsą 30 sekundžių, kitaip gali kilti problemų su serverio paleidimu pradinio sistemos įkrovimo metu:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.servicePakeiskime grupę ir vartotoją, kuriame veiks nginx, atlikdami pakeitimus /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.confAtitinkamai pakeiskime PHP seansų katalogo savininką į nginx:
sudo chown -R nginx. /var/lib/php/sessionPašalinkime eilutes su komentarais iš konfigūracijos failo /etc/nginx/nginx.conf (kad nebūtų dvigubų sed trigerių):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.confPridėkite gzip glaudinimo nustatymus į /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.confPridėkite indekso failo index.php parametrus į /etc/nginx/nginx.conf:
sudo sed -i '/ root /usr/share/nginx/html;/a
index index.php index.html index.htm;
' /etc/nginx/nginx.confPridėkime numatytojo serverio nustatymus: PHP apdorojimas per php-fpm lizdą, išjunkite statinių failų žurnalą, padidinkite galiojimo laiką, išjunkite favicon.ico ir robots.txt prieigos ir klaidų žurnalą ir uždrauskite prieigą prie .ht failai visiems:
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Įdiekite wget, reikalingą įdiegti certbot:
sudo dnf install wget -yAtsisiųskite certbot vykdomąjį failą iš išorinės svetainės:
cd ~
wget https://dl.eff.org/certbot-autoPerkelkite certbot į /usr/local/bin/:
mv certbot-auto /usr/local/bin/certbot-autoIr priskirkime root savininko teises:
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-autoĮdiegkime certbot priklausomybes ir šiame etape nutraukkime jo darbą (Atsakymai: Y, c):
certbot-autoAtsisiųskite archyvą su naujausia versija iš oficialios svetainės. Drupal 9:
cd ~
wget https://www.drupal.org/download-latest/tar.gzĮdiekite tar, kad išpakuotumėte archyvą:
sudo dnf install tar -yIštrinkime numatytuosius failus iš /usr/share/nginx/html/ katalogo:
rm -rf /usr/share/nginx/html/*Išpakuosime failus į žiniatinklio serverio katalogą:
tar xf tar.gz -C /usr/share/nginx/html/Perkelkime failus iš pakatalogio į pagrindinį žiniatinklio serverio katalogą:
mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/Ištrinkime pakatalogį:
rm -rf /usr/share/nginx/html/drupal-9.0.7Ištrinkite archyvą su diegimo failais:
rm -f ./tar.gzPriskirkime nginx failų savininką:
chown -R nginx. /usr/share/nginx/htmlŠiame etape išjungsime serverį ir padarysime momentinę nuotrauką:
shutdown -h nowPaleidę VDS iš momentinės nuotraukos, atliksime pradinę MySQL serverio sąranką paleisdami scenarijų:
mysql_secure_installationĮgalinkime slaptažodžio tikrintuvą:
Would you like to setup VALIDATE PASSWORD component? : yNustatykime MySQL root vartotojo slaptažodį:
New password:
Re-enter new password:Pašalinkime anoniminius vartotojus:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : yNeleiskime root prisijungti nuotoliniu būdu:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : yIštrinkime bandymų duomenų bazę:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : yIš naujo įkelkime privilegijų lenteles:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Po to, norėdami užbaigti diegimą, galime eiti į
Šiuo adresu pamatysime diegimo puslapį Drupal.
Pasirinkime kalbą, kurią naudosime. Pavyzdžiui: rusų kalba. Spustelėkite „Išsaugoti ir tęsti“
Pasirinkime diegimo profilį (demonstracinė versija naudojama tik norint susipažinti su sistema). Mūsų atveju tebūnie „standartinis“.
Kitame puslapyje duosime duomenų bazės pavadinimą, pavyzdžiui, „drupal“. Nurodykime duomenų bazės vartotojo vardą root ir jam suteiktą slaptažodį vykdant mysql_secure_installation. Spustelėkite „Išsaugoti ir tęsti“.
Palaukite, kol bus baigtas vertimų diegimas ir atnaujinimas (procesas gali užtrukti kelias minutes).
Nurodysime svetainės pavadinimą, nustatysime svetainės el. pašto adresą (iš kurio bus siunčiami svetainės pranešimai), prisijungimo vardą, slaptažodį ir administratoriaus paskyros el. pašto adresą. DrupalRegioniniuose nustatymuose taip pat nustatysime šalį ir laiko juostą. Tada užbaikite diegimą spustelėdami „Išsaugoti ir tęsti“.
Po to galite pereiti į valdymo skydelį naudodami sukurtą administratoriaus prisijungimo vardą ir slaptažodį. Drupal.
HTTPS nustatymas (pasirenkama)
Norint konfigūruoti HTTPS, VDS turi turėti galiojantį DNS pavadinimą, nurodykite
/etc/nginx/nginx.confserverio skiltyje serverio pavadinimas (pavyzdžiui):
server_name domainname.ru;Paleiskite nginx iš naujo:
service nginx restartPaleiskite certbot:
sudo /usr/local/bin/certbot-auto --nginxĮveskite savo el.paštą, sutikite su paslaugų teikimo sąlygomis (A), Prenumeruokite naujienlaiškį (nebūtina) (N), pasirinkite domenų vardus, kuriems norite išduoti sertifikatą (Įveskite visiems).
Jei viskas vyko be klaidų, pamatysime pranešimą apie sėkmingą sertifikatų išdavimą ir serverio konfigūraciją:
Congratulations! You have successfully enabled ...Po to ryšiai su 80 prievadu bus nukreipti į 443 (https).
Pridėkite prie /etc/crontab, kad automatiškai atnaujintumėte sertifikatus:
# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"Patikimo pagrindinio kompiuterio saugos nustatymas (rekomenduojama)
Šis nustatymas skirtas išspręsti problemą, susijusią su dinaminiu bazinio_url nustatymu, ir skirtas užkirsti kelią HTTP HOST antraštės atakoms (kai jūsų svetainė mano, kad tai kažkas kitas).
Norėdami tai padaryti, nustatymų faile turite nurodyti patikimus svetainės domenų pavadinimus.
Byloje
/usr/share/nginx/html/sites/default/settings.php Panaikinkime komentarus arba pridėkime nustatymą su faktinių svetainių pavadinimų šablonais, pavyzdžiui:
$settings['trusted_host_patterns'] = [
'^www.mydomain.ru$',
];
PHP APCu diegimas (REKOMENDUOJAMA)
Drupal Palaiko APCu (alternatyvią PHP vartotojo talpyklą). 8 ir 9 versijos intensyviau naudoja APCu kaip trumpalaikę vietinę talpyklą nei ankstesnės versijos. Numatytasis talpyklos dydis (32 MB) tinka daugumai svetainių ir negali viršyti 512 MB.
Norėdami suaktyvinti, įdiekite PHP APCu modulį:
dnf -y install php-pecl-apcuIš naujo paleiskite nginx ir php-fpm:
service nginx restart
service php-fpm restartJei naudojate rusų kalbą ir APCu su rekomenduojamu talpyklos atminties dydžiu, valdymo skydelyje galite pamatyti įspėjimą, kad talpyklai skirtos atminties dydis skiriasi nuo rekomenduojamo, tačiau iš tikrųjų viskas veikia tinkamai, ir neteisingas įspėjimas greičiausiai bus ištaisytas kituose atnaujinimuose.
Arba, jei įspėjimas skauda akis, galite naudoti .
Norime priminti, kad įvaizdį galite padaryti ir mums
Yra trys galimybės dalyvauti.
Paruoškite vaizdą patys ir gaukite 3000 rublių į savo balansą
Jei būsite pasiruošę nedelsiant pulti į mūšį ir sukurti įvaizdį, kurio jums trūksta, į jūsų vidinį balansą įskaitysime 3000 rublių, kuriuos galėsite išleisti serveriuose.
Kaip susikurti savo įvaizdį:
- Susikurkite paskyrą pas mus
- Praneškite palaikymo komandai, kad ketinate kurti ir išbandyti vaizdus
- Mes įskaitysime jums 3000 rublių ir suteiksime galimybę kurti momentines nuotraukas
- Užsisakykite virtualų serverį su švaria operacine sistema
- Įdiekite programinę įrangą į šį VPS ir sukonfigūruokite
- Parašykite programinės įrangos diegimo instrukcijas arba scenarijų
- Sukurkite sukonfigūruoto serverio momentinį vaizdą
- Užsisakykite naują virtualų serverį išskleidžiamajame sąraše „Serverio šablonas“ pasirinkę anksčiau sukurtą momentinį vaizdą
- Jei serveris sėkmingai sukurtas, 6 etape gautą medžiagą perduokite techninei pagalbai
- Jei įvyko klaida, galite sužinoti priežastį su palaikymo tarnyba ir pakartoti sąranką
Verslo savininkams: pasiūlykite savo programinę įrangą
Jei esate programinės įrangos kūrėjas, kuris yra įdiegtas ir naudojamas VPS, galime įtraukti jus į rinką. Taip galime padėti pritraukti naujų klientų, pritraukti srautą ir padidinti žinomumą.
Komentaruose papasakokite, kokio vaizdo jums trūksta?
Ir paruošime patys
Šaltinis: www.habr.com
