Մենք շարունակում ենք ընդլայնել մեր շուկան։ Վերջերս մենք ձեզ պատմեցինք, թե ինչպես , և այս շաբաթ Drupal-ը հայտնվեց մեր շուկայում։
Մենք ձեզ կպատմենք, թե ինչու ենք նրան ընտրել և ինչպես է ստեղծվել կերպարը։
Drupal — հարմար և հզոր հարթակ ցանկացած տեսակի կայքեր ստեղծելու համար՝ միկրոկայքերից և բլոգներից մինչև խոշոր սոցիալական նախագծեր, որը նաև օգտագործվում է որպես վեբ հավելվածների հիմք, գրված PHP լեզվով և օգտագործելով ռելացիոն տվյալների բազաները որպես տվյալների պահեստ։
Drupal 9-ը ներառում է 8.9 տարբերակում իրականացված բոլոր հնարավորությունները։ 9-րդ և 8-րդ տարբերակների միջև հիմնական տարբերությունն այն է, որ հարթակը կշարունակի ստանալ անվտանգության թարմացումներ և ուղղումներ 2021 թվականի նոյեմբերից հետո։ 9-րդ տարբերակը նաև պարզեցնում է թարմացման գործընթացը՝ 8-րդ տարբերակից թարմացումը դարձնելով ավելի հեշտ։
Սերվերի պահանջները
Drupal-ը աշխատացնելու համար խորհուրդ է տրվում օգտագործել 2 ԳԲ օպերատիվ հիշողություն և 2 պրոցեսորային միջուկ։
Drupal-ի հիմնական ֆայլերը զբաղեցնում են մոտ 100 ՄԲ տարածք, և ձեզ նաև անհրաժեշտ կլինի տարածք պատկերներ, տվյալների բազա, թեմաներ, հավելումներ և պահուստային պատճեններ պահելու համար՝ կախված ձեր կայքի չափից։
Drupal 9-ը պահանջում է PHP 7.4 կամ ավելի բարձր տարբերակ՝ նվազագույն սահմանափակմամբ (memory_limit) 64 ՄԲ հիշողության համար, եթե օգտագործում եք լրացուցիչ մոդուլներ, խորհուրդ է տրվում տեղադրել 128 ՄԲ։
Drupal-ը կարող է օգտագործել Apache-ն կամ Nginx-ը որպես վեբ սերվեր, իսկ MySQL-ը, PostgreSQL-ը կամ SQLite-ը՝ որպես տվյալների բազա։
Մենք կտեղադրենք Drupal-ը՝ օգտագործելով Nginx և MySQL:
Տեղակայում
Եկեք թարմացնենք տեղադրված փաթեթները վերջին տարբերակին։
sudo dnf update -yԵկեք http/80 և https/443 պորտերին ավելացնենք մշտական թույլտվություն մուտքային երթևեկության համար։
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=httpsԵկեք կիրառենք նոր firewall կանոնները.
sudo systemctl reload firewalldԵկեք տեղադրենք Nginx-ը։
sudo dnf install nginx -yԵկեք սկսենք և միացնենք Nginx սերվերը։
sudo systemctl start nginx
sudo systemctl enable nginx Քանի որ Centos-ի հիմնական պահոցն այժմ օգտագործում է PHP 7.2, եկեք ավելացնենք REMI պահոցը PHP 7.4-ով (Drupal 9-ի համար նվազագույն տարբերակը):
Դրա համար մենք ավելացնում ենք EPEL պահոցը (պահանջվում է REMI պահոցի կողմից):
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmԵկեք ավելացնենք REMI պահոցը։
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Եկեք միացնենք php:remi-7.4 մոդուլը՝ php 7.4-ը տեղադրելու համար։
sudo dnf module enable php:remi-7.4 -yՏեղադրեք php-fpm-ը և php-cli-ն՝
sudo dnf install -y php-fpm php-cliԵկեք տեղադրենք Drupal-ի աշխատանքի համար անհրաժեշտ PHP մոդուլները։
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-xmlՄենք նաև կտեղադրենք առաջարկվող PHP մոդուլները՝ mbstring opcache:
sudo dnf install -y php-mbstring php-opcacheԵկեք տեղադրենք MySQL սերվերը.
sudo dnf install mysql-server -yԵկեք միացնենք և գործարկենք MySQL սերվերը։
sudo systemctl start mysqld
sudo systemctl enable mysqldՔանի որ մենք VDS-ի համար ձևանմուշ ենք պատրաստում, և դրանք կարող են դանդաղ լինել, մենք կավելացնենք 30 վայրկյան mysqld-ի գործարկման ուշացում, հակառակ դեպքում կարող են խնդիրներ առաջանալ սերվերի մեկնարկի հետ համակարգի սկզբնական բեռնման ժամանակ։
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.serviceԵկեք փոխենք այն խումբը և օգտագործողին, որի ներքո կաշխատի nginx-ը՝ փոփոխություններ կատարելով /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.confԵկեք փոխենք նաև PHP sessions դիրեկտորիայի սեփականատիրոջը՝ դարձնելով այն nginx։
sudo chown -R nginx. /var/lib/php/sessionԵկեք հեռացնենք մեկնաբանված տողերը /etc/nginx/nginx.conf կոնֆիգուրացիայի ֆայլից (sed-ի կրկնակի ակտիվացումից խուսափելու համար):
sudo sed -i -e '/^[ t]*#/d' /etc/nginx/nginx.confԱվելացրեք gzip սեղմման կարգավորումները /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.confԵկեք index.php ինդեքսի ֆայլի կարգավորումները ավելացնենք /etc/nginx/nginx.conf ֆայլին։
sudo sed -i '/ root /usr/share/nginx/html;/a
index index.php index.html index.htm;
' /etc/nginx/nginx.confԵկեք ավելացնենք կարգավորումներ, որպեսզի լռելյայն սերվերը մշակի PHP-ն php-fpm սոքեթի միջոցով, անջատենք ստատիկ ֆայլերի գրանցամատյանը, ավելացնենք ժամկետի ավարտը, անջատենք favicon.ico-ի և robots.txt-ի մուտքի և սխալի գրանցամատյանը, և արգելենք .ht ֆայլերին մուտքը բոլորի համար։
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Եկեք տեղադրենք certbot-ը տեղադրելու համար անհրաժեշտ wget-ը։
sudo dnf install wget -yԵկեք ներբեռնենք certbot-ի կատարվող ֆայլը պաշտոնական կայքից։
cd ~
wget https://dl.eff.org/certbot-autoԵկեք տեղափոխենք certbot-ը /usr/local/bin/:
mv certbot-auto /usr/local/bin/certbot-autoԵվ մենք root-ին կտրամադրենք իրավունքներ և սեփականատեր՝
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-autoԵկեք տեղադրենք certbot կախվածությունները և կանգնեցնենք այն այս փուլում (Պատասխաններ՝ Y, c):
certbot-autoԵկեք ներբեռնենք Drupal 9-ի վերջին տարբերակի արխիվը պաշտոնական կայքից։
cd ~
wget https://www.drupal.org/download-latest/tar.gzԵկեք տեղադրենք tar-ը՝ արխիվը բացելու համար։
sudo dnf install tar -yԵկեք ջնջենք /usr/share/nginx/html/ գրացուցակի լռելյայն ֆայլերը։
rm -rf /usr/share/nginx/html/*Եկեք ֆայլերը բացենք վեբ սերվերի գրացուցակում՝
tar xf tar.gz -C /usr/share/nginx/html/Եկեք ֆայլերը ենթատեղեկատուից տեղափոխենք վեբ սերվերի արմատային տեղեկատու։
mv /usr/share/nginx/html/drupal-9.0.7/* /usr/share/nginx/html/Եկեք ջնջենք ենթատեղեկատուն՝
rm -rf /usr/share/nginx/html/drupal-9.0.7Եկեք ջնջենք արխիվը տեղադրման ֆայլերով.
rm -f ./tar.gzԵկեք nginx-ը նշանակենք որպես ֆայլերի սեփականատեր։
chown -R nginx. /usr/share/nginx/htmlԱյս փուլում մենք կանջատենք սերվերը և կնկարահանենք լուսանկարը՝
shutdown -h nowVDS-ը լուսանկարից գործարկելուց հետո մենք կիրականացնենք MySQL սերվերի նախնական կարգավորումը՝ գործարկելով սկրիպտը.
mysql_secure_installationԵկեք միացնենք գաղտնաբառի վավերացուցիչը.
Would you like to setup VALIDATE PASSWORD component? : yԵկեք գաղտնաբառ սահմանենք MySQL root օգտատիրոջ համար։
New password:
Re-enter new password:Եկեք հեռացնենք անանուն օգտատերերին.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : yԵկեք արգելենք root-ին հեռակա կապ հաստատելը.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : yԵկեք ջնջենք թեստային տվյալների բազան՝
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : yԵկեք վերաբեռնենք արտոնությունների աղյուսակները՝
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Դրանից հետո, տեղադրումն ավարտելու համար, մենք կարող ենք գնալ հասցեին
Այս հասցեում մենք կտեսնենք Drupal-ի տեղադրման էջ։
Եկեք ընտրենք օգտագործելու լեզուն։ Օրինակ՝ ռուսերեն։ Սեղմեք «Պահպանել և շարունակել»
Եկեք ընտրենք տեղադրման պրոֆիլը (ցուցադրությունը օգտագործվում է բացառապես համակարգին ծանոթանալու համար): Մեր դեպքում, թող այն լինի «ստանդարտ»։
Հաջորդ էջում մենք տվյալների բազային կտանք անուն, օրինակ՝ «drupal»։ Եկեք նշենք տվյալների բազայի root օգտատիրոջ անունը և դրա համար նշված գաղտնաբառը mysql_secure_installation-ը գործարկելիս։ Սեղմեք «Պահպանել և շարունակել»:
Սպասեք մինչև տեղադրումն ավարտվի և թարգմանությունները թարմացվեն (գործընթացը կարող է տևել մի քանի րոպե):
Մենք կնշենք կայքի անունը, կսահմանենք կայքի էլ. փոստը (որից կուղարկվեն կայքի ծանուցումները), Drupal-ի ադմինիստրատորի հաշվի մուտքը, գաղտնաբառը և էլ. փոստը։ Մենք նաև կսահմանենք երկիրը և ժամային գոտին տարածաշրջանային կարգավորումներում։ Եվ մենք կավարտենք տեղադրումը՝ սեղմելով «Պահպանել և շարունակել» կոճակը։
Դրանից հետո դուք կարող եք մուտք գործել կառավարման վահանակ՝ օգտագործելով ստեղծված Drupal ադմինիստրատորի մուտքանունը և գաղտնաբառը:
HTTPS-ի կարգավորում (ըստ ցանկության)
HTTPS-ը կարգավորելու համար VDS-ը պետք է ունենա վավեր DNS անուն, նշեք
/etc/nginx/nginx.confսերվերի բաժնում սերվերի անունը (օրինակ՝):
server_name domainname.ru;Եկեք վերագործարկենք nginx-ը։
service nginx restartԵկեք գործարկենք certbot-ը։
sudo /usr/local/bin/certbot-auto --nginxՄուտքագրեք ձեր էլ. փոստի հասցեն, համաձայնեք ծառայության պայմաններին (A), բաժանորդագրվեք փոստային ցուցակին (ըստ ցանկության) (N), ընտրեք այն դոմեյն անունները, որոնց համար ցանկանում եք տրամադրել վկայական (Enter for all):
Եթե ամեն ինչ անցավ առանց սխալների, մենք կտեսնենք հաղորդագրություն վկայականների հաջող տրամադրման և սերվերի կարգավորման մասին.
Congratulations! You have successfully enabled ...Դրանից հետո 80-րդ պորտի հետ կապերը կուղղորդվեն 443 (https) պորտին։
Եկեք /etc/crontab-ում ավելացնենք վկայագրերը ավտոմատ կերպով թարմացնելու համար՝
# Cert Renewal
30 2 * * * root /usr/local/bin/certbot-auto renew --post-hook "nginx -s reload"Վստահելի հոսթի անվտանգության կարգավորում (խորհուրդ է տրվում)
Այս կարգավորումը նախատեսված է դինամիկ base_url որոշման հետ կապված խնդրի լուծում լինելու համար և նախատեսված է HTTP HOST վերնագրի հարձակումները կանխելու համար (երբ ձեր կայքը կարծում է, որ դա ուրիշի կողմից է):
Դա անելու համար դուք պետք է նշեք կայքի վստահելի դոմեյնային անունները կարգավորումների ֆայլում։
Ֆայլում
/usr/share/nginx/html/sites/default/settings.php Եկեք մեկնաբանությունը հանենք կամ ավելացնենք կարգավորումներ՝ կայքի ներկայիս անունների ձևանմուշներով, օրինակ՝
$settings['trusted_host_patterns'] = [
'^www.mydomain.ru$',
];
PHP APCu-ի տեղադրում (ԽՈՐՀՈՒՐԴ Է ՏԱԼԻՍ)
Drupal-ը աջակցում է APCu-ին՝ PHP User Cache-ի այլընտրանքային տարբերակը, 8-րդ և 9-րդ տարբերակները APCu-ն որպես կարճաժամկետ տեղական քեշ ավելի շատ են օգտագործում, քան նախորդ տարբերակները։ Քեշի լռելյայն չափը (32 ՄԲ) հարմար է կայքերի մեծ մասի համար և չի կարող գերազանցել 512 ՄԲ-ը։
Ակտիվացնելու համար տեղադրեք PHP APCu մոդուլը.
dnf -y install php-pecl-apcuԵկեք վերագործարկենք nginx-ը և php-fpm-ը։
service nginx restart
service php-fpm restartՌուսերեն լեզուն և APCu-ն օգտագործելու դեպքում՝ խորհուրդ տրվող քեշ հիշողության չափսով, կառավարման վահանակում կարող եք տեսնել նախազգուշացում, որ հատկացված քեշ հիշողության չափը տարբերվում է խորհուրդ տրվողից, բայց իրականում ամեն ինչ ճիշտ է աշխատում, և սխալ նախազգուշացումը, ամենայն հավանականությամբ, կշտկվի հաջորդ թարմացումներում։
Կամ եթե նախազգուշացումը չափազանց տհաճ է, կարող եք օգտագործել .
Հիշեցնում ենք, որ դուք նույնպես կարող եք մեզ համար պատկեր ստեղծել։
Մասնակցելու երեք տարբերակ կա։
Պատրաստեք պատկերը ինքներդ և ստացեք 3000 ռուբլի ձեր մնացորդին
Եթե պատրաստ եք անմիջապես մարտի մեջ մտնել և ստեղծել այն կերպարը, որը ձեզ պակասում է, մենք ձեր ներքին հաշվեկշռին կփոխանցենք 3000 ռուբլի. այն կարող եք ծախսել սերվերների վրա։
Ինչպես ստեղծել ձեր սեփական պատկերը.
- Ստեղծեք հաշիվ մեզ մոտ՝
- Տեղեկացրեք աջակցության ծառայությանը, որ դուք պատրաստվում եք ստեղծել և փորձարկել պատկերներ։
- Մենք ձեզ կփոխանցենք 3000 ռուբլի և կտրամադրենք լուսանկարներ ստեղծելու հնարավորություն։
- Պատվիրեք վիրտուալ սերվեր մաքուր օպերացիոն համակարգով
- Տեղադրեք ծրագիրը այս VPS-ի վրա և կարգավորեք այն
- Ստեղծեք հրահանգներ կամ սկրիպտ ծրագրակազմի տեղակայման համար
- Ստեղծեք snapshot կարգավորված սերվերի համար
- Պատվիրեք նոր վիրտուալ սերվեր՝ ընտրելով նախկինում ստեղծված լուսանկարը «Սերվերի ձևանմուշ» իջնող ցանկից։
- Եթե սերվերը հաջողությամբ ստեղծվել է, խնդրում ենք 6-րդ քայլում ստացված նյութերը ներկայացնել տեխնիկական աջակցությանը։
- Սխալի դեպքում կարող եք ստուգել պատճառը աջակցության ծառայության հետ և կրկնել կարգավորումը։
Բիզնեսի սեփականատերերի համար՝ առաջարկեք ձեր ծրագրակազմը
Եթե դուք VPS-ի վրա տեղակայվող և օգտագործվող ծրագրային ապահովման մշակող եք, մենք կարող ենք ձեզ ներառել շուկայում։ Այսպիսով, մենք կարող ենք օգնել ձեզ ներգրավել նոր հաճախորդներ, այցելուներ և ճանաչելիություն։
Մեկնաբանություններում մեզ ասեք, թե որ պատկերն եք բաց թողել։
Եվ մենք այն ինքներս կպատրաստենք։
Source: www.habr.com
