Teimpléad VPS a chruthú le Drupal 9 ar Centos 8

Leanaimid orainn ag leathnú ár margadh. D'inis muid duit le déanaí conas rinne sé íomhá Gitlab, agus an tseachtain seo bhí Drupal le feiceáil inár margadh.

Inseoimid duit cén fáth a roghnaigh muid é agus conas a cruthaíodh an íomhá.

Teimpléad VPS a chruthú le Drupal 9 ar Centos 8

Drupal — ardán áisiúil agus cumhachtach chun suíomh Gréasáin de chineál ar bith a chruthú: ó mhicrealáithreáin agus blaganna go mórthionscadail shóisialta, a úsáidtear freisin mar bhunús d’fheidhmchláir ghréasáin, atá scríofa i PHP agus a úsáideann bunachair shonraí choibhneasta mar stóráil sonraí.

Cuimsíonn Drupal 9 na gnéithe go léir a tugadh isteach i leagan 8.9. Is í an phríomhdhifríocht idir leagan 9 agus leagan 8 ná go bhfaighidh an t-ardán nuashonruithe agus réitigh slándála i ndiaidh mhí na Samhna 2021. Déanann Leagan 9 an próiseas nuashonraithe a shimpliú freisin, rud a fhágann go bhfuil an próiseas uasghrádaithe ó leagan 8 níos éasca fós.

Riachtanais an fhreastalaí

Chun Drupal a úsáid, moltar 2 GB RAM agus 2 chroílár LAP a úsáid.

Tógann na príomhchomhaid Drupal thart ar 100 MB, ina theannta sin beidh spás uait chun íomhánna, bunachar sonraí, téamaí, modúil bhreise agus cúltacaí a stóráil, a bheidh ag brath ar mhéid do shuíomh.

Éilíonn Drupal 9 PHP 7.4 nó níos airde le teorainn íosta (memory_limit) le haghaidh cuimhne 64 MB; má úsáidtear modúil bhreise, moltar 128 MB a shuiteáil.

Is féidir le Drupal Apache nó Nginx a úsáid mar fhreastalaí gréasáin, agus MySQL, PostgreSQL nó SQLite mar bhunachar sonraí.

Beidh muid ag suiteáil Drupal ag baint úsáide as Nginx agus MySQL.

Suiteáil

Déanaimis na pacáistí suiteáilte a nuashonrú go dtí an leagan is déanaí:

sudo dnf update -y

Cuirimis cead buan don trácht ag teacht isteach chuig calafoirt http/80 agus https/443:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https

Cuirimis na rialacha nua balla dóiteáin i bhfeidhm:

sudo systemctl reload firewalld

Déanaimis Nginx a shuiteáil:

sudo dnf install nginx -y

Déanaimis an freastalaí Nginx a thosú agus a chumasú:

sudo systemctl start nginx
sudo systemctl enable nginx

Ós rud é go n-úsáideann príomh-stór Centos PHP 7.2 faoi láthair, cuirimis stór REMI le PHP 7.4 (leagan íosta do Drupal 9).
Chun é seo a dhéanamh, cuir stór EPEL leis (a theastaíonn ó stór REMI):

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Cuirimis an stór REMI leis:

sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Déanaimis an modúl php:remi-7.4 a chumasú chun php 7.4 a shuiteáil:

sudo dnf module enable php:remi-7.4 -y

Suiteáil php-fpm agus php-cli:

sudo dnf install -y php-fpm php-cli

Déanaimis na modúil PHP a theastaíonn le go n-oibreoidh 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-xml

Déanfaimid na modúil PHP mbstring opcache molta a shuiteáil freisin:

sudo dnf install -y php-mbstring php-opcache

Déanaimis an freastalaí MySQL a shuiteáil:

sudo dnf install mysql-server -y

Cuirimis an freastalaí MySQL ar siúl agus cuirimis tús leis:

sudo systemctl start mysqld
sudo systemctl enable mysqld

Ós rud é go bhfuil teimpléad á dhéanamh againn le haghaidh VDS, agus gur féidir leo a bheith mall, cuirfimid moill tosaigh mysqld de 30 soicind leis, nó d'fhéadfadh fadhbanna a bheith ann leis an bhfreastalaí ag tosú le linn tosaithe an chórais tosaigh:

sudo sed -i '/Group=mysql/a 
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.service

Athróimid an grúpa agus an t-úsáideoir faoina reáchtálfaidh nginx trí athruithe a dhéanamh ar /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

Athraímis úinéir an eolaire seisiúin PHP go nginx dá réir sin:

sudo chown -R nginx. /var/lib/php/session

Bainimis na línte le tuairimí ón gcomhad cumraíochta /etc/nginx/nginx.conf (ionas nach mbeidh aon truicear dúbailte ann don sed):

sudo sed -i -e '/^[ t]*#/d'  /etc/nginx/nginx.conf

Cuir socruithe comhbhrú gzip le /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.conf

Cuirimis socruithe an chomhaid innéacs index.php chuig /etc/nginx/nginx.conf:

