Цлоуд фор Цхаритиес: Водич за миграцију

Цлоуд фор Цхаритиес: Водич за миграцију

Недавно су Маил.Ру Цлоуд Солутионс (МЦС) и услуга Добро Маил.Ру покренули пројекат „Облак за добротворне сврхе“, захваљујући којој непрофитне организације могу бесплатно да добију ресурсе МЦС цлоуд платформе. добротворна фондација"Аритметика доброте» учествовао у пројекту и успешно развио део своје инфраструктуре засноване на МЦС.

Након проласка валидације, НПО може да добије виртуелни капацитет од МЦС-а, али даља конфигурација захтева одређене квалификације. У овом материјалу желимо да поделимо конкретна упутства за подешавање сервера заснованог на Убунту Линук-у за покретање главне веб локације фондације и бројних поддомена који користе бесплатне ССЛ сертификате. За многе ће ово бити једноставан водич, али се надамо да ће наше искуство бити корисно и за друге непрофитне организације, и не само.

ФИИ: Шта можете добити од МЦС-а? 4 ЦПУ-а, 32 ГБ РАМ-а, 1 ТБ ХДД, Убунту Линук ОС, 500 ГБ за складиштење објеката.

Корак 1: Покрените виртуелни сервер

Хајде да пређемо директно на ствар и креирамо наш виртуелни сервер (ака „инстанца“) на вашем МЦС личном налогу. У продавници апликација потребно је да изаберете и инсталирате готов ЛАМП стек, који је скуп серверског софтвера (ЛАМП = Линук, Апацхе, МиСКЛ, ПХП) неопходног за покретање већине веб локација.

Цлоуд фор Цхаритиес: Водич за миграцију
Цлоуд фор Цхаритиес: Водич за миграцију
Цлоуд фор Цхаритиес: Водич за миграцију
Изаберите одговарајућу конфигурацију сервера и креирајте нови ССХ кључ. Након што кликнете на дугме „Инсталирај“, инсталација сервера и ЛАМП стека ће почети, што ће потрајати. Систем ће такође понудити преузимање приватног кључа на ваш рачунар за управљање виртуелном машином преко конзоле, сачувајте га.

Након инсталирања апликације, хајде да одмах поставимо заштитни зид, то се ради и на вашем личном налогу: идите на одељак „Рачунарење у облаку -> Виртуелне машине“ и изаберите „Подешавање заштитног зида“:

Цлоуд фор Цхаритиес: Водич за миграцију
Морате да додате дозволу за долазни саобраћај преко порта 80 и 9997. Ово је неопходно у будућности за инсталирање ССЛ сертификата и за рад са пхпМиАдмин-ом. Као резултат тога, скуп правила би требао изгледати овако:

Цлоуд фор Цхаритиес: Водич за миграцију
Сада се можете повезати са својим сервером преко командне линије користећи ССХ протокол. Да бисте то урадили, откуцајте следећу команду, показујући на ССХ кључ на рачунару и спољну ИП адресу вашег сервера (можете је пронаћи у одељку „Виртуелне машине“):

$ 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). Сада тренутни корисник поседује публиц_хтмл директоријуме где ћемо чувати садржај.

Такође морамо мало да изменимо дозволе да бисмо били сигурни да је дозвољен приступ за читање дељеном веб директоријуму и свим датотекама и фасциклама које садржи. Ово је неопходно да би се странице сајта правилно приказивале:

$ sudo chmod -R 755 /var/www

Ваш веб сервер би сада требало да има дозволе које су му потребне за приказивање садржаја. Поред тога, ваш корисник сада има могућност да креира садржај у потребним директоријумима.

Већ постоји индек.пхп фајл у /вар/ввв/хтмл директоријуму, копирајмо га у наше нове директоријуме - ово ће за сада бити наш садржај:

$ 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

Сада морате да се уверите да корисник може да приступи вашој веб локацији. Да бисмо то урадили, прво ћемо конфигурисати виртуелне датотеке хоста, које одређују како ће Апацхе веб сервер одговарати на захтеве различитих домена.

Апацхе подразумевано има виртуелну датотеку хоста 000-дефаулт.цонф коју можемо да користимо као почетну тачку. Ово ћемо копирати да креирамо виртуелне датотеке хоста за сваки од наших домена. Почећемо са једним доменом, конфигурисати га, копирати на други домен, а затим поново извршити потребне измене.

Убунту-ова подразумевана конфигурација захтева да свака датотека виртуелног хоста има екстензију *.цонф.

Почнимо са копирањем датотеке за први домен:

$ 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, као и путању до основног директоријума вашег сајта, сачувајте датотеку (Цтрл+Кс, затим И):

<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, дефинише друга имена која треба тумачити као да је примарни домен. Ово је згодно за коришћење додатних имена домена, на пример коришћење ввв.

Копирајмо ову конфигурацију за други хост и такође је уредимо на исти начин:

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

Можете креирати онолико директоријума и виртуелних хостова за своје веб локације колико желите! Сада када смо креирали наше виртуелне датотеке домаћина, морамо их омогућити. Можемо да користимо услужни програм а2енсите да омогућимо сваку од наших веб локација овако:

$ sudo a2ensite a-dobra.ru.conf

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

