Še naprej širimo naš trg. Nedavno smo vam povedali, kako , in ta teden se je pojavil na naši tržnici Drupal.
Povemo vam, zakaj smo ga izbrali in kako je nastala podoba.
Drupal — priročna in zmogljiva platforma za ustvarjanje vseh vrst spletnih strani: od mikrostrani in blogov do velikih socialnih projektov, ki se uporablja tudi kot osnova za spletne aplikacije, napisane v PHP in uporabljajo relacijske baze podatkov kot shrambo podatkov.
Drupal Različica 9 vključuje vse funkcije, ki so bile implementirane v različici 8.9. Ključna razlika med različico 9 in različico 8 je v tem, da bo platforma po novembru 2021 še naprej prejemala posodobitve in varnostne popravke. Različica 9 poenostavlja tudi postopek posodabljanja, zaradi česar je nadgradnja z različice 8 še lažja.
Zahteve strežnika
Za uporabo Drupal Priporočljiva je uporaba 2 GB RAM-a in 2 jeder procesorja.
Glavne datoteke Drupal zavzamejo približno 100 MB, potrebovali boste tudi prostor za shranjevanje slik, baze podatkov, tem, dodatnih modulov in varnostnih kopij, kar bo odvisno od velikosti vašega spletnega mesta.
Za Drupal 9 zahteva PHP 7.4 ali novejši z minimalno omejitvijo (memory_limit) za 64 MB pomnilnika; če se uporabljajo dodatni moduli, je priporočljivo namestiti 128 MB.
Kot spletni strežnik Drupal Kot podatkovno bazo lahko uporablja Apache ali Nginx ter MySQL, PostgreSQL ali SQLite.
Namestili bomo Drupal z uporabo Nginxa in MySQL-a.
Namestitev
Posodobimo nameščene pakete na najnovejšo različico:
sudo dnf update -yDodajmo trajno dovoljenje za dohodni promet na vrata http/80 in https/443:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=httpsUporabimo nova pravila požarnega zidu:
sudo systemctl reload firewalldNamestimo Nginx:
sudo dnf install nginx -yZaženimo in omogočimo strežnik Nginx:
sudo systemctl start nginx
sudo systemctl enable nginx Ker je trenutno v glavnem repozitoriju Centos Uporablja se PHP različice 7.2, dodajmo repozitorij REMI s PHP 7.4 (najnižja različica za Drupal 9).
Če želite to narediti, dodajte repozitorij EPEL (zahteva ga repozitorij REMI):
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmDodajmo repozitorij REMI:
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Omogočimo modul php:remi-7.4 za namestitev php 7.4:
sudo dnf module enable php:remi-7.4 -yNamestite php-fpm in php-cli:
sudo dnf install -y php-fpm php-cliNamestili bomo PHP module, potrebne za delo. 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-xmlNamestili bomo tudi priporočene module PHP mbstring opcache:
sudo dnf install -y php-mbstring php-opcacheNamestimo strežnik MySQL:
sudo dnf install mysql-server -yVklopimo in zaženemo strežnik MySQL:
sudo systemctl start mysqld
sudo systemctl enable mysqldKer izdelujemo predlogo za VDS in so lahko počasni, bomo dodali zakasnitev zagona mysqld 30 sekund, sicer lahko pride do težav z zagonom strežnika med začetnim zagonom sistema:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.serviceSpremenimo skupino in uporabnika, pod katerim se bo izvajal nginx, tako da spremenimo /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.confUstrezno spremenimo lastnika imenika sej PHP v nginx:
sudo chown -R nginx. /var/lib/php/sessionOdstranimo vrstice s komentarji iz konfiguracijske datoteke /etc/nginx/nginx.conf (tako da ni dvojnih sprožilcev za sed):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.confDodajte nastavitve stiskanja gzip v /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 nastavitve indeksne datoteke index.php v /etc/nginx/nginx.conf:
sudo sed -i '/ root /usr/share/nginx/html;/a
index index.php index.html index.htm;
' /etc/nginx/nginx.confDodajmo nastavitve za privzeti strežnik: obdelava PHP prek vtičnice php-fpm, onemogoči dnevnik za statične datoteke, povečaj čas poteka, onemogoči dostop in dnevnik napak za favicon.ico in robots.txt ter zavrni dostop do .ht datoteke za vse:
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.confNamestite wget, potreben za namestitev certbota:
sudo dnf install wget -yPrenesite izvršljivo datoteko certbot z zunanjega mesta:
cd ~
wget https://dl.eff.org/certbot-autoPremaknite certbot v /usr/local/bin/:
mv certbot-auto /usr/local/bin/certbot-autoIn dodelimo pravice kot lastnik za root:
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-autoNamestimo odvisnosti certbota in na tej stopnji prekinimo njegovo delo (Odgovori: Y, c):
certbot-autoPrenesite arhiv z najnovejšo različico z uradne spletne strani. Drupal 9:
cd ~
wget https://www.drupal.org/download-latest/tar.gzNamestite tar, da razpakirate arhiv:
sudo dnf install tar -yIzbrišite privzete datoteke v imeniku /usr/share/nginx/html/:
rm -rf /usr/share/nginx/html/*Razpakirajmo datoteke v imenik spletnega strežnika:
tar xf tar.gz -C /usr/share/nginx/html/Premaknimo datoteke iz podimenika v korenski imenik spletnega strežnika:
mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/Izbrišemo podimenik:
rm -rf /usr/share/nginx/html/drupal-9.0.7Izbrišemo arhiv z namestitvenimi datotekami:
rm -f ./tar.gzDodelimo lastnika datotek nginx:
chown -R nginx. /usr/share/nginx/htmlNa tej stopnji bomo izklopili strežnik in naredili posnetek:
shutdown -h nowPo zagonu VDS iz posnetka bomo izvedli začetno nastavitev strežnika MySQL z zagonom skripta:
mysql_secure_installationOmogočimo validator gesel:
Would you like to setup VALIDATE PASSWORD component? : yNastavimo geslo za korenskega uporabnika MySQL:
New password:
Re-enter new password:Odstranimo anonimne uporabnike:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : yPreprečimo rootu, da bi se povezal na daljavo:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : yIzbrišemo testno bazo podatkov:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : yPonovno naložimo tabele privilegijev:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Po tem, da dokončamo namestitev, lahko gremo na
Na tem naslovu bomo videli stran za namestitev Drupal.
Izberimo jezik za uporabo. Na primer: ruski. Kliknite »Shrani in nadaljuj«
Izberimo namestitveni profil (demo služi izključno za seznanitev s sistemom). V našem primeru naj bo "standard".
Na naslednji strani bomo bazi podatkov dali ime, na primer »drupal«. Označimo uporabniško ime baze podatkov root in geslo, ki mu je bilo dano pri izvajanju mysql_secure_installation. Kliknite »Shrani in nadaljuj«.
Počakajmo, da se namestitev in posodobitev prevodov konča (postopek lahko traja nekaj minut).
Navedli bomo ime spletnega mesta, nastavili e-pošto spletnega mesta (s katere bodo poslana obvestila spletnega mesta), prijavo, geslo in e-pošto skrbniškega računa. DrupalV regionalnih nastavitvah bomo nastavili tudi državo in časovni pas. Nato namestitev dokončajte s klikom na »Shrani in nadaljuj«.
Po tem lahko z ustvarjenim skrbniškim uporabniškim imenom in geslom odprete nadzorno ploščo. Drupal.
Nastavitev HTTPS (izbirno)
Za konfiguracijo HTTPS mora imeti VDS veljavno ime DNS, navedite v
/etc/nginx/nginx.confv razdelku strežnika ime strežnika (na primer):
server_name domainname.ru;Ponovno zaženimo nginx:
service nginx restartZaženimo certbot:
sudo /usr/local/bin/certbot-auto --nginxVnesite svoj e-mail, strinjajte se s pogoji storitve (A), naročite se na novice (izbirno) (N), izberite imena domen, za katere želite izdati potrdilo (Vnesite za vse).
Če je vse potekalo brez napak, bomo videli sporočilo o uspešni izdaji potrdil in konfiguraciji strežnika:
Congratulations! You have successfully enabled ...Po tem bodo povezave do vrat 80 preusmerjene na 443 (https).
Dodajte v /etc/crontab za samodejno posodabljanje potrdil:
# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"Nastavitev varnosti zaupanja vrednega gostitelja (priporočeno)
Ta nastavitev je mišljena kot rešitev za težavo, povezano z dinamičnim določanjem base_url, in je zasnovana za preprečevanje napadov HTTP HOST Header (ko vaše spletno mesto misli, da je nekdo drug).
Če želite to narediti, morate v datoteki z nastavitvami določiti imena zaupanja vrednih domen za spletno mesto.
V datoteki
/usr/share/nginx/html/sites/default/settings.php Odkomentirajmo ali dodajmo nastavitev z vzorci dejanskih imen spletnih mest, na primer:
$settings['trusted_host_patterns'] = [
'^www.mydomain.ru$',
];
Namestitev PHP APCu (PRIPOROČANO)
Drupal Podpira APCu (Alternative PHP User Cache). Različici 8 in 9 intenzivneje uporabljata APCu kot kratkoročni lokalni predpomnilnik kot prejšnji različici. Privzeta velikost predpomnilnika (32 MB) je primerna za večino spletnih mest in ne sme presegati 512 MB.
Za aktivacijo namestite modul PHP APCu:
dnf -y install php-pecl-apcuZnova zaženite nginx in php-fpm:
service nginx restart
service php-fpm restartČe uporabljate ruski jezik in APCu s priporočeno velikostjo pomnilnika za predpomnilnik, boste morda na nadzorni plošči videli opozorilo, da je velikost dodeljenega pomnilnika za predpomnilnik drugačna od priporočene, vendar v resnici vse deluje pravilno, in nepravilno opozorilo bo najverjetneje popravljeno v naslednjih posodobitvah.
Če pa vas opozorilo boli v oči, lahko uporabite .
Opozarjamo vas, da nam lahko izdelate tudi sliko
Obstajajo tri možnosti za sodelovanje.
Pripravite sliko sami in dobite 3000 rubljev na svoje stanje
Če ste pripravljeni takoj pohiteti v boj in ustvariti podobo, ki vam manjka, vam bomo na vaše notranje stanje pripisali 3000 rubljev, ki jih lahko porabite na strežnikih.
Kako ustvariti svojo sliko:
- Ustvarite račun pri nas na
- Sporočite podpori, da boste ustvarili in preizkusili slike
- Pripisali vam bomo 3000 rubljev in omogočili možnost ustvarjanja posnetkov
- Naročite virtualni strežnik s čistim operacijskim sistemom
- Namestite programsko opremo na ta VPS in jo konfigurirajte
- Napišite navodila ali skript za namestitev programske opreme
- Ustvarite posnetek za konfigurirani strežnik
- Naročite nov virtualni strežnik tako, da na spustnem seznamu »Predloga strežnika« izberete predhodno ustvarjen posnetek
- Če je strežnik uspešno ustvarjen, prenesite materiale, prejete na stopnji 6, v tehnično podporo
- Če pride do napake, lahko pri podpori preverite vzrok in ponovite nastavitev
Za lastnike podjetij: ponudite svojo programsko opremo
Če ste razvijalec programske opreme, ki je nameščena in uporabljena na VPS, vas lahko vključimo na trg. Tako vam lahko pomagamo pridobiti nove stranke, promet in prepoznavnost.
Povejte nam v komentarjih, katero sliko pogrešate?
In pripravili ga bomo sami
Vir: www.habr.com
