Nou kontinye elaji mache nou an. Nou dènyèman te pale sou ki jan te fè yon imaj Gitlab, ak semèn sa a Drupal parèt sou mache nou an.
Nou di poukisa nou te chwazi li ak ki jan imaj la te kreye.
Drupal se yon platfòm pratik ak pwisan pou kreye nenpòt kalite sit: soti nan mikrosit ak blogs nan gwo pwojè sosyal, ki se tou itilize kòm baz la pou aplikasyon pou entènèt, ekri nan PHP ak lè l sèvi avèk baz done relasyon kòm depo done.
Drupal 9 gen ladan tout karakteristik yo prezante nan vèsyon 8.9. Diferans kle ant vèsyon 9 ak vèsyon 8 se ke platfòm la ap kontinye resevwa mizajou ak repare sekirite apre Novanm 2021. Epitou nan vèsyon 9 la, pwosesis ajou yo te senplifye, fè pwosesis la ajou soti nan vèsyon 8 menm pi fasil.
Kondisyon pou sèvè
Pou itilize Drupal, li rekòmande pou itilize 2 GB RAM ak 2 nwayo CPU.
Fichye prensipal Drupal yo se apeprè 100 MB, anplis ou pral bezwen espas pou estoke imaj, baz done, tèm, ajoute ak sovgad, ki pral depann de gwosè sit ou a.
Drupal 9 mande PHP 7.4 oswa pi wo ak yon limit minimòm (memory_limit) nan 64 MB memwa, nan ka itilize modil adisyonèl, li rekòmande enstale 128 MB.
Drupal ka itilize Apache oswa Nginx kòm yon sèvè entènèt, ak MySQL, PostgreSQL oswa SQLite kòm yon baz done.
Nou pral enstale Drupal lè l sèvi avèk Nginx ak MySQL.
Enstalasyon
Mete ajou pakè enstale yo nan dènye vèsyon an:
sudo dnf update -y
Ann ajoute yon pèmisyon pèmanan pou trafik fèk ap rantre nan pò http/80 ak https/443:
Depi PHP 7.2 yo itilize kounye a nan depo Centos prensipal la, ann ajoute depo REMI a ak PHP 7.4 (vèsyon minimòm pou Drupal 9).
Pou fè sa, ajoute repozitwa EPEL la (repozitwa REMI obligatwa):
Depi nou ap fè yon modèl pou VDS, epi yo ka ralanti, nou pral ajoute yon reta demaraj mysqld nan 30 segonn, otreman ka gen pwoblèm kòmanse sèvè a pandan demaraj sistèm inisyal la:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.service
Ann chanje gwoup la ak itilizatè anba ki nginx pral kouri lè nou fè chanjman nan /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
Chanje pwopriyetè anyè sesyon PHP a an nginx kòmsadwa:
sudo chown -R nginx. /var/lib/php/session
Ann retire liy kòmantè yo nan /etc/nginx/nginx.conf fichye konfigirasyon an (pou pa gen okenn frape doub pou sed):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.conf
Ajoute paramèt konpresyon gzip nan /etc/nginx/nginx.conf
Ann ajoute paramèt fichye endèks index.php la nan /etc/nginx/nginx.conf:
sudo sed -i '/ root /usr/share/nginx/html;/a
index index.php index.html index.htm;
' /etc/nginx/nginx.conf
Ann ajoute paramèt pou php nan pwosesis default sèvè atravè priz php-fpm, enfim boutèy demi lit la pou fichye estatik, ogmante tan an ekspirasyon, enfim aksè ak boutèy erè pou favicon.ico ak robots.txt epi refize aksè a fichye .ht pou tout moun:
Nan etap sa a, nou pral fèmen sèvè a epi pran yon snapshot:
shutdown -h now
Apre w fin kòmanse VDS a soti nan snapshot la, nou pral fè konfigirasyon inisyal sèvè MySQL la nan kouri script la:
mysql_secure_installation
Aktive validateur modpas la:
Would you like to setup VALIDATE PASSWORD component? : y
Mete modpas itilizatè rasin MySQL la:
New password:
Re-enter new password:
Retire itilizatè anonim:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Ann anpeche rasin konekte adistans:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Ann retire baz done tès la:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Rechaje tab privilèj yo:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Apre sa, pou konplete enstalasyon an, nou ka ale nan adrès_ip_vps
Nan adrès sa a nou pral wè yon paj ki gen enstalasyon Drupal.
Chwazi lang pou itilize. Pou egzanp: Ris. Klike sou "Sove epi kontinye"
Ann chwazi yon pwofil enstalasyon (demo yo itilize sèlman pou familyarize ak sistèm nan). Nan ka nou an, se pou li "estanda".
Nan pwochen paj la, bay baz done a yon non, tankou "drupal". Espesifye non itilizatè baz done rasin ak modpas yo ba li lè w kòmanse mysql_secure_installation. Klike sou "Sove epi kontinye".
Ann tann enstalasyon ak ajou tradiksyon yo fini (pwosesis la ka pran plizyè minit).
Espesifye non sit la, mete imèl sit la (nan non ki notifikasyon sit la ap vini), login, modpas ak imèl kont administratè Drupal la. Nou pral mete tou peyi a ak zòn lè nan anviwònman rejyonal yo. Epi konplete enstalasyon an pa klike sou "Save ak Kontinye".
Apre sa, ou ka ale nan panèl kontwòl la ak login ak modpas administratè Drupal kreye.
Anviwònman HTTPS (opsyonèl)
Pou konfigirasyon HTTPS, VDS la dwe gen yon non DNS valab, presize nan
/etc/nginx/nginx.conf
nan seksyon sèvè a non sèvè a (pa egzanp):
server_name domainname.ru;
Rekòmanse nginx:
service nginx restart
Ann kòmanse certbot:
sudo /usr/local/bin/certbot-auto --nginx
Antre imel ou a, dakò ak kondisyon sèvis yo (A), Abònman nan bilten an (si ou vle) (N), chwazi non domèn ou vle bay yon sètifika (Antre pou tout moun).
Si tout bagay te ale san erè, nou pral wè yon mesaj sou emisyon an siksè nan sètifika ak konfigirasyon sèvè:
Congratulations! You have successfully enabled ...
Apre sa, koneksyon sou pò 80 yo pral redireksyon sou 443 (https).
Ajoute nan /etc/crontab pou renouvle sètifika otomatikman:
Anviwònman sa a gen entansyon kòm yon solisyon a pwoblèm nan deteksyon dinamik base_url, epi li gen entansyon anpeche atak HTTP HOST Header (lè sit ou panse li se yon lòt moun).
Pou fè sa, ou bezwen presize non domèn ou fè konfyans nan sit la nan dosye a anviwònman.
Nan dosye
/usr/share/nginx/html/sites/default/settings.php dekomantè oswa ajoute yon anviwònman ak modèl non sit aktyèl la, pou egzanp:
Drupal sipòte APCu - Alternative PHP User Cache, vèsyon 8 ak 9 itilize APCu plis entansif kòm yon kachèt lokal kout tèm pase vèsyon anvan yo. Gwosè kachèt default (32 MB) ap adapte pifò sit yo, epi li pa ka depase 512 MB.
Pou aktive, enstale modil PHP APCu a:
dnf -y install php-pecl-apcu
Rekòmanse nginx ak php-fpm:
service nginx restart
service php-fpm restart
Nan ka itilize lang Ris la ak APCu ak gwosè memwa kachèt rekòmande a, ou ka wè yon avètisman nan panèl kontwòl la ke gwosè memwa kachèt atribye ba a diferan de yon sèl rekòmande a, men an reyalite tout bagay ap travay kòrèkteman, ak kòrèk la. avètisman pral gen plis chans yo fikse nan pwochen mizajou yo.
Nou vle raple ou ke ou kapab tou fè yon imaj pou nou
Gen twa opsyon pou kijan pou patisipe.
Prepare imaj la tèt ou epi jwenn 3000 rubles sou balans ou
Si ou pare imedyatman prese nan batay ak kreye imaj la ke ou manke tèt ou, nou pral kredi ou ak 3000 rubles nan balans entèn ou - ou ka depanse li sou serveurs.
Nou pral kredi ou 3000 rubles ak pèmèt kapasite nan kreye snapshots
Kòmande yon sèvè vityèl ak yon sistèm opere pwòp
Enstale lojisyèl an sou VPS sa a epi mete l kanpe
Ekri enstriksyon oswa script pou deplwaman lojisyèl
Kreye yon snapshot pou sèvè configuré a
Kòmande yon nouvo sèvè vityèl lè w chwazi snapshot ki te kreye deja nan lis deroulant "Modèl sèvè"
Nan ka ta gen siksè kreyasyon sèvè a, transfere materyèl yo te resevwa nan etap 6 nan sipò teknik
Nan ka yon erè, ou ka tcheke avèk sipò pou rezon an epi repete konfigirasyon an
Pou pwopriyetè biznis: ofri lojisyèl ou a
Si ou se yon devlopè lojisyèl ki deplwaye ak itilize sou yon VPS, Lè sa a, nou ka mete ou sou mache a. Men ki jan nou ka ede w pote nouvo kliyan, trafik ak vizibilite. Ekri nou