Cloud pou òganizasyon charitab: Gid Migrasyon

Cloud pou òganizasyon charitab: Gid Migrasyon

Pa gen lontan, Mail.Ru Cloud Solutions (MCS) ak sèvis Dobro Mail.Ru te lanse pwojè a "Cloud pou òganizasyon charitab”, gras a ki òganizasyon ki pa pou pwofi yo ka jwenn resous yo nan platfòm nwaj MCS la pou gratis. Fondasyon charitab "Aritmetik bonte» te patisipe nan pwojè a epi li te deplwaye avèk siksè yon pati nan enfrastrikti li ki baze sou MCS.

Apre li fin pase validasyon, yon NPO ka resevwa kapasite vityèl nan men MCS, men plis konfigirasyon mande pou sèten kalifikasyon. Nan materyèl sa a, nou vle pataje enstriksyon espesifik pou mete kanpe yon sèvè Ubuntu ki baze sou Linux pou kouri sit entènèt prensipal fondasyon an ak yon kantite subdomains lè l sèvi avèk sètifika SSL gratis. Pou anpil moun, sa a pral yon gid senp, men nou espere ke eksperyans nou an pral itil pou lòt òganizasyon ki pa pou pwofi, epi yo pa sèlman.

Fyi: Kisa ou ka jwenn nan MCS? 4 CPU, 32 GB RAM, 1 TB HDD, Ubuntu Linux OS, 500 GB depo objè.

Etap 1: lanse sèvè vityèl la

Ann ale tou dwat nan pwen an epi kreye sèvè vityèl nou an (aka "enstans") nan kont pèsonèl MCS ou. Nan magazen app a, ou bezwen chwazi epi enstale yon pil LAMP pare, ki se yon seri lojisyèl sèvè (LAMP = Linux, Apache, MySQL, PHP) ki nesesè pou kouri pifò sit entènèt yo.

Cloud pou òganizasyon charitab: Gid Migrasyon
Cloud pou òganizasyon charitab: Gid Migrasyon
Cloud pou òganizasyon charitab: Gid Migrasyon
Chwazi konfigirasyon sèvè ki apwopriye a epi kreye yon nouvo kle SSH. Apre klike sou bouton "Enstale", enstalasyon sèvè a ak pil LAMP ap kòmanse, sa pral pran kèk tan. Sistèm nan ap ofri tou telechaje yon kle prive sou òdinatè w lan pou jere machin vityèl la atravè konsole a, sove li.

Apre enstale aplikasyon an, se pou yo imedyatman mete kanpe firewall la, sa a se tou fè nan kont pèsonèl ou: ale nan "Cloud computing -> Machin Virtual" epi chwazi "Anviwònman firewall la":

Cloud pou òganizasyon charitab: Gid Migrasyon
Ou bezwen ajoute pèmisyon pou trafik fèk ap rantre nan pò 80 ak 9997. Sa nesesè alavni pou enstale sètifika SSL epi pou travay avèk phpMyAdmin. Kòm yon rezilta, seri règ yo ta dwe sanble sa a:

Cloud pou òganizasyon charitab: Gid Migrasyon
Koulye a, ou ka konekte ak sèvè ou atravè liy lòd la lè l sèvi avèk pwotokòl SSH la. Pou fè sa, tape lòd sa a, lonje dwèt sou kle SSH sou òdinatè w lan ak adrès IP ekstèn sèvè w la (ou ka jwenn li nan seksyon "Machin Virtuel"):

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

Lè w konekte ak sèvè a pou premye fwa, li rekòmande enstale tout mizajou aktyèl yo sou li epi rdemare li. Pou fè sa, kouri kòmandman sa yo:

$ sudo apt-get update

Sistèm nan pral resevwa yon lis mizajou, enstale yo lè l sèvi avèk lòd sa a epi swiv enstriksyon yo:

$ sudo apt-get upgrade

Apre enstale mizajou yo, rekòmanse sèvè a:

$ sudo reboot

Etap 2: Mete kanpe lame vityèl

Anpil òganizasyon san bi likratif bezwen kenbe plizyè domèn oswa subdomaines an menm tan (pa egzanp, yon sit entènèt prensipal ak plizyè paj aterisaj pou kanpay pwomosyonèl, elatriye). Tout bagay sa a ka fasilman mete sou yon sèl sèvè pa kreye plizyè lame vityèl.

Premyèman, nou bezwen kreye yon estrikti anyè pou sit yo ke yo pral parèt nan vizitè yo. Ann kreye kèk repèrtwar:

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

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

