Mes ir toliau plečiame savo rinką. Neseniai papasakojome, kaip , а на этой неделе в нашем маркетплейсе появился Drupal.
Pasakojame, kodėl pasirinkome jį ir kaip buvo sukurtas įvaizdis.
Drupal — patogi ir galinga platforma kuriant bet kokio tipo svetaines: nuo mikrosvetainių ir tinklaraščių iki didelių socialinių projektų, taip pat naudojama kaip žiniatinklio programų pagrindas, parašyta PHP ir naudojant reliacines duomenų bazes kaip duomenų saugyklą.
Drupal 9 включает в себя все особенности реализованные в версии 8.9. Ключевое отличие версии 9 от версии 8 состоит в том, что для платформы будут выпускаться обновления и исправления безопасности и после ноября 2021 года. Также в версии 9 упростили процесс обновления, делая процесс обновления с версии 8 еще проще.
Serverio reikalavimai
Naudoti Drupal рекомендуется использовать 2 Гб RAM и 2 ядра CPU.
Основные файлы Drupal занимают около 100 Мб, дополнительно вам понадобится место для хранения картинок, базы данных, тем, дополнительных модулей и резервных копий, которое будет зависить от размера вашего сайта.
Už Drupal 9 требуется PHP 7.4 или выше с минимальным ограничением (memory_limit) 64 MB atminčiai, jei naudojami papildomi moduliai, rekomenduojama įdiegti 128 MB.
В качестве веб-сервера Drupal может использовать Apache или Nginx, а в качестве базы данных MySQL, PostgreSQL или SQLite.
Мы будем устанавливать Drupal с использованием Nginx и MySQL.
Montavimas
Atnaujinkime įdiegtus paketus į naujausią versiją:
sudo dnf update -yPridėkime nuolatinį įeinančio srauto leidimą į http/80 ir https/443 prievadus:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=httpsTaikykime naujas ugniasienės taisykles:
sudo systemctl reload firewalldĮdiegkime Nginx:
sudo dnf install nginx -yPradėkime ir įgalinkime Nginx serverį:
sudo systemctl start nginx
sudo systemctl enable nginx Так как на данный момент в основном репозитории Centos используется версия PHP 7.2, добавим репозиторий REMI с PHP 7.4 (минимальная версия для Drupal 9).
Norėdami tai padaryti, pridėkite EPEL saugyklą (reikalaujama REMI saugykloje):
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmPridėkime REMI saugyklą:
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Įgalinkime php:remi-7.4 modulį, kad įdiegtumėte php 7.4:
sudo dnf module enable php:remi-7.4 -yĮdiekite php-fpm ir php-cli:
sudo dnf install -y php-fpm php-cliУстановим PHP модули требуемые для работы 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-xmlTaip pat įdiegsime rekomenduojamus PHP mbstring opcache modulius:
sudo dnf install -y php-mbstring php-opcacheĮdiegkime MySQL serverį:
sudo dnf install mysql-server -yĮjunkite ir paleiskite MySQL serverį:
sudo systemctl start mysqld
sudo systemctl enable mysqldKadangi mes kuriame VDS šabloną, o jie gali būti lėti, pridėsime mysqld paleidimo delsą 30 sekundžių, kitaip gali kilti problemų su serverio paleidimu pradinio sistemos įkrovimo metu:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.servicePakeiskime grupę ir vartotoją, kuriame veiks nginx, atlikdami pakeitimus /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.confAtitinkamai pakeiskime PHP seansų katalogo savininką į nginx:
sudo chown -R nginx. /var/lib/php/sessionPašalinkime eilutes su komentarais iš konfigūracijos failo /etc/nginx/nginx.conf (kad nebūtų dvigubų sed trigerių):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.confPridėkite gzip glaudinimo nustatymus į /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.confPridėkite indekso failo index.php parametrus į /etc/nginx/nginx.conf:
sudo sed -i '/ root /usr/share/nginx/html;/a
index index.php index.html index.htm;
' /etc/nginx/nginx.confPridėkime numatytojo serverio nustatymus: PHP apdorojimas per php-fpm lizdą, išjunkite statinių failų žurnalą, padidinkite galiojimo laiką, išjunkite favicon.ico ir robots.txt prieigos ir klaidų žurnalą ir uždrauskite prieigą prie .ht failai visiems:
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Įdiekite wget, reikalingą įdiegti certbot:
sudo dnf install wget -yAtsisiųskite certbot vykdomąjį failą iš išorinės svetainės:
cd ~
wget https://dl.eff.org/certbot-autoPerkelkite certbot į /usr/local/bin/:
mv certbot-auto /usr/local/bin/certbot-autoIr priskirkime root savininko teises:
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-autoĮdiegkime certbot priklausomybes ir šiame etape nutraukkime jo darbą (Atsakymai: Y, c):
certbot-autoСкачаем с оффсайта архив с последней версией Drupal 9:
cd ~
wget https://www.drupal.org/download-latest/tar.gzĮdiekite tar, kad išpakuotumėte archyvą:
sudo dnf install tar -yIštrinkime numatytuosius failus iš /usr/share/nginx/html/ katalogo:
rm -rf /usr/share/nginx/html/*Išpakuosime failus į žiniatinklio serverio katalogą:
tar xf tar.gz -C /usr/share/nginx/html/Perkelkime failus iš pakatalogio į pagrindinį žiniatinklio serverio katalogą:
mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/Ištrinkime pakatalogį:
rm -rf /usr/share/nginx/html/drupal-9.0.7Ištrinkite archyvą su diegimo failais:
rm -f ./tar.gzPriskirkime nginx failų savininką:
chown -R nginx. /usr/share/nginx/htmlŠiame etape išjungsime serverį ir padarysime momentinę nuotrauką:
shutdown -h nowPaleidę VDS iš momentinės nuotraukos, atliksime pradinę MySQL serverio sąranką paleisdami scenarijų:
mysql_secure_installationĮgalinkime slaptažodžio tikrintuvą:
Would you like to setup VALIDATE PASSWORD component? : yNustatykime MySQL root vartotojo slaptažodį:
New password:
Re-enter new password:Pašalinkime anoniminius vartotojus:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : yNeleiskime root prisijungti nuotoliniu būdu:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : yIštrinkime bandymų duomenų bazę:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : yIš naujo įkelkime privilegijų lenteles:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Po to, norėdami užbaigti diegimą, galime eiti į
По этому адресу мы увидим страницу с установкой Drupal.
Pasirinkime kalbą, kurią naudosime. Pavyzdžiui: rusų kalba. Spustelėkite „Išsaugoti ir tęsti“
Pasirinkime diegimo profilį (demonstracinė versija naudojama tik norint susipažinti su sistema). Mūsų atveju tebūnie „standartinis“.
Kitame puslapyje duosime duomenų bazės pavadinimą, pavyzdžiui, „drupal“. Nurodykime duomenų bazės vartotojo vardą root ir jam suteiktą slaptažodį vykdant mysql_secure_installation. Spustelėkite „Išsaugoti ir tęsti“.
Palaukite, kol bus baigtas vertimų diegimas ir atnaujinimas (procesas gali užtrukti kelias minutes).
Укажем название сайта, зададим email сайта (от имени которого будут приходить уведомления сайта), логин, пароль и email учетной записи администратора Drupal. Также зададим страну и часовой пояс в региональных настройках. И завершим установку нажав «Сохранить и продолжить».
После этого можно перейти в панель управления с созданным логином и паролем администратора Drupal.
HTTPS nustatymas (pasirenkama)
Norint konfigūruoti HTTPS, VDS turi turėti galiojantį DNS pavadinimą, nurodykite
/etc/nginx/nginx.confserverio skiltyje serverio pavadinimas (pavyzdžiui):
server_name domainname.ru;Paleiskite nginx iš naujo:
service nginx restartPaleiskite certbot:
sudo /usr/local/bin/certbot-auto --nginxĮveskite savo el.paštą, sutikite su paslaugų teikimo sąlygomis (A), Prenumeruokite naujienlaiškį (nebūtina) (N), pasirinkite domenų vardus, kuriems norite išduoti sertifikatą (Įveskite visiems).
Jei viskas vyko be klaidų, pamatysime pranešimą apie sėkmingą sertifikatų išdavimą ir serverio konfigūraciją:
Congratulations! You have successfully enabled ...Po to ryšiai su 80 prievadu bus nukreipti į 443 (https).
Pridėkite prie /etc/crontab, kad automatiškai atnaujintumėte sertifikatus:
# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"Patikimo pagrindinio kompiuterio saugos nustatymas (rekomenduojama)
Šis nustatymas skirtas išspręsti problemą, susijusią su dinaminiu bazinio_url nustatymu, ir skirtas užkirsti kelią HTTP HOST antraštės atakoms (kai jūsų svetainė mano, kad tai kažkas kitas).
Norėdami tai padaryti, nustatymų faile turite nurodyti patikimus svetainės domenų pavadinimus.
Byloje
/usr/share/nginx/html/sites/default/settings.php Panaikinkime komentarus arba pridėkime nustatymą su faktinių svetainių pavadinimų šablonais, pavyzdžiui:
$settings['trusted_host_patterns'] = [
'^www.mydomain.ru$',
];
PHP APCu diegimas (REKOMENDUOJAMA)
Drupal поддерживает APCu — Alternative PHP User Cache, версии 8 и 9 интенсивнее используют APCu как краткосрочный локальный кеш, чем предыдущие версии. Размер кеша по умолчанию (32 Мб) подойдет большинству сайтов, и не может превышать 512 Мб.
Norėdami suaktyvinti, įdiekite PHP APCu modulį:
dnf -y install php-pecl-apcuIš naujo paleiskite nginx ir php-fpm:
service nginx restart
service php-fpm restartJei naudojate rusų kalbą ir APCu su rekomenduojamu talpyklos atminties dydžiu, valdymo skydelyje galite pamatyti įspėjimą, kad talpyklai skirtos atminties dydis skiriasi nuo rekomenduojamo, tačiau iš tikrųjų viskas veikia tinkamai, ir neteisingas įspėjimas greičiausiai bus ištaisytas kituose atnaujinimuose.
Arba, jei įspėjimas skauda akis, galite naudoti .
Norime priminti, kad įvaizdį galite padaryti ir mums
Yra trys galimybės dalyvauti.
Paruoškite vaizdą patys ir gaukite 3000 rublių į savo balansą
Jei būsite pasiruošę nedelsiant pulti į mūšį ir sukurti įvaizdį, kurio jums trūksta, į jūsų vidinį balansą įskaitysime 3000 rublių, kuriuos galėsite išleisti serveriuose.
Kaip susikurti savo įvaizdį:
- Susikurkite paskyrą pas mus
- Praneškite palaikymo komandai, kad ketinate kurti ir išbandyti vaizdus
- Mes įskaitysime jums 3000 rublių ir suteiksime galimybę kurti momentines nuotraukas
- Užsisakykite virtualų serverį su švaria operacine sistema
- Įdiekite programinę įrangą į šį VPS ir sukonfigūruokite
- Parašykite programinės įrangos diegimo instrukcijas arba scenarijų
- Sukurkite sukonfigūruoto serverio momentinį vaizdą
- Užsisakykite naują virtualų serverį išskleidžiamajame sąraše „Serverio šablonas“ pasirinkę anksčiau sukurtą momentinį vaizdą
- Jei serveris sėkmingai sukurtas, 6 etape gautą medžiagą perduokite techninei pagalbai
- Jei įvyko klaida, galite sužinoti priežastį su palaikymo tarnyba ir pakartoti sąranką
Verslo savininkams: pasiūlykite savo programinę įrangą
Jei esate programinės įrangos kūrėjas, kuris yra įdiegtas ir naudojamas VPS, galime įtraukti jus į rinką. Taip galime padėti pritraukti naujų klientų, pritraukti srautą ir padidinti žinomumą.
Komentaruose papasakokite, kokio vaizdo jums trūksta?
Ir paruošime patys
Šaltinis: www.habr.com
