Creu Templed VPS gyda Drupal 9 ar Centos 8

Rydym yn parhau i ehangu ein marchnad. Buom yn siarad yn ddiweddar am sut gwneud delwedd Gitlab, a'r wythnos hon ymddangosodd Drupal yn ein marchnadle.

Rydyn ni'n dweud pam wnaethon ni ei ddewis a sut cafodd y ddelwedd ei chreu.

Creu Templed VPS gyda Drupal 9 ar Centos 8

Drupal yn llwyfan cyfleus a phwerus ar gyfer creu unrhyw fath o safleoedd: o ficrosafleoedd a blogiau i brosiectau cymdeithasol mawr, a ddefnyddir hefyd fel sail ar gyfer cymwysiadau gwe, wedi'u hysgrifennu yn PHP a defnyddio cronfeydd data perthynol fel storfa data.

Mae Drupal 9 yn cynnwys yr holl nodweddion a gyflwynwyd yn fersiwn 8.9. Y gwahaniaeth allweddol rhwng fersiwn 9 a fersiwn 8 yw y bydd y platfform yn parhau i dderbyn diweddariadau ac atebion diogelwch ar ôl Tachwedd 2021. Hefyd yn fersiwn 9, mae'r broses uwchraddio wedi'i symleiddio, gan wneud y broses uwchraddio o fersiwn 8 hyd yn oed yn haws.

Gofynion gweinydd

I ddefnyddio Drupal, argymhellir defnyddio 2 GB o RAM a 2 graidd CPU.

Mae prif ffeiliau Drupal tua 100 MB, yn ogystal bydd angen lle arnoch i storio delweddau, cronfa ddata, themâu, ychwanegion a chopïau wrth gefn, a fydd yn dibynnu ar faint eich gwefan.

Mae Drupal 9 yn gofyn am PHP 7.4 neu uwch gydag isafswm terfyn (memory_limit) i gof 64 MB, rhag ofn defnyddio modiwlau ychwanegol, argymhellir gosod 128 MB.

Gall Drupal ddefnyddio Apache neu Nginx fel gweinydd gwe, a MySQL, PostgreSQL neu SQLite fel cronfa ddata.

Byddwn yn gosod Drupal gan ddefnyddio Nginx a MySQL.

Gosod

Diweddarwch y pecynnau gosod i'r fersiwn diweddaraf:

sudo dnf update -y

Gadewch i ni ychwanegu caniatâd parhaol ar gyfer traffig sy'n dod i mewn i borthladdoedd http/80 a https/443:

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

Cymhwyswch y rheolau wal dân newydd:

sudo systemctl reload firewalld

Gosod Nginx:

sudo dnf install nginx -y

Gadewch i ni ddechrau a galluogi gweinydd Nginx:

sudo systemctl start nginx
sudo systemctl enable nginx

