Vi fortsätter att expandera vår marknadsplats. Vi berättade nyligen hur gjorde en Gitlab-bild, och den här veckan dök Drupal upp på vår marknadsplats.
Vi berättar varför vi valde honom och hur bilden skapades.
Drupal — en bekväm och kraftfull plattform för att skapa alla typer av webbplatser: från mikrosajter och bloggar till stora sociala projekt, som också används som bas för webbapplikationer, skrivna i PHP och använder relationsdatabaser som datalagring.
Drupal 9 innehåller alla funktioner som introducerades i version 8.9. Den viktigaste skillnaden mellan version 9 och version 8 är att plattformen kommer att fortsätta att ta emot uppdateringar och säkerhetskorrigeringar efter november 2021. Version 9 förenklar också uppdateringsprocessen, vilket gör processen att uppgradera från version 8 ännu enklare.
Serverkrav
För att använda Drupal rekommenderas det att använda 2 GB RAM och 2 CPU-kärnor.
De viktigaste Drupal-filerna tar upp cirka 100 MB, dessutom behöver du utrymme för att lagra bilder, databas, teman, ytterligare moduler och säkerhetskopior, vilket beror på storleken på din webbplats.
Drupal 9 kräver PHP 7.4 eller högre med en minimibegränsning (memory_limit) för 64 MB minne; om ytterligare moduler används rekommenderas det att installera 128 MB.
Drupal kan använda Apache eller Nginx som webbserver och MySQL, PostgreSQL eller SQLite som databas.
Vi kommer att installera Drupal med Nginx och MySQL.
Installation
Låt oss uppdatera de installerade paketen till den senaste versionen:
sudo dnf update -y
Låt oss lägga till permanent behörighet för inkommande trafik till portarna http/80 och https/443:
Eftersom Centos huvudförvare för närvarande använder PHP 7.2, låt oss lägga till ett REMI-förråd med PHP 7.4 (minimumversion för Drupal 9).
För att göra detta, lägg till EPEL-förvaret (krävs av REMI-förvaret):
Eftersom vi gör en mall för VDS, och de kan vara långsamma, kommer vi att lägga till en mysqld-startfördröjning på 30 sekunder, annars kan det bli problem med att servern startar under den första systemstarten:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.service
Låt oss ändra gruppen och användaren som nginx körs under genom att göra ändringar 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
Låt oss ändra ägaren av PHP-sessionskatalogen till nginx i enlighet med detta:
sudo chown -R nginx. /var/lib/php/session
Låt oss ta bort raderna med kommentarer från konfigurationsfilen /etc/nginx/nginx.conf (så att det inte finns några dubbla triggers för sed):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.conf
Lägg till gzip-komprimeringsinställningar till /etc/nginx/nginx.conf
Låt oss lägga till inställningarna för indexfilen index.php till /etc/nginx/nginx.conf:
sudo sed -i '/ root /usr/share/nginx/html;/a
index index.php index.html index.htm;
' /etc/nginx/nginx.conf
Låt oss lägga till inställningar för standardservern: PHP-bearbetning via php-fpm-socket, inaktivera loggen för statiska filer, öka utgångstiden, inaktivera åtkomst- och felloggen för favicon.ico och robots.txt och neka åtkomst till .ht filer för alla:
I detta skede kommer vi att stänga av servern och ta en ögonblicksbild:
shutdown -h now
Efter att ha startat VDS från ögonblicksbilden kommer vi att utföra den första installationen av MySQL-servern genom att köra skriptet:
mysql_secure_installation
Låt oss aktivera lösenordsvalideraren:
Would you like to setup VALIDATE PASSWORD component? : y
Låt oss ställa in lösenordet för MySQL root-användaren:
New password:
Re-enter new password:
Låt oss ta bort anonyma användare:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Låt oss förhindra att root ansluter på distans:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Låt oss ta bort testdatabasen:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Låt oss ladda om privilegietabellerna:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Efter detta, för att slutföra installationen, kan vi gå till vps_ip_adress
På den här adressen kommer vi att se installationssidan för Drupal.
Låt oss välja vilket språk som ska användas. Till exempel: ryska. Klicka på "Spara och fortsätt"
Låt oss välja en installationsprofil (demon används endast för att bekanta dig med systemet). I vårt fall, låt det vara "standard".
På nästa sida kommer vi att ge databasen ett namn, till exempel "drupal". Låt oss ange databasens användarnamn root och lösenordet som han fick när han körde mysql_secure_installation. Klicka på "Spara och fortsätt".
Låt oss vänta tills installationen och uppdateringen av översättningarna är klara (processen kan ta flera minuter).
Vi kommer att ange namnet på webbplatsen, ställa in webbplatsens e-postadress (på uppdrag av vilken webbplatsmeddelanden kommer att skickas), inloggning, lösenord och e-postadress för Drupal-administratörskontot. Vi kommer också att ställa in land och tidszon i de regionala inställningarna. Och slutför installationen genom att klicka på "Spara och fortsätt".
Efter detta kan du gå till kontrollpanelen med den skapade Drupal-administratörsinloggningen och lösenordet.
Konfigurera HTTPS (valfritt)
För att konfigurera HTTPS måste VDS ha ett giltigt DNS-namn, specificera i
/etc/nginx/nginx.conf
i serversektionen servernamnet (till exempel):
server_name domainname.ru;
Låt oss starta om nginx:
service nginx restart
Låt oss starta certbot:
sudo /usr/local/bin/certbot-auto --nginx
Ange din e-post, godkänn användarvillkoren (A), Prenumerera på nyhetsbrevet (valfritt) (N), välj de domännamn som du vill utfärda ett certifikat för (Ange för alla).
Om allt gick utan fel kommer vi att se ett meddelande om framgångsrikt utfärdande av certifikat och serverkonfiguration:
Congratulations! You have successfully enabled ...
Efter detta kommer anslutningar till port 80 att omdirigeras till 443 (https).
Lägg till i /etc/crontab för att automatiskt uppdatera certifikat:
Den här inställningen är avsedd som en lösning på problemet med dynamisk base_url-bestämning och är utformad för att förhindra HTTP HOST Header-attacker (när din webbplats tror att det är någon annan).
För att göra detta måste du ange betrodda domännamn för webbplatsen i inställningsfilen.
I fil
/usr/share/nginx/html/sites/default/settings.php Låt oss avkommentera eller lägga till en inställning med mönster av faktiska webbplatsnamn, till exempel:
Drupal stöder APCu - Alternativ PHP User Cache, version 8 och 9 använder APCu i större utsträckning som en kortvarig lokal cache än tidigare versioner. Standardcachestorleken (32 MB) är lämplig för de flesta webbplatser och kan inte överstiga 512 MB.
För att aktivera, installera PHP APCu-modulen:
dnf -y install php-pecl-apcu
Starta om nginx och php-fpm:
service nginx restart
service php-fpm restart
Om du använder det ryska språket och APCu med den rekommenderade minnesstorleken för cachen, kan du se en varning i kontrollpanelen om att storleken på det tilldelade minnet för cachen skiljer sig från det rekommenderade, men i själva verket fungerar allt korrekt, och den felaktiga varningen kommer med största sannolikhet att korrigeras i nästa uppdatering.
Vi vill påminna dig om att du även kan göra en bild åt oss
Det finns tre alternativ för hur man deltar.
Förbered bilden själv och få 3000 XNUMX rubel till ditt saldo
Om du är redo att genast rusa in i striden och skapa bilden som du saknar, kommer vi att kreditera dig med 3000 XNUMX rubel till ditt interna saldo, som du kan spendera på servrar.
Låt supporten veta att du ska skapa och testa bilder
Vi kommer att kreditera dig 3000 XNUMX rubel och möjliggöra möjligheten att skapa ögonblicksbilder
Beställ en virtuell server med ett rent operativsystem
Installera programvaran på denna VPS och konfigurera den
Skriv instruktioner eller skript för programdistribution
Skapa en ögonblicksbild för den konfigurerade servern
Beställ en ny virtuell server genom att välja den tidigare skapade ögonblicksbilden i rullgardinsmenyn "Servermall".
Om servern har skapats framgångsrikt, överför materialet som togs emot i steg 6 till teknisk support
Om det finns ett fel kan du kolla med supporten för orsaken och upprepa installationen
För företagare: erbjuda din programvara
Om du är en mjukvaruutvecklare som distribueras och används på VPS, då kan vi inkludera dig på marknaden. Så här kan vi hjälpa dig att få nya kunder, trafik och medvetenhet. Skriv till oss
Berätta för oss i kommentarerna vilken bild du saknar?