Абр барои хайрия: Дастури муҳоҷират

Абр барои хайрия: Дастури муҳоҷират

Чанде пеш, Mail.Ru Cloud Solutions (MCS) ва хидмати Dobro Mail.Ru лоиҳаи "Абр барои хайрияҳо", ки ба ташкилотҳои ғайритиҷоратӣ имкон медиҳад, ки захираҳои платформаи абрии MCS-ро ройгон ба даст оранд. Бунёди хайрия "Арифметикаи некӣ"дар лоиҳа иштирок кард ва бомуваффақият қисме аз инфрасохтори худро дар асоси MCS ҷойгир кард."

Пас аз тасдиқ, ташкилотҳои ғайритиҷоратӣ метавонанд иқтидори виртуалиро аз MCS гиранд, аммо танзимоти минбаъда таҷрибаи мушаххасро талаб мекунад. Дар ин мақола, мо дастурҳои мушаххасро барои насб кардани сервер дар асоси ... мубодила хоҳем кард. Ubuntu Linux Идоракунии вебсайти асосии бунёд ва якчанд зердоменҳо бо истифода аз сертификатҳои ройгони SSL. Ин дастури оддӣ барои бисёриҳо хоҳад буд, аммо умедворем, ки таҷрибаи мо барои дигар созмонҳои ғайритиҷоратӣ ва берун аз он муфид хоҳад буд.

FYIШумо аз MCS чӣ ба даст оварда метавонед? 4 CPU, 32 ГБ RAM, 1 ТБ HDD, системаи амалиётӣ Ubuntu Linux, нигоҳдории ашё 500 ГБ.

Қадами 1: Сервери виртуалиро оғоз кунед

Биёед мустақиман ба нукта гузарем ва сервери виртуалии худро (инчунин бо номи "инсоният" маълум аст) дар ҳисоби MCS-и худ эҷод кунем. Аз мағозаи барномаҳо, ба шумо лозим меояд, ки стеки тайёри LAMP-ро интихоб ва насб кунед, ки маҷмӯи нармафзори сервер аст (LAMP = Linux, Apache, MySQL, PHP), ки барои кор кардани аксари вебсайтҳо заруранд.

Абр барои хайрия: Дастури муҳоҷират
Абр барои хайрия: Дастури муҳоҷират
Абр барои хайрия: Дастури муҳоҷират
Конфигуратсияи мувофиқро барои сервер интихоб кунед ва калиди нави SSH эҷод кунед. Пас аз пахш кардани тугмаи "Насб", насби сервер ва стек LAMP оғоз мешавад, ки каме вақт мегирад. Система инчунин аз шумо хоҳиш мекунад, ки калиди махфиро барои идоракунии мошини виртуалӣ тавассути консол ба компютери худ зеркашӣ кунед. Онро захира кунед.

Пас аз насб кардани барнома, биёед фавран девори оташро танзим кунем. Инро инчунин дар ҳисоби шахсии шумо анҷом додан мумкин аст: ба "Ҳисоббарории абрӣ -> Мошинҳои виртуалӣ" равед ва "Танзими девори оташ"-ро интихоб кунед:

Абр барои хайрия: Дастури муҳоҷират
Шумо бояд трафики воридотӣ дар портҳои 80 ва 9997-ро иҷозат диҳед. Ин барои насб кардани сертификатҳои SSL ва кор бо phpMyAdmin зарур аст. Маҷмӯи қоидаҳои ниҳоӣ бояд чунин бошад:

Абр барои хайрия: Дастури муҳоҷират
Акнун шумо метавонед тавассути сатри фармон бо истифода аз протоколи SSH ба сервери худ пайваст шавед. Барои ин, фармони зеринро ворид кунед ва масири калиди SSH-ро дар компютери худ ва суроғаи IP-и берунаи сервери худро муайян кунед (шумо инро дар бахши "Мошинҳои виртуалӣ" пайдо карда метавонед):

$ ssh -i /путь/к/ключу/key.pem ubuntu@<ip_сервера>

Ҳангоми бори аввал пайваст шудан ба сервер, тавсия дода мешавад, ки ҳамаи навсозиҳои ҷорӣ насб карда шаванд ва онро аз нав оғоз кунед. Барои ин, фармонҳои зеринро иҷро кунед:

$ sudo apt-get update

Система рӯйхати навсозиҳоро мегирад, онҳоро бо истифода аз ин фармон насб мекунад ва дастурҳоро иҷро мекунад:

$ sudo apt-get upgrade

Пас аз насб кардани навсозиҳо, серверро аз нав оғоз кунед:

$ sudo reboot

Қадами 2: Танзимоти хостҳои виртуалӣ

