Cloud for Charities: Migration Guide

Cloud for Charities: Migration Guide

Ekki er langt síðan Mail.Ru Cloud Solutions (MCS) og Dobro Mail.Ru þjónustan hleyptu af stokkunum verkefninu "Ský fyrir góðgerðarfélög“, þökk sé þeim sjálfseignarstofnunum sem geta fengið auðlindir MCS skýjapallsins ókeypis. Góðgerðarsjóður“Reikningur gæsku» tók þátt í verkefninu og setti upp hluta af innviðum þess sem byggðist á MCS með góðum árangri.

Eftir að hafa staðist löggildingu getur NPO fengið sýndargetu frá MCS, en frekari uppsetning krefst ákveðinna hæfis. Í þessu efni viljum við deila sérstökum leiðbeiningum um að setja upp Ubuntu Linux-undirstaða netþjón til að keyra helstu grunnvefsíðuna og fjölda undirléna með ókeypis SSL vottorðum. Fyrir marga verður þetta einföld leiðarvísir, en við vonum að reynsla okkar nýtist öðrum sjálfseignarstofnunum og ekki aðeins.

FYI: Hvað er hægt að fá frá MCS? 4 örgjörvar, 32 GB vinnsluminni, 1 TB HDD, Ubuntu Linux stýrikerfi, 500 GB geymslupláss.

Skref 1: ræstu sýndarþjóninn

Komum okkur beint að efninu og búum til sýndarþjónninn okkar (aka „tilvik“) á MCS persónulega reikningnum þínum. Í app-versluninni þarftu að velja og setja upp tilbúinn LAMP-stafla, sem er sett af miðlarahugbúnaði (LAMP = Linux, Apache, MySQL, PHP) sem þarf til að keyra flestar vefsíður.

Cloud for Charities: Migration Guide
Cloud for Charities: Migration Guide
Cloud for Charities: Migration Guide
Veldu viðeigandi stillingu miðlara og búðu til nýjan SSH lykil. Eftir að hafa smellt á „Setja upp“ hnappinn mun uppsetning þjónsins og LAMP stafla hefjast, þetta mun taka nokkurn tíma. Kerfið mun einnig bjóða upp á að hlaða niður einkalykli á tölvuna þína til að stjórna sýndarvélinni í gegnum stjórnborðið, vista hana.

Eftir að forritið hefur verið sett upp skulum við strax setja upp eldvegginn, þetta er líka gert á persónulegum reikningi þínum: farðu í hlutann „Cloud computing -> Sýndarvélar“ og veldu „Setting the firewall“:

Cloud for Charities: Migration Guide
Þú þarft að bæta við leyfi fyrir komandi umferð í gegnum port 80 og 9997. Þetta er nauðsynlegt í framtíðinni til að setja upp SSL vottorð og til að vinna með phpMyAdmin. Þar af leiðandi ætti regluverkið að líta svona út:

Cloud for Charities: Migration Guide
Nú geturðu tengst netþjóninum þínum í gegnum skipanalínuna með því að nota SSH samskiptareglur. Til að gera þetta skaltu slá inn eftirfarandi skipun og benda á SSH lykilinn á tölvunni þinni og ytri IP tölu netþjónsins þíns (þú getur fundið það í „Virtual machines“ hlutanum):

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

Þegar þú tengist netþjóninum í fyrsta skipti er mælt með því að setja upp allar núverandi uppfærslur á honum og endurræsa hann. Til að gera þetta skaltu keyra eftirfarandi skipanir:

$ sudo apt-get update

Kerfið mun fá lista yfir uppfærslur, setja þær upp með þessari skipun og fylgja leiðbeiningunum:

$ sudo apt-get upgrade

Eftir að uppfærslurnar hafa verið settar upp skaltu endurræsa þjóninn:

$ sudo reboot

Skref 2: Settu upp sýndargestgjafa

Margir sjálfseignarstofnanir þurfa að viðhalda nokkrum lénum eða undirlénum á sama tíma (til dæmis aðalvefsíðu og nokkrar áfangasíður fyrir kynningarherferðir osfrv.). Allt þetta er hægt að setja á einn netþjón með því að búa til nokkra sýndargestgjafa.

Fyrst þurfum við að búa til möppuskipulag fyrir síðurnar sem verða birtar gestum. Við skulum búa til nokkrar möppur:

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

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

Og tilgreindu eiganda núverandi notanda:

$ 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

Breytilegt $USER inniheldur notandanafnið sem þú ert skráður inn undir (sjálfgefið er þetta notandinn ubuntu). Núverandi notandi á public_html möppurnar þar sem við munum geyma efnið.

