Ongintzako Hodeia: Migrazio Gida

Ongintzako Hodeia: Migrazio Gida

Duela ez asko, Mail.Ru Cloud Solutions (MCS) eta Dobro Mail.Ru zerbitzuak proiektua martxan jarri zuten "Hodeia ongintzarako”, horri esker irabazi asmorik gabeko erakundeek MCS hodeiko plataformaren baliabideak doan eskura ditzakete. Ongintzazko Fundazioa"Ontasunaren aritmetika» proiektuan parte hartu zuen eta MCSn oinarritutako bere azpiegituren zati bat arrakastaz zabaldu zuen.

Balioztatzea gainditu ondoren, NPO batek MCS-ren gaitasun birtuala jaso dezake, baina konfigurazio gehiagorako titulazio batzuk behar dira. Material honetan, Ubuntu Linux-en oinarritutako zerbitzari bat konfiguratzeko argibide zehatzak partekatu nahi ditugu fundazioko webgune nagusia eta doako SSL ziurtagiriak erabiliz azpidomeinu batzuk exekutatzeko. Askorentzat gida sinple bat izango da hau, baina espero dugu gure esperientzia irabazi asmorik gabeko beste erakunde batzuentzat erabilgarria izatea, eta ez bakarrik.

FYI: Zer lor dezakezu MCStik? 4 CPU, 32 GB RAM, 1 TB HDD, Ubuntu Linux OS, 500 GB objektu biltegiratzea.

1. urratsa: abiarazi zerbitzari birtuala

Goazen zuzenean puntura eta sortu gure zerbitzari birtuala ("instantzia") zure MCS kontu pertsonalean. Aplikazio dendan, prest egindako LAMP pila bat hautatu eta instalatu behar duzu, hau da, zerbitzariaren software multzoa (LAMP = Linux, Apache, MySQL, PHP) webgune gehienak exekutatzeko beharrezkoak diren.

Ongintzako Hodeia: Migrazio Gida
Ongintzako Hodeia: Migrazio Gida
Ongintzako Hodeia: Migrazio Gida
Hautatu zerbitzariaren konfigurazio egokia eta sortu SSH gako berri bat. "Instalatu" botoian klik egin ondoren, zerbitzariaren eta LAMP pilaren instalazioa hasiko da, honek denbora pixka bat beharko du. Sistemak gako pribatu bat zure ordenagailura deskargatzeko ere eskainiko du kontsolaren bidez makina birtuala kudeatzeko, gorde.

Aplikazioa instalatu ondoren, berehala konfigura dezagun suebakia, hau ere zure kontu pertsonalean egiten da: joan “Cloud computing -> Makina birtualak” atalera eta hautatu “Suebakia ezartzea”:

Ongintzako Hodeia: Migrazio Gida
Sarrerako trafikorako baimena gehitu behar duzu 80 eta 9997 atakatik. Hau beharrezkoa da etorkizunean SSL ziurtagiriak instalatzeko eta phpMyAdmin-ekin lan egiteko. Ondorioz, arau multzoak honela izan behar du:

Ongintzako Hodeia: Migrazio Gida
Orain zure zerbitzariarekin konekta zaitezke komando-lerroaren bidez SSH protokoloa erabiliz. Horretarako, idatzi komando hau, zure ordenagailuko SSH gakoa eta zure zerbitzariaren kanpoko IP helbidea seinalatuz («Makina birtualak» atalean aurki dezakezu):

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

Zerbitzariarekin lehen aldiz konektatzean, uneko eguneratze guztiak bertan instalatzea eta berrabiaraztea gomendatzen da. Horretarako, exekutatu komando hauek:

$ sudo apt-get update

Sistemak eguneratze-zerrenda bat jasoko du, komando hau erabiliz instalatu eta argibideak jarraitu:

$ sudo apt-get upgrade

Eguneraketak instalatu ondoren, berrabiarazi zerbitzaria:

$ sudo reboot

2. urratsa: konfiguratu ostalari birtualak

Irabazi-asmorik gabeko erakunde askok hainbat domeinu edo azpidomeinu mantendu behar dituzte aldi berean (adibidez, webgune nagusi bat eta sustapen-kanpainetarako hainbat lurreratze-orri, etab.). Hori guztia zerbitzari batean eroso jar daiteke hainbat ostalari birtual sortuz.

Lehenik eta behin, bisitariei bistaratuko diren guneetarako direktorio-egitura bat sortu behar dugu. Sor ditzagun direktorio batzuk:

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

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

Eta zehaztu uneko erabiltzailearen jabea:

$ 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

Aldakorra $USER une honetan saioa hasita zauden erabiltzaile-izena dauka (lehenespenez, hau da erabiltzailea ubuntu). Orain uneko erabiltzailea edukia gordeko dugun public_html direktorioen jabea da.

