Tunaendelea kupanua soko letu. Hivi majuzi tulikuambia jinsi , na wiki hii ilionekana sokoni mwetu Drupal.
Tunakuambia kwa nini tulimchagua na jinsi picha iliundwa.
Drupal - jukwaa linalofaa na lenye nguvu la kuunda aina yoyote ya tovuti: kutoka kwa tovuti ndogo na blogu hadi miradi mikubwa ya kijamii, inayotumika pia kama msingi wa programu za wavuti, iliyoandikwa katika PHP na kutumia hifadhidata za uhusiano kama hifadhi ya data.
Drupal Toleo la 9 linajumuisha vipengele vyote vilivyotekelezwa katika toleo la 8.9. Tofauti kuu kati ya toleo la 9 na toleo la 8 ni kwamba mfumo utaendelea kupokea masasisho na viraka vya usalama baada ya Novemba 2021. Toleo la 9 pia hurahisisha mchakato wa sasisho, na kufanya iwe rahisi zaidi kusasisha kutoka toleo la 8.
Mahitaji ya seva
Kwa matumizi Drupal Inashauriwa kutumia RAM ya GB 2 na viini 2 vya CPU.
Faili kuu Drupal Ikiwa inachukua takriban MB 100, utahitaji pia nafasi ya kuhifadhi picha, hifadhidata, mandhari, moduli za ziada, na nakala rudufu, ambazo zitategemea ukubwa wa tovuti yako.
Kwa Drupal 9 inahitaji PHP 7.4 au zaidi yenye kikomo cha chini (memory_limit) kwa kumbukumbu ya 64 MB; ikiwa moduli za ziada zinatumiwa, inashauriwa kusakinisha 128 MB.
Kama seva ya wavuti Drupal inaweza kutumia Apache au Nginx, na MySQL, PostgreSQL au SQLite kama hifadhidata.
Tutaweka Drupal kwa kutumia Nginx na MySQL.
Ufungaji
Wacha tusasishe vifurushi vilivyosakinishwa hadi toleo jipya zaidi:
sudo dnf update -yWacha tuongeze ruhusa ya kudumu ya trafiki inayoingia kwenye bandari za http/80 na https/443:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=httpsWacha tutumie sheria mpya za firewall:
sudo systemctl reload firewalldWacha tusakinishe Nginx:
sudo dnf install nginx -yWacha tuanze na kuwezesha seva ya Nginx:
sudo systemctl start nginx
sudo systemctl enable nginx Kwa kuwa kwa sasa katika hazina kuu Centos Toleo la PHP 7.2 linatumika, hebu tuongeze hazina ya REMI na PHP 7.4 (toleo la chini kabisa kwa Drupal 9).
Ili kufanya hivyo, ongeza hazina ya EPEL (inahitajika na hazina ya REMI):
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmWacha tuongeze hazina ya REMI:
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Wacha tuwashe moduli ya php:remi-7.4 kusakinisha php 7.4:
sudo dnf module enable php:remi-7.4 -ySakinisha php-fpm na php-cli:
sudo dnf install -y php-fpm php-cliTutasakinisha moduli za PHP zinazohitajika kwa kazi. 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-xmlPia tutasakinisha moduli zinazopendekezwa za PHP mbstring opcache:
sudo dnf install -y php-mbstring php-opcacheWacha tusakinishe seva ya MySQL:
sudo dnf install mysql-server -yWacha tuwashe na tuanze seva ya MySQL:
sudo systemctl start mysqld
sudo systemctl enable mysqldKwa kuwa tunatengeneza kiolezo cha VDS, na zinaweza kuwa polepole, tutaongeza ucheleweshaji wa kuanza kwa mysqld wa sekunde 30, vinginevyo kunaweza kuwa na matatizo na seva kuanzia wakati wa kuwasha mfumo wa awali:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.serviceWacha tubadilishe kikundi na mtumiaji ambaye nginx itaendesha kwa kufanya mabadiliko kwa /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.confWacha tubadilishe mmiliki wa saraka ya vikao vya PHP kuwa nginx ipasavyo:
sudo chown -R nginx. /var/lib/php/sessionWacha tuondoe mistari iliyo na maoni kutoka kwa faili ya usanidi /etc/nginx/nginx.conf (ili hakuna vichocheo viwili vya sed):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.confOngeza mipangilio ya mgandamizo wa gzip kwa /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.confWacha tuongeze mipangilio ya index.php ya faili kwa /etc/nginx/nginx.conf:
sudo sed -i '/ root /usr/share/nginx/html;/a
index index.php index.html index.htm;
' /etc/nginx/nginx.confHebu tuongeze mipangilio ya seva chaguo-msingi: kuchakata PHP kupitia tundu la php-fpm, zima logi kwa faili tuli, ongeza muda wa kuisha, zima logi ya ufikiaji na hitilafu ya favicon.ico na robots.txt, na kunyima ufikiaji wa .ht. faili kwa kila mtu:
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.confSakinisha wget inayohitajika kwa kusanikisha certbot:
sudo dnf install wget -yPakua faili inayoweza kutekelezwa ya certbot kutoka nje ya tovuti:
cd ~
wget https://dl.eff.org/certbot-autoHamisha certbot kwa /usr/local/bin/:
mv certbot-auto /usr/local/bin/certbot-autoNa wacha tuwape haki kama mmiliki wa mizizi:
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-autoWacha tusakinishe utegemezi wa certbot na kwa hatua hii tukatiza kazi yake (Majibu: Y, c):
certbot-autoPakua kumbukumbu ukitumia toleo jipya zaidi kutoka kwa tovuti rasmi. Drupal 9:
cd ~
wget https://www.drupal.org/download-latest/tar.gzSakinisha tar ili kufungua kumbukumbu:
sudo dnf install tar -yWacha tufute faili chaguo-msingi kwenye saraka /usr/share/nginx/html/:
rm -rf /usr/share/nginx/html/*Wacha tufungue faili kwenye saraka ya seva ya wavuti:
tar xf tar.gz -C /usr/share/nginx/html/Wacha tuhamishe faili kutoka kwa saraka ndogo hadi saraka ya mizizi ya seva ya wavuti:
mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/Wacha tufute saraka ndogo:
rm -rf /usr/share/nginx/html/drupal-9.0.7Wacha tufute kumbukumbu na faili za usakinishaji:
rm -f ./tar.gzWacha tuwape mmiliki wa faili za nginx:
chown -R nginx. /usr/share/nginx/htmlKatika hatua hii tutazima seva na kuchukua picha:
shutdown -h nowBaada ya kuzindua VDS kutoka kwa muhtasari, tutafanya usanidi wa awali wa seva ya MySQL kwa kuendesha hati:
mysql_secure_installationWacha tuwashe kithibitishaji cha nenosiri:
Would you like to setup VALIDATE PASSWORD component? : yWacha tuweke nenosiri la mtumiaji wa mizizi ya MySQL:
New password:
Re-enter new password:Wacha tuondoe watumiaji wasiojulikana:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : yWacha tuzuie mzizi kuunganishwa kwa mbali:
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : yWacha tufute hifadhidata ya majaribio:
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : yWacha tupakie tena meza za upendeleo:
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Baada ya hayo, ili kukamilisha ufungaji, tunaweza kwenda
Katika anwani hii tutaona ukurasa wa usakinishaji Drupal.
Hebu tuchague lugha ya kutumia. Kwa mfano: Kirusi. Bonyeza "Hifadhi na Endelea"
Wacha tuchague wasifu wa usakinishaji (onyesho hutumiwa tu kujitambulisha na mfumo). Kwa upande wetu, basi iwe "kiwango".
Kwenye ukurasa unaofuata tutatoa jina kwa hifadhidata, kwa mfano "drupal". Wacha tuonyeshe mzizi wa jina la mtumiaji wa hifadhidata na nenosiri alilopewa wakati wa kuendesha mysql_secure_installation. Bonyeza "Hifadhi na Endelea."
Hebu tusubiri usakinishaji na usasishaji wa tafsiri ukamilike (mchakato unaweza kuchukua dakika kadhaa).
Tutaonyesha jina la tovuti, tutaweka barua pepe ya tovuti (ambayo arifa za tovuti zitatumwa), kuingia, nenosiri na barua pepe ya akaunti ya msimamizi DrupalPia tutaweka nchi na eneo la saa katika mipangilio ya kikanda. Kisha, kamilisha usakinishaji kwa kubofya "Hifadhi na Uendelee."
Baada ya haya, unaweza kwenda kwenye paneli ya kudhibiti ukitumia jina la mtumiaji na nenosiri lililoundwa la msimamizi. Drupal.
Kuweka HTTPS (si lazima)
Ili kusanidi HTTPS, VDS lazima iwe na jina halali la DNS, bainisha
/etc/nginx/nginx.confkatika sehemu ya seva jina la seva (kwa mfano):
server_name domainname.ru;Wacha tuanze tena nginx:
service nginx restartWacha tuzindue certbot:
sudo /usr/local/bin/certbot-auto --nginxIngiza barua pepe yako, ukubali masharti ya huduma (A), Jiandikishe kwa jarida (hiari) (N), chagua majina ya kikoa ambayo unataka kutoa cheti (Ingiza kwa kila mtu).
Ikiwa kila kitu kilikwenda bila makosa, tutaona ujumbe kuhusu utoaji uliofanikiwa wa vyeti na usanidi wa seva:
Congratulations! You have successfully enabled ...Baada ya hayo, viunganisho kwenye bandari 80 vitaelekezwa kwa 443 (https).
Ongeza kwa /etc/crontab kusasisha cheti kiotomatiki:
# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"Kuweka Usalama wa Mwenyeji Anayeaminika (inapendekezwa)
Mpangilio huu unakusudiwa kuwa suluhu la tatizo linalohusishwa na ubainishaji thabiti wa base_url, na umeundwa ili kuzuia mashambulizi ya Vichwa vya HTTP HOST (wakati tovuti yako inapofikiri kuwa ni mtu mwingine).
Ili kufanya hivyo, unahitaji kutaja majina ya kikoa yanayoaminika kwa tovuti kwenye faili ya mipangilio.
Katika faili
/usr/share/nginx/html/sites/default/settings.php Hebu tuondoe maoni au tuongeze mpangilio wenye ruwaza za majina halisi ya tovuti, kwa mfano:
$settings['trusted_host_patterns'] = [
'^www.mydomain.ru$',
];
Inasakinisha PHP APCu (INApendekezwa)
Drupal Inasaidia APCu (Akiba Mbadala ya Mtumiaji ya PHP). Matoleo ya 8 na 9 hutumia APCu kwa nguvu zaidi kama akiba ya ndani ya muda mfupi kuliko matoleo ya awali. Ukubwa chaguomsingi wa akiba (32 MB) unafaa kwa tovuti nyingi na hauwezi kuzidi 512 MB.
Ili kuwezesha, sakinisha moduli ya PHP APCu:
dnf -y install php-pecl-apcuAnzisha tena nginx na php-fpm:
service nginx restart
service php-fpm restartIkiwa unatumia lugha ya Kirusi na APCu na ukubwa wa kumbukumbu uliopendekezwa kwa cache, unaweza kuona onyo kwenye jopo la kudhibiti kwamba ukubwa wa kumbukumbu iliyotengwa kwa cache ni tofauti na iliyopendekezwa, lakini kwa kweli kila kitu kinafanya kazi kwa usahihi, na kwa kweli kila kitu kinafanya kazi kwa usahihi. na onyo lisilo sahihi litasahihishwa katika masasisho yanayofuata.
Au ikiwa onyo linaumiza macho yako, unaweza kutumia .
Tungependa kukukumbusha kuwa unaweza pia kututengenezea picha
Kuna chaguzi tatu za jinsi ya kushiriki.
Jitayarisha picha mwenyewe na upate rubles 3000 kwa usawa wako
Ikiwa uko tayari kukimbilia mara moja kwenye vita na kuunda picha ambayo unakosa, tutakupa mikopo kwa rubles 3000 kwa usawa wako wa ndani, ambayo unaweza kutumia kwenye seva.
Jinsi ya kuunda picha yako mwenyewe:
- Fungua akaunti nasi
- Wajulishe usaidizi kuwa utaunda na kujaribu picha
- Tutakulipa rubles 3000 na kuwezesha uwezo wa kuunda snapshots
- Agiza seva pepe na mfumo safi wa kufanya kazi
- Sakinisha programu kwenye VPS hii na uisanidi
- Andika maagizo au hati ya kusambaza programu
- Unda muhtasari wa seva iliyosanidiwa
- Agiza seva mpya pepe kwa kuchagua muhtasari ulioundwa hapo awali katika orodha kunjuzi ya "Kiolezo cha Seva".
- Ikiwa seva imeundwa kwa ufanisi, uhamishe vifaa vilivyopokelewa katika hatua ya 6 kwa usaidizi wa kiufundi
- Ikiwa kuna hitilafu, unaweza kuangalia kwa usaidizi kwa sababu na kurudia usanidi
Kwa wamiliki wa biashara: toa programu yako
Ikiwa wewe ni msanidi programu ambayo imetumwa na kutumika kwenye VPS, basi tunaweza kukujumuisha sokoni. Hivi ndivyo tunavyoweza kukusaidia kuleta wateja wapya, trafiki na ufahamu.
Tuambie kwenye maoni ni picha gani unakosa?
Na tutaitayarisha wenyewe
Chanzo: mapenzi.com
