Fausia se VPS Template ma Drupal 9 i Centos 8

O lo'o fa'aauau pea ona fa'alauteleina a matou maketi. Na matou taʻu atu talu ai nei pe faʻafefea faia se ata Gitlab, ma o le vaiaso nei na aliali mai ai Drupal i la tatou maketi.

Matou te taʻu atu ia te oe le mafuaaga na matou filifilia ai o ia ma le auala na faia ai le faatusa.

Fausia se VPS Template ma Drupal 9 i Centos 8

Drupal - o se faʻaoga faigofie ma mamana mo le fatuina o soʻo se ituaiga o upega tafaʻilagi: mai microsites ma blogs i galuega tetele faʻaagafesootai, faʻaaogaina foi e fai ma faavae mo talosaga i luga o le initaneti, tusia i le PHP ma faʻaogaina faʻamaumauga fesoʻotaʻiga e avea o se teuina o faʻamaumauga.

Drupal 9 e aofia uma ai foliga na faʻaalia i le version 8.9. O le eseesega autu i le va o le version 9 ma le version 8 o le tulaga o le a faʻaauau pea ona maua faʻafouga ma faʻaleleia saogalemu pe a uma Novema 2021. Fa'aliliuga 9 fa'afaigofieina fo'i le faiga fa'afou, fa'afaigofie ai le fa'aleleia mai le version 8.

Manaoga o le server

Mo le faʻaaogaina o Drupal, e fautuaina e faʻaaoga le 2 GB RAM ma le 2 CPU cores.

O faila autu a Drupal e tusa ma le 100 MB, faʻaopoopo e te manaʻomia le avanoa e teu ai ata, faʻamaumauga, autu, modules faaopoopo ma faʻamaumauga, lea e faʻalagolago i le tele o lau 'upega tafaʻilagi.

Drupal 9 e manaʻomia le PHP 7.4 poʻo le maualuga ma se tapulaa maualalo (memory_limit) mo le 64 MB manatua; afai e faʻaogaina isi faʻaoga, e fautuaina e faʻapipiʻi le 128 MB.

E mafai e Drupal ona faʻaoga Apache poʻo Nginx e fai ma 'upega tafaʻilagi, ma MySQL, PostgreSQL poʻo SQLite o se faʻamaumauga.

O le a matou faʻapipiʻi Drupal faʻaaoga Nginx ma MySQL.

faatulagaga

Se'i o tatou fa'afou afifi fa'apipi'i ile fa'afou fou:

sudo dnf update -y

Se'i o tatou fa'aopoopo le fa'atagaga tumau mo femalagaiga o lo'o sau ile http/80 ma https/443 ports:

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

Se'i o tatou fa'aoga tulafono fou o le firewall:

sudo systemctl reload firewalld

Sei o tatou faʻapipiʻi Nginx:

sudo dnf install nginx -y

Sei o tatou amata ma mafai le server Nginx:

sudo systemctl start nginx
sudo systemctl enable nginx

Talu ai ona o le faleteuoloa autu o Centos o loʻo faʻaogaina nei le PHP 7.2, seʻi o tatou faʻaopoopoina se fale teu REMI ma le PHP 7.4 (faʻamatalaga laʻititi mo Drupal 9).
Ina ia faia lenei mea, faʻaopoopo le fale teu oloa EPEL (manaʻomia e le faleoloa REMI):

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

Sei o tatou faʻaopoopo le fale teu oloa REMI:

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

Sei o tatou faʻatagaina le php:remi-7.4 module e faʻapipiʻi le php 7.4:

sudo dnf module enable php:remi-7.4 -y

Faʻapipiʻi le php-fpm ma le php-cli:

sudo dnf install -y php-fpm php-cli

Sei o tatou faʻapipiʻi le PHP modules e manaʻomia mo Drupal e galue ai:

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

O le a matou faʻapipiʻiina foi le PHP mbstring opcache modules fautuaina:

sudo dnf install -y php-mbstring php-opcache

Sei o tatou faʻapipiʻi le MySQL server:

sudo dnf install mysql-server -y

Sei o tatou ki ma amata le MySQL server:

sudo systemctl start mysqld
sudo systemctl enable mysqld

Talu ai o loʻo matou faia se faʻataʻitaʻiga mo le VDS, ma e mafai ona faʻagesegese, matou te faʻaopoopoina le tuai o le mysqld amata o le 30 sekone, a le o lea e ono iai ni faʻafitauli i le server e amata i le taimi muamua o le faiga faʻavae:

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

Sei o tatou sui le kulupu ma le tagata faʻaoga o loʻo taʻavale ai le nginx e ala i le faia o suiga 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

Sei o tatou sui le pule o le PHP sessions directory i le nginx e tusa ai:

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

Sei o tatou aveese laina ma faʻamatalaga mai le faila faʻatulagaina /etc/nginx/nginx.conf (ina ia leai ni faʻalavelave faʻalua mo sed):

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

