Awọsanma fun Charities: Migration Guide

Awọsanma fun Charities: Migration Guide

Laipẹ sẹhin, Mail.Ru Cloud Solutions (MCS) ati iṣẹ Dobro Mail.Ru ṣe ifilọlẹ iṣẹ naa “Awọsanma fun alanu”, o ṣeun si eyiti awọn ajo ti kii ṣe ere le gba awọn orisun ti Syeed awọsanma MCS fun ọfẹ. Foundation Chartable"Iṣiro ti oore»kopa ninu ise agbese na ati ni aṣeyọri ti ran apakan ti awọn amayederun rẹ ti o da lori MCS.

Lẹhin ti afọwọsi kọja, NPO le gba agbara foju lati MCS, ṣugbọn iṣeto siwaju nilo awọn afijẹẹri kan. Ninu ohun elo yii, a fẹ lati pin awọn ilana kan pato fun ṣiṣeto olupin orisun-orisun Ubuntu lati ṣiṣe oju opo wẹẹbu ipilẹ akọkọ ati nọmba awọn subdomains nipa lilo awọn iwe-ẹri SSL ọfẹ. Fun ọpọlọpọ, eyi yoo jẹ itọsọna ti o rọrun, ṣugbọn a nireti pe iriri wa yoo wulo fun awọn ajo miiran ti kii ṣe èrè, kii ṣe nikan.

FYI: Kini o le gba lati ọdọ MCS? 4 CPUs, 32 GB Ramu, 1 TB HDD, Ubuntu Linux OS, 500 GB ohun ipamọ.

Igbesẹ 1: ṣe ifilọlẹ olupin foju

Jẹ ki a lọ taara si aaye ki o ṣẹda olupin foju wa (aka “apẹẹrẹ”) ninu akọọlẹ ti ara ẹni MCS rẹ. Ninu ile itaja ohun elo, o nilo lati yan ati fi sori ẹrọ akopọ LAMP ti o ti ṣetan, eyiti o jẹ eto sọfitiwia olupin (LAMP = Linux, Apache, MySQL, PHP) pataki lati ṣiṣe awọn oju opo wẹẹbu pupọ julọ.

Awọsanma fun Charities: Migration Guide
Awọsanma fun Charities: Migration Guide
Awọsanma fun Charities: Migration Guide
Yan iṣeto olupin ti o yẹ ki o ṣẹda bọtini SSH tuntun kan. Lẹhin titẹ bọtini “Fi sori ẹrọ”, fifi sori ẹrọ olupin ati akopọ LAMP yoo bẹrẹ, eyi yoo gba akoko diẹ. Eto naa yoo tun funni lati ṣe igbasilẹ bọtini ikọkọ si kọnputa rẹ lati ṣakoso ẹrọ foju nipasẹ console, fipamọ.

Lẹhin fifi ohun elo naa sori ẹrọ, jẹ ki a ṣeto ogiriina lẹsẹkẹsẹ, eyi tun ṣee ṣe ninu akọọlẹ ti ara ẹni: lọ si apakan “Iṣiro awọsanma -> Awọn ẹrọ foju” ki o yan “Ṣeto ogiriina naa”:

Awọsanma fun Charities: Migration Guide
O nilo lati ṣafikun igbanilaaye fun ijabọ ti nwọle nipasẹ ibudo 80 ati 9997. Eyi jẹ pataki ni ọjọ iwaju lati fi awọn iwe-ẹri SSL sori ẹrọ ati lati ṣiṣẹ pẹlu phpMyAdmin. Bi abajade, ṣeto awọn ofin yẹ ki o dabi eyi:

Awọsanma fun Charities: Migration Guide
Bayi o le sopọ si olupin rẹ nipasẹ laini aṣẹ nipa lilo ilana SSH. Lati ṣe eyi, tẹ aṣẹ atẹle naa, tọka si bọtini SSH lori kọnputa rẹ ati adiresi IP ita ti olupin rẹ (o le rii ni apakan “Awọn ẹrọ foju”):

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

Nigbati o ba n sopọ si olupin fun igba akọkọ, o niyanju lati fi gbogbo awọn imudojuiwọn lọwọlọwọ sori rẹ ki o tun atunbere. Lati ṣe eyi, ṣiṣe awọn aṣẹ wọnyi:

$ sudo apt-get update