sudo sed -i '/        root         /usr/share/nginx/html;/a 
        index index.php index.html index.htm;
' /etc/nginx/nginx.conf

Cuirimis socruithe don fhreastalaí réamhshocraithe: próiseáil PHP tríd an soicéad php-fpm, díchumasaigh an logáil isteach le haghaidh comhaid statacha, cuir leis an am éaga, díchumasaigh an logáil rochtana agus earráide le haghaidh favicon.ico agus robots.txt, agus diúltaigh rochtain ar .ht comhaid do gach duine:

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.conf

Suiteáil wget riachtanach chun certbot a shuiteáil:

sudo dnf install wget -y

Íoslódáil an comhad inrite certbot ón suíomh Gréasáin:

cd ~
wget https://dl.eff.org/certbot-auto

Bog certbot go /usr/local/bin/:

mv certbot-auto /usr/local/bin/certbot-auto

Agus sannaimid na cearta mar an t-úinéir le fréamhú:

chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Déanaimis na spleáchais certbot a shuiteáil agus cur isteach ar a chuid oibre ag an gcéim seo (Freagraí: Y, c):

certbot-auto

Íoslódáil an chartlann leis an leagan is déanaí de Drupal 9 ón taobh amuigh:

cd ~
wget https://www.drupal.org/download-latest/tar.gz

Suiteáil tarra chun an chartlann a dhíphacáil:

sudo dnf install tar -y

Scriosfaimid na comhaid réamhshocraithe san eolaire / usr/share/nginx/html/:

