Vytvorenie šablóny VPS pomocou Drupal 9 na Centos 8
Pokračujeme v rozširovaní nášho trhu. Nedávno sme vám povedali, ako na to vytvoril obrázok Gitlabu, a tento týždeň sa na našom trhovisku objavil Drupal.
Povieme vám, prečo sme si ho vybrali a ako obraz vznikol.
Drupal — pohodlná a výkonná platforma na vytváranie akéhokoľvek typu webovej stránky: od mikrostránok a blogov až po veľké sociálne projekty, používaná aj ako základ pre webové aplikácie, napísaná v PHP a využívajúca relačné databázy ako úložisko dát.
Drupal 9 obsahuje všetky funkcie predstavené vo verzii 8.9. Kľúčový rozdiel medzi verziou 9 a verziou 8 je v tom, že platforma bude aj po novembri 2021 naďalej dostávať aktualizácie a opravy zabezpečenia. Verzia 9 tiež zjednodušuje proces aktualizácie, čím je proces inovácie z verzie 8 ešte jednoduchší.
Požiadavky na server
Na používanie Drupalu sa odporúča použiť 2 GB RAM a 2 jadrá CPU.
Hlavné súbory Drupalu zaberajú približne 100 MB, okrem toho budete potrebovať priestor na ukladanie obrázkov, databázy, tém, doplnkových modulov a záloh, čo bude závisieť od veľkosti vašej stránky.
Drupal 9 vyžaduje PHP 7.4 alebo vyšší s minimálnym obmedzením (memory_limit) pre pamäť 64 MB, ak sa použijú ďalšie moduly, odporúča sa nainštalovať 128 MB.
Drupal môže používať Apache alebo Nginx ako webový server a MySQL, PostgreSQL alebo SQLite ako databázu.
Budeme inštalovať Drupal pomocou Nginx a MySQL.
Inštalácia
Aktualizujme nainštalované balíčky na najnovšiu verziu:
sudo dnf update -y
Pridajme trvalé povolenie pre prichádzajúci prenos na porty http/80 a https/443:
Keďže hlavné úložisko Centos momentálne používa PHP 7.2, pridajme repozitár REMI s PHP 7.4 (minimálna verzia pre Drupal 9).
Ak to chcete urobiť, pridajte úložisko EPEL (požadované úložiskom REMI):
Keďže vytvárame šablónu pre VDS a môžu byť pomalé, pridáme oneskorenie spustenia mysqld o 30 sekúnd, inak môžu nastať problémy so spustením servera počas počiatočného zavádzania systému:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.service
Zmeňme skupinu a používateľa, pod ktorým bude nginx bežať, vykonaním zmien 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.conf
Zmeňme podľa toho vlastníka adresára PHP sessions na nginx:
sudo chown -R nginx. /var/lib/php/session
Odstránime riadky s komentármi z konfiguračného súboru /etc/nginx/nginx.conf (aby neexistovali žiadne dvojité spúšťače pre sed):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.conf
Pridajte nastavenia kompresie gzip do /etc/nginx/nginx.conf
Pridajme nastavenia indexového súboru 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.conf
Pridajme nastavenia pre predvolený server: Spracovanie PHP cez php-fpm socket, zakážeme protokol pre statické súbory, predĺžime exspiračný čas, zakážeme prístup a protokol chýb pre favicon.ico a robots.txt a zakážeme prístup k .ht súbory pre každého:
Po spustení VDS zo snímky vykonáme počiatočné nastavenie servera MySQL spustením skriptu:
mysql_secure_installation
Povoľme overovač hesla:
Would you like to setup VALIDATE PASSWORD component? : y
Nastavíme heslo pre používateľa root MySQL:
New password:
Re-enter new password:
Poďme odstrániť anonymných používateľov:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Zabránime rootovi v pripojení na diaľku:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Vymažeme testovaciu databázu:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Znovu načítajme tabuľky privilégií:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Po dokončení inštalácie môžeme prejsť na vps_ip_address
Na tejto adrese sa nám zobrazí inštalačná stránka Drupalu.
Vyberme jazyk, ktorý sa má použiť. Napríklad: ruský. Kliknite na „Uložiť a pokračovať“
Vyberieme inštalačný profil (ukážka slúži výhradne na oboznámenie sa so systémom). V našom prípade nech je to „štandardné“.
Na ďalšej stránke pomenujeme databázu, napríklad „drupal“. Označme užívateľské meno databázy root a heslo, ktoré mu bolo pridelené pri spustení mysql_secure_installation. Kliknite na „Uložiť a pokračovať“.
Počkajme na dokončenie inštalácie a aktualizácie prekladov (proces môže trvať niekoľko minút).
Uvedieme názov stránky, nastavíme e-mail stránky (v mene ktorej sa budú odosielať upozornenia stránky), prihlasovacie meno, heslo a email administrátorského účtu Drupal. V regionálnom nastavení nastavíme aj krajinu a časové pásmo. A dokončite inštaláciu kliknutím na „Uložiť a pokračovať“.
Potom môžete prejsť na ovládací panel s vytvoreným prihlasovacím menom a heslom správcu Drupal.
Nastavenie HTTPS (voliteľné)
Ak chcete nakonfigurovať HTTPS, VDS musí mať platný názov DNS, uveďte v
/etc/nginx/nginx.conf
v sekcii server názov servera (napríklad):
server_name domainname.ru;
Reštartujeme nginx:
service nginx restart
Spustíme certbot:
sudo /usr/local/bin/certbot-auto --nginx
Zadajte svoj e-mail, súhlaste s podmienkami služby (A), Prihláste sa na odber noviniek (voliteľné) (N), vyberte názvy domén, pre ktoré chcete vystaviť certifikát (Zadajte pre všetkých).
Ak všetko prebehlo bez chýb, zobrazí sa nám správa o úspešnom vydaní certifikátov a konfigurácii servera:
Congratulations! You have successfully enabled ...
Potom budú pripojenia k portu 80 presmerované na 443 (https).
Ak chcete automaticky aktualizovať certifikáty, pridajte do /etc/crontab:
Toto nastavenie je určené ako riešenie problému spojeného s dynamickým určovaním base_url a je určené na zabránenie útokom hlavičky HTTP HOST (keď si vaša stránka myslí, že ide o niekoho iného).
Ak to chcete urobiť, musíte zadať názvy dôveryhodných domén pre lokalitu v súbore nastavení.
V súbore
/usr/share/nginx/html/sites/default/settings.php Zrušme komentár alebo pridáme nastavenie so vzormi skutočných názvov stránok, napríklad:
Drupal podporuje APCu – alternatívnu používateľskú vyrovnávaciu pamäť PHP, verzie 8 a 9 využívajú APCu ako krátkodobú lokálnu vyrovnávaciu pamäť viac ako predchádzajúce verzie. Predvolená veľkosť vyrovnávacej pamäte (32 MB) je vhodná pre väčšinu stránok a nemôže prekročiť 512 MB.
Ak chcete aktivovať, nainštalujte modul PHP APCu:
dnf -y install php-pecl-apcu
Reštartujte nginx a php-fpm:
service nginx restart
service php-fpm restart
Ak používate ruský jazyk a APCu s odporúčanou veľkosťou pamäte pre vyrovnávaciu pamäť, na ovládacom paneli sa môže zobraziť upozornenie, že veľkosť pridelenej pamäte pre vyrovnávaciu pamäť je iná ako odporúčaná, ale v skutočnosti všetko funguje správne, a nesprávne varovanie bude s najväčšou pravdepodobnosťou opravené v ďalších aktualizáciách.
Pripomíname, že obrázok si môžete urobiť aj pre nás
Existujú tri možnosti, ako sa zúčastniť.
Pripravte si obrázok sami a získajte 3000 XNUMX rubľov na zostatok
Ak ste pripravení okamžite sa vrhnúť do boja a vytvoriť obraz, ktorý vám chýba, pripíšeme vám 3000 XNUMX rubľov k vášmu internému zostatku, ktoré môžete minúť na serveroch.
Dajte podpore vedieť, že sa chystáte vytvárať a testovať obrázky
Pripíšeme vám 3000 XNUMX rubľov a umožníme vám vytvárať snímky
Objednajte si virtuálny server s čistým operačným systémom
Nainštalujte softvér na tento VPS a nakonfigurujte ho
Napíšte pokyny alebo skript na nasadenie softvéru
Vytvorte snímku pre nakonfigurovaný server
Objednajte si nový virtuálny server výberom predtým vytvorenej snímky v rozbaľovacom zozname „Šablóna servera“.
Ak je server úspešne vytvorený, preneste materiály prijaté v kroku 6 na technickú podporu
Ak sa vyskytne chyba, môžete skontrolovať s podporou dôvod a zopakovať nastavenie
Pre majiteľov firiem: ponúknite svoj softvér
Ak ste vývojár softvéru, ktorý je nasadený a používaný na VPS, môžeme vás zahrnúť do trhu. Takto vám môžeme pomôcť priviesť nových zákazníkov, návštevnosť a povedomie. Napíšte nám