Eto naa yoo gba atokọ ti awọn imudojuiwọn, fi sii wọn nipa lilo aṣẹ yii ki o tẹle awọn ilana naa:

$ sudo apt-get upgrade

Lẹhin fifi awọn imudojuiwọn sori ẹrọ, tun bẹrẹ olupin naa:

$ sudo reboot

Igbesẹ 2: Ṣeto awọn ogun foju

Ọpọlọpọ awọn ti kii ṣe ere nilo lati ṣetọju ọpọlọpọ awọn ibugbe tabi subdomains ni akoko kanna (fun apẹẹrẹ, oju opo wẹẹbu akọkọ ati ọpọlọpọ awọn oju-iwe ibalẹ fun awọn ipolongo ipolowo, ati bẹbẹ lọ). Gbogbo eyi le wa ni irọrun gbe sori olupin kan nipa ṣiṣẹda ọpọlọpọ awọn ogun foju.

Ni akọkọ a nilo lati ṣẹda ilana ilana fun awọn aaye ti yoo han si awọn alejo. Jẹ ki a ṣẹda awọn ilana diẹ:

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

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

Ki o si pato eni to ni olumulo lọwọlọwọ:

$ 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

Oniyipada $USER ni orukọ olumulo labẹ eyiti o ti wọle lọwọlọwọ (nipasẹ aiyipada eyi ni olumulo ubuntu). Bayi olumulo lọwọlọwọ ni awọn ilana ilana gbangba_html nibiti a yoo tọju akoonu naa.

A tun nilo lati ṣatunkọ awọn igbanilaaye diẹ lati rii daju pe iraye si kika ni a gba laaye si itọsọna wẹẹbu ti o pin ati gbogbo awọn faili ati awọn folda ti o wa ninu. Eyi jẹ pataki fun awọn oju-iwe aaye lati ṣafihan ni deede:

$ sudo chmod -R 755 /var/www

Olupin wẹẹbu rẹ yẹ ki o ni awọn igbanilaaye ti o nilo lati ṣafihan akoonu naa. Ni afikun, olumulo rẹ ni bayi ni agbara lati ṣẹda akoonu ninu awọn ilana ti o nilo.

Faili index.php ti wa tẹlẹ ninu itọsọna /var/www/html, jẹ ki a daakọ si awọn ilana tuntun wa - eyi yoo jẹ akoonu wa fun bayi:

$ 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

Bayi o nilo lati rii daju pe olumulo le wọle si aaye rẹ. Lati ṣe eyi, a yoo kọkọ tunto awọn faili agbalejo foju, eyiti o pinnu bii olupin wẹẹbu Apache yoo ṣe dahun si awọn ibeere si awọn agbegbe oriṣiriṣi.

Nipa aiyipada, Apache ni faili agbalejo foju kan 000-default.conf ti a le lo bi aaye ibẹrẹ. A yoo daakọ eyi lati ṣẹda awọn faili agbalejo foju fun ọkọọkan awọn ibugbe wa. A yoo bẹrẹ pẹlu agbegbe kan, tunto rẹ, daakọ si agbegbe miiran, ati lẹhinna ṣe awọn atunṣe pataki lẹẹkansi.

Eto aiyipada Ubuntu nilo pe faili ogun foju kọọkan ni itẹsiwaju * .conf kan.

Jẹ ki a bẹrẹ nipa didakọ faili naa fun agbegbe akọkọ:

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

Ṣii faili titun ni olootu pẹlu awọn ẹtọ gbongbo:

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

