Ei kauan sitten Mail.Ru Cloud Solutions (MCS) ja Dobro Mail.Ru -palvelu käynnistivät projektin "
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.
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":
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ä:
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 @
):
Aliverkkotunnusten A-tietue määritetään yleensä seuraavasti:
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
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 (
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
- Nyt tiedät kuinka luoda uusia hakemistoja ja määrittää virtuaalisia isäntiä verkkosivustoillesi samalla palvelimella.
- Voit helposti luoda tarvittavat SSL-sertifikaatit - se on ilmaista ja ne päivittyvät automaattisesti.
- Voit työskennellä MySQL-tietokannan kanssa kätevästi tutun phpMyAdminin kautta.
- 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.
- Ä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ä:
muuten,
Lähde: will.com