Vazhdojmë të zgjeronim tregun tonë. Së fundmi, folëm se si , ndërsa këtë javë në tregun tonë shfaqet Drupal.
Po tregojmë se pse e zgjodhëm atë dhe si u krijua imazhi.
Drupal â njĂ« platformĂ« e pĂ«rshtatshme dhe e fuqishme pĂ«r krijimin e çdo tipi faqeje: nga faqe tĂ« vogla dhe bllogje deri te projekte tĂ« mĂ«dha sociale, e cila gjithashtu pĂ«rdoret si bazĂ« pĂ«r aplikacione web, e shkruar nĂ« PHP dhe qĂ« pĂ«rdor si ruajtje baza tĂ« dhĂ«nash relationale.
Drupal 9 përfshin të gjitha veçoritë e realizuara në versionin 8.9. Dallimi kryesor midis versionit 9 dhe versionit 8 është se për platformën do të lëshohen përditësime dhe rregullime të sigurisë dhe pas nëntorit 2021. Gjithashtu, në versionin 9 është lehtësuar procesi i përditësimit, duke e bërë atë edhe më të thjeshtë nga versioni 8.
Kërkesat për serverin
Për përdorimin e Drupal rekomandohet të përdorni 2 GB RAM dhe 2 bërthamë CPU.
Skedarët kryesorë të Drupal zënë rreth 100 MB, përveç se do t'ju nevojitet hapësirë për ruajtjen e imazheve, bazës së të dhënave, temave, moduleve shtesë dhe kopjeve rezervë, që do të varen nga madhësia e faqes suaj.
Për Drupal 9 kërkohet PHP 7.4 ose më lart me një kufi minimal (memory_limit) për memorjen 64 MB, në rast se përdoren module shtesë këshillohet të vendosni 128 MB.
Si server web, Drupal mund të përdorë Apache ose Nginx, dhe si bazë të dhënash MySQL, PostgreSQL ose SQLite.
Ne do të instalojmë Drupal duke përdorur Nginx dhe MySQL.
Instalimi
Do të përditësojmë paketat e instaluara në versionin më të ri:
sudo dnf update -yDo të shtojmë leje të përhershme për trafikun e ardhshëm në portat http/80 dhe https/443:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=httpsDo të zbatojmë rregullat e reja të firewall-it:
sudo systemctl reload firewalldDo të instalojmë Nginx:
sudo dnf install nginx -yDo ta nisim dhe aktivizojmë serverin Nginx:
sudo systemctl start nginx
sudo systemctl enable nginx Duke qenë se në këtë moment, në depozitën kryesore të Centos përdoret versioni PHP 7.2, do të shtojmë depozitën REMI me PHP 7.4 (versioni minimal për Drupal 9).
Për këtë, do të shtojmë depozitën EPEL (nevoitet nga depozita REMI):
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmShtojmë depozitën REMI:
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Do të aktivizojmë modul php:remi-7.4 për instalimin e php 7.4:
sudo dnf module enable php:remi-7.4 -yDo të instalojmë php-fpm dhe php-cli:
sudo dnf install -y php-fpm php-cliDo të instalojmë modulet PHP të nevojshme për funksionimin e 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-xmlGjithashtu do të instalojmë modulet e rekomanduara PHP mbstring opcache:
sudo dnf install -y php-mbstring php-opcacheDo të instalojmë serverin MySQL:
sudo dnf install mysql-server -yDo ta aktivizojmë dhe nisim serverin MySQL:
sudo systemctl start mysqld
sudo systemctl enable mysqldDuke qenë se po krijojmë një model për VDS, dhe ato mund të jenë të ngadalta, do të shtojmë një vonesë fillestare për mysqld prej 30 sekondash, ndryshe mund të ketë probleme me nisjen e serverit gjatë fillimit të sistemit:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.serviceDo të ndryshojmë grupin dhe përdoruesin nga i cili do të punojë nginx duke bërë ndryshime në /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.confDo të ndryshojmë pronarin e katalogut të seancave PHP gjithashtu sipas nginx:
sudo chown -R nginx. /var/lib/php/sessionDo të heqim rreshtat me komentet nga skedari i konfigurimit /etc/nginx/nginx.conf (në mënyrë që të mos ketë dublime për sed):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.confDo të shtojmë në /etc/nginx/nginx.conf cilësimet e kompresimit gzip
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.confDo të shtojmë në /etc/nginx/nginx.conf cilësimet e skedarit indeks index.php:
sudo sed -i '/ root /usr/share/nginx/html;/a
index index.php index.html index.htm;
' /etc/nginx/nginx.confDo të shtojmë cilësime për serverin e paracaktuar për trajtimin e php përmes soket php-fpm, do të çaktivizojmë logun për skedarët statikë, do të rrisim kohën e skadimit, do të çaktivizojmë logun për aksese dhe gabime për favicon.ico dhe robots.txt dhe do të ndalojmë aksesin në skedarët .ht për të gjithë:
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.confDo të instalojmë wget që nevojitet për instalimin e certbot:
sudo dnf install wget -yNe dojmë skedarin ekzekutiv certbot nga faqja zyrtare:
cd ~
wget https://dl.eff.org/certbot-autoTë zhvendosim certbot në /usr/local/bin/:
mv certbot-auto /usr/local/bin/certbot-autoDhe të caktojmë të drejtat dhe pronarin root:
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-autoDo të instalojmë varësitë e certbot dhe në këtë hap do ta ndërpresim punën (Përgjigjet: Y, c):
certbot-autoDo të shkarkojmë nga faqja zyrtare arkivin me versionin e fundit të Drupal 9:
cd ~
wget https://www.drupal.org/download-latest/tar.gzDo të instalojmë tar për të shkruar arkivin:
sudo dnf install tar -yDo të fshijmë skedarët default në katalogun /usr/share/nginx/html/:
rm -rf /usr/share/nginx/html/*Do të nxjerrim skedarët në katalogun e serverit web:
tar xf tar.gz -C /usr/share/nginx/html/Do të zhvendosim skedarët nga nënkatalogu në katalogun rrënjor të serverit web:
mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/Do të fshijmë nënkatalogun:
rm -rf /usr/share/nginx/html/drupal-9.0.7Do të fshijmë arkivin me skedarët e instalimit:
rm -f ./tar.gzDo të caktojmë pronarin e skedarëve në nginx:
chown -R nginx. /usr/share/nginx/htmlNë këtë hap do të fikim serverin dhe do të bëjmë një snapshot:
shutdown -h nowPas rinisjes së VDS nga snapshoti, do të kryejmë konfigurimin fillestar të serverit MySQL duke ekzekutuar skenarin:
mysql_secure_installationDo të aktivizojmë validuesin e fjalëkalimeve:
Would you like to setup VALIDATE PASSWORD component? : yDo të caktojmë fjalëkalimin për përdoruesin root MySQL:
New password:
Re-enter new password:Do të fshijmë përdoruesit anonimë:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : yDo të ndalojmë lidhjen e root nga larg:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : yDo të fshijmë bazën e të dhënave testuese:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : yDo të rifillojmë tabelat e privilegjeve:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Pas kësaj, për të përfunduar instalimin, ne mund të shkojmë në adresën
Në këtë adresë do të shohim faqen e instalimit të Drupal.
Do të zgjedhim gjuhën e përdorur. Për shembull: shqip. Klikoni "Ruaj dhe vazhdo"
Do të zgjedhim profilin e instalimit (demo përdoret ekskluzivisht për njohjen e sistemit). Në rastin tonë le të jetë "standard".
Në faqen tjetër do të caktojmë emrin e bazës së të dhënave, për shembull "drupal". Do të caktomë emrin e përdoruesit të DB root dhe fjalëkalimin e caktuar atij, gjatë ekzekutimit të mysql_secure_installation. Klikoni "Ruaj dhe vazhdo".
Do të presim përfundimin e instalimit dhe përditësimin e përkthimeve (procesi mund të zgjasë disa minuta).
Do të vendosim emrin e faqes, do të cakojmë emailin e faqes (nga i cili do të vijnë njoftimet e faqes), emrin e përdoruesit, fjalëkalimin dhe emailin e llogarisë së administratorit të Drupal. Po ashtu do të cakojmë vendin dhe zonën e kohës në cilësimet rajonale. Dhe do të përfundojmë instalimin duke klikuar "Ruaj dhe vazhdo".
Pas kësaj mund të kalojmë në panelin e kontrollit me emrin e përdoruesit dhe fjalëkalimin e krijuar për administratorin e Drupal.
Konfigurimi i HTTPS (opsionale)
Për konfigurimin e HTTPS, VDS duhet të ketë një emër DNS në fuqi, përcaktoni në
/etc/nginx/nginx.confnë seksionin server emrin e serverit (për shembull):
server_name domainname.ru;Do të rinisim nginx:
service nginx restartDo të ekzekutojmë certbot:
sudo /usr/local/bin/certbot-auto --nginxDo të futim emailin tonë, do të pranojmë kushtet e shërbimit (A), Abonimi në listën e dërgimit (opsionale) (N), do të zgjedhim emrat e domainëve për të cilët duhet të lëshohet certifikata (Enter për të gjitha).
Në rast se gjithçka shkoi pa gabime, ne do të shohim një mesazh për lëshimin e suksesshëm të certifikatave dhe konfigurimin e serverit:
Congratulations! You have successfully enabled ...Pas kësaj, lidhjet në portin 80 do të redirektohen në 443 (https).
Do të shtojmë në /etc/crontab për përditësimin automatik të certifikatave:
# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"Konfigurimi i Sigurisë së Hostit të Besuar (e rekomanduar)
Ky konfigurim është një zgjidhje për problemin e përcaktimit dinamik të base_url dhe është krijuar për të parandaluar sulmet HTTP HOST Header (kur faqja juaj mendon se është dikush tjetër).
Për këtë, duhet të përcaktoni emrat e besuar të domainëve të faqes në skedarin e konfigurimit.
NĂ« skedar
/usr/share/nginx/html/sites/default/settings.php do të heqim komentin ose do të shtojmë konfigurimin me modelet e emrave aktualë të faqes, për shembull:
$settings['trusted_host_patterns'] = [
'^www.mydomain.ru$',
];
Instalimi i PHP APCu (E REKOMANDUAR)
Drupal mbĂ«shtet APCu â Alternative PHP User Cache, versionet 8 dhe 9 e pĂ«rdorin mĂ« intensivisht APCu si memorie tĂ« pĂ«rkohshme lokale, sesa versionet e mĂ«parshme. MadhĂ«sia e caches nĂ« mĂ«nyrĂ« standarde (32 MB) do tĂ« pĂ«rshtatet pĂ«r shumicĂ«n e faqeve dhe nuk mund tĂ« kalojĂ« 512 MB.
Për aktivizimin do të instalojmë modulin PHP APCu:
dnf -y install php-pecl-apcuDo të rinisim nginx dhe php-fpm:
service nginx restart
service php-fpm restartNë rast se përdoret gjuha shqipe dhe APCu me madhësinë e rekomanduar të memories për cache, në panelin e kontrollit mund të shihni një paralajmërim se madhësia e memories për cache është e ndryshme nga ajo e rekomanduar, por në fakt gjithçka funksionon siç duhet, dhe paralajmërimi i pasaktë ndoshta do të rregullohet në përditësimet e ardhshme.
Ose nëse paralajmërimi është shqetësues, mund të përdorni .
Dëshirojmë t'ju kujtojmë se ju gjithashtu mund të krijoni një imazh për ne
Ka tre mundësi për të marrë pjesë.
Përgatitni imazhin vetë dhe merrni 3000 rubla në bilancin tuaj
NĂ«se jeni gati tĂ« hidhni dorĂ« e tĂ« krijoni vetĂ« imazhin qĂ« ju nevojitet, ne do t'ju akordojmĂ« 3000 rubla nĂ« bilancin tuaj tĂ« brendshĂ«m â mund t'i shpenzoni pĂ«r serverĂ«.
Si të krijoni imazhin tuaj:
- Krijoni një llogari te ne në
- Informoni mbështetjes se do të krijoni dhe testoni imazhe
- Ne do t'ju akordojmë 3000 rubla dhe do të aktivizojmë mundësinë për të krijuar snapshot-e
- Porositni një server virtual me një sistem operativ të pastër
- Instaloni softuerin në këtë VPS dhe konfiguroni atë
- Përgatitni një udhëzim ose skenar për shpërndarjen e softuerit
- Krijoni një snapshot për serverin e konfiguruar
- Porositni një server të ri virtual, duke zgjedhur në listën e rënie 'Shablloni i serverit' snapshot-in e krijuar më parë
- Në rastin e krijimit të suksesshëm të serverit, dërgoni materialet e marra në hapin 6 në mbështetje teknike
- Në rast të një gabimi, mund të sqaroni me mbështetje shkakun dhe të përsërisni konfigurimin
Për pronarët e bizneseve: ofroni softuerin tuaj
Nëse jeni një zhvillues softueri që vendosni dhe përdorni në VPS, ne mund të ju përfshijmë në tregun tonë. Kështu, ne mund të ndihmojmë në sjelljen e klientëve të rinj, trafikut dhe njohshmërisë.
Na tregoni në komente se çfarë imazhi ju mungon?
Dhe ne do ta përgatisim atë vetë
Burimi: habr.com