Við þurfum líka að breyta heimildunum aðeins til að tryggja að lesaðgangur sé leyfður að sameiginlegu vefskránni og öllum skrám og möppum sem hún inniheldur. Þetta er nauðsynlegt til að síðurnar sýnist rétt:

$ sudo chmod -R 755 /var/www

Vefþjónninn þinn ætti nú að hafa þær heimildir sem hann þarf til að birta efnið. Að auki hefur notandinn þinn nú möguleika á að búa til efni í nauðsynlegum möppum.

Það er nú þegar index.php skrá í /var/www/html möppunni, við skulum afrita hana í nýju möppurnar okkar - þetta verður efnið okkar í bili:

$ 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

Nú þarftu að ganga úr skugga um að notandinn hafi aðgang að síðunni þinni. Til að gera þetta munum við fyrst stilla sýndarhýsingarskrárnar, sem ákvarða hvernig Apache vefþjónninn mun bregðast við beiðnum til mismunandi léna.

Sjálfgefið er að Apache er með sýndarhýsingarskrá 000-default.conf sem við getum notað sem upphafspunkt. Við ætlum að afrita þetta til að búa til sýndarhýsingarskrár fyrir hvert lén okkar. Við byrjum á einu léni, stillum það, afritum það yfir á annað lén og gerum síðan nauðsynlegar breytingar aftur.

Sjálfgefin uppsetning Ubuntu krefst þess að hver sýndarhýsingarskrá hafi *.conf endingu.

Byrjum á því að afrita skrána fyrir fyrsta lénið:

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

Opnaðu nýja skrá í ritstjóra með rótarréttindi:

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

Breyttu gögnunum á eftirfarandi hátt, tilgreindu höfn 80, gögnin þín fyrir ServerAdmin, ServerName, ServerAlias, sem og slóðina að rótarskrá síðunnar þinnar, vistaðu skrána (Ctrl+X, síðan 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 setur aðallénið, sem verður að passa við sýndarhýsingarheitið. Þetta verður að vera lénið þitt. Í öðru lagi, ServerAlias, skilgreinir önnur nöfn sem ætti að túlka eins og það væri aðallénið. Þetta er þægilegt til að nota fleiri lén, til dæmis með www.

Við skulum afrita þessa stillingu fyrir annan hýsil og breyta henni líka á sama hátt:

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

Þú getur búið til eins margar möppur og sýndargestgjafa fyrir vefsíðurnar þínar og þú vilt! Nú þegar við höfum búið til sýndarhýsingarskrárnar okkar þurfum við að virkja þær. Við getum notað a2ensite tólið til að virkja allar síður okkar eins og þetta:

$ sudo a2ensite a-dobra.ru.conf

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

Sjálfgefið er að höfn 80 er lokuð í LAMP og við munum þurfa það síðar til að setja upp SSL vottorð. Svo skulum við breyta ports.conf skránni strax og endurræsa Apache:

$ sudo nano /etc/apache2/ports.conf

Bættu við nýrri línu og vistaðu skrána svo hún líti svona út:

Listen 80
Listen 443
Listen 9997

Eftir að þú hefur lokið við stillingarnar þarftu að endurræsa Apache til að allar breytingar taki gildi:

$ sudo systemctl reload apache2

Skref 3: Settu upp lén

Næst þarftu að bæta við DNS færslum sem vísa á nýja netþjóninn þinn. Til að stjórna lénum notar Arithmetic of Good Foundation okkar þjónustuna dns-master.ru, við munum sýna það með dæmi.

Að setja upp A-skrá fyrir aðallénið er venjulega tilgreint sem hér segir (merki @):

Cloud for Charities: Migration Guide
A-skráin fyrir undirlén er venjulega tilgreind svona:

Cloud for Charities: Migration Guide
IP-talan er heimilisfang Linux netþjónsins sem við bjuggum til. Þú getur tilgreint TTL = 3600.

Eftir nokkurn tíma verður hægt að heimsækja síðuna þína, en í bili aðeins í gegnum http://. Í næsta skrefi munum við bæta við stuðningi https://.

Skref 4: Settu upp ókeypis SSL vottorð

Þú getur fengið ókeypis Let's Encrypt SSL vottorð fyrir aðalsíðuna þína og öll undirlén. Þú getur líka stillt sjálfvirka endurnýjun þeirra, sem er mjög þægilegt. Til að fá SSL vottorð skaltu setja upp Certbot á netþjóninum þínum:

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

Settu upp Certbot pakkann fyrir Apache með því að nota apt:

$ sudo apt install python-certbot-apache 

Nú er Certbot tilbúið til notkunar, keyrðu skipunina:

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

Þessi skipun keyrir certbot, lykla -d skilgreina nöfn lénanna sem skírteinið á að gefa út fyrir.

Ef þetta er í fyrsta skipti sem þú ræsir certbot verður þú beðinn um að slá inn netfangið þitt og samþykkja notkunarskilmála þjónustunnar. certbot mun síðan hafa samband við Let's Encrypt netþjóninn og síðan staðfesta að þú hafir í raun stjórn á léninu sem þú baðst um vottorðið fyrir.

Ef allt gekk vel mun certbot spyrja hvernig þú vilt stilla HTTPS stillinguna:

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):

