Vi fortsÀtter att utöka vÄr marknadsplats. Nyligen berÀttade vi hur , och denna vecka har vÄr marknadsplats fÄtt Drupal.
Vi berÀttar varför vi valde just det och hur bilden skapades.
Drupal â en anvĂ€ndarvĂ€nlig och kraftfull plattform för att skapa alla typer av webbplatser: frĂ„n mikrosajter och bloggar till stora sociala projekt, som Ă€ven anvĂ€nds som grund för webbapplikationer, skriven i PHP och anvĂ€nder relationsdatabaser som datalagring.
Drupal 9 inkluderar alla funktioner som implementerades i version 8.9. Den viktigaste skillnaden mellan version 9 och version 8 Àr att plattformen kommer att fÄ uppdateringar och sÀkerhetsfixar Àven efter november 2021. Dessutom har uppdateringsprocessen förenklats i version 9, vilket gör uppdateringen frÄn version 8 Ànnu enklare.
Serverkrav
För att anvÀnda Drupal rekommenderas 2 GB RAM och 2 CPU-kÀrnor.
De grundlÀggande filerna för Drupal tar upp cirka 100 MB, och du kommer ocksÄ att behöva utrymme för lagring av bilder, databaser, teman, ytterligare moduler och sÀkerhetskopior, vilket kommer att bero pÄ storleken pÄ din webbplats.
För Drupal 9 krÀvs PHP 7.4 eller högre med ett minimalt grÀns (memory_limit) pÄ 64 MB, och om du anvÀnder ytterligare moduler rekommenderas att stÀlla in 128 MB.
Som webbserver kan Drupal anvÀnda Apache eller Nginx, och som databas MySQL, PostgreSQL eller SQLite.
Vi kommer att installera Drupal med hjÀlp av Nginx och MySQL.
Installation
Vi uppdaterar de installerade paketen till den senaste versionen:
sudo dnf update -yVi lÀgger till permanent tillÄtelse för inkommande trafik pÄ http/80 och https/443 portar:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=httpsVi tillÀmpar de nya brandvÀggsreglerna:
sudo systemctl reload firewalldVi installerar Nginx:
sudo dnf install nginx -yVi startar och aktiverar Nginx-servern:
sudo systemctl start nginx
sudo systemctl enable nginx Eftersom den nuvarande huvudförrÄdet för Centos anvÀnder PHP 7.2, lÀgger vi till REMI-förrÄdet med PHP 7.4 (minimiversion för Drupal 9).
För detta lÀgger vi till EPEL-förrÄdet (krÀvs av REMI-förrÄdet):
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmVi lÀgger till REMI-förrÄdet:
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Vi aktiverar modulen php:remi-7.4 för att installera php 7.4:
sudo dnf module enable php:remi-7.4 -yVi installerar php-fpm och php-cli:
sudo dnf install -y php-fpm php-cliVi installerar de PHP-moduler som krÀvs för att Drupals ska fungera:
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 installerar Àven de rekommenderade PHP-modulerna mbstring opcache:
sudo dnf install -y php-mbstring php-opcacheVi installerar MySQL-servern:
sudo dnf install mysql-server -yVi aktiverar och startar MySQL-servern:
sudo systemctl start mysqld
sudo systemctl enable mysqldEftersom vi gör en mall för VDS, och de kan vara lÄngsamma, lÀgger vi till en fördröjning pÄ 30 sekunder för mysqld sÄ att det inte blir problem med serverstarten vid systemets första uppstart:
sudo sed -i 's/Group=mysql/Group=mysql
ExecStartPre=/bin/sleep 30/' /usr/lib/systemd/system/mysqld.serviceVi Àndrar gruppen och anvÀndaren som nginx kommer att arbeta som 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.confVi Àndrar ÀganderÀtten för PHP:s sessionskatalog till nginx:
sudo chown -R nginx. /var/lib/php/sessionVi tar bort kommentarerna frÄn konfigurationsfilen /etc/nginx/nginx.conf (för att undvika dubbla aktiveringar för sed):
sudo sed -i -e '/^[ \t]*#/d' /etc/nginx/nginx.confVi lÀgger till gzip-komprimeringsinstÀllningar i /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.confVi lÀgger till indexfilens instÀllningar för index.php i /etc/nginx/nginx.conf:
sudo sed -i '/ root /usr/share/nginx/html;/a
index index.php index.html index.htm;
' /etc/nginx/nginx.confVi lÀgger till instÀllningar för standardservern för att bearbeta php via socket php-fpm, stÀnger av loggning för statiska filer, ökar utgÄngstiden, stÀnger av loggning av tillgÄngar och fel för favicon.ico och robots.txt, och nekar Ätkomst till .ht-filer för alla:
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.confVi installerar wget som krÀvs för att installera certbot:
sudo dnf install wget -yVi laddar ner certbot-körfilen frÄn den officiella sidan:
cd ~
wget https://dl.eff.org/certbot-autoVi flyttar certbot till /usr/local/bin/:
mv certbot-auto /usr/local/bin/certbot-autoOch sÀtter rÀttigheterna och Àgaren till root:
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-autoVi installerar certbot-beroenden och pausar dess körning (Svaren: Y, c):
certbot-autoVi laddar ner en arkivfil med den senaste versionen av Drupal 9 frÄn den officiella sidan:
cd ~
wget https://www.drupal.org/download-latest/tar.gzVi installerar tar för att packa upp arkivet:
sudo dnf install tar -yVi tar bort standardfilerna i katalogen /usr/share/nginx/html/:
rm -rf /usr/share/nginx/html/*Vi packar upp filerna till webbserverns katalog:
tar xf tar.gz -C /usr/share/nginx/html/Vi flyttar filerna frÄn underkatalogen till webbserverns rotkatalog:
mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/Vi tar bort underkatalogen:
rm -rf /usr/share/nginx/html/drupal-9.0.7Vi tar bort arkivet med installationsfilerna:
rm -f ./tar.gzVi sÀtter Àgaren av filerna till nginx:
chown -R nginx. /usr/share/nginx/htmlI detta steg stÀnger vi ner servern och gör en snapshot:
shutdown -h nowEfter att VDS har startats frÄn snapshotet utför vi den första konfigurationen av MySQL-servern genom att köra skriptet:
mysql_secure_installationVi aktiverar lösenordsvalideraren:
Would you like to setup VALIDATE PASSWORD component? : yVi stÀller in root-anvÀndarens lösenord för MySQL:
New password:
Re-enter new password:Vi tar bort anonyma anvÀndare:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : yVi förhindrar att root loggar in pÄ distans:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : yVi tar bort testdatabasen:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : yVi laddar om privilegietabellerna:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Efter det kan vi, för att avsluta installationen, besöka adressen
PÄ denna adress kommer vi se installationssidan för Drupal.
Vi vÀljer det sprÄk som ska anvÀndas. Till exempel: ryska. Vi klickar pÄ "Spara och fortsÀtt"
Vi vÀljer installationsprofilen (demoversionen anvÀnds endast för att bekanta sig med systemet). I vÄrt fall vÀljer vi "standard".
PÄ nÀsta sida anger vi databasens namn, till exempel "drupal". Vi anger databasanvÀndarnamnet root och det lösenord vi angav under mysql_secure_installation. Vi klickar pÄ "Spara och fortsÀtt".
Vi vÀntar pÄ att installationen ska avslutas och översÀttningarna ska uppdateras (processen kan ta nÄgra minuter).
Ange webbplatsens namn, ange webbplatsens e-postadress (frÄn vilken webbplatsens meddelanden kommer att skickas), anvÀndarnamn, lösenord och e-postadress för Drupal-administratörskontot. Ange ocksÄ land och tidszon i de regionala instÀllningarna. Avsluta installationen genom att trycka pÄ "Spara och fortsÀtt".
DÀrefter kan du gÄ till kontrollpanelen med det skapade anvÀndarnamnet och lösenordet för Drupal-administratören.
InstÀllning av HTTPS (valfritt)
För att konfigurera HTTPS mÄste VDS ha ett giltigt DNS-namn, ange i
/etc/nginx/nginx.confi serveravsnittet servernamnet (t.ex.):
server_name domainname.ru;Vi startar om nginx:
service nginx restartVi kör certbot:
sudo /usr/local/bin/certbot-auto --nginxAnge din e-postadress, godkÀnn tjÀnstevillkoren (A), prenumeration pÄ nyhetsbrev (valfritt) (N), vÀlj domÀnnamn för vilka certifikatet ska utfÀrdas (tryck Enter för alla).
Om allt gick utan fel, kommer vi att se ett meddelande om att certifikaten och servern har konfigurerats framgÄngsrikt:
Grattis! Du har framgÄngsrikt aktiverat ...Efter denna anslutning kommer port 80 att omdirigeras till 443 (https).
LÀgg till i /etc/crontab för automatisk uppdatering av certifikat:
# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"InstÀllning av Trusted Host Security (rekommenderas)
Denna instÀllning Àr en lösning pÄ problemet med dynamisk bestÀmning av base_url, och syftar till att förhindra HTTP HOST Header-attacker (nÀr din webbplats tror att den Àr nÄgon annan).
För detta behöver du ange betrodda domÀnnamn för webbplatsen i konfigurationsfilen.
I filen
/usr/share/nginx/html/sites/default/settings.php avkommentera eller lÀgg till instÀllningen med mönstren för aktuella domÀnnamn, till exempel:
$settings['trusted_host_patterns'] = [
'^www.mydomain.ru$',
];
Installation av PHP APCu (REKOMMENDERAS)
Drupal stöder APCu â Alternative PHP User Cache, versioner 8 och 9 anvĂ€nder APCu som kortvarigt cache mer intensivt Ă€n tidigare versioner. Standardcachens storlek (32 MB) Ă€r tillrĂ€cklig för de flesta webbplatser och fĂ„r inte överstiga 512 MB.
För att aktivera, installera PHP APCu-modulen:
dnf -y install php-pecl-apcuVi startar om nginx och php-fpm:
service nginx restart
service php-fpm restartVid anvÀndning av ryska sprÄket och APCu med den rekommenderade storleken för minnescache, kan du i kontrollpanelen se en varning om att den tilldelade cache-minnesstorleken avviker frÄn den rekommenderade, men egentligen fungerar allt korrekt, och den felaktiga varningen kommer troligen att rÀttas till i kommande uppdateringar.
Eller om varningen stör, kan du anvÀnda .
Vi vill pÄminna dig om att du ocksÄ kan göra en bild för oss
Det finns tre sÀtt att delta.
Skapa bilden sjÀlv och fÄ 3000 kronor pÄ ditt konto
Om du Ă€r redo att kasta dig in i striden och skapa den bild du saknar, kommer vi att sĂ€tta in 3000 kronor pĂ„ ditt interna balanskonto â som du kan anvĂ€nda för servrar.
Hur man skapar sin egen bild:
- Skapa ett konto hos oss pÄ
- Informera supporten om att du tÀnker skapa och testa bilder
- Vi sÀtter in 3000 kronor och aktiverar möjligheten att skapa snapshots
- BestÀll en virtuell server med ett rent operativsystem
- Installera programvaran pÄ denna VPS och konfigurera den
- Skriv en instruktion eller ett script för att distribuera programvaran
- Skapa en snapshot för den konfigurerade servern
- BestÀll en ny virtuell server genom att vÀlja den tidigare skapade snapshoten i rullgardinsmenyn "Servermall"
- Vid framgÄngsrik skapelse av servern, överlÀmna materialen som erhölls i steg 6 till teknisk support
- Vid fel kan du frÄga supporten om orsaken och upprepa konfigurationen
För företagare: erbjud din programvara
Om du Àr mjukvaruutvecklare som distribuerar och anvÀnder programvara pÄ VPS, kan vi inkludera dig i marknadsplatsen. PÄ sÄ sÀtt kan vi hjÀlpa dig att fÄ nya kunder, trafik och kÀnnedom.
BerÀtta i kommentarerna vilken bild du saknar?
SÄ ordnar vi den sjÀlva
KĂ€lla: habr.com