Fa'aopoopo le gzip compression settings 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

Se'i o tatou fa'aopoopo tulaga o le faila faila 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

Se'i o tatou fa'aopoopo tulaga mo le 'au'aunaga fa'aletonu: PHP fa'agaioiga e ala i le php-fpm socket, fa'amalo le ogalaau mo faila fa'amau, fa'atuputeleina le taimi e muta ai, fa'agata le avanoa ma fa'aletonu log mo favicon.ico ma robots.txt, ma fa'afiti le avanoa i le .ht faila mo tagata uma:

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

Faʻapipiʻi wget manaʻomia mo le faʻapipiʻiina o le certbot:

sudo dnf install wget -y

La'u mai le faila faila o le certbot mai le nofoaga i fafo:

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

Alu certbot i /usr/local/bin/:

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

Ma seʻi o tatou tuʻuina atu aia tatau e avea ma pule e aʻa:

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

Sei o tatou faʻapipiʻi le faʻalagolago i le certbot ma i lenei laʻasaga faʻalavelave lana galuega (Tali: Y, c):

certbot-auto

Sei o tatou siiina mai le archive ma le lomiga lata mai o Drupal 9 mai le nofoaga i fafo:

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

Fa'apipi'i le ta e tatala ai le fa'amaumauga:

sudo dnf install tar -y

Sei o tatou tapeina faila le aoga i le /usr/share/nginx/html/ directory:

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

Sei o tatou tatala faila i totonu o le upegatafa'ilagi directory:

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

Sei o tatou siiina faila mai le subdirectory i le root directory o le upega tafaʻilagi:

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

Tatou tape le subdirectory:

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

Se'i tatou tape le archive ma faila fa'apipi'i:

rm -f ./tar.gz

Sei o tatou tofia lē e ona faila nginx:

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

I lenei laʻasaga o le a matou tapeina le server ma ave se ata:

shutdown -h now

A maeʻa ona faʻalauiloa le VDS mai le ata, o le a matou faia le seti muamua o le MySQL server e ala i le faʻaogaina o le tusitusiga:

mysql_secure_installation

Se'i tatou fa'agaoioi le fa'amaonia upu fa'amaonia:

Would you like to setup VALIDATE PASSWORD component? : y

Sei o tatou setiina le upu faataga mo le MySQL root user:

New password:
Re-enter new password:

Se'i o tatou ave'ese tagata e le ta'ua igoa:

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

Sei o tatou taofia a'a mai le feso'ota'i mamao:

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

Se'i tatou tape le fa'amaumauga o su'ega:

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

Se'i o tatou toe uta laulau fa'apitoa:

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

A maeʻa lenei, e faʻamaeʻa le faʻapipiʻiina, e mafai ona tatou o i vps_ip_address
I lenei tuatusi o le a tatou vaʻai i le Drupal installation page.

Tatou filifili le gagana e faaaoga. Mo se faʻataʻitaʻiga: Rusia. Kiliki le "Save and Continue"

Sei o tatou filifilia se faʻamatalaga faʻapipiʻi (o le faʻataʻitaʻiga e faʻaaogaina naʻo le faʻamasani oe i le faiga). I la matou tulaga, ia avea ma "tulaga masani".

I le isi itulau o le a matou tuʻuina atu se igoa i le database, mo se faʻataʻitaʻiga "drupal". Sei o tatou faailoa atu le database user name root ma le password na tuuina atu ia te ia pe a tamoe mysql_secure_installation. Kiliki "Save and Continue."

Tatou fa'atali mo le fa'apipi'iina ma le fa'afouga o fa'aliliuga e fa'amae'a (atonu e tele ni minute e alu ai le faagasologa).

Matou te faʻaalia le igoa o le 'upega tafaʻilagi, seti le imeli i luga ole laiga (e fai ma sui o le a tuʻuina atu faʻamatalaga i luga ole laiga), login, password ma imeli a le Drupal administrator account. O le a matou setiina foi le atunuu ma le sone taimi i tulaga faaitulagi. Ma faʻamaeʻa le faʻapipiʻiina i le kilikiina o le "Save and Continue".

A maeʻa lenei mea, e mafai ona e alu i le laulau faʻatonu ma le faʻauluina o le pule o le Drupal ma le upega tafaʻilagi.

Seti HTTPS (filifiliga)

Ina ia fetuutuunai HTTPS, e tatau ona i ai i le VDS se igoa DNS aoga, faʻamaonia i totonu

/etc/nginx/nginx.conf

i le vaega server le igoa server (mo se faʻataʻitaʻiga):

server_name  domainname.ru;

Tatou toe amata le nginx:

service nginx restart

Tatou fa'alauiloa certbot:

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