Бисёре аз созмонҳои ғайритиҷоратӣ бояд ҳамзамон якчанд домен ё зердоменҳоро ҷойгир кунанд (масалан, як вебсайти асосӣ ва якчанд саҳифаҳои фурӯш барои маъракаҳои таблиғотӣ ва ғайра). Ҳамаи инҳоро метавон бо роҳи эҷоди якчанд хостҳои виртуалӣ ба осонӣ дар як сервер ҷойгир кард.

Аввалан, мо бояд сохтори феҳристро барои сайтҳое, ки ба меҳмонон намоиш дода мешаванд, эҷод кунем. Биёед якчанд феҳрист эҷод кунем:

$ sudo mkdir -p /var/www/a-dobra.ru/public_html

$ sudo mkdir -p /var/www/promo.a-dobra.ru/public_html

Ва мо корбари кунуниро ҳамчун соҳиб муайян мекунем:

$ sudo chown -R $USER:$USER /var/www/a-dobra.ru/public_html

$ sudo chown -R $USER:$USER /var/www/promo.a-dobra.ru/public_html

Тағйирёбанда $USER номи корбарие, ки шумо ҳоло бо он ворид шудаед, дар бар мегирад (пешфарз корбар аст) ubuntu). Акнун корбари ҷорӣ соҳиби директорияҳои public_html мебошад, ки дар онҳо мо мундариҷаро нигоҳ медорем.

Мо инчунин бояд иҷозатҳоро каме танзим кунем, то боварӣ ҳосил кунем, ки дастрасии хондан ба директорияи муштараки веб ва ҳамаи файлҳо ва ҷузвдонҳои дар он мавҷудбуда иҷозат дода шудааст. Ин барои дуруст намоиш додани саҳифаҳои сайт зарур аст:

$ sudo chmod -R 755 /var/www

Акнун сервери веби шумо бояд иҷозатҳои заруриро барои намоиши мундариҷа дошта бошад. Илова бар ин, корбари шумо бояд акнун қодир бошад, ки мундариҷаро дар директорияҳои зарурӣ эҷод кунад.

Дар феҳристи /var/www/html аллакай файли index.php мавҷуд аст, биёед онро ба феҳристҳои нави худ нусхабардорӣ кунем - ин ҳоло мундариҷаи мо хоҳад буд:

$ cp /var/www/html/index.php /var/www/a-dobra.ru/public_html/index.php

$ cp /var/www/html/index.php /var/www/promo.a-dobra.ru/public_html/index.php

Акнун мо бояд боварӣ ҳосил кунем, ки корбарон метавонанд ба вебсайти шумо дастрасӣ пайдо кунанд. Барои ин, мо аввал файлҳои мизбони виртуалиро танзим мекунем, ки муайян мекунанд, ки сервери веби Apache чӣ гуна ба дархостҳо барои доменҳои гуногун посух медиҳад.

Бо нобаёнӣ, Apache дорои файли мизбони виртуалӣ бо номи 000-default.conf мебошад, ки мо метавонем онро ҳамчун нуқтаи ибтидоӣ истифода барем. Мо онро барои эҷоди файлҳои мизбони виртуалӣ барои ҳар як домени худ нусхабардорӣ мекунем. Мо бо як домен оғоз мекунем, онро танзим мекунем, онро барои домени дигар нусхабардорӣ мекунем ва сипас ҳама гуна таҳрирҳои заруриро ворид мекунем.

Танзимот Ubuntu бо нобаёнӣ талаб мекунад, ки ҳар як файли хости виртуалӣ дорои тамдиди *.conf бошад.

Биёед бо нусхабардории файл барои домени аввал оғоз кунем:

$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/a-dobra.ru.conf

Файли навро дар муҳаррир бо ҳуқуқҳои root кушоед:

$ sudo nano /etc/apache2/sites-available/a-dobra.ru.conf

Маълумотро чунин таҳрир кунед, бо муайян кардани порти 80, маълумоти шумо барои ServerAdmin, ServerName, ServerAlias, инчунин роҳ ба феҳристи решаи сайти шумо, файлро захира кунед (Ctrl+X, сипас Y):

<VirtualHost *:80>
 
    ServerAdmin e.valuisky@a-dobra.ru
    ServerName a-dobra.ru
    ServerAlias www.a-dobra.ru
 
    DocumentRoot /var/www/a-dobra.ru/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
 
    <Directory /var/www/a-dobra.ru/public_html>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
 
    <FilesMatch .php$>
        SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/"
    </FilesMatch>
 
</VirtualHost>

ServerName домени асосиро муқаррар мекунад, ки бояд бо номи мизбони виртуалӣ мувофиқат кунад. Ин бояд номи домени шумо бошад. Дуюм, ServerAlias, номҳои дигареро муайян мекунад, ки бояд ҳамчун домени асосӣ тафсир карда шаванд. Ин барои истифодаи номҳои иловагии доменҳо, ба монанди www, қулай аст.

