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
