Kugadzira VPS template ine Drupal 9 paCentos 8

Tinoramba tichiwedzera musika wedu. Isu munguva pfupi yapfuura takakuudza kuti sei akaita mufananidzo weGitlab, uye svondo rino Drupal akaonekwa mumusika wedu.

Tinokuudza kuti sei takamusarudza uye kuti chifananidzo chakasikwa sei.

Kugadzira VPS template ine Drupal 9 paCentos 8

Drupal -yakanakira uye ine simba chikuva chekugadzira chero mhando yewebhusaiti: kubva kumamicrosites uye mabloggi kune makuru mapurojekiti emagariro, anoshandiswawo sehwaro hwewebhu maapplication, akanyorwa muPHP uye kushandisa hukama dhatabhesi sekuchengetedza data.

Drupal 9 inosanganisira ese maficha akaunzwa muvhezheni 8.9. Musiyano wakakosha pakati pevhezheni 9 uye vhezheni 8 ndewekuti ipuratifomu icharamba ichiwana zvigadziriso uye kuchengetedzwa kwekugadzirisa mushure meNovember 2021. Vhezheni 9 zvakare inorerutsa maitiro ekuvandudza, zvichiita kuti maitiro ekusimudzira kubva mushanduro 8 ave nyore.

Server zvinodiwa

Kuti ushandise Drupal, zvinokurudzirwa kushandisa 2 GB RAM uye 2 CPU cores.

Iwo makuru Drupal mafaira anotora anenge 100 MB, mukuwedzera iwe uchada nzvimbo yekuchengetedza mifananidzo, dhatabhesi, themes, mamwe mamodule uye backups, izvo zvinoenderana nehukuru hwesaiti yako.

Drupal 9 inoda PHP 7.4 kana yepamusoro ine zvishoma zvishoma (memory_limit) ye64 MB ndangariro; kana mamwe ma module akashandiswa, zvinokurudzirwa kuisa 128 MB.

Drupal inogona kushandisa Apache kana Nginx sewebhu server, uye MySQL, PostgreSQL kana SQLite sedatabase.

Tichange tichiisa Drupal tichishandisa Nginx uye MySQL.

Kuiswa

Ngatigadzirise mapakeji akaiswa kune yazvino vhezheni:

sudo dnf update -y

Ngatiwedzerei mvumo zvachose yeinouya traffic kune http/80 uye https/443 ports:

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

Ngatishandisei mitemo mitsva yefirewall:

sudo systemctl reload firewalld

Ngatiise Nginx:

sudo dnf install nginx -y

Ngatitange uye kugonesa iyo Nginx server:

sudo systemctl start nginx
sudo systemctl enable nginx

Sezvo iyo huru Centos repository parizvino inoshandisa PHP 7.2, ngatiwedzerei REMI repository nePHP 7.4 (idiki vhezheni yeDrupal 9).
Kuti uite izvi, wedzera iyo EPEL repository (inodiwa neREMI repository):

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

Ngatiwedzerei REMI repository:

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

Ngatigonese iyo php:remi-7.4 module yekuisa php 7.4:

sudo dnf module enable php:remi-7.4 -y

Isa php-fpm uye php-cli:

sudo dnf install -y php-fpm php-cli

Ngatiisei PHP modules inodiwa kuti Drupal ishande:

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

Isu tichaisa zvakare yakakurudzirwa PHP mbstring opcache modules:

sudo dnf install -y php-mbstring php-opcache

Ngatiisei MySQL server:

sudo dnf install mysql-server -y

Ngatibatidze uye titange sevha yeMySQL:

sudo systemctl start mysqld
sudo systemctl enable mysqld

Sezvo isu tiri kugadzira template yeVDS, uye inogona kunonoka, isu tichawedzera mysqld kutanga kunonoka kwemasekonzi makumi matatu, zvikasadaro panogona kunge paine matambudziko neserver kutanga panguva yekutanga system boot:

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

Ngatichinjei boka uye mushandisi pasi peiyo nginx ichamhanya nekuita shanduko ku /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

Ngatichinjei muridzi weiyo PHP zvikamu dhairekitori kuti nginx zvinoenderana:

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

Ngatibvisei mitsara ine makomendi kubva kune yekumisikidza faira /etc/nginx/nginx.conf (kuitira kuti pasave nekaviri zvinokonzeresa sed):

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

