Ftit ilu, Mail.Ru Cloud Solutions (MCS) u s-servizz Dobro Mail.Ru nedew il-proġett "
Wara li jgħaddi l-validazzjoni, NPO jista 'jirċievi kapaċità virtwali minn MCS, iżda konfigurazzjoni ulterjuri teħtieġ ċerti kwalifiki. F'dan il-materjal, irridu naqsmu struzzjonijiet speċifiċi għat-twaqqif ta 'server ibbażat fuq Ubuntu Linux biex imexxi l-websajt prinċipali tal-fondazzjoni u numru ta' sottodominji li jużaw ċertifikati SSL b'xejn. Għal ħafna, din se tkun gwida sempliċi, iżda nittamaw li l-esperjenza tagħna tkun utli għal organizzazzjonijiet oħra li ma jagħmlux qligħ, u mhux biss.
FYI: X'tista' tikseb mill-MCS? 4 CPUs, 32 GB RAM, 1 TB HDD, Ubuntu Linux OS, ħażna ta 'oġġetti 500 GB.
Pass 1: tniedi s-server virtwali
Ejja mmorru dritt għall-punt u noħolqu s-server virtwali tagħna (magħruf ukoll bħala "istanza") fil-kont personali tal-MCS tiegħek. Fil-maħżen tal-app, għandek bżonn tagħżel u tinstalla munzell LAMP lest, li huwa sett ta 'softwer tas-server (LAMP = Linux, Apache, MySQL, PHP) meħtieġ biex imexxi l-biċċa l-kbira tal-websajts.
Agħżel il-konfigurazzjoni xierqa tas-server u oħloq ċavetta SSH ġdida. Wara li tikklikkja fuq il-buttuna "Installa", l-installazzjoni tas-server u l-munzell LAMP se tibda, dan jieħu xi żmien. Is-sistema se toffri wkoll li tniżżel ċavetta privata fuq il-kompjuter tiegħek biex timmaniġġja l-magna virtwali permezz tal-console, issalvaha.
Wara li tinstalla l-applikazzjoni, ejja immedjatament inwaqqfu l-firewall, dan isir ukoll fil-kont personali tiegħek: mur fis-sezzjoni "Cloud computing -> Magni virtwali" u agħżel "Issettjar tal-firewall":
Trid iżżid il-permess għat-traffiku li jkun dieħel mill-port 80 u 9997. Dan huwa meħtieġ fil-futur biex jiġu installati ċertifikati SSL u biex taħdem ma' phpMyAdmin. Bħala riżultat, is-sett ta 'regoli għandu jidher bħal dan:
Issa tista 'tikkonnettja mas-server tiegħek permezz tal-linja tal-kmand billi tuża l-protokoll SSH. Biex tagħmel dan, ikteb il-kmand li ġej, billi tipponta lejn iċ-ċavetta SSH fuq il-kompjuter tiegħek u l-indirizz IP estern tas-server tiegħek (tista 'ssibha fit-taqsima "Magni virtwali"):
$ ssh -i /путь/к/ключу/key.pem ubuntu@<ip_сервера>
Meta tikkonnettja mas-server għall-ewwel darba, huwa rakkomandat li tinstalla l-aġġornamenti kurrenti kollha fuqu u terġa 'tibda. Biex tagħmel dan, mexxi l-kmandi li ġejjin:
$ sudo apt-get update
Is-sistema tirċievi lista ta 'aġġornamenti, tinstallahom billi tuża dan il-kmand u segwi l-istruzzjonijiet:
$ sudo apt-get upgrade
Wara li tinstalla l-aġġornamenti, ibda mill-ġdid is-server:
$ sudo reboot
Pass 2: Twaqqaf hosts virtwali
Ħafna organizzazzjonijiet mingħajr skop ta’ qligħ jeħtieġ li jżommu diversi oqsma jew sottodominji fl-istess ħin (pereżempju, websajt prinċipali u diversi paġni ta’ destinazzjoni għal kampanji promozzjonali, eċċ.). Dan kollu jista 'jitqiegħed b'mod konvenjenti fuq server wieħed billi jinħolqu diversi hosts virtwali.
L-ewwel għandna bżonn noħolqu struttura tad-direttorju għas-siti li se jintwerew lill-viżitaturi. Ejja noħolqu xi direttorji:
$ sudo mkdir -p /var/www/a-dobra.ru/public_html
$ sudo mkdir -p /var/www/promo.a-dobra.ru/public_html
U speċifika s-sid tal-utent attwali:
$ 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
Varjabbli $USER
fih l-isem tal-utent li inti bħalissa illoggjat bih (b'mod awtomatiku dan huwa l-utent ubuntu
). Issa l-utent attwali għandu d-direttorji public_html fejn se naħżnu l-kontenut.
Għandna bżonn ukoll neditjaw il-permessi daqsxejn biex niżguraw li l-aċċess għall-qari huwa permess għad-direttorju tal-web kondiviż u l-fajls u l-folders kollha li jkun fih. Dan huwa meħtieġ biex il-paġni tas-sit jintwerew b'mod korrett:
$ sudo chmod -R 755 /var/www
Is-server tal-web tiegħek issa għandu jkollu l-permessi li jeħtieġ biex juri l-kontenut. Barra minn hekk, l-utent tiegħek issa għandu l-abbiltà li joħloq kontenut fid-direttorji meħtieġa.
Diġà hemm fajl index.php fid-direttorju /var/www/html, ejja nikkopjah fid-direttorji l-ġodda tagħna - dan se jkun il-kontenut tagħna għalissa:
$ 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
Issa trid tiżgura li l-utent jista’ jaċċessa s-sit tiegħek. Biex tagħmel dan, l-ewwel se nikkonfiguraw il-fajls ospitanti virtwali, li jiddeterminaw kif is-server tal-web Apache se jirrispondi għal talbiet għal oqsma differenti.
B'mod awtomatiku, Apache għandu fajl ospitanti virtwali 000-default.conf li nistgħu nużaw bħala punt tat-tluq. Aħna ser nikkopjaw dan biex noħolqu fajls ospitanti virtwali għal kull qasam tagħna. Nibdew b'dominju wieħed, nikkonfigurawh, nikkopjawh għal dominju ieħor, u mbagħad nerġgħu nagħmlu l-editji meħtieġa.
Il-konfigurazzjoni default ta' Ubuntu teħtieġ li kull fajl ospitanti virtwali jkollu estensjoni *.conf.
Nibdew billi nikkopja l-fajl għall-ewwel dominju:
$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/a-dobra.ru.conf
Iftaħ fajl ġdid f'editur bi drittijiet tal-għeruq:
$ sudo nano /etc/apache2/sites-available/a-dobra.ru.conf
Editja d-dejta kif ġej, billi tispeċifika l-port 80, id-dejta tiegħek għaliha ServerAdmin
, ServerName
, ServerAlias
, kif ukoll il-mogħdija għad-direttorju tal-għeruq tas-sit tiegħek, issalva l-fajl (Ctrl+X, imbagħad 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
jistabbilixxi d-dominju primarju, li għandu jaqbel mal-isem tal-host virtwali. Dan għandu jkun l-isem tad-dominju tiegħek. It-tieni, ServerAlias
, jiddefinixxi ismijiet oħra li għandhom jiġu interpretati bħallikieku kien id-dominju primarju. Dan huwa konvenjenti għall-użu ta' ismijiet ta' dominju addizzjonali, pereżempju bl-użu ta' www.
Ejja nikkopja din il-konfigurazzjoni għal host ieħor u teditjaha wkoll bl-istess mod:
$ sudo cp /etc/apache2/sites-available/a-dobra.ru.conf /etc/apache2/sites-available/promo.a-dobra.ru.conf
Tista 'toħloq direttorji u hosts virtwali għall-websajts tiegħek kemm tixtieq! Issa li ħloqna l-fajls ospitanti virtwali tagħna, irridu nippermettuhom. Nistgħu nużaw l-utilità a2ensite biex inħallu kull wieħed mis-siti tagħna bħal dan:
$ sudo a2ensite a-dobra.ru.conf
$ sudo a2ensite promo.a-dobra.ru.conf
B'mod awtomatiku, il-port 80 huwa magħluq f'LAMP, u jkollna bżonnu aktar tard biex ninstallaw ċertifikat SSL. Mela ejja neditjaw immedjatament il-fajl ports.conf u mbagħad terġa 'tibda Apache:
$ sudo nano /etc/apache2/ports.conf
Żid linja ġdida u ssejvja l-fajl sabiex jidher bħal dan:
Listen 80
Listen 443
Listen 9997
Wara li tlesti s-settings, għandek bżonn terġa 'tibda Apache biex il-bidliet kollha jidħlu fis-seħħ:
$ sudo systemctl reload apache2
Pass 3: Issettja l-ismijiet tad-dominju
Sussegwentement, għandek bżonn iżżid rekords DNS li se jindikaw is-server il-ġdid tiegħek. Biex timmaniġġja oqsma, l-Arithmetic of Good Foundation tagħna tuża s-servizz dns-master.ru, aħna se nuruh b'eżempju.
It-twaqqif ta’ rekord A għad-dominju prinċipali normalment ikun indikat kif ġej (sinjal @
):
Ir-rekord A għas-sottodominji huwa ġeneralment speċifikat bħal dan:
L-indirizz IP huwa l-indirizz tas-server Linux li għadna kemm ħloqna. Tista 'tispeċifika TTL = 3600.
Wara xi żmien, ikun possibbli li żżur is-sit tiegħek, iżda għalissa biss permezz http://
. Fil-pass li jmiss se nżidu l-appoġġ https://
.
Pass 4: Twaqqaf ċertifikati SSL b'xejn
Tista' tikseb ċertifikati SSL ta' Let's Encrypt b'xejn għas-sit prinċipali tiegħek u s-sottodominji kollha. Tista 'wkoll tikkonfigura t-tiġdid awtomatiku tagħhom, li huwa konvenjenti ħafna. Biex tikseb ċertifikati SSL, installa Certbot fuq is-server tiegħek:
$ sudo add-apt-repository ppa:certbot/certbot
Installa l-pakkett Certbot għall-użu ta 'Apache apt
:
$ sudo apt install python-certbot-apache
Issa Certbot huwa lest biex jintuża, mexxi l-kmand:
$ sudo certbot --apache -d a-dobra.ru -d www.a-dobra.ru -d promo.a-dobra.ru
Dan il-kmand imexxi certbot, ċwievet -d
tiddefinixxi l-ismijiet tad-dominji li għalihom għandu jinħareġ iċ-ċertifikat.
Jekk din hija l-ewwel darba li tniedi certbot, inti tintalab iddaħħal l-indirizz tal-email tiegħek u taqbel mat-termini tal-użu tas-servizz. certbot imbagħad se jikkuntattja lis-server Let's Encrypt u mbagħad jivverifika li fil-fatt tikkontrolla d-dominju li għalih tlabt iċ-ċertifikat.
Jekk kollox mar tajjeb, certbot jistaqsi kif trid tikkonfigura l-konfigurazzjoni HTTPS:
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):
Nirrakkomandaw li tagħżel l-għażla 2 u tagħfas ENTER. Il-konfigurazzjoni se tiġi aġġornata u Apache jerġa 'jinbeda biex japplika l-bidliet.
Iċ-ċertifikati tiegħek issa huma mniżżla, installati u jaħdmu. Ipprova tagħbija mill-ġdid is-sit tiegħek b'https:// u se tara l-ikona tas-sigurtà fil-browser tiegħek. Jekk tittestja s-server tiegħek
Iċ-ċertifikati Let's Encrypt huma validi biss għal 90 jum, iżda l-pakkett certbot li għadna kif installajna se jġedded iċ-ċertifikati awtomatikament. Biex nittestjaw il-proċess ta 'aġġornament, nistgħu nagħmlu ġirja niexfa ta' certbot:
$ sudo certbot renew --dry-run
Jekk ma tara l-ebda żbalji bħala riżultat tat-tħaddim ta 'dan il-kmand, allura kollox qed jaħdem!
Pass 5: Aċċess MySQL u phpMyAdmin
Ħafna websajts jużaw databases. L-għodda phpMyAdmin għall-ġestjoni tad-database hija diġà installata fuq is-server tagħna. Biex taċċessaha, mur fil-browser tiegħek billi tuża link bħal:
https://<ip-адрес сервера>:9997
Il-password għall-aċċess għall-għeruq tista' tinkiseb fil-kont personali tal-MCS tiegħek (
Pass 6: Issettja l-upload tal-fajl permezz ta 'SFTP
L-iżviluppaturi jsibuha konvenjenti li jtellgħu fajls għall-websajt tiegħek permezz ta' SFTP. Biex tagħmel dan, se noħolqu utent ġdid, sejjaħlu webmaster:
$ sudo adduser webmaster
Is-sistema se titlobek biex tissettja password u ddaħħal xi data oħra.
Tibdel is-sid tad-direttorju mal-websajt tiegħek:
$ sudo chown -R webmaster:webmaster /var/www/a-dobra.ru/public_html
Issa ejja nbiddlu l-konfigurazzjoni SSH sabiex l-utent il-ġdid ikollu aċċess biss għal SFTP u mhux għat-terminal SSH:
$ sudo nano /etc/ssh/sshd_config
Skrollja sal-aħħar nett tal-fajl tal-konfigurazzjoni u żid il-blokk li ġej:
Match User webmaster
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /var/www/a-dobra.ru
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
Issejvja l-fajl u erġa ibda s-servizz:
$ sudo systemctl restart sshd
Issa tista 'tikkonnettja mas-server permezz ta' kwalunkwe klijent SFTP, pereżempju, permezz ta 'FileZilla.
Total
- Issa taf kif toħloq direttorji ġodda u tikkonfigura hosts virtwali għall-websajts tiegħek fl-istess server.
- Tista 'faċilment toħloq iċ-ċertifikati SSL meħtieġa - huwa b'xejn, u se jiġu aġġornati awtomatikament.
- Tista' taħdem b'mod konvenjenti mad-database MySQL permezz tal-phpMyAdmin familjari.
- Il-ħolqien ta' kontijiet SFTP ġodda u t-twaqqif ta' drittijiet ta' aċċess ma jirrikjedux ħafna sforz. Kontijiet bħal dawn jistgħu jiġu trasferiti lil żviluppaturi tal-web ta 'partijiet terzi u amministraturi tas-sit.
- Tinsiex li taġġorna s-sistema perjodikament, u nirrakkomandaw ukoll li tagħmel backups - f'MCS tista 'tieħu "snapshots" tas-sistema kollha bi klikk waħda, u mbagħad, jekk meħtieġ, tniedi immaġini sħaħ.
Riżorsi użati li jistgħu jkunu utli:
Mill-mod,
Sors: www.habr.com