Mēs turpinām paplašināt mūsu tirgus vietu. Nesen mēs stāstījām, kā , bet šonedēļ mūsu tirgus vietā parādījās Drupal.
Pastāstīsim, kādēļ izvēlējāmies tieši to un kā tika izveidots attēls.
Drupal — ērta un jaudīga platforma, lai izveidotu jebkura veida vietnes: no mikro vietnēm un emuāriem līdz lielām sociālajām projektiem, ko izmanto arī kā pamatu tīmekļa lietotnēm, uzrakstīta PHP valodā un izmantojo relāciju datu bāzes kā datu krātuvi.
Drupal 9 ietver visas funkcijas, kas tika ieviestas versijā 8.9. Galvenā atšķirība starp 9. un 8. versiju ir tā, ka platformai tiks izlaisti atjauninājumi un drošības labojumi arī pēc 2021. gada novembra. Tāpat 9. versijā tiek vienkāršots atjaunināšanas process, padarot atjaunināšanu no 8. versijas vēl vienkāršāku.
Servera prasības
Lai izmantotu Drupal, ieteicams izmantot 2 GB RAM un 2 CPU kodolus.
Pamata Drupal faili aizņem apmēram 100 MB, papildus būs nepieciešama vieta attēliem, datu bāzēm, dizainiem, papildmoduļiem un dublējumiem, kas būs atkarīgs no jūsu vietnes lieluma.
Drupal 9 prasa PHP 7.4 vai jaunāku ar minimālo ierobežojumu (memory_limit) uz atmiņu 64 MB; ja izmantojat papildmoduļus, ieteicams iestatīt 128 MB.
Kā tīmekļa serveri Drupal var izmantot Apache vai Nginx, bet kā datu bāzi — MySQL, PostgreSQL vai SQLite.
Mēs instalēsim Drupal, izmantojot Nginx un MySQL.
Uzstādīšana
Atjaunināsim instalētās paketes uz jaunāko versiju:
sudo dnf update -yPievienosim pastāvīgu atļauju ieejas trafikam uz http/80 un https/443 portiem:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=httpsIzmantosim jaunās ugunsmūra noteikumu:
sudo systemctl reload firewalldInstalēsim Nginx:
sudo dnf install nginx -yPalaižam un aktivizējam Nginx serveri:
sudo systemctl start nginx
sudo systemctl enable nginx Tā kā šobrīd galvenajā CentOS rejistrā tiek izmantota PHP 7.2 versija, pievienosim REMI rejistru ar PHP 7.4 (minimālā versija Drupal 9).
Tādēļ pievienosim EPEL rejistru (kas nepieciešams REMI rejistram):
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmPievienosim REMI rejistru:
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Aktivizēsim php:remi-7.4 moduli, lai instalētu php 7.4:
sudo dnf module enable php:remi-7.4 -yInstalēsim php-fpm un php-cli:
sudo dnf install -y php-fpm php-cliInstalēsim PHP moduļus, kas nepieciešami Drupal darbībai:
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-xmlTāpat instalēsim ieteicamos PHP moduļus mbstring opcache:
sudo dnf install -y php-mbstring php-opcacheInstalēsim MySQL serveri:
sudo dnf install mysql-server -yIeslēgsim un uzsāksim MySQL serveri:
sudo systemctl start mysqld
sudo systemctl enable mysqldTā kā mēs veidojam veidni VDS, kas var būt lēni, pievienosim 30 sekunžu aizkavu mysqld startam, citādi var rasties problēmas ar servera palaišanu sākotnējā sistēmas ielādē:
sudo sed -i '"/Group=mysql/a \nExecStartPre=/bin/sleep 30\n' /usr/lib/systemd/system/mysqld.serviceMainīsim grupu un lietotāju, ar kuru darbosies nginx, veicot izmaiņas /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.confMainīsim PHP sesiju katalogu īpašnieku arī atbilstoši uz nginx:
sudo chown -R nginx. /var/lib/php/sessionIzdzēsīsim komentāru rindas no konfigurācijas faila /etc/nginx/nginx.conf (lai nerastos dubulti izsistieni sed):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.confPievienosim /etc/nginx/nginx.conf gzip kompresijas iestatījumus
sudo sed -i '/types_hash_max_size 2048;/a \n 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.confPievienosim /etc/nginx/nginx.conf indeksfaila index.php iestatījumus:
sudo sed -i '/ root /usr/share/nginx/html;/a
index index.php index.html index.htm;
' /etc/nginx/nginx.confPievienosim iestatījumus noklusējuma serverim PHP apstrādē caur php-fpm soketu, atslēgsim žurnālu statiskiem failiem, palielināsim expire laiku, atslēgsim piekļuves un kļūdu žurnālu favicon.ico un robots.txt failiem un aizliegsim piekļuvi .ht failiem visiem:
sudo sed -i '/ location / {/a \t 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.confInstalēsim wget, kas nepieciešams certbot instalēšanai:
sudo dnf install wget -yLejupielādēsim certbot izpildāmo failu no oficiālās vietnes:
cd ~
wget https://dl.eff.org/certbot-autoPārvietosim certbot uz /usr/local/bin/:
mv certbot-auto /usr/local/bin/certbot-autoUn piešķirsim tiesības un noteiksim īpašnieku kā root:
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-autoInstalēsim certbot atkarības un šajā posmā pārtrauksim tā darbību (Atbildes: Y, c):
certbot-autoLejupielādēsim no oficiālās vietnes arhīvu ar jaunāko Drupal 9 versiju:
cd ~
wget https://www.drupal.org/download-latest/tar.gzInstalēsim tar, lai izpakotu arhīvu:
sudo dnf install tar -yIzdzēšam noklusējuma failus katalogā /usr/share/nginx/html/:
rm -rf /usr/share/nginx/html/*Izpakosim failus uz tīmekļa servera katalogu:
tar xf tar.gz -C /usr/share/nginx/html/Pārvietosim failus no apakškatalogiem uz tīmekļa servera sakni:
mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/Izdzēsīsim apakškatalogu:
rm -rf /usr/share/nginx/html/drupal-9.0.7Izdzēsīsim arhīvu ar uzstādīšanas failiem:
rm -f ./tar.gzNorādīsim failu īpašnieku kā nginx:
chown -R nginx. /usr/share/nginx/htmlŠajā posmā izslēgsim serveri un izveidosim snapshot:
shutdown -h nowPēc VDS palaišanas no snapshot veiksim sākotnējo MySQL servera iestatīšanu, palaidīsim skriptu:
mysql_secure_installationIeslēgsim paroli validējošo komponenti:
Would you like to setup VALIDATE PASSWORD component? : yUzstādīsim root lietotāja MySQL paroli:
New password:
Re-enter new password:Izdzēsīsim anonīmos lietotājus:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : yAizliegsim root piekļuvi attālināti:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : yIzdzēsīsim testēšanas datubāzi:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : yPārlādēsim privilēģiju tabulas:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Pēc tam, lai pabeigtu uzstādīšanu, mēs varam doties uz adresi
Pa šo adresi mēs redzēsim Drupal instalācijas lapu.
Izvēlēsimies lietoto valodu. Piemēram: latviešu. Nospiedīsim "Saglabāt un turpināt"
Izvēlēsimies uzstādīšanas profilu (demo tiek izmantots tikai iepazīšanai ar sistēmu). Mūsu gadījumā tas būs "standarts".
Nākamajā lapā norādīsim datubāzes nosaukumu, piemēram, "drupal". Norādīsim datubāzes lietotāja vārdu root un paroli, ko esam iestatījuši, palaižot mysql_secure_installation. Nospiedīsim "Saglabāt un turpināt".
Gaidīsim, līdz pabeigsies uzstādīšana un tiks atjaunoti tulkojumi (process var aizņemt dažas minūtes).
Norādiet mājaslapas nosaukumu, iestatiet mājaslapas e-pastu (no kura tiks sūtīti paziņojumi), lietotājvārdu, paroli un Drupal administratora konta e-pastu. Tāpat norādiet valsti un laika joslu reģionālajos iestatījumos. Un pabeidziet instalāciju, nospiežot "Saglabāt un turpināt".
Pēc tam varat pāriet uz vadības paneli ar izveidoto administratora lietotājvārdu un paroli.
HTTPS iestatīšana (pēc vēlēšanās)
Lai iestatītu HTTPS, VDS jābūt aktīvam DNS nosaukumam, norādiet
/etc/nginx/nginx.confservera sadaļā servera nosaukumu (piemēram):
server_name domainname.ru;Pārstartēsim nginx:
service nginx restartPalaidīsim certbot:
sudo /usr/local/bin/certbot-auto --nginxIevadām savu e-pastu, piekrītam pakalpojuma nosacījumiem (A), abonements uz jaunumiem (pēc izvēles) (N), izvēlamies domēnu nosaukumus, par kuriem jāizdod sertifikāts (Enter visiem).
Ja viss notika bez kļūdām, mēs redzēsim ziņu par veiksmīgu sertifikātu izsniegšanu un servera iestatīšanu:
Congratulations! You have successfully enabled ...Pēc tam savienojumi uz 80. portu tiks pārsūtīti uz 443 (https).
Pievienosim /etc/crontab automātiskai sertifikātu atjaunināšanai:
# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"Trusted Host Security iestatīšana (ieteicams)
Šis iestatījums ir paredzēts, lai risinātu problēmas, kas saistītas ar dinamiski noteikto base_url, un mērķis ir novērst HTTP HOST Header uzbrukumus (kad jūsu mājaslapa domā, ka tā ir kāds cits).
Lai to izdarītu, nepieciešams norādīt uzticamos mājaslapas domēnu nosaukumus iestatījumu failā.
Failā
/usr/share/nginx/html/sites/default/settings.php atslēdzam vai pievienojam iestatījumu ar aktuālo domēnu nosaukumu paraugiem, piemēram:
$settings['trusted_host_patterns'] = [
'^www.mydomain.ru$',
];
PHP APCu instalēšana (ieteicama)
Drupal atbalsta APCu — Alternative PHP User Cache, 8. un 9. versija intensīvāk izmanto APCu kā īstermiņa vietējo kešatmiņu nekā iepriekšējās versijas. Noklusējuma kešatmiņas izmērs (32 MB) derēs lielākajai daļai mājaslapu un nedrīkst pārsniegt 512 MB.
Lai aktivizētu, uzstādām PHP APCu moduli:
dnf -y install php-pecl-apcuPārstartēsim nginx un php-fpm:
service nginx restart
service php-fpm restartJa tiek lietota krievu valoda un APCu ar ieteicamo atmiņas izmēru kešatmiņai, vadības panelī varat redzēt brīdinājumu, ka piešķirtā kešatmiņas atmiņa atšķiras no ieteiktā, bet patiesībā viss darbojas pareizi, un nepareiza brīdinājuma problēmu, iespējams, novērsīs tuvākajos atjauninājumos.
Vai arī, ja brīdinājums krīt acīs, varat izmantot .
Vēlamies atgādināt, ka arī jūs varat mums izveidot attēlu
Ir trīs veidi, kā piedalīties.
Sagatavojiet attēlu paši un saņemiet 3000 rubļu uz bilanci
Ja esat gatavi uzreiz doties cīņā un izveidot trūkstošo attēlu, mēs piešķirsim jums 3000 rubļu uz iekšējo bilanci — to varēsiet iztērēt serveriem.
Kā izveidot savu attēlu:
- Izveidojiet kontu pie mums
- Paziņojiet atbalstam, ka plānojat izveidot un testēt attēlus
- Mēs piešķirsim jums 3000 rubļu un aktivizēsim iespēju veidot attēlus
- Pasūtiet virtuālo serveri ar tīru operētājsistēmu
- Instalējiet šo VPS programmatūru un konfigurējiet to
- Izveidojiet instrukciju vai skriptu programmatūras izvietošanai
- Izveidojiet attēlu konfigurētajam serverim
- Pasūtiet jaunu virtuālo serveri, izvēloties izkrītošajā sarakstā ‘Servera veidne’ iepriekš izveidoto attēlu
- Ja servera izveide ir veiksmīga, nododiet materiālus, kas iegūti 6. posmā, tehniskajam atbalstam
- Ja rodas kļūda, jūs varat noskaidrot pie atbalsta iemeslu un atkārtot konfigurāciju
Biznesa īpašniekiem: piedāvājiet savu programmatūru
Ja jūs esat programmatūras izstrādātājs, kuru izvieto un izmanto VPS, mēs varam iekļaut jūs tirgus vietā. Tas palīdzēs jums piesaistīt jaunus klientus, apmeklējumu un atpazīstamību.
Pastāstiet komentāros, kāda attēla jums pietrūkst?
Un mēs to izveidosim paši
Avots: habr.com
