Oprettelse af en VPS-skabelon med Drupal 9 på Centos 8
Vi fortsætter med at udvide vores markedsplads. Vi fortalte dig for nylig hvordan lavet et Gitlab-billede, og i denne uge dukkede Drupal op på vores markedsplads.
Vi fortæller dig, hvorfor vi valgte ham, og hvordan billedet blev skabt.
Drupal — en bekvem og kraftfuld platform til at skabe enhver form for websted: fra mikrosider og blogs til store sociale projekter, også brugt som grundlag for webapplikationer, skrevet i PHP og ved hjælp af relationelle databaser som datalagring.
Drupal 9 indeholder alle de funktioner, der blev introduceret i version 8.9. Den vigtigste forskel mellem version 9 og version 8 er, at platformen vil fortsætte med at modtage opdateringer og sikkerhedsrettelser efter november 2021. Version 9 forenkler også opdateringsprocessen, hvilket gør processen med at opgradere fra version 8 endnu nemmere.
Serverkrav
For at bruge Drupal anbefales det at bruge 2 GB RAM og 2 CPU-kerner.
De vigtigste Drupal-filer fylder omkring 100 MB, derudover skal du bruge plads til at gemme billeder, database, temaer, yderligere moduler og sikkerhedskopier, hvilket vil afhænge af størrelsen på dit websted.
Drupal 9 kræver PHP 7.4 eller højere med en minimumsbegrænsning (memory_limit) for 64 MB hukommelse; hvis der bruges yderligere moduler, anbefales det at installere 128 MB.
Drupal kan bruge Apache eller Nginx som webserver og MySQL, PostgreSQL eller SQLite som database.
Vi vil installere Drupal ved hjælp af Nginx og MySQL.
Installation
Lad os opdatere de installerede pakker til den nyeste version:
sudo dnf update -y
Lad os tilføje permanent tilladelse til indgående trafik til http/80- og https/443-porte:
Da Centos' hovedlager i øjeblikket bruger PHP 7.2, lad os tilføje et REMI-lager med PHP 7.4 (minimumsversion for Drupal 9).
For at gøre dette skal du tilføje EPEL-depotet (påkrævet af REMI-depotet):
Da vi laver en skabelon til VDS, og de kan være langsomme, tilføjer vi en mysqld-startforsinkelse på 30 sekunder, ellers kan der være problemer med, at serveren starter under den indledende systemopstart:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.service
Lad os ændre gruppen og brugeren, som nginx kører under, ved at lave ændringer til /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
Lad os ændre ejeren af PHP-sessionsmappen til nginx i overensstemmelse hermed:
sudo chown -R nginx. /var/lib/php/session
Lad os fjerne linjerne med kommentarer fra konfigurationsfilen /etc/nginx/nginx.conf (så der ikke er dobbelt triggere for sed):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.conf
Tilføj gzip-komprimeringsindstillinger til /etc/nginx/nginx.conf
Lad os tilføje indstillingerne 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
Lad os tilføje indstillinger for standardserveren: PHP-behandling via php-fpm-socket, deaktiver loggen for statiske filer, øge udløbstiden, deaktiver adgangs- og fejlloggen for favicon.ico og robots.txt, og nægt adgang til .ht filer til alle:
På dette tidspunkt slukker vi serveren og tager et øjebliksbillede:
shutdown -h now
Efter at have startet VDS'en fra snapshottet, udfører vi den indledende opsætning af MySQL-serveren ved at køre scriptet:
mysql_secure_installation
Lad os aktivere adgangskodevalidatoren:
Would you like to setup VALIDATE PASSWORD component? : y
Lad os indstille adgangskoden til MySQL root-brugeren:
New password:
Re-enter new password:
Lad os fjerne anonyme brugere:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Lad os forhindre root i at forbinde eksternt:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Lad os slette testdatabasen:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Lad os genindlæse privilegietabellerne:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Efter dette, for at fuldføre installationen, kan vi gå til vps_ip_adresse
På denne adresse vil vi se Drupal installationssiden.
Lad os vælge det sprog, der skal bruges. For eksempel: russisk. Klik på "Gem og fortsæt"
Lad os vælge en installationsprofil (demoen bruges udelukkende til at gøre dig bekendt med systemet). I vores tilfælde, lad det være "standard".
På næste side vil vi give databasen et navn, for eksempel "drupal". Lad os angive databasebrugernavnet root og adgangskoden, som han fik, når han kører mysql_secure_installation. Klik på "Gem og fortsæt".
Lad os vente på, at installationen og opdateringen af oversættelser er fuldført (processen kan tage flere minutter).
Vi vil angive navnet på webstedet, angive webstedets e-mail (på vegne af hvilken webstedsmeddelelser vil blive sendt), login, adgangskode og e-mail til Drupal-administratorkontoen. Vi vil også indstille land og tidszone i de regionale indstillinger. Og fuldfør installationen ved at klikke på "Gem og fortsæt".
Herefter kan du gå til kontrolpanelet med det oprettede Drupal-administratorlogin og adgangskode.
Opsætning af HTTPS (valgfrit)
For at konfigurere HTTPS skal VDS'en have et gyldigt DNS-navn, angiv i
/etc/nginx/nginx.conf
i serverafsnittet servernavnet (for eksempel):
server_name domainname.ru;
Lad os genstarte nginx:
service nginx restart
Lad os starte certbot:
sudo /usr/local/bin/certbot-auto --nginx
Indtast din e-mail, accepter servicevilkårene (A), Tilmeld dig nyhedsbrevet (valgfrit) (N), vælg de domænenavne, som du vil udstede et certifikat for (Enter for alle).
Hvis alt gik uden fejl, vil vi se en meddelelse om vellykket udstedelse af certifikater og serverkonfiguration:
Congratulations! You have successfully enabled ...
Herefter vil forbindelser til port 80 blive omdirigeret til 443 (https).
Tilføj til /etc/crontab for automatisk at opdatere certifikater:
Denne indstilling er tænkt som en løsning på problemet forbundet med dynamisk base_url-bestemmelse og er designet til at forhindre HTTP HOST Header-angreb (når dit websted tror, at det er en anden).
For at gøre dette skal du angive pålidelige domænenavne for webstedet i indstillingsfilen.
I fil
/usr/share/nginx/html/sites/default/settings.php Lad os fjerne kommentarer eller tilføje en indstilling med mønstre af faktiske webstedsnavne, for eksempel:
Drupal understøtter APCu - Alternativ PHP User Cache, version 8 og 9 gør større brug af APCu som en kortsigtet lokal cache end tidligere versioner. Standard cachestørrelsen (32 MB) er velegnet til de fleste websteder og kan ikke overstige 512 MB.
For at aktivere skal du installere PHP APCu-modulet:
dnf -y install php-pecl-apcu
Genstart nginx og php-fpm:
service nginx restart
service php-fpm restart
Hvis du bruger det russiske sprog og APCu med den anbefalede hukommelsesstørrelse for cachen, kan du se en advarsel i kontrolpanelet om, at størrelsen på den tildelte hukommelse til cachen er forskellig fra den anbefalede, men faktisk fungerer alt korrekt, og den forkerte advarsel vil højst sandsynligt blive rettet i de næste opdateringer.
Vi vil gerne minde dig om, at du også kan lave et billede til os
Der er tre muligheder for, hvordan man deltager.
Forbered selv billedet og få 3000 rubler til din saldo
Hvis du er klar til straks at skynde dig ind i kamp og skabe det billede, du mangler, vil vi kreditere dig med 3000 rubler til din interne saldo, som du kan bruge på servere.
Lad support vide, at du vil oprette og teste billeder
Vi krediterer dig 3000 rubler og gør det muligt at oprette øjebliksbilleder
Bestil en virtuel server med et rent operativsystem
Installer softwaren på denne VPS og konfigurer den
Skriv instruktioner eller script til softwareimplementering
Opret et øjebliksbillede for den konfigurerede server
Bestil en ny virtuel server ved at vælge det tidligere oprettede snapshot på rullelisten "Serverskabelon".
Hvis serveren er oprettet, skal du overføre materialerne modtaget på trin 6 til teknisk support
Hvis der er en fejl, kan du kontakte support for årsagen og gentage opsætningen
For virksomhedsejere: Tilbyd din software
Hvis du er en softwareudvikler, der er implementeret og brugt på VPS, så kan vi inkludere dig på markedspladsen. Sådan kan vi hjælpe dig med at bringe nye kunder, trafik og opmærksomhed. Skriv til os
Fortæl os i kommentarerne, hvilket billede du mangler?