rm -rf /usr/share/nginx/html/*

Déanaimis na comhaid a dhíphacáil isteach san eolaire freastalaí gréasáin:

tar xf tar.gz -C /usr/share/nginx/html/

Bogfaimid na comhaid ón bhfochomhadlann go dtí buneolaire an fhreastalaí gréasáin:

mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/

Scriosaimis an fhochomhadlann:

rm -rf /usr/share/nginx/html/drupal-9.0.7

Scriosfaimid an chartlann le comhaid suiteála:

rm -f ./tar.gz

Déanaimis úinéir na gcomhad nginx a shannadh:

chown -R nginx. /usr/share/nginx/html

Ag an gcéim seo casfaimid an freastalaí as agus tógfaimid pictiúr:

shutdown -h now

Tar éis an VDS a sheoladh ón seat, déanfaimid socrú tosaigh an fhreastalaí MySQL tríd an script a rith:

mysql_secure_installation

Déanaimis an bailíochtóir pasfhocail a chumasú:

Would you like to setup VALIDATE PASSWORD component? : y

Socróimid an focal faire don úsáideoir fréimhe MySQL:

New password:
Re-enter new password:

Bainimis úsáideoirí gan ainm:

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y

Déanaimis cosc ​​ar fhréamh ó nascadh go cianda:

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y

Scriosaimis an bunachar sonraí tástála:

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y

Déanaimis na táblaí pribhléide a athlódáil:

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y

Tar éis seo, chun an tsuiteáil a chríochnú, is féidir linn dul go dtí vps_ip_seoladh
Ag an seoladh seo feicfimid leathanach suiteála Drupal.

Roghnóimid an teanga le húsáid. Mar shampla: Rúisis. Cliceáil "Sábháil agus Lean ar aghaidh"

Roghnóimid próifíl suiteála (ní úsáidtear an taispeántas ach amháin chun eolas a chur ar an gcóras). Inár gcás, bíodh sé “caighdeánach”.

Ar an gcéad leathanach eile tabharfaimid ainm don bhunachar sonraí, mar shampla “drupal”. Cuirimis in iúl fréamh ainm úsáideora an bhunachair shonraí agus an focal faire a tugadh dó nuair a bhí mysql_secure_installation á rith. Cliceáil "Sábháil agus Lean ar aghaidh."

A ligean ar fanacht le suiteáil agus nuashonrú na n-aistriúchán a chur i gcrích (d'fhéadfadh an próiseas a ghlacadh roinnt nóiméad).

Cuirfimid ainm an tsuímh in iúl, socróimid ríomhphost an tsuímh (ar a son a seolfar fógraí láithreáin), logáil isteach, pasfhocal agus ríomhphost chuntas riarthóra Drupal. Socróimid freisin an tír agus an crios ama sna suíomhanna réigiúnacha. Agus críochnaigh an suiteáil trí chliceáil "Sábháil agus Lean ar aghaidh".

Tar éis seo, is féidir leat dul chuig an bpainéal rialaithe leis an logáil isteach riarthóir Drupal cruthaithe agus do phasfhocal.

Socrú HTTPS (roghnach)

Chun HTTPS a chumrú, ní mór ainm DNS bailí a bheith ag an VDS, sonraigh i

/etc/nginx/nginx.conf

sa rannán freastalaí ainm an fhreastalaí (mar shampla):

server_name  domainname.ru;

Déanaimis nginx a atosú:

service nginx restart

Seolfaimid certbot:

sudo /usr/local/bin/certbot-auto --nginx

Cuir isteach do r-phost, aontú leis na téarmaí seirbhíse (A), Liostáil leis an nuachtlitir (roghnach) (N), roghnaigh na hainmneacha fearainn a bhfuil tú ag iarraidh deimhniú a eisiúint (Iontráil do gach duine).

Má chuaigh gach rud gan earráidí, feicfimid teachtaireacht faoi eisiúint rathúil deimhnithe agus cumraíocht an fhreastalaí:

Congratulations! You have successfully enabled ...

Tar éis seo, déanfar naisc le calafort 80 a atreorú chuig 443 (https).

Cuir le /etc/crontab chun teastais a nuashonrú go huathoibríoch:

# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"

Socrú Iontaofa Óstach Slándáil (molta)

Tá an socrú seo beartaithe mar réiteach ar an bhfadhb a bhaineann le cinneadh dinimiciúil base_url, agus tá sé deartha chun ionsaithe Ceanntásc HTTP HOST a chosc (nuair a cheapann do shuíomh gur duine éigin eile é).

Chun seo a dhéanamh, ní mór duit ainmneacha fearainn iontaofa a shonrú don suíomh sa chomhad socruithe.

I gcomhad

/usr/share/nginx/html/sites/default/settings.php Déanaimis trácht ar nó cuirimis socrú isteach le patrúin d’ainmneacha suíomhanna iarbhír, mar shampla:

$settings['trusted_host_patterns'] = [
  '^www.mydomain.ru$',
];

Suiteáil PHP APCu (MOLTA)

Tacaíonn Drupal le APCu - Malartach PHP User Cache, baineann leaganacha 8 agus 9 úsáid níos mó as APCu mar thaisce áitiúil gearrthéarmach ná mar a bhaineann leaganacha roimhe seo. Tá an méid réamhshocraithe taisce (32 MB) oiriúnach don chuid is mó de na suíomhanna, agus ní féidir leis a bheith níos mó ná 512 MB.

Chun a ghníomhachtú, suiteáil an modúl PHP APCu:

dnf -y install php-pecl-apcu

Atosaigh nginx agus php-fpm:

service nginx restart
service php-fpm restart

Má úsáideann tú an teanga Rúisis agus APCu leis an méid cuimhne molta don taisce, b'fhéidir go bhfeiceann tú rabhadh sa phainéal rialaithe go bhfuil méid na cuimhne leithdháilte don taisce difriúil ón gceann molta, ach go deimhin oibríonn gach rud i gceart, agus is dócha go gceartófar an rabhadh mícheart sna chéad nuashonruithe eile.

Nó má ghortaíonn an rabhadh do shúile, is féidir leat é a úsáid paiste comhfhreagrach ón taobh amuigh.

Ba mhaith linn a mheabhrú duit gur féidir leat íomhá a dhéanamh dúinn freisin

Tá trí rogha ann maidir le conas a bheith rannpháirteach.

Ullmhaigh an íomhá duit féin agus faigh 3000 rúbal chun do chomhardú

Má tá tú réidh le dul sa chath láithreach agus an íomhá atá in easnamh ort a chruthú, cuirfimid 3000 rúbal chun sochair duit le do chomhardú inmheánach - is féidir leat é a chaitheamh ar fhreastalaithe.

Conas do íomhá a chruthú:

  1. Cruthaigh cuntas linn ar Líne
  2. Inis don tacaíocht go bhfuil tú chun íomhánna a chruthú agus a thástáil
  3. Tabharfaimid creidmheas duit 3000 rúbal agus cuirfimid ar ár gcumas grianghraif a chruthú
  4. Freastalaí fíorúil a ordú le córas oibriúcháin glan
  5. Suiteáil na bogearraí ar an VPS seo agus cuir ar bun é
  6. Scríobh treoracha nó script le haghaidh imscaradh bogearraí
  7. Cruthaigh pictiúr don fhreastalaí cumraithe
  8. Ordaigh freastalaí fíorúil nua tríd an pictiúr a cruthaíodh roimhe seo a roghnú sa liosta anuas "Teimpléad Freastalaí".
  9. I gcás cruthú rathúil an fhreastalaí, aistrigh na hábhair a fuarthas ag céim 6 chuig tacaíocht theicniúil
  10. I gcás earráide, is féidir leat an chúis a sheiceáil le tacaíocht agus an socrú a dhéanamh arís

D'úinéirí gnó: tairg do bhogearraí

Más forbróir bogearraí tú a imlonnaítear agus a úsáidtear ar VPS, is féidir linn tú a áireamh sa mhargadh. Seo mar is féidir linn cabhrú leat custaiméirí nua, trácht agus infheictheacht a thabhairt isteach. Scríobh chugainn

Inis dúinn sna tuairimí cén íomhá atá uait?

Agus déanfaimid féin é a ullmhú

Teimpléad VPS a chruthú le Drupal 9 ar Centos 8

Teimpléad VPS a chruthú le Drupal 9 ar Centos 8

Foinse: will.com