Cloud for Charities: Migration Guide

Cloud for Charities: Migration Guide

Ei kauan sitten Mail.Ru Cloud Solutions (MCS) ja Dobro Mail.Ru -palvelu käynnistivät projektin "Pilvi hyväntekeväisyysjärjestöille”, jonka ansiosta voittoa tavoittelemattomat organisaatiot voivat hankkia MCS-pilvialustan resursseja ilmaiseksi. Hyväntekeväisyyssäätiö"Hyvyyden aritmetiikka» osallistui projektiin ja otti onnistuneesti käyttöön osan MCS-pohjaisesta infrastruktuuristaan.

Validoinnin läpäisemisen jälkeen NPO voi vastaanottaa virtuaalista kapasiteettia MCS:stä, mutta lisämääritykset edellyttävät tiettyjä pätevyyksiä. Tässä materiaalissa haluamme jakaa tarkat ohjeet Ubuntu Linux -pohjaisen palvelimen määrittämiseksi säätiön pääsivustoa ja useita aliverkkotunnuksia varten käyttämällä ilmaisia ​​SSL-varmenteita. Monille tämä on yksinkertainen opas, mutta toivomme, että kokemuksemme on hyödyllinen muille voittoa tavoittelemattomille organisaatioille, eikä vain.

FYI: Mitä voit saada MCS:stä? 4 prosessoria, 32 Gt RAM, 1 Tt HDD, Ubuntu Linux OS, 500 Gt objektitallennustilaa.

Vaihe 1: käynnistä virtuaalipalvelin

Mennään suoraan asiaan ja luodaan virtuaalipalvelimemme (eli "instanssi") henkilökohtaiselle MCS-tilillesi. Sovelluskaupasta sinun on valittava ja asennettava valmis LAMP-pino, joka on joukko palvelinohjelmistoja (LAMP = Linux, Apache, MySQL, PHP), joita tarvitaan useimpien verkkosivustojen suorittamiseen.

Cloud for Charities: Migration Guide
Cloud for Charities: Migration Guide
Cloud for Charities: Migration Guide
Valitse sopiva palvelinkokoonpano ja luo uusi SSH-avain. Kun olet napsauttanut "Asenna" -painiketta, palvelimen ja LAMP-pinon asennus alkaa, tämä kestää jonkin aikaa. Järjestelmä tarjoaa myös yksityisen avaimen lataamisen tietokoneellesi virtuaalikoneen hallintaa varten konsolin kautta, tallenna se.

Asennetaan palomuuri heti sovelluksen asennuksen jälkeen, tämä tehdään myös henkilökohtaisella tililläsi: siirry kohtaan "Cloud computing -> Virtuaalikoneet" ja valitse "Palomuurin asettaminen":

Cloud for Charities: Migration Guide
Sinun on lisättävä lupa porttien 80 ja 9997 kautta tulevalle liikenteelle. Tämä on tarpeen tulevaisuudessa SSL-varmenteiden asentamiseksi ja phpMyAdminin käyttämiseksi. Tämän seurauksena sääntöjen tulisi näyttää tältä:

Cloud for Charities: Migration Guide
Nyt voit muodostaa yhteyden palvelimeesi komentorivin kautta käyttämällä SSH-protokollaa. Tee tämä kirjoittamalla seuraava komento osoittamalla tietokoneesi SSH-avainta ja palvelimesi ulkoista IP-osoitetta (löydät sen "Virtuaaliset koneet" -osiosta):

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

Kun muodostat yhteyden palvelimeen ensimmäistä kertaa, on suositeltavaa asentaa kaikki nykyiset päivitykset siihen ja käynnistää se uudelleen. Voit tehdä tämän suorittamalla seuraavat komennot:

$ sudo apt-get update

Järjestelmä vastaanottaa luettelon päivityksistä, asenna ne tällä komennolla ja seuraa ohjeita:

$ sudo apt-get upgrade

Päivitysten asentamisen jälkeen käynnistä palvelin uudelleen:

$ sudo reboot

Vaihe 2: Määritä virtuaaliset isännät

Monien järjestöjen on ylläpidettävä useita verkkotunnuksia tai aliverkkotunnuksia samanaikaisesti (esimerkiksi pääsivusto ja useita aloitussivuja mainoskampanjoille jne.). Kaikki tämä voidaan sijoittaa kätevästi yhdelle palvelimelle luomalla useita virtuaalisia isäntiä.

Ensin meidän on luotava hakemistorakenne sivustoille, jotka näytetään vierailijoille. Luodaan joitain hakemistoja:

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

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

Ja määritä nykyisen käyttäjän omistaja:

$ 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