Подразумевано, порт 80 је затворен у ЛАМП-у и биће нам потребан касније да инсталирамо ССЛ сертификат. Дакле, хајде да одмах уредимо датотеку портс.цонф, а затим поново покренимо Апацхе:

$ sudo nano /etc/apache2/ports.conf

Додајте нови ред и сачувајте датотеку тако да изгледа овако:

Listen 80
Listen 443
Listen 9997

Након што завршите подешавања, потребно је да поново покренете Апацхе да би све промене ступиле на снагу:

$ sudo systemctl reload apache2

Корак 3: Подесите имена домена

Затим морате додати ДНС записе који ће упућивати на ваш нови сервер. За управљање доменима, наша Аритметика добре фондације користи услугу днс-мастер.ру, показаћемо то на примеру.

Постављање А-записа за главни домен обично је назначено на следећи начин (знак @):

Цлоуд фор Цхаритиес: Водич за миграцију
А запис за поддомене се обично наводи овако:

Цлоуд фор Цхаритиес: Водич за миграцију
ИП адреса је адреса Линук сервера који смо управо креирали. Можете одредити ТТЛ = 3600.

Након неког времена биће могуће посетити ваш сајт, али за сада само преко http://. У следећем кораку додаћемо подршку https://.

Корак 4: Подесите бесплатне ССЛ сертификате

Можете добити бесплатне Лет'с Енцрипт ССЛ сертификате за своју главну веб локацију и све поддомене. Такође можете да конфигуришете њихово аутоматско обнављање, што је веома згодно. Да бисте добили ССЛ сертификате, инсталирајте Цертбот на свој сервер:

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

Инсталирајте Цертбот пакет за Апацхе користећи apt:

$ sudo apt install python-certbot-apache 

Сада је Цертбот спреман за употребу, покрените команду:

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

Ова команда покреће цертбот, кључеве -d дефинише називе домена за које треба издати сертификат.

Ако је ово први пут да покрећете цертбот, од вас ће бити затражено да унесете своју адресу е-поште и прихватите услове коришћења услуге. цертбот ће тада контактирати сервер Лет'с Енцрипт и затим потврдити да заиста контролишете домен за који сте затражили сертификат.

Ако је све прошло добро, цертбот ће питати како желите да конфигуришете ХТТПС конфигурацију:

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 и притиснете ЕНТЕР. Конфигурација ће бити ажурирана и Апацхе ће бити поново покренут да примени промене.

Ваши сертификати су сада преузети, инсталирани и раде. Покушајте да поново учитате своју веб локацију са хттпс:// и видећете безбедносну икону у свом претраживачу. Ако тестирате свој сервер Тест ССЛ Лабс сервера, добиће А оцену.

Лет'с Енцрипт сертификати важе само 90 дана, али пакет цертбот који смо управо инсталирали ће аутоматски обновити сертификате. Да бисмо тестирали процес ажурирања, можемо да извршимо суво покретање цертбота:

$ sudo certbot renew --dry-run 

Ако не видите никакве грешке као резултат покретања ове команде, онда све ради!

Корак 5: Приступите МиСКЛ-у и пхпМиАдмин-у

Многе веб странице користе базе података. Алат пхпМиАдмин за управљање базом података је већ инсталиран на нашем серверу. Да бисте му приступили, идите у прегледач користећи везу као што је:

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

Лозинка за роот приступ се може добити на вашем МЦС личном налогу (https://mcs.mail.ru/app/services/marketplace/apps/). Не заборавите да промените своју роот лозинку када се први пут пријавите!

Корак 6: Подесите отпремање датотека преко СФТП-а

Програмерима ће бити згодно да отпреме датотеке за вашу веб локацију путем СФТП-а. Да бисмо то урадили, креираћемо новог корисника, назвати га вебмастер:

$ sudo adduser webmaster

Систем ће од вас тражити да поставите лозинку и унесете неке друге податке.

Промена власника директоријума са вашом веб локацијом:

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

Сада променимо ССХ конфигурацију тако да нови корисник има приступ само СФТП-у, а не ССХ терминалу:

$ 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

Сада се можете повезати са сервером преко било ког СФТП клијента, на пример, преко ФилеЗилла.

Укупан

  1. Сада знате како да креирате нове директоријуме и конфигуришете виртуелне хостове за своје веб локације у оквиру истог сервера.
  2. Можете лако да креирате неопходне ССЛ сертификате - бесплатно је и аутоматски ће се ажурирати.
  3. Можете једноставно да радите са МиСКЛ базом података преко познатог пхпМиАдмин-а.
  4. Креирање нових СФТП налога и подешавање права приступа не захтева много труда. Такви налози се могу пренети на веб програмере трећих страна и администраторе сајта.
  5. Не заборавите да повремено ажурирате систем, а препоручујемо и прављење резервних копија - у МЦС-у можете једним кликом направити „снимке“ целог система, а затим, ако је потребно, покренути целе слике.

Коришћени ресурси који могу бити корисни:

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

Узгред, овде На ВЦ можете прочитати како је наша фондација применила платформу за онлајн образовање за сирочад засновану на МЦС облаку.

Извор: ввв.хабр.цом

Додај коментар