Wedzera gzip compression marongero ku /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

Ngatiwedzerei zvigadziriso zve index file index.php ku /etc/nginx/nginx.conf:

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

Ngatiwedzerei marongero eiyo default server: PHP kugadzirisa kuburikidza nephp-fpm socket, dzima irogi remafaira akamira, wedzera nguva inopera, dzima kupinda nekukanganisa log ye favicon.ico uye robots.txt, uye ramba kupinda .ht mafaira emunhu wese:

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

Isa wget inodiwa pakuisa certbot:

sudo dnf install wget -y

Dhawunirodha iyo certbot inogoneka faira kubva kunze kwenyika:

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

Fambisa certbot ku /usr/local/bin/:

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

Uye ngatipei kodzero semuridzi kumidzi:

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

Ngatiisei certbot kutsamira uye panguva ino kukanganisa basa rayo (Mhinduro: Y, c):

certbot-auto

Ngatitorei archive neiyo yazvino vhezheni yeDrupal 9 kubva kunze kwenyika:

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

Isa tar kuti uburitse zvakachengetwa:

sudo dnf install tar -y

Ngatibvisei mafaera akasarudzika mu /usr/share/nginx/html/ dhairekitori:

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

Ngatiburitse mafaera muwebhu server dhairekitori:

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

Ngatibvise mafaera kubva kune subdirectory kuenda kumudzi dhairekitori yewebhu server:

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

Ngatidzimei subdirectory:

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

Ngatibvisei archive nemafaira ekuisa:

rm -f ./tar.gz

Ngatipei muridzi we nginx mafaera:

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

Panguva ino tichadzima sevha uye totora mufananidzo:

shutdown -h now

Mushure mekutangisa VDS kubva pamufananidzo, isu tichaita yekutanga kuseta yeMySQL server nekumhanyisa script:

mysql_secure_installation

Ngatigonese password validator:

Would you like to setup VALIDATE PASSWORD component? : y

Ngatiisei password yeMySQL mudzi mushandisi:

New password:
Re-enter new password:

Ngatibvise vashandisi vasingazivikanwe:

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

Ngatidzivise midzi kubva pakubatanidza kure:

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

Ngatibvisei dhatabhesi rekuyedza:

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

Ngatirodhezve matafura eropafadzo:

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

Mushure meizvi, kupedzisa kuisirwa, tinogona kuenda vps_ip_address
Pakero iyi tichaona iyo Drupal yekuisa peji.

Ngatisarudzei mutauro wekushandisa. Somuenzaniso: Russian. Dzvanya "Save uye Ramba"

Ngatisarudzei chimiro chekuisa (iyo demo inoshandiswa chete kuti uzvizive nehurongwa). Muchiitiko chedu, ngaive "standard".

Pane peji rinotevera tichapa zita kune database, semuenzaniso "drupal". Ngatiratidzei dhatabhesi zita remushandisi uye password yaakapihwa paanenge achimhanya mysql_secure_installation. Dzvanya "Chengetedza uye Ramba."

Ngatimirirei kugadzwa nekuvandudzwa kweshanduro kuti kupere (maitiro anogona kutora maminetsi akati wandei).

Isu ticharatidza zita resaiti, isa iyo saiti email (panzvimbo yekuti zviziviso zvesaiti zvichatumirwa), login, password uye email yeDrupal administrator account. Isu tichaisawo nyika nenzvimbo yenguva munzvimbo dzedunhu. Uye pedzisa kuisirwa nekudzvanya "Chengetedza uye Ramba".

Mushure meizvi, iwe unogona kuenda kune control panel neyakagadzirwa Drupal administrator login uye password.

Kumisikidza HTTPS (optional)

Kugadzirisa HTTPS, VDS inofanira kuva nezita reDNS rinoshanda, tsanangura mukati

/etc/nginx/nginx.conf

muchikamu cheseva zita reseva (semuenzaniso):

server_name  domainname.ru;

Ngatitangezve nginx:

service nginx restart

Ngatitangei certbot:

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

Pinda e-mail yako, bvumirana nemitemo yebasa (A), Nyorera kune tsamba yenhau (optional) (N), sarudza mazita emazita aunoda kuburitsa chitupa (Pinda kune wese wese).