Baimenak ere pixka bat editatu behar ditugu web-direktorio partekatuan eta dituen fitxategi eta karpeta guztietan irakurtzeko sarbidea baimenduta dagoela ziurtatzeko. Hau beharrezkoa da guneko orriak behar bezala bistaratzeko:

$ sudo chmod -R 755 /var/www

Zure web zerbitzariak edukia bistaratzeko behar dituen baimenak izan beharko lituzke orain. Gainera, zure erabiltzaileak beharrezko direktorioetan edukia sortzeko gaitasuna du orain.

Dagoeneko index.php fitxategi bat dago /var/www/html direktorioan, kopia dezagun gure direktorio berrietan - hau izango da gure edukia oraingoz:

$ 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

Orain ziurtatu behar duzu erabiltzailea zure gunera sar daitekeela. Horretarako, lehenik ostalari birtualen fitxategiak konfiguratuko ditugu, eta horiek zehazten dute Apache web zerbitzariak domeinu ezberdinetako eskaerei nola erantzungo dien.

Lehenespenez, Apache-k abiapuntu gisa erabil dezakegun 000-default.conf ostalari-fitxategi birtuala du. Hau kopiatuko dugu gure domeinu bakoitzeko ostalari-fitxategi birtualak sortzeko. Domeinu batekin hasiko gara, konfiguratuko dugu, beste domeinu batera kopiatu eta, ondoren, beharrezko aldaketak egingo ditugu berriro.

Ubunturen konfigurazio lehenetsiak ostalari birtual fitxategi bakoitzak *.conf luzapena izatea eskatzen du.

Has gaitezen lehen domeinurako fitxategia kopiatzen:

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

Ireki fitxategi berri bat root-eskubideak dituen editore batean:

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

