Мо васеъ кардани бозори худро идома медиҳем. Мо ба наздикӣ дар бораи он сӯҳбат кардем ва ин ҳафта он дар бозори мо пайдо шуд Drupal.
Мо мегӯем, ки чаро мо онро интихоб кардем ва чӣ гуна тасвир офарида шудааст.
Drupal як платформаи қулай ва тавоно барои эҷоди ҳама гуна сайтҳо: аз микросайтҳо ва блогҳо то лоиҳаҳои бузурги иҷтимоӣ, ки ҳамчун асос барои барномаҳои веб, ки дар PHP навишта шудааст ва истифода аз пойгоҳи додаҳои релятсионӣ ҳамчун нигаҳдории маълумот истифода мешавад.
Drupal Версияи 9 ҳамаи хусусиятҳоеро дар бар мегирад, ки дар версияи 8.9 амалӣ шудаанд. Фарқи асосии байни версияи 9 ва версияи 8 дар он аст, ки платформа пас аз моҳи ноябри соли 2021 навсозиҳо ва часбҳои амниятиро қабул мекунад. Версияи 9 инчунин раванди навсозиро содда мекунад ва навсозии онро аз версияи 8 боз ҳам осонтар мекунад.
Талаботи сервер
Барои истифода Drupal Истифодаи 2 ГБ RAM ва 2 ядрои CPU тавсия дода мешавад.
Файлҳои асосӣ 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Қоидаҳои нави брандмауэрро татбиқ кунед:
sudo systemctl reload firewalldNginx насб кунед:
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 7.4 модули php:remi-7.4-ро фаъол созед:
sudo dnf module enable php:remi-7.4 -yphp-fpm ва php-cli -ро насб кунед:
sudo dnf install -y php-fpm php-cliМо модулҳои PHP-ро, ки барои кор заруранд, насб мекунем. 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-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 таҳия карда истодаем ва онҳо метавонанд суст бошанд, мо таъхири оғози mysqld-ро 30 сония илова хоҳем кард, вагарна ҳангоми оғозёбии система мушкилот метавонад дар оғоз кардани сервер ба миён ояд:
sudo sed -i '/Group=mysql/a
ExecStartPre=/bin/sleep 30
' /usr/lib/systemd/system/mysqld.serviceБиёед бо ворид кардани тағирот ба /etc/php-fpm.d/www.conf гурӯҳ ва корбареро тағир диҳем, ки nginx зери он кор мекунад:
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-ро мувофиқан ба 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Сертботро ба /usr/local/bin/ интиқол диҳед:
mv certbot-auto /usr/local/bin/certbot-autoВа ҳуқуқ ва моликиятро ба реша таъин кунед:
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 nowПас аз оғоз кардани VDS аз акс, мо насби ибтидоии сервери MySQL-ро тавассути иҷро кардани скрипт иҷро мекунем:
mysql_secure_installationТафтишкунандаи паролро фаъол созед:
Would you like to setup VALIDATE PASSWORD component? : yПароли корбари решаи MySQL-ро таъин кунед:
New password:
Re-enter new password:Хориҷ кардани корбарони номаълум:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : yБиёед аз пайвасти дурдаст реша пешгирӣ кунем:
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". Решаи номи корбарии пойгоҳи додаҳо ва пароли ба ӯ ҳангоми оғози 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), номҳои доменеро, ки барои онҳо сертификат додан мехоҳед, интихоб кунед (Барои ҳама ворид кунед).
Агар ҳама чиз бе хатогӣ анҷом дода шавад, мо паёмро дар бораи бомуваффақияти додани сертификатҳо ва танзими сервер мебинем:
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 Header пешбинӣ шудааст (вақте ки сайти шумо онро ягон каси дигар мешуморад).
Барои ин, шумо бояд дар файли танзимот номҳои домени боэътимоди сайтро муайян кунед.
Дар файл
/usr/share/nginx/html/sites/default/settings.php шарҳ надодан ё танзимеро бо намунаҳои номҳои воқеии сайт илова кунед, масалан:
$settings['trusted_host_patterns'] = [
'^www.mydomain.ru$',
];
Насб кардани PHP APCu (Тавсия дода мешавад)
Drupal APCu (Кэши корбарии алтернативии PHP)-ро дастгирӣ мекунад. Версияҳои 8 ва 9 нисбат ба версияҳои қаблӣ APCu-ро ҳамчун кэши маҳаллии кӯтоҳмуддат бошиддаттар истифода мебаранд. Андозаи пешфарзи кэш (32 МБ) барои аксари сайтҳо мувофиқ аст ва наметавонад аз 512 МБ зиёд бошад.
Барои фаъол кардан, модули PHP APCu -ро насб кунед:
dnf -y install php-pecl-apcuNginx ва php-fpm-ро аз нав оғоз кунед:
service nginx restart
service php-fpm restartДар сурати истифодаи забони русӣ ва APCu бо андозаи тавсияшудаи хотираи кэш, шумо метавонед дар панели идоракунӣ огоҳиро бинед, ки андозаи хотираи кэши ҷудошуда аз хотираи тавсияшуда фарқ мекунад, аммо дар асл ҳама чиз дуруст кор мекунад ва нодуруст аст. Огоҳӣ эҳтимолан дар навсозиҳои оянда ислоҳ карда мешавад.
Ё агар огоҳӣ ба чашм осеб расонад, шумо метавонед истифода баред .
Мо мехоҳем ба шумо хотиррасон кунем, ки шумо инчунин метавонед барои мо тасвир созед
Се вариант барои иштирок кардан вуҷуд дорад.
Тасвирро худатон омода кунед ва ба баланси худ 3000 рубл гиред
Агар шумо омода бошед, ки фавран ба ҷанг шитофтед ва тасвиреро, ки худатон намерасад, эҷод кунед, мо ба шумо 3000 рублро ба тавозуни дохилии шумо ҳисоб мекунем - шумо метавонед онро дар серверҳо сарф кунед.
Чӣ тавр эҷод кардани тасвири худ:
- Бо мо ҳисоб эҷод кунед
- Ба дастгирии дастгирӣ бигӯед, ки шумо тасвирҳоро эҷод кардан ва озмоиш кардан мехоҳед
- Мо ба шумо 3000 рубл қарз медиҳем ва имкони эҷоди аксҳоро фароҳам меорем
- Сервери виртуалиро бо системаи оператсионии тоза фармоиш диҳед
- Нармафзорро дар ин VPS насб кунед ва онро насб кунед
- Дастурҳо ё скрипт барои ҷойгиркунии нармафзор нависед
- Барои сервери конфигуратсияшуда тасвири фаврӣ эҷод кунед
- Бо интихоби акси қаблан сохташуда дар рӯйхати афтанда "Шаблони сервер" сервери нави виртуалиро фармоиш диҳед
- Дар сурати бомуваффақият сохтани сервер, маводҳои дар қадами 6 гирифташударо ба дастгирии техникӣ интиқол диҳед
- Дар сурати рух додани хато, шумо метавонед бо дастгирии сабабҳо тафтиш кунед ва танзимро такрор кунед
Барои соҳибони тиҷорат: нармафзори худро пешниҳод кунед
Агар шумо як таҳиягари нармафзор бошед, ки дар VPS ҷойгир ва истифода мешавад, мо метавонем шуморо ба бозор дохил кунем. Ин аст, ки мо метавонем ба шумо кӯмак расонем, ки мизоҷони нав, трафик ва намоёнро ҷалб кунед.
Дар шарҳҳо ба мо хабар диҳед, ки кадом тасвирро аз даст медиҳед?
Ва мо онро худамон тайёр мекунем
Манбаъ: will.com
