ProHoster > Blog > uprava > Stvaranje VPS predloška s Drupalom 9 na Centosu 8
Stvaranje VPS predloška s Drupalom 9 na Centosu 8
Nastavljamo širiti svoje tržište. Nedavno smo vam rekli kako napravio Gitlab sliku, a ovog tjedna Drupal se pojavio i na našem tržištu.
Javljamo vam zašto smo ga odabrali i kako je nastala slika.
Drupal — praktična i snažna platforma za izradu bilo koje vrste web stranice: od mikrostranica i blogova do velikih društvenih projekata, koja se također koristi kao osnova za web aplikacije, napisane u PHP-u i koriste relacijske baze podataka kao pohranu podataka.
Drupal 9 uključuje sve značajke predstavljene u verziji 8.9. Ključna razlika između verzije 9 i verzije 8 je ta što će platforma nastaviti primati ažuriranja i sigurnosne popravke nakon studenog 2021. Verzija 9 također pojednostavljuje proces ažuriranja, čineći proces nadogradnje s verzije 8 još lakšim.
Zahtjevi poslužitelja
Za korištenje Drupala preporučuje se korištenje 2 GB RAM-a i 2 CPU jezgre.
Glavne Drupal datoteke zauzimaju oko 100 MB, osim toga trebat će vam prostor za pohranu slika, baze podataka, tema, dodatnih modula i sigurnosnih kopija, što će ovisiti o veličini vaše stranice.
Drupal 9 zahtijeva PHP 7.4 ili noviji s minimalnim ograničenjem (memory_limit) za 64 MB memorije; ako se koriste dodatni moduli, preporučuje se ugradnja 128 MB.
Drupal može koristiti Apache ili Nginx kao web poslužitelj, a MySQL, PostgreSQL ili SQLite kao bazu podataka.
Drupal ćemo instalirati koristeći Nginx i MySQL.
Instalacija
Ažurirajmo instalirane pakete na najnoviju verziju:
sudo dnf update -y
Dodajmo trajno dopuštenje za dolazni promet na portove http/80 i https/443:
Budući da glavni Centos repozitorij trenutno koristi PHP 7.2, dodajmo REMI repozitorij s PHP 7.4 (minimalna verzija za Drupal 9).
Da biste to učinili, dodajte EPEL repozitorij (zahtijeva ga REMI repozitorij):
Budući da izrađujemo predložak za VDS, a oni mogu biti spori, dodat ćemo odgodu pokretanja mysqlda od 30 sekundi, inače može doći do problema s pokretanjem poslužitelja tijekom početnog pokretanja sustava:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.service
Promijenimo grupu i korisnika pod kojim će se nginx izvoditi unošenjem promjena u /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
U skladu s tim promijenimo vlasnika direktorija PHP sesija u nginx:
sudo chown -R nginx. /var/lib/php/session
Uklonimo retke s komentarima iz konfiguracijske datoteke /etc/nginx/nginx.conf (tako da nema dvostrukih okidača za sed):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.conf
Dodajte postavke gzip kompresije u /etc/nginx/nginx.conf
Dodajmo postavke indeksne datoteke index.php u /etc/nginx/nginx.conf:
sudo sed -i '/ root /usr/share/nginx/html;/a
index index.php index.html index.htm;
' /etc/nginx/nginx.conf
Dodajmo postavke za zadani poslužitelj: PHP obrada putem php-fpm utičnice, onemogućite zapisnik za statičke datoteke, povećajte vrijeme isteka, onemogućite pristup i zapisnik grešaka za favicon.ico i robots.txt i zabranite pristup .ht datoteke za sve:
Idemo izbrisati arhivu s instalacijskim datotekama:
rm -f ./tar.gz
Dodijelimo vlasnika nginx datotekama:
chown -R nginx. /usr/share/nginx/html
U ovoj fazi isključit ćemo poslužitelj i napraviti snimku:
shutdown -h now
Nakon pokretanja VDS-a iz snimke, izvršit ćemo početno postavljanje MySQL poslužitelja pokretanjem skripte:
mysql_secure_installation
Omogućimo validator zaporke:
Would you like to setup VALIDATE PASSWORD component? : y
Postavimo lozinku za MySQL root korisnika:
New password:
Re-enter new password:
Uklonimo anonimne korisnike:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Spriječimo root da se poveže na daljinu:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Idemo izbrisati test bazu podataka:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Ponovno učitajmo tablice privilegija:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Nakon toga, da bismo dovršili instalaciju, možemo ići na vps_ip_adresa
Na ovoj adresi vidjet ćemo stranicu za instalaciju Drupala.
Odaberimo jezik koji ćemo koristiti. Na primjer: ruski. Kliknite "Spremi i nastavi"
Odaberimo instalacijski profil (demo služi isključivo za upoznavanje sa sustavom). U našem slučaju, neka bude "standard".
Na sljedećoj stranici dat ćemo ime bazi podataka, na primjer "drupal". Naznačimo korisničko ime baze podataka root i lozinku koja mu je dana prilikom pokretanja mysql_secure_installation. Kliknite "Spremi i nastavi".
Pričekajmo da se završi instalacija i ažuriranje prijevoda (proces može potrajati nekoliko minuta).
Navest ćemo naziv stranice, postaviti e-poštu stranice (u ime koje će se slati obavijesti stranice), prijavu, lozinku i e-poštu Drupal administratorskog računa. Također ćemo postaviti državu i vremensku zonu u regionalnim postavkama. I dovršite instalaciju klikom na “Spremi i nastavi”.
Nakon toga možete otići na upravljačku ploču s kreiranom prijavom i lozinkom za administratora Drupala.
Postavljanje HTTPS-a (nije obavezno)
Za konfiguraciju HTTPS-a, VDS mora imati valjani DNS naziv, navedite u
/etc/nginx/nginx.conf
u odjeljku poslužitelja ime poslužitelja (na primjer):
server_name domainname.ru;
Ponovno pokrenimo nginx:
service nginx restart
Pokrenimo certbot:
sudo /usr/local/bin/certbot-auto --nginx
Unesite svoju e-mail adresu, složite se s uvjetima korištenja (A), pretplatite se na newsletter (opciono) (N), odaberite nazive domena za koje želite izdati certifikat (unesi za sve).
Ako je sve prošlo bez grešaka, vidjet ćemo poruku o uspješnom izdavanju certifikata i konfiguraciji poslužitelja:
Congratulations! You have successfully enabled ...
Nakon toga, veze na port 80 bit će preusmjerene na 443 (https).
Dodajte u /etc/crontab za automatsko ažuriranje certifikata:
Ova je postavka namijenjena kao rješenje problema povezanog s dinamičkim određivanjem base_url-a i osmišljena je za sprječavanje napada HTTP HOST Header (kada vaša stranica misli da je netko drugi).
Da biste to učinili, trebate navesti nazive pouzdanih domena za web mjesto u datoteci postavki.
U spisu
/usr/share/nginx/html/sites/default/settings.php Uklonimo komentare ili dodajmo postavku s uzorcima stvarnih naziva web-lokacija, na primjer:
Drupal podržava APCu - alternativnu PHP korisničku predmemoriju, verzije 8 i 9 više koriste APCu kao kratkoročnu lokalnu predmemoriju nego prethodne verzije. Zadana veličina predmemorije (32 MB) prikladna je za većinu web-mjesta i ne smije premašiti 512 MB.
Za aktivaciju instalirajte PHP APCu modul:
dnf -y install php-pecl-apcu
Ponovno pokrenite nginx i php-fpm:
service nginx restart
service php-fpm restart
Ako koristite ruski jezik i APCu s preporučenom veličinom memorije za predmemoriju, možda ćete vidjeti upozorenje na upravljačkoj ploči da se veličina dodijeljene memorije za predmemoriju razlikuje od preporučene, ali zapravo sve radi ispravno, a netočno upozorenje najvjerojatnije će biti ispravljeno u sljedećim ažuriranjima.
Pripremite sliku sami i uzmite 3000 rubalja na svoj saldo
Ako ste spremni odmah požuriti u bitku i stvoriti sliku koja vam nedostaje, dodijelit ćemo vam 3000 rubalja na vaš interni saldo, koje možete potrošiti na poslužiteljima.
Obavijestite podršku da ćete izraditi i testirati slike
Dodijelit ćemo vam 3000 rubalja i omogućiti vam mogućnost izrade snimaka
Naručite virtualni poslužitelj s čistim operativnim sustavom
Instalirajte softver na ovaj VPS i konfigurirajte ga
Napišite upute ili skriptu za implementaciju softvera
Stvorite snimku za konfigurirani poslužitelj
Naručite novi virtualni poslužitelj odabirom prethodno stvorene snimke na padajućem popisu "Predložak poslužitelja".
Ako je poslužitelj uspješno kreiran, prenesite materijale primljene u fazi 6 tehničkoj podršci
Ako postoji pogreška, možete provjeriti s podrškom za razlog i ponoviti postavljanje
Za vlasnike tvrtki: ponudite svoj softver
Ako ste programer softvera koji je implementiran i korišten na VPS-u, možemo vas uključiti u tržište. Ovo je način na koji vam možemo pomoći da dovedete nove kupce, promet i svijest. Pišite nam
Recite nam u komentarima koja vam slika nedostaje?