Биёед ин конфигуратсияро ба хости дигар нусхабардорӣ кунем ва онро бо ҳамон роҳ таҳрир кунем:

$ sudo cp /etc/apache2/sites-available/a-dobra.ru.conf /etc/apache2/sites-available/promo.a-dobra.ru.conf

Шумо метавонед барои вебсайтҳои худ ҳар қадар каталогҳо ва хостҳои виртуалӣ эҷод кунед! Акнун, ки мо файлҳои хостҳои виртуалии худро сохтаем, мо бояд онҳоро фаъол созем. Мо метавонем аз утилитаи a2ensite барои фаъол кардани ҳар як сайти худ чунин истифода барем:

$ sudo a2ensite a-dobra.ru.conf

$ sudo a2ensite promo.a-dobra.ru.conf 

Бо нобаёнӣ, LAMP порти 80-ро мепӯшад, аммо барои насб кардани сертификати SSL ба мо баъдтар лозим мешавад. Пас, биёед файли ports.conf-ро таҳрир кунем ва сипас Apache-ро аз нав оғоз кунем:

$ sudo nano /etc/apache2/ports.conf

Сатри нав илова кунед ва файлро тавре захира кунед, ки чунин ба назар расад:

Listen 80
Listen 443
Listen 9997

Пас аз анҷом додани конфигуратсия, барои эътибор пайдо кардани ҳама тағиротҳо, шумо бояд Apache-ро аз нав оғоз кунед:

$ sudo systemctl reload apache2

Қадами 3: Номҳои домейнро танзим кунед

Баъдан, шумо бояд сабтҳои DNS-ро илова кунед, ки ба сервери нави шумо ишора мекунанд. Бунёди "Арифметикаи некӣ"-и мо аз dns-master.ru барои идоракунии доменҳо истифода мебарад; мо онро ҳамчун мисол истифода хоҳем бурд.

Насб кардани сабти А барои домени асосӣ одатан чунин нишон дода мешавад (аломати @):

Абр барои хайрия: Дастури муҳоҷират
Сабтҳои A барои зердоменҳо одатан чунин муайян карда мешаванд:

Абр барои хайрия: Дастури муҳоҷират
Суроғаи IP суроғаи оне аст, ки мо нав сохтаем. Linux-серверҳо. Шумо метавонед TTL = 3600-ро муайян кунед.

Пас аз муддате, дастрасӣ ба сайти шумо имконпазир хоҳад шуд, аммо ҳоло танҳо тавассути http://Дар қадами оянда мо дастгирии худро илова мекунем https://.

Қадами 4: Сертификатҳои ройгони SSL-ро насб кунед

Шумо метавонед сертификатҳои ройгони Let's Encrypt SSL-ро барои вебсайти асосии худ ва ҳамаи зердоменҳо дастрас кунед. Шумо инчунин метавонед навсозии худкорро танзим кунед, ки хеле қулай аст. Барои гирифтани сертификатҳои SSL, Certbot-ро дар сервери худ насб кунед:

$ sudo add-apt-repository ppa:certbot/certbot

Биёед бастаи Certbot-ро барои Apache бо истифода аз ... насб кунем apt:

$ sudo apt install python-certbot-apache 

Акнун Certbot барои истифода омода аст, фармонро иҷро кунед:

$ sudo certbot --apache -d a-dobra.ru -d www.a-dobra.ru -d promo.a-dobra.ru

Ин фармон certbot, keys-ро иҷро мекунад -d номҳои доменҳоеро, ки барои онҳо сертификат бояд дода шавад, муайян кунед.

Агар ин бори аввал аст, ки шумо certbot-ро истифода мебаред, аз шумо хоҳиш карда мешавад, ки суроғаи почтаи электронии худро ворид кунед ва бо шартҳои хидматрасонии хидмат розӣ шавед. Баъд аз ин, certbot бо сервери Let's Encrypt тамос мегирад ва тасдиқ мекунад, ки шумо доменеро, ки барои он дархости сертификатро кардаед, назорат мекунед.

Агар ҳама чиз хуб мебуд, certbot аз шумо мепурсад, ки чӣ гуна мехоҳед HTTPS-ро танзим кунед:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

Мо тавсия медиҳем, ки варианти 2-ро интихоб кунед ва тугмаи ENTER-ро пахш кунед. Танзимот навсозӣ мешавад ва Apache барои татбиқи тағйирот аз нав оғоз мешавад.

Акнун сертификатҳои шумо зеркашӣ, насб ва кор мекунанд. Кӯшиш кунед, ки сайти худро бо истифода аз https:// аз нав бор кунед ва шумо нишонаи амниятро дар браузери худ хоҳед дид. Агар шумо сервери худро санҷед Санҷиши сервери SSL Labs, ӯ баҳои А мегирад.