Við mælum með því að velja valmöguleika 2 og ýta á ENTER. Stillingin verður uppfærð og Apache verður endurræst til að beita breytingunum.

Vottorðin þín eru nú hlaðið niður, sett upp og virka. Prófaðu að endurhlaða síðuna þína með https:// og þú munt sjá öryggistáknið í vafranum þínum. Ef þú prófar netþjóninn þinn SSL Labs Server Test, mun hann fá A-einkunn.

Let's Encrypt vottorð gilda aðeins í 90 daga, en certbot pakkinn sem við settum upp mun endurnýja vottorð sjálfkrafa. Til að prófa uppfærsluferlið getum við gert þurrkeyrslu af certbot:

$ sudo certbot renew --dry-run 

Ef þú sérð engar villur vegna þess að keyra þessa skipun, þá er allt að virka!

Skref 5: Fáðu aðgang að MySQL og phpMyAdmin

Margar vefsíður nota gagnagrunna. phpMyAdmin tólið fyrir gagnagrunnsstjórnun er þegar uppsett á þjóninum okkar. Til að fá aðgang að því skaltu fara í vafrann þinn með því að nota tengil eins og:

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

Lykilorðið fyrir rótaraðgang er hægt að fá á MCS persónulega reikningnum þínum (https://mcs.mail.ru/app/services/marketplace/apps/). Ekki gleyma að breyta rót lykilorðinu þínu í fyrsta skipti sem þú skráir þig inn!

Skref 6: Settu upp skráarhleðslu í gegnum SFTP

Hönnuðir munu finna það þægilegt að hlaða upp skrám fyrir vefsíðuna þína í gegnum SFTP. Til að gera þetta munum við búa til nýjan notanda, kalla hann vefstjóra:

$ sudo adduser webmaster

Kerfið mun biðja þig um að setja lykilorð og slá inn önnur gögn.

Breyting á eiganda möppunnar með vefsíðunni þinni:

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

Nú skulum við breyta SSH stillingunni þannig að nýi notandinn hafi aðeins aðgang að SFTP en ekki SSH flugstöðinni:

$ sudo nano /etc/ssh/sshd_config

Skrunaðu til enda stillingaskrárinnar og bættu við eftirfarandi blokk:

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

Vistaðu skrána og endurræstu þjónustuna:

$ sudo systemctl restart sshd

Nú geturðu tengst þjóninum í gegnum hvaða SFTP biðlara sem er, til dæmis í gegnum FileZilla.

Samtals

  1. Nú veistu hvernig á að búa til nýjar möppur og stilla sýndargestgjafa fyrir vefsíður þínar á sama netþjóni.
  2. Þú getur auðveldlega búið til nauðsynleg SSL vottorð - það er ókeypis og þau verða uppfærð sjálfkrafa.
  3. Þú getur auðveldlega unnið með MySQL gagnagrunninn í gegnum kunnuglega phpMyAdmin.
  4. Það þarf ekki mikla fyrirhöfn að búa til nýja SFTP reikninga og setja upp aðgangsréttindi. Slíka reikninga er hægt að flytja til þriðja aðila vefhönnuða og vefstjórnenda.
  5. Ekki gleyma að uppfæra kerfið reglulega og við mælum líka með að taka öryggisafrit - í MCS geturðu tekið „skyndimyndir“ af öllu kerfinu með einum smelli og síðan, ef nauðsyn krefur, ræst heilar myndir.

Notuð úrræði sem gætu verið gagnleg:

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

Tilviljun, hér Þú getur lesið á VC hvernig stofnunin okkar setti upp vettvang fyrir netfræðslu fyrir munaðarlaus börn byggð á MCS skýinu.

Heimild: www.habr.com

Bæta við athugasemd