Me jÀtkame oma turuplatsiga laienemist. Hiljuti rÀÀkisime, kuidas , ja sel nÀdalal ilmus meie turuplatsile Drupal.
RÀÀgime, miks valisime just selle ja kuidas pilt loodi.
Drupal â mugav ja vĂ”imas platvorm igasuguste veebisaitide loomiseks: alates mikrosaitidest ja blogidest kuni suurte sotsiaalsete projektideni, mida kasutatakse ka veebirakenduste aluseks, kirjutatud PHP keeles ja kasutab andmete salvestamiseks relatsioonilisi andmebaase.
Drupal 9 sisaldab kÔiki versiooni 8.9 funktsioone. Peamine erinevus versiooni 9 ja versiooni 8 vahel on see, et platvormile antakse uuendusi ja turvaparandusi ka pÀrast novembrit 2021. Samuti on versioonis 9 uuendamise protsessi lihtsustatud, muutes versioonilt 8 uuendamise veelgi lihtsamaks.
ServerinÔuded
Drupali kasutamiseks on soovitatav kasutada 2 GB RAM-i ja 2 CPU tuuma.
Drupali pÔhifailid vÔtavad umbes 100 MB, lisaks vajate ruumi piltide, andmebaasi, teemade, lisamoodulite ja varukoopiate jaoks, mis sÔltub teie saidi suurusest.
Drupal 9 nÔuab PHP 7.4 vÔi uuemat, minimaalsete piirangutega (memory_limit) mÀlu 64 MB, juhul kui kasutatakse lisamooduleid, soovitatakse seada 128 MB.
Webiserverina vĂ”ib Drupal kasutada Apache vĂ”i Nginxâi, andmebaasina MySQL, PostgreSQL vĂ”i SQLite.
Installeerime Drupal'i kasutades Nginx'i ja MySQL'i.
Paigaldamine
Uuendame installitud paketid viimasele versioonile:
sudo dnf update -yLisame pĂŒsiva lubamise sisendliiklus http/80 ja https/443 portidele:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=httpsRakendame uued tulemĂŒĂŒri reeglid:
sudo systemctl reload firewalldInstalleerime Nginx'i:
sudo dnf install nginx -yKĂ€ivitame ja lubame Nginx serveri:
sudo systemctl start nginx
sudo systemctl enable nginx Kuna hetkel on CentOS-i peamises repositooriumis kasutusel PHP versioon 7.2, lisame REMI repositooriumi PHP 7.4 jaoks (minimaalne versioon Drupal 9 jaoks).
Selleks lisame EPEL repositooriumi (REMI repositoorium vajab seda):
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmLisame REMI repositooriumi:
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
LĂŒlitame php:remi-7.4 mooduli php 7.4 installimiseks sisse:
sudo dnf module enable php:remi-7.4 -yInstalleerime php-fpm ja php-cli:
sudo dnf install -y php-fpm php-cliInstalleerime Drupali tööks vajalikud PHP moodulid:
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-xmlSamuti installime soovitatavad PHP moodulid mbstring opcache:
sudo dnf install -y php-mbstring php-opcacheInstallime MySQL serveri:
sudo dnf install mysql-server -yL aktiveerime ja kÀivitame MySQL serveri:
sudo systemctl start mysqld
sudo systemctl enable mysqldKuna teeme VDS-i ĆĄablooni ning need vĂ”ivad olla aeglased, lisame mysqld kĂ€ivitamiseks 30 sekundi viivituse, vastasel juhul vĂ”ivad sĂŒsteemi esmakordsel kĂ€ivitamisel tekkida probleemid serveri kĂ€ivitamisel:
sudo sed -i 's/Group=mysql/a \nExecStartPre=/bin/sleep 30\n/' /usr/lib/systemd/system/mysqld.serviceMuudame grupi ja kasutaja, mille alt töötab nginx, tehes muudatusi /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.confMuudame PHP sessioonikausta omaniku samuti nginx-iks:
sudo chown -R nginx. /var/lib/php/sessionKustutame kommentaarid konfigureerimisfailist /etc/nginx/nginx.conf (et ei tekiks kahekordseid vÀljendeid sed-i jaoks):
sudo sed -i -e '/^[ \t]*#/d' /etc/nginx/nginx.confLisame /etc/nginx/nginx.conf gzip tihendamise seaded
sudo sed -i 's/types_hash_max_size 2048;/a \n\ngzip on;\ngzip_static on;\ngzip_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;\ngzip_comp_level 9;\ngzip_proxied any;\ngzip_min_length 1000;\ngzip_disable "msie6";\ngzip_vary on;\n/' /etc/nginx/nginx.confLisame /etc/nginx/nginx.conf indeksifaili index.php seaded:
sudo sed -i 's/ root /usr/share/nginx/html;/a \n index index.php index.html index.htm;\n/' /etc/nginx/nginx.confLisame seadistusi vaikimisi serveri PHP töötlemiseks php-fpmi kaudu, keelame staatiliste failide logimise, suurendame aegumisaega, keelame juurdepÀÀsu logid favicon.ico ja robots.txt jaoks ning keelan ligipÀÀsu .ht failidele kÔigile:
sudo sed -i 's/ location \/ {/a \t\ttry_files $uri $uri\/ \/index.php?q=$uri&$args;\n }\n\n location ~* ^.+\.(js|css|png|jpg|jpeg|gif|ico|woff)$ {\n access_log off;\n expires max;\n }\n\n location ~ .php$ {\n try_files $uri =404;\n fastcgi_pass unix:\/run\/php-fpm\/www.sock;\n fastcgi_index index.php;\n include fastcgi_params;\n fastcgi_intercept_errors on;\n fastcgi_ignore_client_abort off;\n fastcgi_connect_timeout 60;\n fastcgi_send_timeout 180;\n fastcgi_read_timeout 180;\n fastcgi_buffer_size 128k;\n fastcgi_buffers 4 256k;\n fastcgi_busy_buffers_size 256k;\n fastcgi_temp_file_write_size 256k;\n }\n\n location = \/favicon.ico {\n log_not_found off;\n access_log off;\n }\n\n location = \/robots.txt {\n allow all;\n log_not_found off;\n access_log off;\n }\n\n location ~ \/\.ht {\n deny all;' /etc/nginx/nginx.confInstallime wget, mida on vaja certboti installimiseks:
sudo dnf install wget -yLaadime alla tÀitmisfaili certbot ametlikult veebisaidilt:
cd ~
wget https://dl.eff.org/certbot-autoLiigume certboti kausta /usr/local/bin/:
mv certbot-auto /usr/local/bin/certbot-autoJa mÀÀrame Ôigused ja omanikuks root:
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-autoPaigaldame certboti sÔltuvused ja peatame selle töö (Vastused: Y, c):
certbot-autoLaadime alla ametlikult veebisaidilt arhiivi viimase versiooni Drupal 9:
cd ~
wget https://www.drupal.org/download-latest/tar.gzPaigaldame tar arhiivi ekstraktsiooniks:
sudo dnf install tar -yKustutame vaikimisi failid kataloogist /usr/share/nginx/html/:
rm -rf /usr/share/nginx/html/*Ekstraheerime failid veebiserveri katalooge:
tar xf tar.gz -C /usr/share/nginx/html/Liigume failid alamkataloogist veebiserveri juurkatalooge:
mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/Kustutame alamkatalooge:
rm -rf /usr/share/nginx/html/drupal-9.0.7Kustutame arhiivi installifailidest:
rm -f ./tar.gzMÀÀrame failide omanikuks nginx:
chown -R nginx. /usr/share/nginx/htmlSellel etapil lĂŒlitame serveri vĂ€lja ja teeme hetkepildi:
shutdown -h nowPÀrast VDS kÀivitamist hetkepildilt teeme algse seadistuse MySQL serveri kÀivitades skripti:
mysql_secure_installationKĂ€ivitame paroolide valideerimise:
Would you like to setup VALIDATE PASSWORD component? : ySeame MySQL kasutaja root parooli:
New password:
Re-enter new password:Kustutame anonĂŒĂŒmsed kasutajad:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : yKeelame root'i kauglogin:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : yKustutame testandmebaasi:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : yLaadime privileegitabelid uuesti:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y PÀrast seda, et installatsioon lÔpetada, saame minna aadressile
Sellel aadressil nÀeme Drupal'i installimise lehte.
Valime kasutatava keele. NĂ€iteks: eesti. Vajutame âSalvesta ja jĂ€tkaâ
Valime installiprofiili (demo on mĂ”eldud ainult sĂŒsteemi tutvustamiseks). Meie puhul olgu see âstandardâ.
JĂ€rgmises lehes mÀÀrame andmebaasi nime, nĂ€iteks âdrupalâ. Anname andmebaasi kasutajale root ja parooli, mille mÀÀrasime mysql_secure_installation kĂ€ivitamisel. Vajutame âSalvesta ja jĂ€tkaâ.
Ootame, kuni installatsioon ja tÔlgete vÀrskendamine on lÔpule viidud (protsess vÔib vÔtta mitu minutit).
MÀÀrake saidi nimi, sisestage saidi e-posti aadress (millest saidi teatised saadetakse), kasutajanimi, parool ja Drupal administraatori konto e-posti aadress. Samuti mÀÀrake riik ja ajavöönd regionaalsetes seadetes. Ja lÔpetage installatsioon, vajutades "Salvesta ja edasta".
PĂ€rast seda saab minna juhtpaneeli loodud administraatori kasutajanime ja parooliga.
HTTPS-i seadistamine (valikuline)
HTTPS-i seadistamiseks peab VDS-l olema kehtiv DNS-nimi; mÀÀrake see
/etc/nginx/nginx.confserveri jaotises (nÀiteks):
server_name domainname.ee;TaaskÀivitame nginx:
service nginx restartKĂ€ivitame certboti:
sudo /usr/local/bin/certbot-auto --nginxSisestage oma e-posti aadress, nÔustuge teenuse tingimustega (A), liitumine uudiskirjaga (valikuline) (N), valige domeeninimed, millele soovite sertifikaadi vÀljastada (Enter kÔigi jaoks).
Juhul, kui kÔik lÀks ilma vigadeta, nÀeme sÔnumit eduka sertifikaadi vÀljastamise ja serveri seadistamise kohta:
Congratulations! You have successfully enabled ...PĂ€rast seda suunatakse ĂŒhendused 80. portilt 443-ile (https).
Lisame /etc/crontab automaatsete sertifikaatide vÀrskenduste jaoks:
# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"Trusted Host Security seadistamine (soovitatav)
See seadistus on mĂ”eldud lahendama probleemi, mis on seotud base_url dĂŒnaamilise mÀÀramisega, ja et vĂ€ltida HTTP HOST Header rĂŒnnakuid (kui teie sait arvab, et ta on keegi teine).
Selleks tuleb mÀÀrata saidi usaldusvÀÀrsed domeeninimed seadistust failis.
Failis
/usr/share/nginx/html/sites/default/settings.php kommendi eemaldamine vÔi lisamine aktiivsete saidi nimede mustritega, nÀiteks:
$settings['trusted_host_patterns'] = [
'^www.mydomain.ee$',
];
PHP APCu seadistamine (SOOVITATAV)
Drupal toetab APCu â Alternatiivne PHP kasutaja vahemĂ€lu, versioonid 8 ja 9 kasutavad APCut intensiivsemalt lĂŒhiajalise vahemĂ€luna kui eelnevad versioonid. VahemĂ€lu suurus vaikimisi (32 MB) sobib enamikule saitidest, ega vĂ”ib ĂŒletada 512 MB.
KĂ€ivitamiseks installige PHP APCu moodul:
dnf -y install php-pecl-apcuTaaskÀivitame nginx ja php-fpm:
service nginx restart
service php-fpm restartKui kasutate vene keelt ja APCut soovitatava vahemÀlu suurusega, siis juhtpaneelis vÔite nÀha hoiatust, et mÀÀratud vahemÀlu suurus erineb soovitatud suurusest, kuid tegelikult töötab kÔik Ôigesti ja valehoiatus tÔenÀoliselt parandatakse lÀhitulevikus uuendustega.
VÔi kui hoiatus on silma riivav, vÔib kasutada .
Tuletame meelde, et ka teie saate meie jaoks malli luua
Osalemiseks on kolm vÔimalust.
Valmistage mall ise ja saate 3000 rubla krediiti
Kui olete valmis kohe lahingusse astuma ja looma puuduva malli, kanname teile 3000 rubla sisetingimustele krediteerimiseks â seda saab kasutada serverite ostmiseks.
Kuidas luua oma malli:
- Looge konto meie juures
- Teavitage tuge, et kavatsete luua ja testida malli
- Kandame teile 3000 rubla ja lubame malli loomise vÔimaluse
- Kasutage puhta operatsioonisĂŒsteemiga virtuaalserverit
- Installige sellele VPS-ile tarkvara ja seadistage see
- Koostage juhend vÔi skript tarkvara juurutamiseks
- Looge seatud serverist snapshot
- KĂŒsi uut virtuaalserverit, valides allolevast nimekirjast varem loodud snapshot
- Kui serveri loomine on edukas, edastage tehnilisele toele saadud materjalid etapis 6
- Viga esinemise korral vĂ”ite toetustelt kĂŒsida pĂ”hjuse ja korrata seadistust
Ărimeestele: pakkuda oma tarkvara
Kui olete tarkvara arendaja, mida juurutatakse ja kasutatakse VPS-is, vÔime teid lisada turuplatvormile. Nii saame aidata teil tuua uusi kliente, liiklust ja tuntust.
RÀÀkige meile kommentaarides, millest malli teil puudu on?
Ja me valmistame selle ise
Allikas: habr.com