Сертификатҳои Let's Encrypt танҳо барои 90 рӯз эътибор доранд, аммо бастаи certbot, ки мо нав насб кардем, сертификатҳоро ба таври худкор нав мекунад. Барои санҷидани раванди навсозӣ, мо метавонем як маротиба иҷро кардани certbot-ро анҷом диҳем:

$ sudo certbot renew --dry-run 

Агар шумо ҳангоми иҷрои ин фармон ягон хатогиро набинед, пас ҳама чиз кор мекунад!

Қадами 5: Ба MySQL ва phpMyAdmin дастрасӣ пайдо кунед

Бисёре аз вебсайтҳо аз пойгоҳҳои додаҳо истифода мебаранд. Сервери мо аллакай phpMyAdmin-ро барои идоракунии пойгоҳи додаҳо насб кардааст. Барои дастрасӣ ба он, ба ин истинод дар браузери худ равед:

https://<ip-адрес сервера>:9997

Пароли дастрасии root-ро дар ҳисоби шахсии MCS-и шумо дастрас кардан мумкин аст (https://mcs.mail.ru/app/services/marketplace/apps/). Ҳангоми ворид шудан ба система, иваз кардани пароли root-и худро фаромӯш накунед!

Қадами 6: Танзимоти боргузории файлҳо тавассути SFTP

Барои таҳиягарон бор кардани файлҳо барои вебсайти шумо тавассути SFTP қулай хоҳад буд. Барои ин, мо корбари наверо бо номи вебмастер эҷод мекунем:

$ sudo adduser webmaster

Система аз шумо хоҳиш мекунад, ки паролро ворид кунед ва маълумоти дигарро ворид кунед.

Соҳиби директорияеро, ки вебсайти шуморо дар бар мегирад, иваз кунед:

$ sudo chown -R webmaster:webmaster /var/www/a-dobra.ru/public_html

Акнун биёед конфигуратсияи SSH-ро тағир диҳем, то корбари нав танҳо ба SFTP дастрасӣ дошта бошад, на ба терминали SSH:

$ sudo nano /etc/ssh/sshd_config

Ба поёни файли конфигуратсия ҳаракат кунед ва блоки зеринро илова кунед:

Match User webmaster
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/www/a-dobra.ru
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

Файлро захира кунед ва хидматро аз нав оғоз кунед:

$ sudo systemctl restart sshd

Акнун шумо метавонед ба сервер тавассути ҳама гуна муштарии SFTP, масалан, тавассути FileZilla, пайваст шавед.

Натиҷа

  1. Акнун шумо медонед, ки чӣ тавр директорияҳои нав эҷод кунед ва хостҳои виртуалиро барои вебсайтҳои худ дар як сервер насб кунед.
  2. Шумо метавонед ба осонӣ сертификатҳои SSL-и лозимаро эҷод кунед - ин ройгон аст ва онҳо ба таври худкор навсозӣ мешаванд.
  3. Шумо метавонед бо пойгоҳи додаҳои MySQL тавассути phpMyAdmin-и шинос ба осонӣ кор кунед.
  4. Эҷоди ҳисобҳои нави SFTP ва танзими ҳуқуқҳои дастрасӣ осон аст. Ин ҳисобҳоро бо таҳиягарони веб ва мудирони сайтҳои тарафи сеюм мубодила кардан мумкин аст.
  5. Фаромӯш накунед, ки системаи худро мунтазам навсозӣ кунед ва мо инчунин тавсия медиҳем, ки нусхаҳои эҳтиётӣ эҷод кунед - MCS ба шумо имкон медиҳад, ки бо як клик аз тамоми системаи худ акс гиред ва дар ҳолати зарурӣ тамоми тасвирҳоро иҷро кунед.

Манобеъи истифодашуда, ки метавонанд муфид бошанд:

https://www.digitalocean.com/community/tutorials/apache-ubuntu-14-04-lts-ru
https://www.digitalocean.com/community/tutorials/apache-let-s-encrypt-ubuntu-18-04-ru
https://www.digitalocean.com/community/tutorials/how-to-enable-sftp-without-shell-access-on-ubuntu-18-04

Бо роҳи, дар ин ҷо Шумо метавонед дар VC бихонед, ки чӣ гуна бунёди мо платформаи таълими онлайнро барои ятимон дар асоси абрии MCS ҷойгир кардааст.

Манбаъ: will.com

Хостинги боэътимодро барои сайтҳо бо муҳофизати DDoS, серверҳои VPS VDS харед 🔥 Харидани хостинги боэътимоди вебсайт бо муҳофизати DDoS, серверҳои VPS VDS | ProHoster