Vi fortsætter med at udvide vores markedsplads. For nylig fortalte vi, hvordan , og denne uge er Drupal blevet tilføjet til vores markedsplads.
Vi forklarer, hvorfor vi valgte netop dette og hvordan billedet blev skabt.
Drupal — en praktisk og kraftfuld platform til oprettelse af alle typer hjemmesider: fra mikrosites og blogs til store sociale projekter, som også bruges som grundlag for webapplikationer, skrevet i PHP og bruger relationelle databaser som datalager.
Drupal 9 inkluderer alle funktioner implementeret i version 8.9. Den vigtigste forskel mellem version 9 og version 8 er, at der vil blive udgivet opdateringer og sikkerhedsrettelser til platformen efter november 2021. Derudover er opdateringsprocessen i version 9 blevet forenklet, hvilket gør opdatering fra version 8 endnu nemmere.
Serverkrav
For at bruge Drupal anbefales det at have 2 GB RAM og 2 CPU-kerner.
De grundlæggende Drupal-filer optager omkring 100 MB, og du får brug for ekstra plads til at gemme billeder, databasen, temaer, ekstra moduler og sikkerhedskopier, hvilket vil afhænge af størrelsen på din hjemmeside.
Drupal 9 kræver PHP 7.4 eller nyere med et minimum af grænsen (memory_limit) på 64 MB, og det anbefales at installere 128 MB ved brug af ekstra moduler.
Som webserver kan Drupal bruge Apache eller Nginx, og som database kan den bruge MySQL, PostgreSQL eller SQLite.
Vi vil installere Drupal ved hjælp af Nginx og MySQL.
Installation
Vi opdaterer de installerede pakker til den nyeste version:
sudo dnf update -yVi tilføjer permanent tilladelse til indkommende trafik på http/80 og https/443 porte:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=httpsVi anvender de nye firewall-regler:
sudo systemctl reload firewalldVi installerer Nginx:
sudo dnf install nginx -yVi starter og aktiverer Nginx-serveren:
sudo systemctl start nginx
sudo systemctl enable nginx Da version 7.2 af PHP i øjeblikket bruges i Centos' hovedrepository, tilføjer vi REMI-repositoriet med PHP 7.4 (minimum version for Drupal 9).
For dette tilføjer vi EPEL-repositoriet (kræves af REMI-repositoriet):
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmVi tilføjer REMI-repositoriet:
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Vi aktiverer modul php:remi-7.4 for at installere php 7.4:
sudo dnf module enable php:remi-7.4 -yVi installerer php-fpm og php-cli:
sudo dnf install -y php-fpm php-cliVi installerer de PHP-moduler, der kræves for at drifte 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-opcacheVi installerer MySQL-serveren:
sudo dnf install mysql-server -yVi aktiverer og starter MySQL-serveren:
sudo systemctl start mysqld
sudo systemctl enable mysqldDa vi laver en skabelon til VDS, som kan være langsomme, tilføjer vi 30 sekunders forsinkelse til opstarten af mysqld, ellers kan der opstå problemer med serverens opstart under den første systemindlæsning:
sudo sed -i '\/Group=mysql\/a \nExecStartPre=\/bin\/sleep 30\n' \/usr\/lib\/systemd\/system\/mysqld.serviceVi ændrer gruppen og brugeren, som nginx vil køre under, ved at ændre 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 ændrer ejeren af PHP-sessionkataloget til også at være nginx:
sudo chown -R nginx. \/var\/lib\/php\/sessionVi fjerner kommentarlinjerne fra konfigurationsfilen \/etc\/nginx\/nginx.conf (for at undgå dobbelte udløsninger for sed):
sudo sed -i -e '\/^[ t]*#\/d' \/etc\/nginx\/nginx.confVi tilføjer gzip-kompressionsindstillinger til \/etc\/nginx\/nginx.conf
sudo sed -i '\/types_hash_max_size 2048;\/a \n\ngzip on;\ngzip_static on;\ngzip_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;\ngzip_comp_level 9;\ngzip_proxied any;\ngzip_min_length 1000;\ngzip_disable "msie6";\ngzip_vary on; \n' \/etc\/nginx\/nginx.confVi tilføjer forsiden index.php-indstillinger til \/etc\/nginx\/nginx.conf:
sudo sed -i '\/ root \/usr\/share\/nginx\/html;\/a \n index index.php index.html index.htm;\n' \/etc\/nginx\/nginx.confVi tilføjer indstillinger for den standardserver, der behandler PHP via php-fpm-socket, deaktiverer loggen for statiske filer, forlænger expire-tiden, deaktiverer adgangs- og fejl-log for favicon.ico og robots.txt og forbyder adgang til .ht-filer for alle:
sudo sed -i '\/ location \/ {\/a \n\t\ttry_files $uri $uri\/ \/index.php?q=$uri&$args;\n }\n \n location ~* ^.+.(js|css|png|jpg|jpeg|gif|ico|woff)$ {\n access_log off;\n expires max;\n }\n \n location ~ .php$ {\n try_files $uri =404;\n fastcgi_pass unix:\/run\/php-fpm\/www.sock;\n fastcgi_index index.php;\n include fastcgi_params;\n fastcgi_intercept_errors on;\n fastcgi_ignore_client_abort off;\n fastcgi_connect_timeout 60;\n fastcgi_send_timeout 180;\n fastcgi_read_timeout 180;\n fastcgi_buffer_size 128k;\n fastcgi_buffers 4 256k;\n fastcgi_busy_buffers_size 256k;\n fastcgi_temp_file_write_size 256k;\n }\n \n location = \/favicon.ico {\n log_not_found off;\n access_log off;\n }\n \n location = \/robots.txt {\n allow all;\n log_not_found off;\n access_log off;\n }\n \n location ~ \/.ht {\n deny all;' \/etc\/nginx\/nginx.confVi installerer wget, som kræves for installation af certbot:
sudo dnf install wget -yVi downloader den udførlige fil certbot fra den officielle hjemmeside:
cd ~
wget https://dl.eff.org/certbot-autoVi flytter certbot til /usr/local/bin/:
mv certbot-auto /usr/local/bin/certbot-autoOg vi tildeler rettigheder og ejer som root:
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-autoVi installerer certbot-afhængigheder og stopper det på dette trin (Svar: Y, c):
certbot-autoVi downloader et arkiv med den nyeste version af Drupal 9 fra den officielle hjemmeside:
cd ~
wget https://www.drupal.org/download-latest/tar.gzVi installerer tar til at udpakke arkivet:
sudo dnf install tar -yVi sletter standardfilerne i kataloget /usr/share/nginx/html/:
rm -rf /usr/share/nginx/html/*Vi pakker filerne ud i webserverens katalog:
tar xf tar.gz -C /usr/share/nginx/html/Vi flytter filerne fra undermappen til rodkataloget på webserveren:
mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/Vi sletter undermappen:
rm -rf /usr/share/nginx/html/drupal-9.0.7Vi sletter arkivet med installationsfilerne:
rm -f ./tar.gzVi tildeler ejerskab af filerne til nginx:
chown -R nginx. /usr/share/nginx/htmlPå dette trin slukker vi serveren og tager et snapshot:
shutdown -h nowEfter genstart af VDS fra snapshotet udfører vi den indledende konfiguration af MySQL-serveren ved at køre scriptet:
mysql_secure_installationVi aktiverer password validator:
Would you like to setup VALIDATE PASSWORD component? : yVi angiver root-brugerens MySQL-adgangskode:
New password:
Re-enter new password:Vi fjerner anonyme brugere:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : yVi forbyder fjernadgang til root:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : yVi fjerner testdatabasen:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : yVi genindlæser adgangsrettighedstabellerne:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Herefter, for at afslutte installationen, kan vi gå til adressen
På denne adresse vil vi se installationssiden for Drupal.
Vi vælger det sprog, der skal bruges. For eksempel: dansk. Klik på «Gem og fortsæt»
Vi vælger installationsprofilen (demoen bruges kun til at blive bekendt med systemet). I vores tilfælde vælger vi "standard".
På næste side angiver vi navn til databasen, for eksempel "drupal". Vi angiver databasebrugerens navn root og adgangskoden, som blev tildelt ved kørsel af mysql_secure_installation. Klik på «Gem og fortsæt».
Vi venter på, at installationen og opdateringen af oversættelserne afsluttes (processen kan tage nogle minutter).
Angiv websitets navn, angiv websitets e-mail (fra hvilken meddelelser fra websitet vil blive sendt), login, adgangskode og e-mail til Drupal-administratorens konto. Angiv også land og tidszone i de regionale indstillinger. Og afslut installationen ved at klikke på «Gem og fortsæt».
Herefter kan du gå til kontrolpanelet med den oprettede login og adgangskode til Drupal-administratoren.
HTTPS-opsætning (valgfrit)
For at konfigurere HTTPS skal VDS have et gyldigt DNS-navn, angiv det i
/etc/nginx/nginx.confafsnittet serverens navn (f.eks.):
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 betingelserne for tjenesten (A), tilmelding til nyhedsbrev (valgfrit) (N), vælg de domænenavne, for hvilke certifikatet skal udstedes (Enter for alle).
Hvis alt er gået uden fejl, vil vi se en meddelelse om, at certifikaterne er udstedt, og serveren er konfigureret:
Tillykke! Du har med succes aktiveret ...Herefter vil forbindelser til port 80 blive omdirigeret til 443 (https).
Tilføj til /etc/crontab for automatisk opdatering af 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 opsætning er beregnet som en løsning på problemer relateret til dynamisk bestemmelse af base_url, og sigter mod at forhindre HTTP HOST Header-angreb (når din hjemmeside tror, at den er nogen anden).
For dette skal du angive de betroede domænenavne for websitet i konfigurationsfilen.
I filen
/usr/share/nginx/html/sites/default/settings.php afkommenter eller tilføj indstillingen med mønstre for aktuelle domænenavne, f.eks.:
$settings['trusted_host_patterns'] = [
'^www.mydomain.ru$',
];
Installation af PHP APCu (ANBEFALES)
Drupal understøtter APCu — Alternative PHP User Cache, versionerne 8 og 9 bruger mere intensivt APCu som kortvarig lokal cache end tidligere versioner. Standard cache-størrelsen (32 MB) vil være passende for de fleste hjemmesider og kan ikke overstige 512 MB.
For at aktivere det skal vi installere PHP APCu-modulet:
dnf -y install php-pecl-apcuLad os genstarte nginx og php-fpm:
service nginx restart
service php-fpm restartVed brug af det russiske sprog og APCu med den anbefalede cache-størrelse kan du i kontrolpanelet se en advarsel om, at den tildelte cache-hukommelse afviger fra det anbefalede, men faktisk fungerer alt korrekt, og den forkerte advarsel vil sandsynligvis blive rettet i de kommende opdateringer.
Eller hvis advarslen irriterer, kan du bruge .
Vi vil gerne minde dig om, at du også kan lave et image til os
Der er tre måder at deltage på.
Forbered et image selv og få 3000 kroner på din konto
Hvis du er klar til straks at kaste dig ud i det og selv lave det image, du mangler, vil vi kreditere dig 3000 kroner på din interne saldo, som du kan bruge på servere.
Sådan opretter du dit eget image:
- Opret en konto hos os på
- Informer support, at du planlægger at oprette og teste billeder
- Vi vil kreditere dig 3000 kroner og aktivere muligheden for at oprette snapshots
- Bestil en virtuel server med et rent operativsystem
- Installer software på denne VPS og konfigurer den
- Skriv en instruktion eller script til at implementere softwaren
- Opret et snapshot af den konfigurerede server
- Bestil en ny virtuel server ved at vælge det tidligere oprettede snapshot i dropdownlisten "Servertemplate"
- I tilfælde af en vellykket oprettelse af serveren, skal du sende materialerne fra trin 6 til teknisk support
- Hvis der er en fejl, kan du spørge supporten om årsagen og gentage konfigurationen
For virksomhedsejere: tilbyd din software
Hvis du er softwareudvikler, der implementeres og bruges på VPS, kan vi inkludere dig i markedspladsen. Således kan vi hjælpe dig med at tiltrække nye kunder, trafik og synlighed.
Fortæl os i kommentarerne, hvilket image du mangler?
Og vi vil selv forberede det
Kilde: habr.com