Ulufale i lau imeli, malilie i tuutuuga o le tautua (A), Faʻasalalau i le nusipepa (filifiliga) (N), filifili igoa ole igoa e te manaʻo e tuʻuina atu se tusi faamaonia (Ulufale mo tagata uma).

Afai e alu mea uma e aunoa ma ni mea sese, o le a matou vaʻai i se feʻau e uiga i le tuʻuina atu manuia o tusi pasi ma le faʻatulagaina o le server:

Congratulations! You have successfully enabled ...

A maeʻa lenei, fesoʻotaʻiga i le taulaga 80 o le a toe faʻafeiloaʻi i le 443 (https).

Fa'aopoopo i /etc/crontab e otometi ona fa'afou tusi pasi:

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

Fa'atonuina le Puipuiga a le Talimalo Fa'atuatuaina (fautua)

O lenei faʻatulagaga ua faʻamoemoeina o se fofo i le faʻafitauli e fesoʻotaʻi ma le malosi base_url determination, ma ua mamanuina e puipuia HTTP HOST Header osofaʻiga (pe a manatu lau 'upega tafaʻilagi o se isi tagata).

Ina ia faia lenei mea, e tatau ona e faʻamaonia igoa faʻalagolago mo le nofoaga i le faila faila.

I le faila

/usr/share/nginx/html/sites/default/settings.php Se'i o tatou fa'amuta pe fa'aopoopo se fa'atulagaga ma fa'ata'ita'iga o igoa moni o le saite, mo se fa'ata'ita'iga:

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

Fa'apipi'i le PHP APCu (FAUTUAINA)

Drupal lagolago APCu - Alternative PHP User Cache, versions 8 ma 9 sili atu le faʻaogaina o le APCu e fai ma faʻaoga pupuu i le lotoifale nai lo lomiga muamua. Ole tele ole cache (32 MB) e talafeagai mo le tele o nofoaga, ma e le mafai ona sili atu ile 512 MB.

Ina ia faʻagaoioia, faʻapipiʻi le PHP APCu module:

dnf -y install php-pecl-apcu

Toe amata le nginx ma le php-fpm:

service nginx restart
service php-fpm restart

Afai e te faʻaaogaina le gagana Rusia ma le APCu faʻatasi ai ma le tele o manatuaga fautuaina mo le cache, e mafai ona e vaʻai i se lapataiga i le laulau faʻatonu e ese le tele o le manatua e tuʻuina atu mo le cache e ese mai le mea fautuaina, ae o le mea moni e saʻo lelei mea uma. ma o le lapata'iga le sa'o o le a fa'asa'o i isi fa'afouga.

Pe afai e afaina ou mata i le lapataiga, e mafai ona e faaaogaina patch fetaui mai fafo.

Matou te fia faamanatu atu ia te oe e mafai foi ona e faia se ata mo i matou

E tolu filifiliga mo le auala e auai ai.

Saunia le ata oe lava ma maua 3000 rubles i lau paleni

Afai ua e sauni e faʻanatinati vave i le taua ma fatuina le ata o loʻo e misia, matou te faʻatagaina oe i le 3000 rubles i lau paleni i totonu, lea e mafai ona e faʻaaluina i luga o sapalai.

Auala e fai ai sau lava ata:

  1. Fausia se tala ma matou i luga saite
  2. Ta'u atu i le lagolago o le ae faia ma su'e ata
  3. Matou te faʻafetaia oe 3000 rubles ma faʻatagaina le mafai ona fatuina ata
  4. Fa'atonu se 'upega tafa'ilagi ma se faiga mama
  5. Faʻapipiʻi le polokalama i luga o lenei VPS ma faʻapipiʻi
  6. Tusi fa'atonuga po'o fa'amatalaga mo le fa'aogaina o polokalame
  7. Fausia se ata mo le server configured
  8. Fa'atonu se 'au'aunaga fa'akomepiuta fou e ala i le filifilia o le ata na faia muamua i le lisi o le "Server template".
  9. Afai ua manuia le faiga o le server, fa'afeiloa'i mea na maua i le laasaga 6 i le lagolago fa'apitoa
  10. Afai ei ai se mea sese, e mafai ona e siaki ma le lagolago mo le mafuaaga ma toe fai le seti

Mo tagata e ona pisinisi: ofo atu lau polokalama

Afai o oe o se tagata faʻapipiʻi polokalama o loʻo faʻapipiʻiina ma faʻaaogaina i VPS, ona mafai lea ona matou faʻaaofia oe i le maketi. O le auala lea e mafai ai ona matou fesoasoani ia te oe e aumaia tagata fou, fefaʻatauaiga ma faʻalauiloa. Tusi i matou

Ta'u mai i fa'amatalaga o le a le ata o lo'o e misia?

Ma o le a tatou saunia e i tatou lava

Fausia se VPS Template ma Drupal 9 i Centos 8

Fausia se VPS Template ma Drupal 9 i Centos 8

puna: www.habr.com