Vi fortsætter med at udvide vores markedsplads. Vi fortalte dig for nylig hvordan , og i denne uge dukkede den op på vores markedsplads Drupal.
Vi fortæller dig, hvorfor vi valgte ham, og hvordan billedet blev skabt.
Drupal — en praktisk og kraftfuld platform til at oprette enhver type hjemmeside: fra mikrosider og blogs til store sociale projekter, der også bruges som grundlag for webapplikationer, er skrevet i PHP og bruger relationelle databaser som datalagring.
Drupal Version 9 indeholder alle de funktioner, der blev implementeret i version 8.9. Den væsentligste forskel mellem version 9 og version 8 er, at platformen fortsat vil modtage opdateringer og sikkerhedsrettelser efter november 2021. Version 9 forenkler også opdateringsprocessen, hvilket gør det endnu nemmere at opgradere fra version 8.
Serverkrav
At bruge Drupal Det anbefales at bruge 2 GB RAM og 2 CPU-kerner.
Hovedfiler Drupal Hvis det fylder omkring 100 MB, skal du også bruge plads til at gemme billeder, en database, temaer, yderligere moduler og sikkerhedskopier, hvilket afhænger af størrelsen på dit websted.
for Drupal 9 kræver PHP 7.4 eller højere med en minimumsbegrænsning (memory_limit) for 64 MB hukommelse, hvis du bruger yderligere moduler, anbefales det at installere 128 MB.
Som en webserver Drupal kan bruge Apache eller Nginx, 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 -yLad os tilføje permanent tilladelse til indgående trafik til http/80- og https/443-porte:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=httpsLad os anvende de nye firewallregler:
sudo systemctl reload firewalldLad os installere Nginx:
sudo dnf install nginx -yLad os starte og aktivere Nginx-serveren:
sudo systemctl start nginx
sudo systemctl enable nginx Da det i øjeblikket er i hovedarkivet Centos PHP version 7.2 bruges, lad os tilføje REMI-arkivet med PHP 7.4 (minimumsversionen for Drupal 9).
For at gøre dette tilføjer vi EPEL-arkivet (påkrævet af REMI-arkivet):
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmLad os tilføje REMI-arkivet:
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Lad os aktivere php:remi-7.4-modulet for at installere php 7.4:
sudo dnf module enable php:remi-7.4 -yInstaller php-fpm og php-cli:
sudo dnf install -y php-fpm php-cliVi installerer de PHP-moduler, der kræves til arbejdet. 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-xmlVi installerer også de anbefalede PHP-moduler mbstring opcache:
sudo dnf install -y php-mbstring php-opcacheLad os installere MySQL-serveren:
sudo dnf install mysql-server -yLad os aktivere og starte MySQL-serveren:
sudo systemctl start mysqld
sudo systemctl enable mysqldDa vi laver en skabelon til VDS, og de kan være langsomme, tilføjer vi en 30-sekunders mysqld opstartsforsinkelse, ellers kan der være problemer med at starte serveren under den første systemopstart:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.serviceLad os ændre gruppen og brugeren, som nginx skal fungere under, ved at foretage ændringer 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.confLad os også ændre ejeren af PHP-sessionsmappen til nginx:
sudo chown -R nginx. /var/lib/php/sessionLad os fjerne de kommenterede linjer fra konfigurationsfilen /etc/nginx/nginx.conf (for at undgå dobbelt udløsning af sed):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.confTilføj gzip-komprimeringsindstillinger til /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.confLad 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.confLad os tilføje indstillinger for standardserveren til at behandle PHP via php-fpm-socket'en, deaktivere loggen for statiske filer, øge udløbstiden, deaktivere adgangs- og fejlloggen for favicon.ico og robots.txt og forbyde adgang til .ht-filer for alle:
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.confLad os installere wget, som kræves for at installere certbot:
sudo dnf install wget -yLad os downloade den eksekverbare certbot-fil fra det officielle websted:
cd ~
wget https://dl.eff.org/certbot-autoLad os flytte certbot til /usr/local/bin/:
mv certbot-auto /usr/local/bin/certbot-autoOg vi vil tildele rettigheder og ejer til root:
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-autoLad os installere certbot-afhængigheder og stoppe det på dette tidspunkt (Svar: Y, c):
certbot-autoDownload arkivet med den nyeste version fra den officielle hjemmeside. Drupal 9:
cd ~
wget https://www.drupal.org/download-latest/tar.gzLad os installere tar for at udpakke arkivet:
sudo dnf install tar -yLad os slette standardfilerne i mappen /usr/share/nginx/html/:
rm -rf /usr/share/nginx/html/*Lad os pakke filerne ud i webserverens mappe:
tar xf tar.gz -C /usr/share/nginx/html/Lad os flytte filerne fra undermappen til webserverens rodmappe:
mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/Lad os slette undermappen:
rm -rf /usr/share/nginx/html/drupal-9.0.7Lad os slette arkivet med installationsfilerne:
rm -f ./tar.gzLad os tildele nginx som ejer af filerne:
chown -R nginx. /usr/share/nginx/htmlPå dette tidspunkt lukker vi serveren ned og tager et snapshot:
shutdown -h nowEfter at have startet VDS'en fra snapshot'et, udfører vi den indledende opsætning af MySQL-serveren ved at køre scriptet:
mysql_secure_installationLad os aktivere adgangskodevalidatoren:
Would you like to setup VALIDATE PASSWORD component? : yLad os indstille en adgangskode 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) : yLad os forhindre root i at oprette forbindelse eksternt:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : yLad os slette testdatabasen:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : yLad os genindlæse privilegietabellerne:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Derefter kan vi gå til adressen for at fuldføre installationen
På denne adresse vil vi se installationssiden Drupal.
Lad os vælge det sprog, vi vil bruge. For eksempel: russisk. Klik på "Gem og fortsæt"
Lad os vælge installationsprofilen (demoen bruges udelukkende til at blive fortrolig med systemet). I vores tilfælde, lad det være "standard".
På næste side giver vi databasen et navn, for eksempel "drupal". Lad os angive databasebrugernavnet root og den angivne adgangskode til det, når mysql_secure_installation køres. Klik på "Gem og fortsæt".
Vent, indtil installationen er færdig, og oversættelserne er opdateret (processen kan tage flere minutter).
Vi angiver navnet på webstedet, indstiller webstedets e-mail (hvorfra webstedsmeddelelser sendes), login, adgangskode og e-mail til administratorkontoen. DrupalVi indstiller også land og tidszone i de regionale indstillinger. Fuldfør derefter installationen ved at klikke på "Gem og fortsæt".
Derefter kan du gå til kontrolpanelet med det oprettede administratorlogin og den oprettede adgangskode. Drupal.
Opsætning af HTTPS (valgfrit)
For at konfigurere HTTPS skal VDS'en have et gyldigt DNS-navn, angivet i
/etc/nginx/nginx.confi serversektionen servernavnet (for eksempel):
server_name domainname.ru;Lad os genstarte nginx:
service nginx restartLad os køre certbot:
sudo /usr/local/bin/certbot-auto --nginxIndtast din e-mail, accepter servicevilkårene (A), tilmeld dig mailinglisten (valgfrit) (N), vælg de domænenavne, du vil udstede et certifikat til (Enter for alle).
Hvis alt gik uden fejl, vil vi se en besked om den vellykkede udstedelse af certifikater og serverkonfiguration:
Congratulations! You have successfully enabled ...Derefter vil forbindelser til port 80 blive omdirigeret til 443 (https).
Lad os tilføje til /etc/crontab for automatisk at opdatere certifikater:
# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"Opsætning af Trusted Host Security (anbefales)
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, det er en anden).
For at gøre dette skal du angive webstedets betroede domænenavne 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 aktuelle webstedsnavne, for eksempel:
$settings['trusted_host_patterns'] = [
'^www.mydomain.ru$',
];
Installation af PHP APCu (ANBEFALET)
Drupal Understøtter APCu (Alternative PHP User Cache). Version 8 og 9 bruger APCu mere intensivt som en kortvarig lokal cache end tidligere versioner. Standardcachestørrelsen (32 MB) er egnet til de fleste websteder og må ikke overstige 512 MB.
For at aktivere skal du installere PHP APCu-modulet:
dnf -y install php-pecl-apcuLad os genstarte nginx og php-fpm:
service nginx restart
service php-fpm restartHvis du bruger russisk sprog og APCu med anbefalet cachehukommelsesstørrelse, kan du i kontrolpanelet se en advarsel om, at den tildelte cachehukommelsesstørrelse afviger fra den anbefalede, men faktisk fungerer alt korrekt, og den forkerte advarsel vil højst sandsynligt blive rettet i de næste opdateringer.
Eller hvis advarslen er for skæmmende, kan du bruge .
Vi vil gerne minde dig om, at du også kan lave et billede til os.
Der er tre muligheder for, hvordan man kan deltage.
Forbered billedet selv og få 3000 rubler på din saldo
Hvis du er klar til straks at storme ind i kampen og skabe det image, du mangler, krediterer vi dig 3000 rubler til din interne saldo - du kan bruge dem på servere.
Sådan skaber du dit eget billede:
- Opret en konto hos os på
- Giv support besked om, at du vil oprette og teste billeder.
- Vi krediterer dig med 3000 rubler og giver dig mulighed for at lave snapshots
- Bestil en virtuel server med et rent operativsystem
- Installer software på denne VPS og konfigurer den
- Opret instruktioner eller et script til implementering af software
- Opret et snapshot af den konfigurerede server
- Bestil en ny virtuel server ved at vælge det tidligere oprettede snapshot fra rullemenuen "Serverskabelon".
- Hvis serveren er oprettet, bedes du indsende materialerne fra trin 6 til teknisk support.
- I tilfælde af en fejl kan du kontakte support for at finde årsagen og gentage opsætningen.
Til virksomhedsejere: Tilbyd din software
Hvis du er softwareudvikler, der implementeres og bruges på en VPS, kan vi inkludere dig i markedet. På denne måde kan vi hjælpe dig med at tiltrække nye kunder, trafik og opmærksomhed.
Fortæl os i kommentarerne hvilket billede du mangler?
Og vi vil selv forberede det.
Kilde: www.habr.com