Satunkọ awọn data bi wọnyi, pato ibudo 80, rẹ data fun ServerAdmin, ServerName, ServerAlias, bakannaa ọna si itọsọna root ti aaye rẹ, fi faili pamọ (Ctrl+X, lẹhinna 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 ṣeto awọn jc ašẹ, eyi ti o gbọdọ baramu awọn foju ogun orukọ. Eyi gbọdọ jẹ orukọ ìkápá rẹ. Èkejì, ServerAlias, n ṣalaye awọn orukọ miiran ti o yẹ ki o tumọ bi ẹnipe o jẹ aaye akọkọ. Eyi rọrun fun lilo awọn orukọ ìkápá afikun, fun apẹẹrẹ lilo www.

Jẹ ki a daakọ atunto yii fun agbalejo miiran ati tun satunkọ ni ọna kanna:

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

O le ṣẹda bi ọpọlọpọ awọn ilana ati awọn ogun foju fun awọn oju opo wẹẹbu rẹ bi o ṣe fẹ! Ni bayi ti a ti ṣẹda awọn faili agbalejo foju wa, a nilo lati mu wọn ṣiṣẹ. A le lo a2ensite IwUlO lati jeki kọọkan ti wa ojula bi yi:

$ sudo a2ensite a-dobra.ru.conf

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

Nipa aiyipada, ibudo 80 ti wa ni pipade ni LAMP, ati pe a yoo nilo rẹ nigbamii lati fi ijẹrisi SSL sori ẹrọ. Nitorinaa jẹ ki a ṣatunkọ faili ports.conf lẹsẹkẹsẹ lẹhinna tun Apache bẹrẹ:

$ sudo nano /etc/apache2/ports.conf

Ṣafikun laini tuntun ki o fi faili pamọ ki o dabi eyi:

Listen 80
Listen 443
Listen 9997

Lẹhin ipari awọn eto, o nilo lati tun Apache bẹrẹ fun gbogbo awọn ayipada lati mu ipa:

$ sudo systemctl reload apache2

Igbesẹ 3: Ṣeto awọn orukọ-ašẹ

Nigbamii, o nilo lati ṣafikun awọn igbasilẹ DNS ti yoo tọka si olupin tuntun rẹ. Lati ṣakoso awọn ibugbe, Arithmetic wa ti Ipilẹ ti o dara nlo iṣẹ dns-master.ru, a yoo fi han pẹlu apẹẹrẹ kan.

Ṣiṣeto igbasilẹ A fun agbegbe akọkọ jẹ itọkasi nigbagbogbo gẹgẹbi atẹle (ami @):

Awọsanma fun Charities: Migration Guide
Igbasilẹ A fun awọn ibugbe subdomains nigbagbogbo ni pato bi eleyi:

Awọsanma fun Charities: Migration Guide
Adirẹsi IP jẹ adirẹsi olupin Linux ti a ṣẹṣẹ ṣẹda. O le pato TTL = 3600.

Lẹhin akoko diẹ, yoo ṣee ṣe lati ṣabẹwo si aaye rẹ, ṣugbọn fun bayi nikan nipasẹ http://. Ni nigbamii ti igbese a yoo fi support https://.

Igbesẹ 4: Ṣeto awọn iwe-ẹri SSL ọfẹ

O le gba ọfẹ Jẹ ki a Encrypt awọn iwe-ẹri SSL fun aaye akọkọ rẹ ati gbogbo awọn subdomains. O tun le tunto isọdọtun aifọwọyi wọn, eyiti o rọrun pupọ. Lati gba awọn iwe-ẹri SSL, fi Certbot sori olupin rẹ:

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

Fi sori ẹrọ package Certbot fun Apache ni lilo apt:

$ sudo apt install python-certbot-apache 

Bayi Certbot ti šetan lati lo, ṣiṣe aṣẹ naa:

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

Yi aṣẹ nṣiṣẹ certbot, awọn bọtini -d setumo awọn orukọ ti awọn ibugbe fun eyi ti awọn ijẹrisi yẹ ki o wa ti oniṣowo.

Ti eyi ba jẹ igba akọkọ ti o ṣe ifilọlẹ certbot, ao beere lọwọ rẹ lati tẹ adirẹsi imeeli rẹ sii ki o gba si awọn ofin lilo iṣẹ naa. certbot yoo kan si olupin Let's Encrypt ati lẹhinna rii daju pe o ṣakoso agbegbe fun eyiti o beere ijẹrisi naa.

Ti ohun gbogbo ba lọ daradara, certbot yoo beere bi o ṣe fẹ tunto iṣeto 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):

A ṣeduro yiyan aṣayan 2 ati titẹ ENTER. Iṣeto ni yoo ni imudojuiwọn ati pe Apache yoo tun bẹrẹ lati lo awọn ayipada.

Awọn iwe-ẹri rẹ ti wa ni igbasilẹ bayi, fi sori ẹrọ ati ṣiṣẹ. Gbiyanju lati tun kojọpọ aaye rẹ pẹlu https:// ati pe iwọ yoo rii aami aabo ni ẹrọ aṣawakiri rẹ. Ti o ba ṣe idanwo olupin rẹ SSL Labs Server Igbeyewo, oun yoo gba ipele A.