Gan fod PHP 7.2 yn cael ei ddefnyddio ar hyn o bryd ym mhrif ystorfa Centos, gadewch i ni ychwanegu'r ystorfa REMI gyda PHP 7.4 (y fersiwn leiaf ar gyfer Drupal 9).
I wneud hyn, ychwanegwch y gadwrfa EPEL (sy'n ofynnol gan y gadwrfa REMI):

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

Gadewch i ni ychwanegu'r ystorfa REMI:

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

Galluogi'r modiwl php:remi-7.4 i osod php 7.4:

sudo dnf module enable php:remi-7.4 -y

Gosod php-fpm a php-cli:

sudo dnf install -y php-fpm php-cli

Gosodwch y modiwlau PHP sydd eu hangen er mwyn i Drupal weithio:

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

Byddwn hefyd yn gosod y modiwlau PHP a argymhellir mbstring opcache:

sudo dnf install -y php-mbstring php-opcache

Gosod gweinydd MySQL:

sudo dnf install mysql-server -y

Galluogi a chychwyn y gweinydd MySQL:

sudo systemctl start mysqld
sudo systemctl enable mysqld

Gan ein bod yn gwneud templed ar gyfer VDS, a gallant fod yn araf, byddwn yn ychwanegu oedi cychwyn mysqld o 30 eiliad, fel arall efallai y bydd problemau wrth gychwyn y gweinydd yn ystod cychwyniad y system gychwynnol:

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

Gadewch i ni newid y grŵp a'r defnyddiwr y bydd nginx yn rhedeg oddi tanynt trwy wneud newidiadau i /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

Newidiwch berchennog y cyfeiriadur sesiwn PHP i nginx yn unol â hynny:

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

Gadewch i ni dynnu'r llinellau sylwadau o'r ffeil ffurfweddu /etc/nginx/nginx.conf (fel nad oes unrhyw drawiadau dwbl ar gyfer sed):

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

Ychwanegu gosodiadau cywasgu gzip i /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

Gadewch i ni ychwanegu gosodiadau'r ffeil mynegai index.php i /etc/nginx/nginx.conf:

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

Gadewch i ni ychwanegu gosodiadau ar gyfer y gweinydd rhagosodedig prosesu php trwy'r soced php-fpm, analluoga'r log ar gyfer ffeiliau statig, cynyddu'r amser dod i ben, analluoga'r log mynediad a gwallau ar gyfer favicon.ico a robots.txt a gwrthod mynediad i ffeiliau .ht ar gyfer pawb:

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

Mae angen gosod wget i osod certbot:

sudo dnf install wget -y

Dadlwythwch y ffeil gweithredadwy certbot oddi ar y safle:

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

Symud certbot i /usr/local/bin/:

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

Ac aseinio hawliau a pherchnogaeth i wreiddio:

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

Gosodwch ddibyniaethau certbot a'i atal ar y cam hwn (Atebion: Y, c):

certbot-auto

Lawrlwythwch yr archif gyda'r fersiwn diweddaraf o Drupal 9 oddi ar y safle:

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

Gosod tar i ddadbacio'r archif:

sudo dnf install tar -y

Dileu'r ffeiliau rhagosodedig yn y cyfeiriadur /usr/share/nginx/html/:

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

Dadsipio'r ffeiliau i'r cyfeiriadur gweinydd gwe:

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

Symudwch y ffeiliau o'r is-gyfeiriadur i gyfeiriadur gwraidd y gweinydd gwe:

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

Dileu is-gyfeiriadur:

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

Dileu'r archif gyda'r ffeiliau gosod:

rm -f ./tar.gz

Gosodwch berchennog y ffeiliau nginx:

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

Ar y cam hwn, byddwn yn diffodd y gweinydd ac yn cymryd cipolwg:

shutdown -h now

Ar ôl cychwyn y VDS o'r ciplun, byddwn yn perfformio gosodiad cychwynnol y gweinydd MySQL trwy redeg y sgript:

mysql_secure_installation

Galluogi'r dilysydd cyfrinair:

Would you like to setup VALIDATE PASSWORD component? : y

Gosodwch y cyfrinair defnyddiwr gwraidd MySQL:

New password:
Re-enter new password:

Dileu defnyddwyr dienw:

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

Gadewch i ni atal gwraidd rhag cysylltu o bell:

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

Gadewch i ni gael gwared ar y gronfa ddata prawf:

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

Ail-lwythwch y tablau braint:

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

Ar ôl hynny, i gwblhau'r gosodiad, gallwn fynd i vps_ip_cyfeiriad
Yn y cyfeiriad hwn byddwn yn gweld tudalen gyda gosodiad Drupal.

Dewiswch yr iaith i'w defnyddio. Er enghraifft: Rwsieg. Cliciwch "Cadw a pharhau"

Gadewch i ni ddewis proffil gosod (defnyddir demo yn unig ar gyfer ymgyfarwyddo â'r system). Yn ein hachos ni, gadewch iddo fod yn "safonol".

Ar y dudalen nesaf, rhowch enw i'r gronfa ddata, fel "drupal". Nodwch wraidd enw defnyddiwr y gronfa ddata a'r cyfrinair a roddwyd iddo wrth gychwyn mysql_secure_installation. Cliciwch "Cadw a Parhau".

Gadewch i ni aros am osod a diweddaru cyfieithiadau i'w gwblhau (efallai y bydd y broses yn cymryd sawl munud).

Nodwch enw'r wefan, gosodwch e-bost y wefan (ar ran y bydd hysbysiadau gwefan yn dod), mewngofnodi, cyfrinair ac e-bost cyfrif gweinyddwr Drupal. Byddwn hefyd yn gosod y wlad a'r parth amser yn y lleoliadau rhanbarthol. A chwblhewch y gosodiad trwy glicio "Cadw a Parhau".

Ar ôl hynny, gallwch fynd i'r panel rheoli gyda'r mewngofnodi gweinyddwr Drupal a grëwyd a chyfrinair.

Gosodiad HTTPS (dewisol)

I ffurfweddu HTTPS, rhaid i'r VDS gael enw DNS dilys, nodwch yn

/etc/nginx/nginx.conf

yn adran y gweinydd enw'r gweinydd (er enghraifft):

server_name  domainname.ru;

Ailgychwyn nginx:

service nginx restart

Gadewch i ni ddechrau certbot:

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

Rhowch eich e-bost, cytuno i delerau gwasanaeth (A), Tanysgrifio i'r cylchlythyr (dewisol) (N), dewiswch yr enwau parth yr ydych am roi tystysgrif ar eu cyfer (Rhowch i bawb).

Os aeth popeth heb wallau, byddwn yn gweld neges am gyhoeddi tystysgrifau a gosod gweinydd yn llwyddiannus:

Congratulations! You have successfully enabled ...

Ar ôl hynny, bydd cysylltiadau ar borthladd 80 yn cael eu hailgyfeirio i 443 (https).

Ychwanegu at /etc/crontab i adnewyddu tystysgrifau yn awtomatig:

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

Sefydlu Trusted Host Security (argymhellir)

Bwriad y gosodiad hwn yw bod yn ateb i'r broblem o ganfod base_url deinamig, a'i fwriad yw atal ymosodiadau Pennawd HTTP HOST (pan fydd eich gwefan yn meddwl mai rhywun arall ydyw).

I wneud hyn, mae angen i chi nodi enwau parth dibynadwy'r wefan yn y ffeil gosodiadau.

Mewn ffeil

/usr/share/nginx/html/sites/default/settings.php dadwneud neu ychwanegu gosodiad gyda phatrymau o enwau safleoedd gwirioneddol, er enghraifft:

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

Gosod PHP APCu (ARGYMHELLIR)

Mae Drupal yn cefnogi APCu - Cache Defnyddiwr PHP Amgen, mae fersiynau 8 a 9 yn defnyddio APCu yn fwy dwys fel storfa leol tymor byr na fersiynau blaenorol. Bydd maint y storfa rhagosodedig (32 MB) yn addas ar gyfer y rhan fwyaf o wefannau, ac ni all fod yn fwy na 512 MB.

I actifadu, gosodwch y modiwl PHP APCu:

dnf -y install php-pecl-apcu

Ailgychwyn nginx a php-fpm:

service nginx restart
service php-fpm restart

Yn achos defnyddio'r iaith Rwsieg ac APCu gyda'r maint cof storfa a argymhellir, gallwch weld rhybudd yn y panel rheoli bod maint y cof storfa a ddyrennir yn wahanol i'r un a argymhellir, ond mewn gwirionedd mae popeth yn gweithio'n gywir, a'r anghywir bydd rhybudd yn fwyaf tebygol o gael ei drwsio yn y diweddariadau nesaf.

Neu os yw'r rhybudd yn brifo'r llygad, gallwch chi ei ddefnyddio darn cyfatebol oddi ar y safle.

Rydym am eich atgoffa y gallwch chi hefyd wneud delwedd i ni

Mae tri opsiwn ar gyfer sut i gymryd rhan.

Paratowch y ddelwedd eich hun a chael 3000 rubles ar eich balans

Os ydych chi'n barod i ruthro i'r frwydr ar unwaith a chreu'r ddelwedd nad oes gennych chi'ch hun, byddwn yn rhoi credyd o 3000 rubles i'ch cydbwysedd mewnol - gallwch chi ei wario ar weinyddion.

Sut i greu eich delwedd:

  1. Creu cyfrif gyda ni Ar-lein
  2. Dywedwch wrth y gefnogaeth eich bod yn mynd i greu a phrofi delweddau
  3. Byddwn yn credydu 3000 rubles i chi ac yn galluogi'r gallu i greu cipluniau
  4. Archebwch weinydd rhithwir gyda system weithredu lân
  5. Gosodwch y meddalwedd ar y VPS hwn a'i osod
  6. Ysgrifennu cyfarwyddiadau neu sgript ar gyfer defnyddio meddalwedd
  7. Creu ciplun ar gyfer y gweinydd sydd wedi'i ffurfweddu
  8. Archebwch weinydd rhithwir newydd trwy ddewis y ciplun a grëwyd yn flaenorol yn y gwymplen "Templed Gweinydd".
  9. Mewn achos o greu gweinydd yn llwyddiannus, trosglwyddwch y deunyddiau a dderbyniwyd yng ngham 6 i gymorth technegol
  10. Yn achos gwall, gallwch wirio gyda chefnogaeth am y rheswm ac ailadrodd y setup

Ar gyfer perchnogion busnes: cynigiwch eich meddalwedd

Os ydych yn ddatblygwr meddalwedd sy'n cael ei ddefnyddio a'i ddefnyddio ar VPS, yna gallwn eich cynnwys yn y farchnad. Dyma sut y gallwn eich helpu i ddod â chwsmeriaid newydd, traffig a gwelededd i mewn. Ysgrifena ni

Rhowch wybod i ni yn y sylwadau pa ddelwedd ydych chi'n ei cholli?

A byddwn yn ei baratoi ein hunain

Creu Templed VPS gyda Drupal 9 ar Centos 8

Creu Templed VPS gyda Drupal 9 ar Centos 8

Ffynhonnell: hab.com