Kana zvese zvikafamba pasina zvikanganiso, tichaona meseji nezve kubudirira kuburitswa kwezvitupa uye server kumisikidzwa:

Congratulations! You have successfully enabled ...

Mushure meizvi, kubatana kuchiteshi 80 kuchadzoserwa ku443 (https).

Wedzera ku /etc/crontab kuti uvandudze zvitupa:

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

Kumisikidza Trusted Host Security (inokurudzirwa)

Kuseta uku kwakagadzirirwa semhinduro kudambudziko rakabatana neiyo dynamic base_url kutsunga, uye yakagadzirirwa kudzivirira HTTP HOST Header kurwiswa (apo saiti yako inofunga kuti mumwe munhu).

Kuti uite izvi, unofanirwa kudoma mazita akavimbika enzvimbo yesaiti mune faira rekuisa.

Mufaira

/usr/share/nginx/html/sites/default/settings.php Ngatisiyanei kana kuwedzera marongero ane mapatani emazita chaiwo esaiti, semuenzaniso:

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

Kuisa PHP APCu (KURUDZIRWA)

Drupal inotsigira APCu - Alternative PHP Mushandisi Cache, shanduro 8 ne9 dzinoshandisa zvakanyanya APCu sechipfupi chenguva cache yemuno kupfuura shanduro dzakapfuura. Iyo yakasarudzika cache saizi (32 MB) inokodzera nzvimbo zhinji, uye haigone kudarika 512 MB.

Kuti uite, isa iyo PHP APCu module:

dnf -y install php-pecl-apcu

Tangazve nginx uye php-fpm:

service nginx restart
service php-fpm restart

Kana iwe ukashandisa mutauro weRussia uye APCu neyakakurudzirwa saizi yekurangarira ye cache, unogona kuona yambiro mupaneru yekudzora kuti saizi yeakagoverwa memory ye cache yakasiyana neyakakurudzirwa, asi chokwadi zvese zvinoshanda nemazvo. uye yambiro isiriyo inogona kugadziridzwa mune inotevera inogadziridza.

Kana kana yambiro ichikuvadza maziso ako, unogona kushandisa chigamba chinoenderana kubva kunze kwenyika.

Tinoda kukuyeuchidza kuti iwe unogonawo kutigadzirira mufananidzo

Pane zvingasarudzwa zvitatu zvekutora chikamu.

Gadzirira chifananidzo iwe pachako uye uwane 3000 rubles kune yako chiyero

Kana iwe wakagadzirira kukurumidza kumhanyira muhondo uye kugadzira mufananidzo wausina, isu tichakupa chikwereti ne3000 rubles kune yako yemukati chiyero, iyo iwe yaunogona kushandisa pamaseva.

Maitiro ekugadzira yako mufananidzo:

  1. Gadzira account nesu pa site
  2. Rega tsigiro izive kuti iwe uchagadzira uye kuyedza mifananidzo
  3. Isu tichakupa chikwereti 3000 rubles uye kugonesa kugona kugadzira snapshots
  4. Raira sevha chaiyo ine yakachena inoshanda sisitimu
  5. Isa software pane iyi VPS uye uigadzirise
  6. Nyora mirairo kana script yekuendesa software
  7. Gadzira snapshot ye server yakagadziriswa
  8. Ronga sevha nyowani nekusarudza iyo yakambogadzirwa snapshot mu "Server template" yekudonha-pasi runyorwa.
  9. Kana sevha ikagadzirwa zvakabudirira, fambisa zvinhu zvakagamuchirwa padanho rechitanhatu kune rutsigiro rwehunyanzvi
  10. Kana paine chikanganiso, unogona kutarisa nerutsigiro rwechikonzero uye wodzokorora kuseta

Kune varidzi vebhizinesi: ipa software yako

Kana iwe uri mugadziri wesoftware anoiswa uye anoshandiswa paVPS, saka tinogona kukuisa iwe pamusika. Aya ndiwo maitiro atinogona kukubatsira iwe kuunza vatengi vatsva, traffic uye kuziva. Tinyorere

Tiudze mumacomments kuti urikushaya mufananidzo upi?

Uye isu tichazvigadzirira isu pachedu

Kugadzira VPS template ine Drupal 9 paCentos 8

Kugadzira VPS template ine Drupal 9 paCentos 8

Source: www.habr.com