muuttuja $USER sisältää käyttäjänimen, jolla olet tällä hetkellä kirjautuneena sisään (oletusarvoisesti tämä on käyttäjä ubuntu). Nyt nykyinen käyttäjä omistaa public_html-hakemistot, joihin tallennamme sisällön.

Meidän on myös muokattava hieman käyttöoikeuksia varmistaaksemme, että jaettuun verkkohakemistoon ja kaikkiin sen sisältämiin tiedostoihin ja kansioihin on sallittu lukuoikeus. Tämä on välttämätöntä, jotta sivuston sivut näkyvät oikein:

$ sudo chmod -R 755 /var/www

Web-palvelimellasi pitäisi nyt olla sisällön näyttämiseen tarvittavat oikeudet. Lisäksi käyttäjälläsi on nyt mahdollisuus luoda sisältöä vaadittuihin hakemistoihin.

/var/www/html-hakemistossa on jo index.php-tiedosto, kopioidaan se uusiin hakemistoihimme - tämä on sisältömme toistaiseksi:

$ 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

Nyt sinun on varmistettava, että käyttäjä pääsee sivustollesi. Tätä varten määritämme ensin virtuaaliset isäntätiedostot, jotka määrittävät kuinka Apache-verkkopalvelin vastaa pyyntöihin eri toimialueille.

Oletuksena Apachella on virtuaalinen isäntätiedosto 000-default.conf, jota voimme käyttää lähtökohtana. Kopioimme tämän luodaksemme virtuaalisia isäntätiedostoja jokaiselle verkkotunnuksellemme. Aloitamme yhdestä verkkotunnuksesta, määritämme sen, kopioimme sen toiseen verkkotunnukseen ja teemme sitten tarvittavat muutokset uudelleen.

Ubuntun oletuskokoonpano edellyttää, että jokaisella virtuaalipalvelintiedostolla on *.conf-tunniste.

Aloitetaan kopioimalla ensimmäisen verkkotunnuksen tiedosto:

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

Avaa uusi tiedosto editorissa pääkäyttäjän oikeuksin:

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

