Po vazhdojmë të zgjedhjem tregun tonë. Së fundmi, folëm për , ndërsa këtë javë u shfaq Drupal në tregun tonë.
Po tregojmë pse e zgjodhëm pikërisht atë dhe si u krijua imazhi.
Drupal â njĂ« platformĂ« e pĂ«rshtatshme dhe e fuqishme pĂ«r krijimin e çdo lloji faqeje: nga faqet e vogla dhe bloget deri te projektet e mĂ«dha sociale, gjithashtu pĂ«rdoret si baza pĂ«r aplikacione web, shkruar nĂ« gjuhĂ«n PHP dhe pĂ«rdor si ruajtje tĂ« dhĂ«nash bazat e tĂ« dhĂ«nave relacionale.
Drupal 9 përfshin të gjitha tiparet që janë realizuar në versionin 8.9. Dallimi kryesor i versionit 9 nga versioni 8 është se për platformën do të lëshohen përditësime dhe korrigjime të sigurisë edhe pas nëntorit 2021. Gjithashtu, në versionin 9 procesi i përditësimit është lehtësuar, duke e bërë procesin e përditësimit nga versioni 8 edhe më të thjeshtë.
Kërkesat për serverin
Për përdorimin e Drupal rekomandohet të përdoren 2 GB RAM dhe 2 bërthama CPU.
Skedarët kryesorë të Drupal zënë rreth 100 MB, përveçse do të nevojitet hapësirë për ruajtjen e imazheve, bazës së të dhënave, temave, moduleve shtesë dhe kopjeve rezervë, e cila do të varet nga madhësia e faqes suaj.
Për Drupal 9 kërkohet PHP 7.4 ose më lart me limitin minimal të memories (memory_limit) prej 64 MB, nëse përdoren module shtesë, rekomandohet të vendoset në 128 MB.
Si server web, Drupal mund të përdorë Apache ose Nginx, ndërsa 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ë fundit:
sudo dnf update -yDo të shtojmë një leje të përhershme për trafikun e hyrës në portet http/80 dhe https/443:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=httpsDo të aplikojmë rregullat e reja të firewall-it:
sudo systemctl reload firewalldDo të instalojmë Nginx:
sudo dnf install nginx -yDo të nisnim dhe aktivizojmë serverin Nginx:
sudo systemctl start nginx
sudo systemctl enable nginx Pasi në këtë moment në depozitën kryesore të Centos po 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 (e nevojshme për depozitën REMI):
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmDo të shtojmë depozitën REMI:
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Do të aktivizojmë modulin 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 që nevojiten për punën 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-xmlPo kështu do të instalojmë modulat rekomanduar të 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ë shabllon për VDS, dhe ato mund të jenë të ngadalta, do të shtojmë një vonesë nisje mysqld prej 30 sekondash, nd otherwise mund të ketë probleme me nisjen e serverit në ngarkimin fillestar të sistemit:
sudo sed -i '\/Group=mysql\/a \nExecStartPre=\/bin\/sleep 30\n' \/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 ta ndryshojmë pronarin e katalogut të sesioneve PHP gjithashtu përkatësisht në nginx:
sudo chown -R nginx. \/var\/lib\/php\/sessionDo të hiqnim rreshtat me komente nga skedari i konfigurimit \/etc\/nginx\/nginx.conf (që të mos ketë dyfishime në ekzekutimin për sed):
sudo sed -i -e '\/^[ t]*#\/d' \/etc\/nginx\/nginx.confDo të shtojmë në \/etc\/nginx\/nginx.conf konfigurimet për kompresimin gzip
sudo sed -i '\/types_hash_max_size 2048;/a \n\n gzip on;\n gzip_static on;\n 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;\n gzip_comp_level 9;\n gzip_proxied any;\n gzip_min_length 1000;\n gzip_disable "msie6";\n gzip_vary on; \n' \/etc\/nginx\/nginx.confDo të shtojmë në \/etc\/nginx\/nginx.conf konfigurimet për skedarin indeks index.php:
sudo sed -i '\/ root \/usr\/share\/nginx\/html;/a \ index index.php index.html index.htm;\n' \/etc\/nginx\/nginx.confDo të shtojmë konfigurime për serverin e paracaktuar të trajtimit të php përmes soketit php-fpm, do të çaktivizojmë log-un për skedarët statikë, do të rrisim kohën e skadimit, do të çaktivizojmë log-un e qasjes dhe gabimeve për favicon.ico dhe robots.txt dhe do të ndalojmë qasjen për skedarët .ht për të gjithë:
sudo sed -i '\/ location \/ {/a \t\ttry_files $uri $uri\/ \/index.php?q=$uri&$args;\n }\n \n location ~* ^.+.(js|css|png|jpg|jpeg|gif|ico|woff)$ {\n access_log off;\n expires max;\n }\n \n location ~ .php$ {\n try_files $uri =404;\n fastcgi_pass unix:\/run\/php-fpm\/www.sock;\n fastcgi_index index.php;\n include fastcgi_params;\n fastcgi_intercept_errors on;\n fastcgi_ignore_client_abort off;\n fastcgi_connect_timeout 60;\n fastcgi_send_timeout 180;\n fastcgi_read_timeout 180;\n fastcgi_buffer_size 128k;\n fastcgi_buffers 4 256k;\n fastcgi_busy_buffers_size 256k;\n fastcgi_temp_file_write_size 256k;\n }\n \n location = \/favicon.ico {\n log_not_found off;\n access_log off;\n }\n \n location = \/robots.txt {\n allow all;\n log_not_found off;\n access_log off;\n }\n \n location ~ \/.ht {\n deny all;' \/etc\/nginx\/nginx.confDo të instalojmë wget e nevojshme për instalimin e certbot:
sudo dnf install wget -yDo të shkarkojmë skedarin ekzekutiv certbot nga uebi:
cd ~
wget https://dl.eff.org/certbot-autoDo ta zhvendosim certbot në /usr/local/bin/:
mv certbot-auto /usr/local/bin/certbot-autoDhe do t'i caktojmë të drejtat dhe pronarin root:
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-autoDo të instalojmë varësitë për certbot dhe në këtë fazë do ta ndalojmë atë (Përgjigjet: Y, c):
certbot-autoDo të shkarkojmë nga uebi arkivin me versionin më të fundit të Drupal 9:
cd ~
wget https://www.drupal.org/download-latest/tar.gzDo të instalojmë tar për të shpërndarë arkivin:
sudo dnf install tar -yDo të fshijmë skedarët e paracaktuar në katalogun /usr/share/nginx/html/:
rm -rf /usr/share/nginx/html/*Do të shpërndajmë skedarët në katalogun e serverit të uebit:
tar xf tar.gz -C /usr/share/nginx/html/Do t'i transferojmë skedarët nga nënkatalogu në katalogun rrënjësor të serverit të uebit:
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'i caktojmë pronarin skedarëve nginx:
chown -R nginx. /usr/share/nginx/htmlNë këtë fazë ne do të ndalim serverin dhe do të krijojmë një snapshot:
shutdown -h nowPas nisjes së VDS nga snapshoti, do të realizojmë konfigurimin e parë të serverit MySQL duke nisur skriptin:
mysql_secure_installationDo të aktivizojmë validatorin e fjalëkalimeve:
Would you like to setup VALIDATE PASSWORD component? : yDo të caktojmë fjalëkalimin për përdoruesin root të MySQL:
New password:
Re-enter new password:Do të flakim përdoruesit anonimë:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : yDo të ndalojmë lidhjen e root nga distanca:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : yDo të flakim 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ë rihapim 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, mund të kalojmë 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. Do të klikojmë "Ruaj dhe vazhdo".
Do të zgjedhim profilin e instalimit (demo përdoret vetëm për njohje me sistemin). Në rastin tonë le të jetë "standard".
Në faqen tjetër do të vendosim emrin e bazës së të dhënave, për shembull "drupal". Do të speciojmë emrin e përdoruesit të DB root dhe fjalëkalimin e caktuar atij, gjatë ekzekutimit të mysql_secure_installation. Do të klikojmë "Ruaj dhe vazhdo".
Do të presim përfundimin e instalimit dhe përditësimit të përkthimeve (procesi mund të zgjasë disa minuta).
Të japim emrin e faqes, të caktuam 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. Gjithashtu, do të caktuam vendin dhe zonën kohore në cilësimet rajonale. Dhe do ta përfundojmë instalimin duke klikuar "Ruaj dhe vazhdo".
Pas kësaj, mund të kaloni në panelin e kontrollit me emrin e përdoruesit dhe fjalëkalimin e krijuar të administratorit të Drupal.
Konfigurimi i HTTPS (opsional)
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.sh.):
server_name domainname.ru;Rivendosim nginx:
service nginx restartStartojmë certbot:
sudo /usr/local/bin/certbot-auto --nginxVendosim emailin tonë, pajtohemi me kushtet e shërbimit (A), abonimin në newsletter (opsional) (N), zgjedhim emrat e domain-eve për të cilat duhet të lëshojmë certifikatin (Enter për të gjitha).
Nëse gjithçka kalon pa gabime, ne do të shohim një njoftim 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).
Shtojmë në /etc/crontab për azhurnimin automatike 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 që lidhet me përcaktimin dinamik të base_url, dhe ka për qëllim të parandalojë sulmet HTTP HOST Header (kur faqja juaj mendon se është ndonjë tjetër).
Për këtë, duhet të tregoni emrat e besuar të domain-eve të faqes në skedarin e konfigurimit.
NĂ« skedar
/usr/share/nginx/html/sites/default/settings.php do të shkruajmë 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 â Cache Alternative PHP User, versionet 8 dhe 9 pĂ«rdorin mĂ« shumĂ« APCu si cache tĂ« pĂ«rkohshĂ«m lokal se versionet e mĂ«parshme. MadhĂ«sia e caches nĂ« parazgjedhje (32 MB) Ă«shtĂ« e pĂ«rshtatshme pĂ«r shumicĂ«n e faqeve, dhe nuk mund tĂ« kalojĂ« 512 MB.
Për ta aktivizuar, instaloni modulin PHP APCu:
dnf -y install php-pecl-apcuRivendosim nginx dhe php-fpm:
service nginx restart
service php-fpm restartNë rast se përdoret gjuha ruse 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 memorjes së dedikuar për cache është e ndryshme nga ajo e rekomanduar, por në fakt gjithçka funksionon siç duhet, dhe paralajmërimi i paqartë ndoshta do të rregullohet në azhurnimet e ardhshme.
Ose nëse paralajmërimi është shqetësues, mund të përdorim .
Dëshirojmë të kujtojmë se ju gjithashtu mund të bëni një imazh për ne
Ka tre mundësi për të marrë pjesë.
Përgatitni vetë imazhin dhe merrni 3000 lekë në balancën tuaj
NĂ«se jeni tĂ« gatshĂ«m tĂ« hidhen direkt nĂ« luftĂ« dhe tĂ« krijoni vetĂ« imazhin qĂ« ju nevojitet, ne do t'ju depozitojmĂ« 3000 lekĂ« nĂ« balancĂ«n tuaj tĂ« brendshme â mund tâi shpenzoni pĂ«r serverĂ«t.
Si të krijoni imazhin tuaj:
- Krijoni një llogari te ne në
- Njoftoni mbështetje që po planifikoni të krijoni dhe testoni imazhe
- Ne do t'ju depozitojmë 3000 lekë dhe do të aktivizojmë mundësinë për të krijuar snapshot-e
- Porositni një server virtual me sistemin operativ të pastër
- Instaloni programin e Softuerit në këtë VPS dhe konfiguroni atë
- Përgatitni një udhëzues ose skript për shpërndarjen e Softuerit
- Krijoni një snapshot për serverin e konfiguruar
- Porositni një server virtual të ri, duke zgjedhur në listën e rënies 'Modeli i serverit' snapshot-in e krijuar më parë
- Në rast të krijimit të suksesshëm të serverit, dërgoni materialet e marra në fazën 6 mbështetjes teknike
- Në rast të një gabimi, mund të pyesni mbështetje për shkakun dhe të përsërisni konfigurimin
Për pronarët e bizneseve: ofroni programin tuaj të Softuerit
Nëse jeni një zhvillues i softuerit që zbatohet dhe përdoret në VPS, ne mund t'ju përfshijmë në tregun tonë. Kështu mund të ndihmojmë në tërheqjen e klientëve të rinj, trafikut dhe njohjes.
Na tregoni në komentet, çfarë imazhi ju mungon?
Dhe do ta përgatitim vetë
Burimi: habr.com
