Pokračujeme v rozšiřování našeho trhu. Nedávno jsme vám řekli, jak na to a tento týden se objevila na našem tržišti Drupal.
Řekneme vám, proč jsme si ho vybrali a jak obrázek vznikl.
Drupal — pohodlná a výkonná platforma pro tvorbu jakéhokoli typu webových stránek: od microsites a blogů až po velké sociální projekty, používaná také jako základ pro webové aplikace, napsaná v PHP a využívající relační databáze jako úložiště dat.
Drupal Verze 9 obsahuje všechny funkce implementované ve verzi 8.9. Klíčový rozdíl mezi verzí 9 a verzí 8 spočívá v tom, že platforma bude i po listopadu 2021 nadále dostávat aktualizace a bezpečnostní záplaty. Verze 9 také zjednodušuje proces aktualizace, takže upgrade z verze 8 je ještě snazší.
Požadavky na server
Použití Drupal Doporučuje se použít 2 GB RAM a 2 jádra CPU.
Hlavní soubory Drupal zabírají asi 100 MB, budete také potřebovat prostor pro ukládání obrázků, databáze, šablon, dalších modulů a záloh, což bude záviset na velikosti vašeho webu.
pro Drupal 9 vyžaduje PHP 7.4 nebo vyšší s minimálním omezením (memory_limit) pro 64 MB paměti, v případě použití přídavných modulů se doporučuje nainstalovat 128 MB.
Jako webový server Drupal Jako databázi lze použít Apache nebo Nginx a MySQL, PostgreSQL nebo SQLite.
Budeme instalovat Drupal pomocí Nginxu a MySQL.
Instalace
Pojďme aktualizovat nainstalované balíčky na nejnovější verzi:
sudo dnf update -yPřidejme trvalé oprávnění pro příchozí provoz na porty http/80 a https/443:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=httpsAplikujme nová pravidla brány firewall:
sudo systemctl reload firewalldPojďme nainstalovat Nginx:
sudo dnf install nginx -ySpusťte a povolte server Nginx:
sudo systemctl start nginx
sudo systemctl enable nginx Vzhledem k tomu, že v současné době je v hlavním repozitáři Centos Používá se PHP verze 7.2, přidejme repozitář REMI s PHP 7.4 (minimální verze pro Drupal 9).
Chcete-li to provést, přidejte úložiště EPEL (vyžadované úložištěm REMI):
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmPřidáme úložiště REMI:
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Povolme modulu php:remi-7.4 instalaci php 7.4:
sudo dnf module enable php:remi-7.4 -yNainstalujte php-fpm a php-cli:
sudo dnf install -y php-fpm php-cliNainstalujeme PHP moduly potřebné pro práci. 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-xmlNainstalujeme také doporučené moduly opcache PHP mbstring:
sudo dnf install -y php-mbstring php-opcacheNainstalujme server MySQL:
sudo dnf install mysql-server -yZapneme a spustíme MySQL server:
sudo systemctl start mysqld
sudo systemctl enable mysqldProtože vytváříme šablonu pro VDS a mohou být pomalé, přidáme zpoždění startu mysqld o 30 sekund, jinak mohou nastat problémy se spuštěním serveru během počátečního spouštění systému:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.servicePojďme změnit skupinu a uživatele, pod kterými bude nginx běžet, provedením změn v /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.confZměňme podle toho vlastníka adresáře PHP sessions na nginx:
sudo chown -R nginx. /var/lib/php/sessionOdeberme řádky s komentáři z konfiguračního souboru /etc/nginx/nginx.conf (aby neexistovaly žádné dvojité spouštěče pro sed):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.confPřidejte nastavení komprese gzip do /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.confPřidáme nastavení indexového souboru index.php do /etc/nginx/nginx.conf:
sudo sed -i '/ root /usr/share/nginx/html;/a
index index.php index.html index.htm;
' /etc/nginx/nginx.confPřidejme nastavení pro výchozí server: zpracování PHP přes php-fpm socket, deaktivujeme protokol pro statické soubory, prodloužíme dobu expirace, zakážeme přístup a protokol chyb pro favicon.ico a robots.txt a odepřeme přístup k .ht soubory pro každého:
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.confInstalace wget nutná pro instalaci certbota:
sudo dnf install wget -yStáhněte si spustitelný soubor certbot z offsite:
cd ~
wget https://dl.eff.org/certbot-autoPřesuňte certbot do /usr/local/bin/:
mv certbot-auto /usr/local/bin/certbot-autoA přidělme práva jako vlastník rootovi:
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-autoNainstalujme závislosti certbota a v této fázi přerušme jeho práci (Odpovědi: Y, c):
certbot-autoStáhněte si archiv s nejnovější verzí z oficiálních stránek. Drupal 9:
cd ~
wget https://www.drupal.org/download-latest/tar.gzNainstalujte tar pro rozbalení archivu:
sudo dnf install tar -ySmažeme výchozí soubory v adresáři /usr/share/nginx/html/:
rm -rf /usr/share/nginx/html/*Rozbalíme soubory do adresáře webového serveru:
tar xf tar.gz -C /usr/share/nginx/html/Přesuňte soubory z podadresáře do kořenového adresáře webového serveru:
mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/Smažeme podadresář:
rm -rf /usr/share/nginx/html/drupal-9.0.7Smažeme archiv s instalačními soubory:
rm -f ./tar.gzPojďme přiřadit vlastníka souborů nginx:
chown -R nginx. /usr/share/nginx/htmlV této fázi vypneme server a uděláme snímek:
shutdown -h nowPo spuštění VDS ze snímku provedeme počáteční nastavení serveru MySQL spuštěním skriptu:
mysql_secure_installationPovolíme validátor hesel:
Would you like to setup VALIDATE PASSWORD component? : yNastavíme heslo pro uživatele root MySQL:
New password:
Re-enter new password:Pojďme odstranit anonymní uživatele:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : yZabraňme root ve vzdáleném připojení:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : ySmažeme testovací databázi:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : yZnovu načteme tabulky oprávnění:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Poté, abychom dokončili instalaci, můžeme přejít na
Na této adrese uvidíme instalační stránku Drupal.
Vyberme jazyk, který se má použít. Například: ruština. Klikněte na „Uložit a pokračovat“
Vybereme instalační profil (demo slouží pouze k seznámení se systémem). V našem případě nechť je to „standardní“.
Na další stránce pojmenujeme databázi, například „drupal“. Uveďme uživatelské jméno databáze root a heslo, které mu bylo přiděleno při spuštění mysql_secure_installation. Klikněte na „Uložit a pokračovat“.
Počkejte na dokončení instalace a aktualizace překladů (proces může trvat několik minut).
Uvedeme název webu, nastavíme e-mail webu (ze kterého budou zasílána oznámení webu), přihlašovací jméno, heslo a e-mail administrátorského účtu. DrupalV regionálním nastavení také nastavíme zemi a časové pásmo. Poté dokončete instalaci kliknutím na tlačítko „Uložit a pokračovat“.
Poté můžete přejít do ovládacího panelu s vytvořeným přihlašovacím jménem a heslem správce. Drupal.
Nastavení HTTPS (volitelné)
Chcete-li nakonfigurovat HTTPS, musí mít VDS platný název DNS, zadejte v
/etc/nginx/nginx.confv sekci server název serveru (například):
server_name domainname.ru;Restartujeme nginx:
service nginx restartSpustíme certbot:
sudo /usr/local/bin/certbot-auto --nginxZadejte svůj e-mail, odsouhlaste podmínky služby (A), Přihlaste se k odběru novinek (nepovinné) (N), vyberte názvy domén, pro které chcete certifikát vystavit (Zadejte pro každého).
Pokud vše proběhlo bez chyb, zobrazí se nám zpráva o úspěšném vydání certifikátů a konfiguraci serveru:
Congratulations! You have successfully enabled ...Poté budou připojení k portu 80 přesměrována na 443 (https).
Chcete-li automaticky aktualizovat certifikáty, přidejte do /etc/crontab:
# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"Nastavení zabezpečení důvěryhodného hostitele (doporučeno)
Toto nastavení je zamýšleno jako řešení problému spojeného s dynamickým určováním base_url a je navrženo tak, aby zabránilo útokům záhlaví HTTP HOST (když si váš web myslí, že jde o někoho jiného).
Chcete-li to provést, musíte v souboru nastavení zadat názvy důvěryhodných domén pro web.
V souboru
/usr/share/nginx/html/sites/default/settings.php Pojďme odkomentovat nebo přidat nastavení se vzory skutečných názvů webů, například:
$settings['trusted_host_patterns'] = [
'^www.mydomain.ru$',
];
Instalace PHP APCu (DOPORUČENO)
Drupal Podporuje APCu (Alternative PHP User Cache). Verze 8 a 9 využívají APCu intenzivněji jako krátkodobou lokální mezipaměť než předchozí verze. Výchozí velikost mezipaměti (32 MB) je vhodná pro většinu webů a nesmí překročit 512 MB.
Pro aktivaci nainstalujte modul PHP APCu:
dnf -y install php-pecl-apcuRestartujte nginx a php-fpm:
service nginx restart
service php-fpm restartPokud používáte ruský jazyk a APCu s doporučenou velikostí paměti pro cache, může se vám na ovládacím panelu zobrazit varování, že velikost přidělené paměti pro cache je jiná než doporučená, ale ve skutečnosti vše funguje správně, a nesprávné varování bude s největší pravděpodobností opraveno v příštích aktualizacích.
Nebo pokud vás varování bolí oči, můžete použít .
Připomínáme, že si pro nás můžete udělat i obrázek
Existují tři možnosti, jak se zúčastnit.
Připravte si obrázek sami a získejte 3000 XNUMX rublů na svůj zůstatek
Pokud jste připraveni okamžitě se vrhnout do bitvy a vytvořit image, která vám chybí, připíšeme vám 3000 XNUMX rublů k vašemu vnitřnímu zůstatku, které můžete utratit na serverech.
Jak vytvořit vlastní obrázek:
- Vytvořte si u nás účet na
- Dejte podpoře vědět, že se chystáte vytvářet a testovat obrázky
- Připíšeme vám 3000 XNUMX rublů a umožníme možnost vytvářet snímky
- Objednejte si virtuální server s čistým operačním systémem
- Nainstalujte software na tento VPS a nakonfigurujte jej
- Napište pokyny nebo skript pro nasazení softwaru
- Vytvořte snímek pro nakonfigurovaný server
- Objednejte si nový virtuální server výběrem dříve vytvořeného snímku v rozevíracím seznamu „Šablona serveru“.
- Pokud je server úspěšně vytvořen, přeneste materiály obdržené ve fázi 6 technické podpoře
- Pokud dojde k chybě, můžete si u podpory zjistit důvod a opakovat nastavení
Pro majitele firem: nabídněte svůj software
Pokud jste vývojář softwaru, který je nasazen a používán na VPS, můžeme vás zahrnout do trhu. Takto vám můžeme pomoci přivést nové zákazníky, návštěvnost a povědomí.
Napište nám do komentářů, jaký obrázek vám chybí?
A připravíme si ho sami
Zdroj: www.habr.com
