Буяны үйлсэд зориулсан Cloud: Цагаачлалын гарын авлага

Буяны үйлсэд зориулсан Cloud: Цагаачлалын гарын авлага

Тун удалгүй Mail.Ru Cloud Solutions (MCS) болон Dobro Mail.Ru үйлчилгээ "" төслийг эхлүүлсэн.Буяны байгууллагуудад зориулсан үүл”, үүний ачаар ашгийн бус байгууллагууд MCS үүлэн платформын нөөцийг үнэ төлбөргүй авах боломжтой. Буяны сан"Сайн сайхны арифметик» төсөлд оролцож, М-Си-Эс-д суурилсан дэд бүтцийнхээ нэг хэсгийг амжилттай байршууллаа.

Баталгаажуулалтад тэнцсэний дараа NPO нь MCS-ээс виртуал хүчин чадал хүлээн авах боломжтой боловч цаашдын тохиргоонд тодорхой ур чадвар шаардагдана. Энэ материалд бид үндсэн суурь вэб сайт болон хэд хэдэн дэд домайнуудыг үнэгүй SSL сертификат ашиглан ажиллуулахын тулд Ubuntu Linux-д суурилсан серверийг тохируулах тусгай зааврыг хуваалцахыг хүсч байна. Олон хүмүүсийн хувьд энэ нь энгийн гарын авлага байх болно, гэхдээ бидний туршлага зөвхөн бус бусад ашгийн бус байгууллагуудад хэрэг болно гэж найдаж байна.

FYI: MCS-ээс юу авч болох вэ? 4 CPU, 32 ГБ RAM, 1 TB HDD, Ubuntu Linux үйлдлийн систем, 500 ГБ объект хадгалах.

Алхам 1: виртуал серверийг ажиллуул

Шууд зүйл рүүгээ орж, өөрийн MCS хувийн дансанд виртуал серверээ ("жишээ") үүсгэцгээе. Апп дэлгүүрт та ихэнх вэбсайтуудыг ажиллуулахад шаардлагатай серверийн програм хангамжийн багц (LAMP = Linux, Apache, MySQL, PHP) болох бэлэн LAMP стекийг сонгож суулгах хэрэгтэй.

Буяны үйлсэд зориулсан Cloud: Цагаачлалын гарын авлага
Буяны үйлсэд зориулсан Cloud: Цагаачлалын гарын авлага
Буяны үйлсэд зориулсан Cloud: Цагаачлалын гарын авлага
Тохирох серверийн тохиргоог сонгоод шинэ SSH түлхүүр үүсгэнэ үү. "Суулгах" товчийг дарсны дараа сервер болон LAMP стекийг суулгаж эхлэх бөгөөд үүнд хэсэг хугацаа шаардагдана. Систем нь виртуал машиныг консолоор удирдахын тулд хувийн түлхүүрийг компьютер дээрээ татаж авахыг санал болгож, хадгална уу.

Програмыг суулгасны дараа галт ханыг нэн даруй тохируулцгаая, энэ нь таны хувийн дансанд хийгддэг: "Үүлэн тооцоолол -> Виртуал машинууд" хэсэгт очоод "Галт ханыг тохируулах" гэснийг сонгоно уу:

Буяны үйлсэд зориулсан Cloud: Цагаачлалын гарын авлага
Та 80 болон 9997 портоор орж ирж буй урсгалын зөвшөөрлийг нэмэх шаардлагатай. Энэ нь ирээдүйд SSL сертификат суулгах, phpMyAdmin-тай ажиллахад зайлшгүй шаардлагатай. Үүний үр дүнд дүрмийн багц дараах байдлаар харагдах ёстой.

Буяны үйлсэд зориулсан Cloud: Цагаачлалын гарын авлага
Одоо та 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

Үндэс эрх бүхий засварлагчаар шинэ файл нээх:

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

Өгөгдлийг дараах байдлаар засварлаж, 80-р портын өгөгдлийг зааж өгнө үү ServerAdmin, ServerName, ServerAlias, түүнчлэн таны сайтын үндсэн директор руу очих зам, файлыг хадгална уу (Ctrl+X, дараа нь Y):

<VirtualHost *:80>
 
    ServerAdmin [email protected]
    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 

Анхдагчаар 80-р порт нь LAMP-д хаагдсан бөгөөд дараа нь 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 бичлэгийг тохируулах нь ихэвчлэн дараах байдлаар илэрхийлэгдэнэ (тэмдэг @):

Буяны үйлсэд зориулсан Cloud: Цагаачлалын гарын авлага
Дэд домайнуудын A бичлэгийг ихэвчлэн дараах байдлаар зааж өгдөг.

Буяны үйлсэд зориулсан Cloud: Цагаачлалын гарын авлага
IP хаяг нь бидний саяхан үүсгэсэн Линукс серверийн хаяг юм. Та TTL = 3600 гэж зааж өгч болно.

Через некоторое время на ваш сайт уже можно будет зайти, но пока только через http://. В следующем шаге мы добавим поддержку https://.

Алхам 4: Үнэгүй SSL сертификатуудыг тохируулна уу

Та өөрийн үндсэн сайт болон бүх дэд домайнуудад үнэгүй Let's Encrypt SSL сертификат авах боломжтой. Та мөн тэдний автомат шинэчлэлтийг тохируулах боломжтой бөгөөд энэ нь маш тохиромжтой. SSL сертификат авахын тулд сервер дээрээ Certbot суулгана уу:

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

Apache-д зориулсан Certbot багцыг ашиглан суулгана уу 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, түлхүүрүүдийг ажиллуулдаг -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 лабораторийн серверийн тест, тэр А үнэлгээ авна.

Шифрлэцгээе гэрчилгээ нь зөвхөн 90 хоногийн хугацаанд хүчинтэй байх боловч бидний саяхан суулгасан certbot багц нь гэрчилгээг автоматаар шинэчлэх болно. Шинэчлэх процессыг шалгахын тулд бид certbot-ийг хуурай ажиллуулж болно:

$ sudo certbot renew --dry-run 

Если вы не видите каких-либо ошибок в результате выполнения этой команды, то всё работает!

Алхам 5: MySQL болон phpMyAdmin руу нэвтрэх

Олон вэбсайтууд мэдээллийн санг ашигладаг. Өгөгдлийн сангийн менежментийн phpMyAdmin хэрэгслийг манай сервер дээр суулгасан байна. Үүнд хандахын тулд дараах холбоосыг ашиглан хөтөч рүүгээ орно уу:

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

Үндсэн хандалтын нууц үгийг MCS хувийн данснаас авах боломжтой (https://mcs.mail.ru/app/services/marketplace/apps/). Эхний удаа нэвтрэхдээ үндсэн нууц үгээ өөрчлөхөө бүү мартаарай!

Алхам 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. Та сайн мэддэг phpMyAdmin-ээр дамжуулан MySQL мэдээллийн сантай хялбархан ажиллах боломжтой.
  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

Дашрамд хэлэхэд, энд Та манай сан MCS үүлэн дээр суурилсан өнчин хүүхдүүдэд зориулсан онлайн боловсролын платформыг хэрхэн байршуулсныг VC дээрээс унших боломжтой.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх