Vi fortsetter å utvide markedsplassen vår. Vi har nylig fortalt deg hvordan laget et Gitlab-bilde, og denne uken dukket Drupal opp på markedsplassen vår.
Vi forteller deg hvorfor vi valgte ham og hvordan bildet ble skapt.
Drupal — en praktisk og kraftig plattform for å lage alle typer nettsider: fra mikrosider og blogger til store sosiale prosjekter, også brukt som grunnlag for nettapplikasjoner, skrevet i PHP og ved å bruke relasjonsdatabaser som datalagring.
Drupal 9 inkluderer alle funksjonene introdusert i versjon 8.9. Den viktigste forskjellen mellom versjon 9 og versjon 8 er at plattformen vil fortsette å motta oppdateringer og sikkerhetsreparasjoner etter november 2021. Versjon 9 forenkler også oppdateringsprosessen, noe som gjør prosessen med å oppgradere fra versjon 8 enda enklere.
Serverkrav
For å bruke Drupal anbefales det å bruke 2 GB RAM og 2 CPU-kjerner.
De viktigste Drupal-filene tar opp omtrent 100 MB, i tillegg trenger du plass til å lagre bilder, database, temaer, tilleggsmoduler og sikkerhetskopier, som vil avhenge av størrelsen på nettstedet ditt.
Drupal 9 krever PHP 7.4 eller høyere med en minimumsbegrensning (memory_limit) for 64 MB minne; hvis tilleggsmoduler brukes, anbefales det å installere 128 MB.
Drupal kan bruke Apache eller Nginx som webserver, og MySQL, PostgreSQL eller SQLite som database.
Vi skal installere Drupal ved hjelp av Nginx og MySQL.
Installasjon
La oss oppdatere de installerte pakkene til den nyeste versjonen:
sudo dnf update -y
La oss legge til permanent tillatelse for innkommende trafikk til http/80- og https/443-portene:
Siden hoveddepotet til Centos for tiden bruker PHP 7.2, la oss legge til et REMI-depot med PHP 7.4 (minimumsversjon for Drupal 9).
For å gjøre dette, legg til EPEL-depotet (påkrevd av REMI-depotet):
Siden vi lager en mal for VDS, og de kan være trege, vil vi legge til en mysqld-startforsinkelse på 30 sekunder, ellers kan det være problemer med at serveren starter under den første systemoppstarten:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.service
La oss endre gruppen og brukeren som nginx skal kjøre under ved å gjøre endringer i /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
La oss endre eieren av PHP-sesjonskatalogen til nginx tilsvarende:
sudo chown -R nginx. /var/lib/php/session
La oss fjerne linjene med kommentarer fra konfigurasjonsfilen /etc/nginx/nginx.conf (slik at det ikke er noen doble triggere for sed):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.conf
Legg til gzip-komprimeringsinnstillinger til /etc/nginx/nginx.conf
La oss legge til innstillingene for indeksfilen index.php til /etc/nginx/nginx.conf:
sudo sed -i '/ root /usr/share/nginx/html;/a
index index.php index.html index.htm;
' /etc/nginx/nginx.conf
La oss legge til innstillinger for standardserveren: PHP-behandling via php-fpm-kontakten, deaktiver loggen for statiske filer, øke utløpstiden, deaktivere tilgangs- og feilloggen for favicon.ico og robots.txt, og nekte tilgang til .ht filer for alle:
På dette stadiet slår vi av serveren og tar et øyeblikksbilde:
shutdown -h now
Etter å ha startet VDS fra øyeblikksbildet, vil vi utføre det første oppsettet av MySQL-serveren ved å kjøre skriptet:
mysql_secure_installation
La oss aktivere passordvalidatoren:
Would you like to setup VALIDATE PASSWORD component? : y
La oss angi passordet for MySQL root-brukeren:
New password:
Re-enter new password:
La oss fjerne anonyme brukere:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
La oss forhindre at root kobles til eksternt:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
La oss slette testdatabasen:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
La oss laste inn privilegietabellene på nytt:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Etter dette, for å fullføre installasjonen, kan vi gå til vps_ip_adresse
På denne adressen vil vi se Drupal-installasjonssiden.
La oss velge språket som skal brukes. For eksempel: russisk. Klikk "Lagre og fortsett"
La oss velge en installasjonsprofil (demoen brukes utelukkende for å gjøre deg kjent med systemet). I vårt tilfelle, la det være "standard".
På neste side vil vi gi et navn til databasen, for eksempel "drupal". La oss angi databasebrukernavnet roten og passordet gitt til ham når du kjører mysql_secure_installation. Klikk "Lagre og fortsett."
La oss vente til installasjonen og oppdateringen av oversettelser er fullført (prosessen kan ta flere minutter).
Vi vil indikere navnet på nettstedet, angi nettstedets e-postadresse (på vegne av hvilken sidevarsler vil bli sendt), pålogging, passord og e-post for Drupal-administratorkontoen. Vi vil også angi land og tidssone i de regionale innstillingene. Og fullfør installasjonen ved å klikke "Lagre og fortsett".
Etter dette kan du gå til kontrollpanelet med den opprettede Drupal-administratorinnloggingen og passordet.
Sette opp HTTPS (valgfritt)
For å konfigurere HTTPS må VDS-en ha et gyldig DNS-navn, spesifiser i
/etc/nginx/nginx.conf
i serverdelen servernavnet (for eksempel):
server_name domainname.ru;
La oss starte nginx på nytt:
service nginx restart
La oss lansere certbot:
sudo /usr/local/bin/certbot-auto --nginx
Skriv inn e-posten din, godta vilkårene for bruk (A), Abonner på nyhetsbrevet (valgfritt) (N), velg domenenavnene du vil utstede et sertifikat for (Skriv inn for alle).
Hvis alt gikk uten feil, vil vi se en melding om vellykket utstedelse av sertifikater og serverkonfigurasjon:
Congratulations! You have successfully enabled ...
Etter dette vil tilkoblinger til port 80 bli omdirigert til 443 (https).
Legg til i /etc/crontab for å automatisk oppdatere sertifikater:
Denne innstillingen er ment som en løsning på problemet knyttet til dynamisk base_url-bestemmelse, og er utformet for å forhindre HTTP HOST Header-angrep (når nettstedet ditt tror at det er noen andre).
For å gjøre dette må du spesifisere pålitelige domenenavn for nettstedet i innstillingsfilen.
I fil
/usr/share/nginx/html/sites/default/settings.php La oss fjerne kommentarer eller legge til en innstilling med mønstre av faktiske nettstedsnavn, for eksempel:
Drupal støtter APCu - Alternativ PHP User Cache, versjon 8 og 9 gjør større bruk av APCu som en kortsiktig lokal cache enn tidligere versjoner. Standard cache-størrelse (32 MB) passer for de fleste nettsteder, og kan ikke overstige 512 MB.
For å aktivere, installer PHP APCu-modulen:
dnf -y install php-pecl-apcu
Start nginx og php-fpm på nytt:
service nginx restart
service php-fpm restart
Hvis du bruker russisk språk og APCu med anbefalt minnestørrelse for cachen, kan det hende du ser en advarsel i kontrollpanelet om at størrelsen på det tildelte minnet for cachen er forskjellig fra den anbefalte, men faktisk fungerer alt som det skal, og feil advarsel vil mest sannsynlig bli rettet i de neste oppdateringene.
Vi vil minne deg på at du også kan lage et bilde for oss
Det er tre alternativer for hvordan du deltar.
Forbered bildet selv og få 3000 rubler til saldoen din
Hvis du er klar til å umiddelbart skynde deg inn i kamp og lage bildet du mangler, vil vi kreditere deg med 3000 rubler til din interne saldo, som du kan bruke på servere.
Gi støtten beskjed om at du skal lage og teste bilder
Vi vil kreditere deg 3000 rubler og aktivere muligheten til å lage øyeblikksbilder
Bestill en virtuell server med et rent operativsystem
Installer programvaren på denne VPS-en og konfigurer den
Skriv instruksjoner eller skript for programvaredistribusjon
Lag et øyeblikksbilde for den konfigurerte serveren
Bestill en ny virtuell server ved å velge det tidligere opprettede øyeblikksbildet i rullegardinlisten "Servermal".
Hvis serveren er opprettet, overfører du materialet mottatt på trinn 6 til teknisk støtte
Hvis det er en feil, kan du sjekke med support for årsaken og gjenta oppsettet
For bedriftseiere: tilby programvaren din
Hvis du er en programvareutvikler som er distribuert og brukt på VPS, kan vi inkludere deg på markedet. Slik kan vi hjelpe deg med å bringe nye kunder, trafikk og bevissthet. Skriv til oss
Fortell oss i kommentarfeltet hvilket bilde du mangler?