Epi presize pwopriyetè itilizatè aktyèl la:

$ 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

Varyab $USER gen non itilizatè a anba ki ou konekte kounye a (pa default sa a se itilizatè a ubuntu). Kounye a itilizatè aktyèl la posede anyè public_html kote nou pral estoke kontni an.

Nou bezwen tou edite otorizasyon yo yon ti jan pou asire w ke aksè lekti gen dwa nan anyè entènèt la pataje ak tout dosye yo ak dosye li genyen. Sa nesesè pou paj sit yo montre kòrèkteman:

$ sudo chmod -R 755 /var/www

Sèvè entènèt ou an ta dwe kounye a gen otorizasyon li bezwen pou montre kontni an. Anplis de sa, itilizatè ou an kounye a gen kapasite nan kreye kontni nan anyè ki nesesè yo.

Gen deja yon fichye index.php nan /var/www/html anyè, ann kopye li nan nouvo anyè nou yo - sa a pral kontni nou pou kounye a:

$ 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

Koulye a, ou bezwen asire w ke itilizatè a ka jwenn aksè nan sit ou a. Pou fè sa, nou pral premye konfigirasyon dosye yo lame vityèl, ki detèmine ki jan sèvè wèb la Apache pral reponn a demann nan domèn diferan.

Pa default, Apache gen yon dosye vityèl lame 000-default.conf ke nou ka itilize kòm yon pwen depa. Nou pral kopye sa a pou kreye dosye vityèl lame pou chak nan domèn nou yo. Nou pral kòmanse ak yon domèn, konfigirasyon li, kopye li nan yon lòt domèn, ak Lè sa a, fè chanjman ki nesesè yo ankò.

Konfigirasyon default Ubuntu a mande pou chak fichye lame vityèl gen yon ekstansyon *.conf.

Ann kòmanse pa kopye dosye a pou premye domèn nan:

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

Louvri yon nouvo dosye nan yon editè ki gen dwa rasin:

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