Editatu datuak honela, 80 ataka zehaztuz, zure datuak ServerAdmin, ServerName, ServerAlias, baita zure guneko erroko direktoriorako bidea ere, gorde fitxategia (Ktrl+X, gero 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 domeinu nagusia ezartzen du, ostalari birtualaren izenarekin bat etorri behar duena. Hau zure domeinu izena izan behar du. Bigarrena, ServerAlias, domeinu nagusia izango balitz bezala interpretatu beharreko beste izen batzuk definitzen ditu. Hau erosoa da domeinu-izen osagarriak erabiltzeko, adibidez www.

Kopiatu konfigurazio hau beste ostalari baterako eta edita dezagun era berean:

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

Zure webguneetarako nahi adina direktorio eta ostalari birtual sor ditzakezu! Orain gure ostalari birtualak fitxategiak sortu ditugunean, gaitu behar ditugu. a2ensite utilitatea erabil dezakegu gure gune bakoitza honela gaitzeko:

$ sudo a2ensite a-dobra.ru.conf

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

Lehenespenez, 80 ataka itxita dago LAMP-en, eta geroago beharko dugu SSL ziurtagiria instalatzeko. Beraz, berehala edita dezagun ports.conf fitxategia eta gero berrabiarazi Apache:

$ sudo nano /etc/apache2/ports.conf

Gehitu lerro berri bat eta gorde fitxategia honela izan dezan:

Listen 80
Listen 443
Listen 9997

Ezarpenak osatu ondoren, Apache berrabiarazi behar duzu aldaketa guztiak indarrean izan daitezen:

$ sudo systemctl reload apache2

3. urratsa: konfiguratu domeinu-izenak

Ondoren, zure zerbitzari berrira zuzenduko duten DNS erregistroak gehitu behar dituzu. Domeinuak kudeatzeko, gure Arithmetic of Good Foundation-ek dns-master.ru zerbitzua erabiltzen du, adibide batekin erakutsiko dugu.

Domeinu nagusirako A-erregistro bat konfiguratzea honela adierazi ohi da (ikurra @):

Ongintzako Hodeia: Migrazio Gida
Azpidomeinuetarako A erregistroa honela zehazten da normalean:

Ongintzako Hodeia: Migrazio Gida
IP helbidea sortu berri dugun Linux zerbitzariaren helbidea da. TTL = 3600 zehaztu dezakezu.

Denbora pixka bat igaro ondoren, zure webgunea bisitatu ahal izango da, baina oraingoz soilik bidez http://. Hurrengo urratsean laguntza gehituko dugu https://.

4. urratsa: konfiguratu doako SSL ziurtagiriak

Doan lor ditzakezu Let's Encrypt SSL ziurtagiriak zure gune nagusirako eta azpidomeinu guztietarako. Beren berritze automatikoa ere konfigura dezakezu, eta hori oso erosoa da. SSL ziurtagiriak lortzeko, instalatu Certbot zure zerbitzarian:

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

Instalatu Apacherako Certbot paketea erabiliz apt:

$ sudo apt install python-certbot-apache 

Orain Certbot erabiltzeko prest dago, exekutatu komandoa:

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

Komando honek certbot, keys exekutatzen ditu -d zehaztea ziurtagiria igorri behar den domeinuen izenak.

Certbot abiarazten duzun lehen aldia bada, zure helbide elektronikoa sartzeko eta zerbitzuaren erabilera-baldintzak onartzeko eskatuko zaizu. Certbot-ek Let's Encrypt zerbitzariarekin harremanetan jarriko da eta gero egiaztatuko duzu ziurtagiria eskatu duzun domeinua kontrolatzen duzula.

Dena ondo joan bada, certbot-ek HTTPS konfigurazioa nola konfiguratu nahi duzun galdetuko dizu:

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. aukera hautatzea eta ENTER sakatzea gomendatzen dugu. Konfigurazioa eguneratuko da eta Apache berrabiaraziko da aldaketak aplikatzeko.

Zure ziurtagiriak deskargatu, instalatu eta funtzionatzen ari dira. Saiatu zure webgunea berriro kargatzen https://-rekin eta segurtasun ikonoa ikusiko duzu arakatzailean. Zure zerbitzaria probatzen baduzu SSL Labs zerbitzariaren proba, A nota jasoko du.

Let's Encrypt ziurtagiriek 90 egunetarako balio dute soilik, baina instalatu berri dugun certbot paketeak automatikoki berrituko ditu ziurtagiriak. Eguneratze prozesua probatzeko, certbot-en exekuzio lehor bat egin dezakegu:

$ sudo certbot renew --dry-run 

Komando hau exekutatzearen ondorioz akatsik ikusten ez baduzu, dena funtzionatzen ari da!

5. urratsa: Sartu MySQL eta phpMyAdmin

Webgune askok datu-baseak erabiltzen dituzte. Datu-baseak kudeatzeko phpMyAdmin tresna dagoeneko instalatuta dago gure zerbitzarian. Bertara sartzeko, joan nabigatzailera honelako esteka bat erabiliz:

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

Root sartzeko pasahitza zure MCS kontu pertsonalean lor dezakezu (https://mcs.mail.ru/app/services/marketplace/apps/). Ez ahaztu zure root pasahitza aldatzea saioa hasten zaren lehen aldian!

6. urratsa: Konfiguratu fitxategiak kargatzeko SFTP bidez

Garatzaileei komenigarria izango zaie zure webgunerako fitxategiak SFTP bidez kargatzea. Horretarako, erabiltzaile berri bat sortuko dugu, deitu webmaster:

$ sudo adduser webmaster

Sistemak pasahitz bat ezartzeko eta beste datu batzuk sartzeko eskatuko dizu.

Direktorioaren jabea zure webgunearekin aldatzea:

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

Orain alda dezagun SSH konfigurazioa, erabiltzaile berriak SFTPrako sarbidea soilik izan dezan eta ez SSH terminalerako:

$ sudo nano /etc/ssh/sshd_config

Joan konfigurazio fitxategiaren amaieraraino eta gehitu bloke hau:

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

Gorde fitxategia eta berrabiarazi zerbitzua:

$ sudo systemctl restart sshd

Orain zerbitzariari edozein SFTP bezeroren bidez konekta zaitezke, adibidez, FileZillaren bidez.

Guztira

  1. Orain badakizu nola sortu direktorio berriak eta zure webguneetarako ostalari birtualak nola konfiguratu zerbitzari berean.
  2. Erraz sor ditzakezu beharrezko SSL ziurtagiriak - doakoa da eta automatikoki eguneratuko dira.
  3. MySQL datu-basearekin eroso lan egin dezakezu phpMyAdmin ezagunaren bidez.
  4. SFTP kontu berriak sortzeak eta sarbide-eskubideak ezartzeak ez du esfortzu handirik behar. Horrelako kontuak hirugarrenen web garatzaileei eta guneko administratzaileei transferi dakizkieke.
  5. Ez ahaztu sistema aldian-aldian eguneratzea, eta babeskopiak egitea ere gomendatzen dugu - MCS-n sistema osoaren "instantaneak" egin ditzakezu klik batekin, eta gero, behar izanez gero, irudi osoak abiarazi.

Erabilgarriak izan daitezkeen baliabideak:

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

Bide batez, Hemen VC-n irakur dezakezu gure fundazioak MCS hodeian oinarritutako umezurtzentzako lineako hezkuntzarako plataforma nola zabaldu zuen.

Iturria: www.habr.com

Gehitu iruzkin berria