Muokkaa tietoja seuraavasti, määrittämällä portti 80, tietosi ServerAdmin, ServerName, ServerAlias, sekä polku sivustosi juurihakemistoon, tallenna tiedosto (Ctrl+X, sitten 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 asettaa ensisijaisen toimialueen, jonka on vastattava virtuaalisen isäntänimeä. Tämän on oltava verkkotunnuksesi nimi. Toinen, ServerAlias, määrittää muut nimet, jotka tulisi tulkita ensisijaiseksi toimialueeksi. Tämä on kätevää käytettäessä muita verkkotunnuksia, esimerkiksi käyttämällä www.

Kopioidaan tämä konfiguraatio toiselle isännälle ja muokataan sitä samalla tavalla:

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

Voit luoda verkkosivustoillesi niin monta hakemistoa ja virtuaalisia isäntiä kuin haluat! Nyt kun olemme luoneet virtuaaliset isäntätiedostomme, meidän on otettava ne käyttöön. Voimme käyttää a2ensite-apuohjelmaa salliaksemme jokaisen sivustomme seuraavasti:

$ sudo a2ensite a-dobra.ru.conf

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

Oletuksena portti 80 on suljettu LAMPissa, ja tarvitsemme sitä myöhemmin asentaaksemme SSL-varmenteen. Muokataan siis heti ports.conf-tiedostoa ja käynnistetään sitten Apache uudelleen:

$ sudo nano /etc/apache2/ports.conf

Lisää uusi rivi ja tallenna tiedosto siten, että se näyttää tältä:

Listen 80
Listen 443
Listen 9997

Kun olet tehnyt asetukset, sinun on käynnistettävä Apache uudelleen, jotta kaikki muutokset tulevat voimaan:

$ sudo systemctl reload apache2

Vaihe 3: Määritä verkkotunnukset

Seuraavaksi sinun on lisättävä DNS-tietueet, jotka osoittavat uuteen palvelimeesi. Arithmetic of Good Foundation käyttää verkkotunnusten hallintaan palvelua dns-master.ru, näytämme sen esimerkillä.

A-tietueen asettaminen päätoimialueelle osoitetaan yleensä seuraavasti (merkki @):

Cloud for Charities: Migration Guide
Aliverkkotunnusten A-tietue määritetään yleensä seuraavasti:

Cloud for Charities: Migration Guide
IP-osoite on juuri luomamme Linux-palvelimen osoite. Voit määrittää TTL = 3600.

Jonkin ajan kuluttua on mahdollista vierailla sivustollasi, mutta toistaiseksi vain kautta http://. Seuraavassa vaiheessa lisäämme tuen https://.

Vaihe 4: Määritä ilmaiset SSL-varmenteet

Voit hankkia ilmaisia ​​Let's Encrypt SSL -varmenteita pääsivustollesi ja kaikille aliverkkotunnuksille. Voit myös määrittää niiden automaattisen uusimisen, mikä on erittäin kätevää. Hanki SSL-varmenteet asentamalla Certbot palvelimellesi:

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

Asenna Certbot-paketti Apachelle käyttämällä apt:

$ sudo apt install python-certbot-apache 

Nyt Certbot on valmis käytettäväksi, suorita komento:

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

Tämä komento suorittaa certbot, keys -d määrittää niiden verkkotunnusten nimet, joille varmenne tulee myöntää.

Jos käynnistät certbotin ensimmäistä kertaa, sinua pyydetään antamaan sähköpostiosoitteesi ja hyväksymään palvelun käyttöehdot. certbot ottaa sitten yhteyttä Let's Encrypt -palvelimeen ja varmistaa sitten, että todella hallitset toimialuetta, jolle pyysit varmennetta.

Jos kaikki meni hyvin, certbot kysyy, kuinka haluat määrittää HTTPS-määrityksen:

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

Suosittelemme valitsemaan vaihtoehdon 2 ja painamaan ENTER. Kokoonpano päivitetään ja Apache käynnistetään uudelleen muutosten soveltamiseksi.

Varmenteet on nyt ladattu, asennettu ja toimivat. Yritä ladata sivustosi uudelleen osoitteessa https://, niin näet suojauskuvakkeen selaimessasi. Jos testaat palvelintasi SSL Labs Server Test, hän saa arvosanan A.

Let's Encrypt -sertifikaatit ovat voimassa vain 90 päivää, mutta juuri asentamamme certbot-paketti uusii varmenteet automaattisesti. Päivitysprosessin testaamiseksi voimme suorittaa certbotin kuivaajon:

$ sudo certbot renew --dry-run 

Jos et näe virheitä tämän komennon suorittamisen seurauksena, kaikki toimii!

Vaihe 5: Avaa MySQL ja phpMyAdmin

Monet sivustot käyttävät tietokantoja. Tietokannan hallintaan tarkoitettu phpMyAdmin-työkalu on jo asennettu palvelimellemme. Pääset siihen siirtymällä selaimeesi seuraavan linkin kautta:

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

Pääkäyttäjän salasanan saat henkilökohtaiselta MCS-tililtäsi (https://mcs.mail.ru/app/services/marketplace/apps/). Älä unohda vaihtaa root-salasanaa, kun kirjaudut sisään ensimmäisen kerran!

Vaihe 6: Määritä tiedostojen lataus SFTP:n kautta

Kehittäjien on kätevää ladata tiedostoja verkkosivustollesi SFTP:n kautta. Tätä varten luomme uuden käyttäjän, kutsumme häntä verkkovastaavaksi:

$ sudo adduser webmaster

Järjestelmä pyytää sinua asettamaan salasanan ja antamaan joitain muita tietoja.

Hakemiston omistajan vaihtaminen verkkosivustollasi:

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

Muutetaan nyt SSH-asetusta niin, että uudella käyttäjällä on pääsy vain SFTP:hen eikä SSH-päätteeseen:

$ sudo nano /etc/ssh/sshd_config

Vieritä määritystiedoston loppuun ja lisää seuraava lohko:

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

Tallenna tiedosto ja käynnistä palvelu uudelleen:

$ sudo systemctl restart sshd

Nyt voit muodostaa yhteyden palvelimeen minkä tahansa SFTP-asiakkaan kautta, esimerkiksi FileZillan kautta.

Koko

  1. Nyt tiedät kuinka luoda uusia hakemistoja ja määrittää virtuaalisia isäntiä verkkosivustoillesi samalla palvelimella.
  2. Voit helposti luoda tarvittavat SSL-sertifikaatit - se on ilmaista ja ne päivittyvät automaattisesti.
  3. Voit työskennellä MySQL-tietokannan kanssa kätevästi tutun phpMyAdminin kautta.
  4. Uusien SFTP-tilien luominen ja käyttöoikeuksien määrittäminen ei vaadi paljon vaivaa. Tällaiset tilit voidaan siirtää kolmannen osapuolen verkkokehittäjille ja sivustojen ylläpitäjille.
  5. Älä unohda päivittää järjestelmää säännöllisesti, ja suosittelemme myös varmuuskopioiden tekemistä - MCS:ssä voit ottaa "snapshots" -kuvia koko järjestelmästä yhdellä napsautuksella ja käynnistää sitten tarvittaessa kokonaisia ​​kuvia.

Käytetyt resurssit, joista voi olla hyötyä:

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

muuten, täällä Voit lukea VC:stä, kuinka säätiömme otti käyttöön MCS-pilveen perustuvan alustan orpojen verkkokoulutukseen.

Lähde: will.com

Lisää kommentti