Edit done yo jan sa a, espesifye pò 80, done ou pou ServerAdmin, ServerName, ServerAlias, osi byen ke chemen an nan anyè rasin sit ou a, sove fichye a (Ctrl + X, Lè sa a, 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 etabli domèn prensipal la, ki dwe matche ak non lame vityèl la. Sa a dwe non domèn ou. Dezyèmman, ServerAlias, defini lòt non ki ta dwe entèprete kòm si li te domèn prensipal la. Sa a se pratik pou itilize non domèn adisyonèl, pou egzanp lè l sèvi avèk www.

Ann kopye konfigirasyon sa a pou yon lòt lame epi tou edite li nan menm fason an:

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

Ou kapab kreye anpil répertoires Et virtuel hôtes pou sit entènèt ou jan ou renmen! Kounye a ke nou te kreye dosye lame vityèl nou an, nou bezwen pèmèt yo. Nou ka itilize sèvis piblik a2ensite pou pèmèt chak sit nou yo tankou sa a:

$ sudo a2ensite a-dobra.ru.conf

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

Pa default, pò 80 fèmen nan LAMP, epi nou pral bezwen li pita pou enstale yon sètifika SSL. Se konsa, ann imedyatman modifye dosye a ports.conf ak Lè sa a, rekòmanse Apache:

$ sudo nano /etc/apache2/ports.conf

Ajoute yon nouvo liy epi sove fichye a pou li sanble sa a:

Listen 80
Listen 443
Listen 9997

Apre w fin ranpli paramèt yo, ou bezwen rekòmanse Apache pou tout chanjman yo pran efè:

$ sudo systemctl reload apache2

Etap 3: Mete kanpe non domèn

Apre sa, ou bezwen ajoute dosye DNS ki pral montre nouvo sèvè ou a. Pou jere domèn, Fondasyon Aritmetik bon an sèvi ak sèvis dns-master.ru, nou pral montre li ak yon egzanp.

Mete kanpe yon dosye A pou domèn prensipal la anjeneral endike jan sa a (siy @):

Cloud pou òganizasyon charitab: Gid Migrasyon
Dosye A pou subdomains anjeneral espesifye tankou sa a:

Cloud pou òganizasyon charitab: Gid Migrasyon
Adrès IP a se adrès sèvè Linux nou fèk kreye a. Ou ka presize TTL = 3600.

Apre kèk tan, li pral posib vizite sit ou a, men pou kounye a sèlman nan http://. Nan pwochen etap la nou pral ajoute sipò https://.

Etap 4: Mete kanpe sètifika SSL gratis

Ou ka jwenn sètifika SSL ann ankripte gratis pou sit prensipal ou a ak tout subdomains. Ou kapab tou configured renouvèlman otomatik yo, ki trè pratik. Pou jwenn sètifika SSL, enstale Certbot sou sèvè w la:

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

Enstale pake Certbot pou Apache lè l sèvi avèk apt:

$ sudo apt install python-certbot-apache 

Koulye a, Certbot pare pou itilize, kouri lòd la:

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

Kòmand sa a kouri certbot, kle -d defini non domèn yo ta dwe bay sètifika a.

Si sa a se premye fwa ou lanse certbot, yo pral mande w pou antre adrès imel ou epi dakò ak kondisyon pou sèvi ak sèvis la. certbot pral kontakte sèvè Let's Encrypt la epi verifye ke ou aktyèlman kontwole domèn ou te mande sètifika a.

Si tout bagay ale byen, certbot pral mande ki jan ou vle konfigirasyon HTTPS la:

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

Nou rekòmande pou chwazi opsyon 2 epi peze ENTER. Konfigirasyon an pral mete ajou epi Apache ap rekòmanse pou aplike chanjman yo.

Sètifika ou yo kounye a telechaje, enstale ak travay. Eseye rechaje sit ou a ak https:// epi w ap wè icon sekirite a nan navigatè w la. Si w teste sèvè w la Tès sèvè SSL Labs, li pral resevwa yon nòt A.

Sètifika Ann Cripte yo valab sèlman pou 90 jou, men pake certbot nou sot enstale a pral renouvle sètifika otomatikman. Pou teste pwosesis aktyalizasyon a, nou ka fè yon kou sèk nan certbot:

$ sudo certbot renew --dry-run 

Si ou pa wè okenn erè kòm yon rezilta nan kouri lòd sa a, Lè sa a, tout bagay ap travay!

Etap 5: Aksè MySQL ak phpMyAdmin

Anpil sit entènèt itilize baz done. Zouti phpMyAdmin pou jesyon baz done deja enstale sou sèvè nou an. Pou jwenn aksè nan li, ale nan navigatè ou a lè l sèvi avèk yon lyen tankou:

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

Ou ka jwenn modpas pou aksè rasin nan kont pèsonèl MCS ou a (https://mcs.mail.ru/app/services/marketplace/apps/). Pa bliye chanje modpas rasin ou premye fwa ou konekte!

Etap 6: Fikse Upload dosye atravè SFTP

Devlopè yo pral jwenn li pratik yo Upload dosye pou sit entènèt ou a atravè SFTP. Pou fè sa, nou pral kreye yon nouvo itilizatè, rele l 'webmaster:

$ sudo adduser webmaster

Sistèm nan ap mande w mete yon modpas epi antre kèk lòt done.

Chanje pwopriyetè anyè a ak sit entènèt ou a:

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

Koulye a, ann chanje konfigirasyon SSH la pou nouvo itilizatè a sèlman gen aksè a SFTP epi li pa tèminal SSH la:

$ sudo nano /etc/ssh/sshd_config

Scroll nan fen dosye konfigirasyon an epi ajoute blòk sa a:

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

Sove fichye a epi rekòmanse sèvis la:

$ sudo systemctl restart sshd

Koulye a, ou ka konekte ak sèvè a atravè nenpòt kliyan SFTP, pou egzanp, atravè FileZilla.

Total

  1. Koulye a, ou konnen ki jan yo kreye nouvo anyè ak konfigirasyon lame vityèl pou sit entènèt ou yo nan menm sèvè a.
  2. Ou ka fasilman kreye sètifika SSL ki nesesè yo - li gratis, epi yo pral mete ajou otomatikman.
  3. Ou ka byen travay ak baz done MySQL atravè phpMyAdmin abitye.
  4. Kreye nouvo kont SFTP ak etabli dwa aksè pa mande anpil efò. Kont sa yo ka transfere bay devlopè entènèt twazyèm pati ak administratè sit.
  5. Pa bliye mete ajou sistèm nan detanzantan, epi nou rekòmande tou pou fè sovgad - nan MCS ou ka pran "snapshots" nan tout sistèm nan ak yon sèl klike sou, ak Lè sa a, si sa nesesè, lanse tout imaj.

Resous itilize ki ka itil:

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

By wout la, isit la Ou ka li sou VC kijan fondasyon nou an te deplwaye yon platfòm pou edikasyon sou entènèt pou òfelen ki baze sou nwaj MCS la.

Sous: www.habr.com

Add nouvo kòmantè