Pirms neilga laika Mail.Ru Cloud Solutions (MCS) un pakalpojums Dobro Mail.Ru uzsÄka projektu ā
PÄc apstiprinÄÅ”anas NPO var saÅemt virtuÄlo jaudu no MCS, taÄu turpmÄkai konfigurÄÅ”anai ir nepiecieÅ”ama noteikta kvalifikÄcija. Å ajÄ materiÄlÄ mÄs vÄlamies sniegt konkrÄtus norÄdÄ«jumus par Ubuntu Linux servera iestatÄ«Å”anu, lai palaistu galveno fonda vietni un vairÄkus apakÅ”domÄnus, izmantojot bezmaksas SSL sertifikÄtus. Daudziem Ŕī bÅ«s vienkÄrÅ”a rokasgrÄmata, taÄu ceram, ka mÅ«su pieredze noderÄs arÄ« citÄm bezpeļÅas organizÄcijÄm, un ne tikai.
FYI: Ko jÅ«s varat saÅemt no MCS? 4 CPU, 32 GB RAM, 1 TB HDD, Ubuntu Linux OS, 500 GB objektu krÄtuve.
1. darbÄ«ba: palaidiet virtuÄlo serveri
SÄksim tieÅ”i pie lietas un savÄ MCS personÄ«gajÄ kontÄ izveidosim savu virtuÄlo serveri (aka āinstanceā). Lietojumprogrammu veikalÄ ir jÄizvÄlas un jÄinstalÄ gatavs LAMP steks, kas ir servera programmatÅ«ras komplekts (LAMP = Linux, Apache, MySQL, PHP), kas nepiecieÅ”ams, lai darbinÄtu lielÄko daļu vietÅu.
IzvÄlieties atbilstoÅ”o servera konfigurÄciju un izveidojiet jaunu SSH atslÄgu. PÄc noklikŔķinÄÅ”anas uz pogas āInstalÄtā sÄksies servera un LAMP steka instalÄÅ”ana, kas prasÄ«s kÄdu laiku. SistÄma piedÄvÄs arÄ« lejupielÄdÄt jÅ«su datorÄ privÄto atslÄgu, lai pÄrvaldÄ«tu virtuÄlo maŔīnu, izmantojot konsoli, saglabÄjiet to.
PÄc lietojumprogrammas instalÄÅ”anas nekavÄjoties iestatÄ«sim ugunsmÅ«ri, tas tiek darÄ«ts arÄ« jÅ«su personÄ«gajÄ kontÄ: dodieties uz sadaļu āMÄkoÅdatoÅ”ana -> VirtuÄlÄs maŔīnasā un atlasiet āUgunsmÅ«ra iestatÄ«Å”anaā:
Jums jÄpievieno atļauja ienÄkoÅ”ajai trafikai caur portu 80 un 9997. Tas ir nepiecieÅ”ams nÄkotnÄ, lai instalÄtu SSL sertifikÄtus un strÄdÄtu ar phpMyAdmin. RezultÄtÄ noteikumu kopumam vajadzÄtu izskatÄ«ties Å”Ädi:
Tagad varat izveidot savienojumu ar serveri, izmantojot komandrindu, izmantojot SSH protokolu. Lai to izdarÄ«tu, ierakstiet Å”o komandu, norÄdot uz datora SSH atslÄgu un servera ÄrÄjo IP adresi (to var atrast sadaÄ¼Ä āVirtuÄlÄs maŔīnasā):
$ ssh -i /ŠæŃŃŃ/Šŗ/ŠŗŠ»ŃŃŃ/key.pem ubuntu@<ip_ŃŠµŃŠ²ŠµŃŠ°>
Pirmo reizi izveidojot savienojumu ar serveri, ieteicams tajÄ instalÄt visus paÅ”reizÄjos atjauninÄjumus un pÄrstartÄt. Lai to izdarÄ«tu, palaidiet Å”Ädas komandas:
$ sudo apt-get update
SistÄma saÅems atjauninÄjumu sarakstu, instalÄ tos, izmantojot Å”o komandu, un izpildiet norÄdÄ«jumus:
$ sudo apt-get upgrade
PÄc atjauninÄjumu instalÄÅ”anas restartÄjiet serveri:
$ sudo reboot
2. darbÄ«ba: iestatiet virtuÄlos saimniekdatorus
DaudzÄm bezpeļÅas organizÄcijÄm vienlaikus ir jÄuztur vairÄki domÄni vai apakÅ”domÄni (piemÄram, galvenÄ vietne un vairÄkas reklÄmas kampaÅu galvenÄs lapas utt.). To visu var Ärti novietot uz viena servera, izveidojot vairÄkus virtuÄlos saimniekus.
Vispirms mums ir jÄizveido direktoriju struktÅ«ra vietnÄm, kuras tiks parÄdÄ«tas apmeklÄtÄjiem. Izveidosim dažus direktorijus:
$ sudo mkdir -p /var/www/a-dobra.ru/public_html
$ sudo mkdir -p /var/www/promo.a-dobra.ru/public_html
Un norÄdiet paÅ”reizÄjÄ lietotÄja Ä«paÅ”nieku:
$ 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
Mainīgs $USER
satur lietotÄjvÄrdu, ar kuru paÅ”laik esat pieteicies (pÄc noklusÄjuma tas ir lietotÄjs ubuntu
). Tagad paÅ”reizÄjam lietotÄjam pieder public_html direktoriji, kuros mÄs glabÄsim saturu.
Mums ir arÄ« nedaudz jÄrediÄ£Ä atļaujas, lai pÄrliecinÄtos, ka ir atļauta lasÄ«Å”anas piekļuve koplietotajam tÄ«mekļa direktorijam un visiem tajÄ esoÅ”ajiem failiem un mapÄm. Tas ir nepiecieÅ”ams, lai vietnes lapas tiktu parÄdÄ«tas pareizi:
$ sudo chmod -R 755 /var/www
JÅ«su tÄ«mekļa serverim tagad ir jÄbÅ«t atļaujÄm, kas tam nepiecieÅ”amas, lai parÄdÄ«tu saturu. TurklÄt jÅ«su lietotÄjam tagad ir iespÄja izveidot saturu nepiecieÅ”amajos direktorijos.
DirektorijÄ /var/www/html jau ir fails index.php, pÄrkopÄsim to uz mÅ«su jaunajiem direktorijiem ā pagaidÄm tÄds bÅ«s mÅ«su saturs:
$ 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
Tagad jums ir jÄpÄrliecinÄs, ka lietotÄjs var piekļūt jÅ«su vietnei. Lai to izdarÄ«tu, mÄs vispirms konfigurÄsim virtuÄlÄs resursdatora failus, kas nosaka, kÄ Apache tÄ«mekļa serveris atbildÄs uz pieprasÄ«jumiem dažÄdiem domÄniem.
PÄc noklusÄjuma Apache ir virtuÄlÄ resursdatora fails 000-default.conf, ko mÄs varam izmantot kÄ sÄkumpunktu. MÄs to kopÄsim, lai izveidotu virtuÄlo saimniekdatoru failus katram mÅ«su domÄnam. MÄs sÄksim ar vienu domÄnu, to konfigurÄsim, kopÄsim uz citu domÄnu un pÄc tam vÄlreiz veiksim nepiecieÅ”amos labojumus.
Ubuntu noklusÄjuma konfigurÄcija paredz, ka katram virtuÄlÄ resursdatora failam ir *.conf paplaÅ”inÄjums.
SÄksim ar pirmÄ domÄna faila kopÄÅ”anu:
$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/a-dobra.ru.conf
Atveriet jaunu failu redaktorÄ ar root tiesÄ«bÄm:
$ sudo nano /etc/apache2/sites-available/a-dobra.ru.conf
RediÄ£Äjiet datus Å”Ädi, norÄdot portu 80, jÅ«su datus ServerAdmin
, ServerName
, ServerAlias
, kÄ arÄ« ceļu uz jÅ«su vietnes saknes direktoriju, saglabÄjiet failu (Ctrl+X, pÄc tam 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
iestata primÄro domÄnu, kuram ir jÄatbilst virtuÄlÄ saimniekdatora nosaukumam. Tam ir jÄbÅ«t jÅ«su domÄna vÄrdam. OtrkÄrt, ServerAlias
, definÄ citus nosaukumus, kas jÄinterpretÄ tÄ, it kÄ tas bÅ«tu primÄrais domÄns. Tas ir Ärti, lai izmantotu papildu domÄna nosaukumus, piemÄram, izmantojot www.
KopÄsim Å”o konfigurÄciju citam saimniekdatoram un arÄ« rediÄ£Äsim to tÄdÄ paÅ”Ä veidÄ:
$ sudo cp /etc/apache2/sites-available/a-dobra.ru.conf /etc/apache2/sites-available/promo.a-dobra.ru.conf
SavÄm vietnÄm varat izveidot tik daudz direktoriju un virtuÄlo saimniekdatoru, cik vÄlaties! Tagad, kad esam izveidojuÅ”i savus virtuÄlo saimniekdatoru failus, mums tie ir jÄiespÄjo. MÄs varam izmantot utilÄ«tu a2ensite, lai iespÄjotu katru no mÅ«su vietnÄm, piemÄram:
$ sudo a2ensite a-dobra.ru.conf
$ sudo a2ensite promo.a-dobra.ru.conf
PÄc noklusÄjuma 80. ports ir aizvÄrts programmÄ LAMP, un mums tas bÅ«s nepiecieÅ”ams vÄlÄk, lai instalÄtu SSL sertifikÄtu. TÄtad nekavÄjoties rediÄ£Äsim failu ports.conf un pÄc tam restartÄsim Apache:
$ sudo nano /etc/apache2/ports.conf
Pievienojiet jaunu rindiÅu un saglabÄjiet failu, lai tas izskatÄ«tos Å”Ädi:
Listen 80
Listen 443
Listen 9997
PÄc iestatÄ«jumu pabeigÅ”anas jums ir jÄrestartÄ Apache, lai visas izmaiÅas stÄtos spÄkÄ:
$ sudo systemctl reload apache2
3. darbÄ«ba: iestatiet domÄna nosaukumus
TÄlÄk jums jÄpievieno DNS ieraksti, kas norÄdÄ«s uz jÅ«su jauno serveri. Lai pÄrvaldÄ«tu domÄnus, mÅ«su labÄ fonda aritmÄtika izmanto pakalpojumu dns-master.ru, mÄs to parÄdÄ«sim ar piemÄru.
A ieraksta iestatÄ«Å”ana galvenajam domÄnam parasti tiek norÄdÄ«ta Å”Ädi (zÄ«me @
):
ApakÅ”domÄnu A ieraksts parasti tiek norÄdÄ«ts Å”Ädi:
IP adrese ir tikko izveidotÄ Linux servera adrese. Varat norÄdÄ«t TTL = 3600.
PÄc kÄda laika jÅ«su vietni bÅ«s iespÄjams apmeklÄt, bet pagaidÄm tikai caur http://
. NÄkamajÄ solÄ« mÄs pievienosim atbalstu https://
.
4. darbÄ«ba. Iestatiet bezmaksas SSL sertifikÄtus
Varat iegÅ«t bezmaksas Let's Encrypt SSL sertifikÄtus savai galvenajai vietnei un visiem apakÅ”domÄniem. Varat arÄ« konfigurÄt to automÄtisko atjaunoÅ”anu, kas ir ļoti Ärti. Lai iegÅ«tu SSL sertifikÄtus, savÄ serverÄ« instalÄjiet Certbot:
$ sudo add-apt-repository ppa:certbot/certbot
InstalÄjiet Certbot pakotni Apache, izmantojot apt
:
$ sudo apt install python-certbot-apache
Tagad Certbot ir gatavs lietoŔanai, palaidiet komandu:
$ sudo certbot --apache -d a-dobra.ru -d www.a-dobra.ru -d promo.a-dobra.ru
Å Ä« komanda palaiž certbot, atslÄgas -d
definÄjiet to domÄnu nosaukumus, kuriem jÄizsniedz sertifikÄts.
Ja Ŕī ir pirmÄ reize, kad palaižat certbot, jums tiks lÅ«gts ievadÄ«t savu e-pasta adresi un piekrist pakalpojuma lietoÅ”anas noteikumiem. PÄc tam certbot sazinÄsies ar Let's Encrypt serveri un pÄc tam pÄrbaudÄ«s, vai jÅ«s patieÅ”Äm kontrolÄjat domÄnu, kuram pieprasÄ«jÄt sertifikÄtu.
Ja viss noritÄja labi, certbot jautÄs, kÄ vÄlaties konfigurÄt HTTPS konfigurÄciju:
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):
MÄs iesakÄm izvÄlÄties 2. opciju un nospiest ENTER. KonfigurÄcija tiks atjauninÄta un Apache tiks restartÄts, lai piemÄrotu izmaiÅas.
JÅ«su sertifikÄti tagad ir lejupielÄdÄti, instalÄti un darbojas. MÄÄ£iniet atkÄrtoti ielÄdÄt vietni, izmantojot https://, un pÄrlÅ«kprogrammÄ tiks parÄdÄ«ta droŔības ikona. Ja pÄrbaudÄt savu serveri
Let's Encrypt sertifikÄti ir derÄ«gi tikai 90 dienas, taÄu tikko instalÄtÄ certbot pakotne automÄtiski atjaunos sertifikÄtus. Lai pÄrbaudÄ«tu atjauninÄÅ”anas procesu, mÄs varam veikt certbot sauso darbÄ«bu:
$ sudo certbot renew --dry-run
Ja Ŕīs komandas palaiÅ”anas rezultÄtÄ neredzat kļūdas, tad viss darbojas!
5. darbība: piekļūstiet MySQL un phpMyAdmin
Daudzas vietnes izmanto datu bÄzes. MÅ«su serverÄ« jau ir instalÄts datu bÄzes pÄrvaldÄ«bas rÄ«ks phpMyAdmin. Lai tai piekļūtu, atveriet savu pÄrlÅ«kprogrammu, izmantojot saiti, piemÄram:
https://<ip-Š°Š“ŃŠµŃ ŃŠµŃŠ²ŠµŃŠ°>:9997
Paroli root piekļuvei var iegÅ«t savÄ MCS personÄ«gajÄ kontÄ (
6. darbÄ«ba: iestatiet failu augÅ”upielÄdi, izmantojot SFTP
IzstrÄdÄtÄjiem bÅ«s Ärti augÅ”upielÄdÄt vietnes failus, izmantojot SFTP. Lai to izdarÄ«tu, mÄs izveidosim jaunu lietotÄju, sauksim viÅu par tÄ«mekļa pÄrzini:
$ sudo adduser webmaster
SistÄma lÅ«gs iestatÄ«t paroli un ievadÄ«t dažus citus datus.
Direktorija Ä«paÅ”nieka maiÅa ar jÅ«su vietni:
$ sudo chown -R webmaster:webmaster /var/www/a-dobra.ru/public_html
Tagad mainÄ«sim SSH konfigurÄciju, lai jaunajam lietotÄjam bÅ«tu piekļuve tikai SFTP, nevis SSH terminÄlim:
$ sudo nano /etc/ssh/sshd_config
Ritiniet lÄ«dz konfigurÄcijas faila beigÄm un pievienojiet Å”Ädu bloku:
Match User webmaster
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/www/a-dobra.ru
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
SaglabÄjiet failu un restartÄjiet pakalpojumu:
$ sudo systemctl restart sshd
Tagad jÅ«s varat izveidot savienojumu ar serveri, izmantojot jebkuru SFTP klientu, piemÄram, izmantojot FileZilla.
Kopsavilkums
- Tagad jÅ«s zinÄt, kÄ izveidot jaunus direktorijus un konfigurÄt virtuÄlos saimniekdatorus savÄm vietnÄm tajÄ paÅ”Ä serverÄ«.
- JÅ«s varat viegli izveidot nepiecieÅ”amos SSL sertifikÄtus ā tas ir bez maksas, un tie tiks automÄtiski atjauninÄti.
- JÅ«s varat Ärti strÄdÄt ar MySQL datu bÄzi, izmantojot pazÄ«stamo phpMyAdmin.
- Jaunu SFTP kontu izveide un piekļuves tiesÄ«bu iestatÄ«Å”ana neprasa daudz pūļu. Å Ädus kontus var pÄrsÅ«tÄ«t treÅ”o puÅ”u tÄ«mekļa izstrÄdÄtÄjiem un vietÅu administratoriem.
- Neaizmirstiet periodiski atjauninÄt sistÄmu, kÄ arÄ« iesakÄm izveidot dublÄjumus - MCS ar vienu klikŔķi varat uzÅemt visas sistÄmas āmomentuzÅÄmumusā un pÄc tam, ja nepiecieÅ”ams, palaist veselus attÄlus.
Izmantotie resursi, kas var būt noderīgi:
Starp citu,
Avots: www.habr.com