Jẹ ki a Encrypt awọn iwe-ẹri wulo fun awọn ọjọ 90 nikan, ṣugbọn package certbot ti a ṣẹṣẹ fi sii yoo tunse awọn iwe-ẹri laifọwọyi. Lati ṣe idanwo ilana imudojuiwọn, a le ṣe ṣiṣe gbigbẹ ti certbot:

$ sudo certbot renew --dry-run 

Ti o ko ba rii awọn aṣiṣe eyikeyi bi abajade ti ṣiṣiṣẹ aṣẹ yii, lẹhinna ohun gbogbo n ṣiṣẹ!

Igbesẹ 5: Wọle si MySQL ati phpMyAdmin

Ọpọlọpọ awọn aaye ayelujara lo awọn apoti isura infomesonu. Ohun elo phpMyAdmin fun iṣakoso data ti wa tẹlẹ sori olupin wa. Lati wọle si, lọ si ẹrọ aṣawakiri rẹ nipa lilo ọna asopọ bii:

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

Ọrọigbaniwọle fun iwọle gbongbo le jẹ gba ninu akọọlẹ ti ara ẹni MCS rẹ (https://mcs.mail.ru/app/services/marketplace/apps/). Maṣe gbagbe lati yi ọrọ igbaniwọle gbongbo rẹ pada ni igba akọkọ ti o wọle!

Igbesẹ 6: Ṣeto ikojọpọ faili nipasẹ SFTP

Awọn olupilẹṣẹ yoo rii pe o rọrun lati gbe awọn faili si oju opo wẹẹbu rẹ nipasẹ SFTP. Lati ṣe eyi, a yoo ṣẹda olumulo tuntun, pe e ni ọga wẹẹbu:

$ sudo adduser webmaster

Eto naa yoo beere lọwọ rẹ lati ṣeto ọrọ igbaniwọle kan ki o tẹ data miiran sii.

Yiyipada eni to ni itọsọna pẹlu oju opo wẹẹbu rẹ:

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

Bayi jẹ ki a yi atunto SSH pada ki olumulo tuntun nikan ni iwọle si SFTP kii ṣe ebute SSH:

$ sudo nano /etc/ssh/sshd_config

Yi lọ si opin pupọ ti faili atunto ki o ṣafikun bulọọki atẹle naa:

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

Fi faili pamọ ki o tun iṣẹ naa bẹrẹ:

$ sudo systemctl restart sshd

Bayi o le sopọ si olupin nipasẹ eyikeyi alabara SFTP, fun apẹẹrẹ, nipasẹ FileZilla.

Abajade

  1. Bayi o mọ bi o ṣe le ṣẹda awọn ilana tuntun ati tunto awọn ogun foju fun awọn oju opo wẹẹbu rẹ laarin olupin kanna.
  2. O le ni rọọrun ṣẹda awọn iwe-ẹri SSL pataki - o jẹ ọfẹ, ati pe wọn yoo ni imudojuiwọn laifọwọyi.
  3. O le ni irọrun ṣiṣẹ pẹlu aaye data MySQL nipasẹ phpMyAdmin faramọ.
  4. Ṣiṣẹda awọn akọọlẹ SFTP tuntun ati ṣeto awọn ẹtọ wiwọle ko nilo igbiyanju pupọ. Iru awọn akọọlẹ le ṣee gbe lọ si awọn oludasilẹ wẹẹbu ti ẹnikẹta ati awọn alabojuto aaye.
  5. Maṣe gbagbe lati ṣe imudojuiwọn eto naa lorekore, ati pe a tun ṣeduro ṣiṣe awọn afẹyinti - ni MCS o le ya “awọn fọto fọto” ti gbogbo eto pẹlu titẹ kan, ati lẹhinna, ti o ba jẹ dandan, ṣe ifilọlẹ gbogbo awọn aworan.

Awọn orisun ti a lo ti o le wulo:

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

Nipa ọna, nibi O le ka lori VC bawo ni ipilẹ wa ṣe gbe pẹpẹ kan fun eto ẹkọ ori ayelujara fun awọn ọmọ alainibaba ti o da lori awọsanma MCS.

orisun: www.habr.com

Fi ọrọìwòye kun