Nastavljamo da širimo naše tržište. Nedavno smo vam rekli kako , a ove sedmice se pojavio na našem tržištu Drupal.
Reći ćemo vam zašto smo ga odabrali i kako je nastao imidž.
Drupal — zgodna i moćna platforma za kreiranje bilo koje vrste web stranice: od mikro sajtova i blogova do velikih društvenih projekata, koja se takođe koristi kao osnova za web aplikacije, napisana u PHP-u i koja koristi relacione baze podataka kao skladište podataka.
Drupal Verzija 9 uključuje sve funkcije implementirane u verziji 8.9. Ključna razlika između verzije 9 i verzije 8 je u tome što će platforma nastaviti primati ažuriranja i sigurnosne zakrpe i nakon novembra 2021. Verzija 9 također pojednostavljuje proces ažuriranja, čineći nadogradnju s verzije 8 još lakšom.
Zahtevi servera
Za korištenje Drupal Preporučuje se korištenje 2 GB RAM-a i 2 CPU jezgre.
Glavne datoteke Drupal zauzimaju oko 100 MB, trebat će vam i prostor za pohranu slika, baze podataka, tema, dodatnih modula i sigurnosnih kopija, što će ovisiti o veličini vaše web stranice.
Do 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 instaliranje 128 MB.
Kao web server Drupal Može koristiti Apache ili Nginx, te MySQL, PostgreSQL ili SQLite kao bazu podataka.
Mi ćemo instalirati Drupal korištenjem Nginxa i MySQL-a.
postavljanje
Ažurirajmo instalirane pakete na najnoviju verziju:
sudo dnf update -yDodajmo trajnu dozvolu za dolazni saobraćaj na http/80 i https/443 portove:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=httpsPrimijenimo nova pravila zaštitnog zida:
sudo systemctl reload firewalldInstalirajmo Nginx:
sudo dnf install nginx -yPokrenimo i omogućimo Nginx server:
sudo systemctl start nginx
sudo systemctl enable nginx Budući da se trenutno nalazi u glavnom repozitoriju Centos Koristi se PHP verzija 7.2, dodajmo REMI repozitorij sa PHP 7.4 (minimalna verzija za Drupal 9).
Da biste to učinili, dodajte EPEL spremište (zahtijevano od REMI spremišta):
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmDodajmo REMI spremište:
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Omogućimo modul php:remi-7.4 da instalira php 7.4:
sudo dnf module enable php:remi-7.4 -yInstalirajte php-fpm i php-cli:
sudo dnf install -y php-fpm php-cliInstalirat ćemo PHP module potrebne za rad. 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-xmlTakođe ćemo instalirati preporučene PHP mbstring opcache module:
sudo dnf install -y php-mbstring php-opcacheHajde da instaliramo MySQL server:
sudo dnf install mysql-server -yUključimo i pokrenemo MySQL server:
sudo systemctl start mysqld
sudo systemctl enable mysqldPošto pravimo šablon za VDS, a oni mogu biti spori, dodaćemo odgodu startovanja mysqld od 30 sekundi, inače može doći do problema sa pokretanjem servera tokom početnog pokretanja sistema:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.serviceHajde da promenimo grupu i korisnika pod kojim će nginx raditi tako što ćemo napraviti izmene 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.confPromenimo vlasnika direktorija PHP sesije u nginx:
sudo chown -R nginx. /var/lib/php/sessionUklonimo redove 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.confDodajte postavke gzip kompresije u /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.confDodajmo 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.confHajde da dodamo podešavanja za podrazumevani server: PHP obrada preko php-fpm socketa, onemogući evidenciju za statičke fajlove, poveća vreme isteka, onemogući pristup i evidenciju grešaka za favicon.ico i robots.txt i zabrani pristup .ht fajlovi za sve:
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.confInstalirajte wget potreban za instaliranje certbota:
sudo dnf install wget -yPreuzmite izvršnu datoteku certbot sa vanjske lokacije:
cd ~
wget https://dl.eff.org/certbot-autoPremjestite certbota u /usr/local/bin/:
mv certbot-auto /usr/local/bin/certbot-autoI dodijelimo prava kao vlasnik rootu:
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-autoHajde da instaliramo certbot zavisnosti i u ovoj fazi prekinemo njegov rad (Odgovori: Y, c):
certbot-autoPreuzmite arhivu s najnovijom verzijom sa službene web stranice. Drupal 9:
cd ~
wget https://www.drupal.org/download-latest/tar.gzInstalirajte tar da raspakujete arhivu:
sudo dnf install tar -yIzbrišemo zadane datoteke u direktoriju /usr/share/nginx/html/:
rm -rf /usr/share/nginx/html/*Otpakirajmo datoteke u direktorij web servera:
tar xf tar.gz -C /usr/share/nginx/html/Premjestimo datoteke iz poddirektorija u korijenski direktorij web servera:
mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/Izbrišemo poddirektorij:
rm -rf /usr/share/nginx/html/drupal-9.0.7Izbrišemo arhivu sa instalacionim fajlovima:
rm -f ./tar.gzDodijelimo vlasnika nginx fajlova:
chown -R nginx. /usr/share/nginx/htmlU ovoj fazi ćemo isključiti server i napraviti snimak:
shutdown -h nowNakon što pokrenemo VDS sa snimka, izvršićemo početno podešavanje MySQL servera pokretanjem skripte:
mysql_secure_installationOmogućimo validator lozinke:
Would you like to setup VALIDATE PASSWORD component? : yPostavimo 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) : ySpriječimo rootu da se poveže na daljinu:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : yIzbrišemo testnu bazu podataka:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : yHajde da ponovo učitamo tabele privilegija:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Nakon toga, da završimo instalaciju, možemo ići na
Na ovoj adresi ćemo vidjeti stranicu za instalaciju Drupal.
Odaberimo jezik koji ćemo koristiti. Na primjer: ruski. Kliknite "Sačuvaj i nastavi"
Odaberimo instalacijski profil (demo se koristi isključivo za upoznavanje sa sistemom). U našem slučaju neka bude “standardno”.
Na sljedećoj stranici ćemo dati ime bazi podataka, na primjer “drupal”. Naznačimo korisničko ime baze podataka root i lozinku koja mu je data prilikom pokretanja mysql_secure_installation. Kliknite na "Sačuvaj i nastavi".
Pričekajmo da se završi instalacija i ažuriranje prijevoda (proces može potrajati nekoliko minuta).
Naznačit ćemo naziv web-mjesta, postaviti e-mail web-mjesta (s kojeg će se slati obavještenja o web-mjestu), prijavu, lozinku i e-mail administratorskog računa. DrupalTakođer ćemo postaviti državu i vremensku zonu u regionalnim postavkama. Zatim dovršite instalaciju klikom na "Sačuvaj i nastavi".
Nakon toga, možete otići na kontrolnu ploču s kreiranim administratorskim prijavnim podacima i lozinkom. Drupal.
Postavljanje HTTPS-a (opcionalno)
Za konfiguraciju HTTPS-a, VDS mora imati važeće DNS ime, navedite u
/etc/nginx/nginx.confu sekciji servera ime servera (na primjer):
server_name domainname.ru;Ponovo pokrenimo nginx:
service nginx restartPokrenimo certbot:
sudo /usr/local/bin/certbot-auto --nginxUnesite svoju e-poštu, prihvatite uslove korišćenja usluge (A), Pretplatite se na bilten (opciono) (N), izaberite imena domena za koje želite da izdate sertifikat (Unesite za svakoga).
Ako je sve prošlo bez grešaka, vidjet ćemo poruku o uspješnom izdavanju certifikata i konfiguraciji servera:
Congratulations! You have successfully enabled ...Nakon toga, veze na port 80 će biti preusmjerene na 443 (https).
Dodajte u /etc/crontab da automatski ažurirate certifikate:
# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"Postavljanje sigurnosti pouzdanog hosta (preporučeno)
Ova postavka je zamišljena kao rješenje problema povezanog s dinamičkim određivanjem base_url-a i dizajnirana je da spriječi napade HTTP HOST zaglavlja (kada vaša stranica misli da je to netko drugi).
Da biste to učinili, morate navesti pouzdana imena domena za web lokaciju u datoteci postavki.
U fajlu
/usr/share/nginx/html/sites/default/settings.php Dekomentirajmo ili dodajmo postavku s uzorcima stvarnih naziva web lokacija, na primjer:
$settings['trusted_host_patterns'] = [
'^www.mydomain.ru$',
];
Instalacija PHP APCu (PREPORUČUJE SE)
Drupal Podržava APCu (Alternativni PHP korisnički keš). Verzije 8 i 9 intenzivnije koriste APCu kao kratkoročni lokalni keš u odnosu na prethodne verzije. Zadana veličina keša (32 MB) je pogodna za većinu stranica i ne može prelaziti 512 MB.
Da biste aktivirali, instalirajte PHP APCu modul:
dnf -y install php-pecl-apcuPonovo pokrenite nginx i php-fpm:
service nginx restart
service php-fpm restartAko koristite ruski jezik i APCu sa preporučenom veličinom memorije za keš, možda ćete na kontrolnoj tabli vidjeti upozorenje da je veličina dodijeljene memorije za keš drugačija od preporučene, ali zapravo sve radi kako treba, a netačno upozorenje će najvjerovatnije biti ispravljeno u sljedećim ažuriranjima.
Ili ako vam upozorenje boli oči, možete ga koristiti .
Podsjećamo da možete napraviti i sliku za nas
Postoje tri opcije za učešće.
Pripremite sliku sami i dobijte 3000 rubalja na svoj račun
Ako ste spremni da odmah uletite u bitku i stvorite sliku koja vam nedostaje, uplatit ćemo vam 3000 rubalja na vaš interni balans, koje možete potrošiti na servere.
Kako kreirati vlastitu sliku:
- Kreirajte nalog kod nas na
- Obavijestite podršku da ćete kreirati i testirati slike
- Dat ćemo vam kredit od 3000 rubalja i omogućiti mogućnost kreiranja snimaka
- Naručite virtuelni server sa čistim operativnim sistemom
- Instalirajte softver na ovaj VPS i konfigurirajte ga
- Napišite upute ili skriptu za implementaciju softvera
- Napravite snimak za konfigurisani server
- Naručite novi virtuelni server odabirom prethodno kreiranog snimka na padajućoj listi “Server template”.
- Ako je server uspješno kreiran, prenesite materijale primljene u fazi 6 tehničkoj podršci
- Ako postoji greška, možete kod podrške provjeriti razlog i ponoviti postavljanje
Za vlasnike preduzeća: ponudite svoj softver
Ako ste programer softvera koji se postavlja i koristi na VPS-u, onda vas možemo uključiti na tržište. Na ovaj način vam možemo pomoći da dovedete nove kupce, promet i svijest.
Recite nam u komentarima koja vam slika nedostaje?
I sami ćemo ga pripremiti
izvor: www.habr.com
