Cloud fir Charity: Migratioun Guide

Cloud fir Charity: Migratioun Guide

Net viru laanger Zäit hunn Mail.Ru Cloud Solutions (MCS) an den Dobro Mail.Ru Service de Projet gestart "Cloud fir karitativ", dank deenen Net-Gewënn Organisatiounen d'Ressourcen vun der MCS Cloud Plattform gratis kréien. Charitative Foundation"Arithmetesch vu Guttheet» huet um Projet deelgeholl an erfollegräich en Deel vu senger Infrastruktur baséiert op MCS ofgesat.

Nodeems d'Validatioun passéiert ass, kann en NPO virtuell Kapazitéit vum MCS kréien, awer weider Konfiguratioun erfuerdert gewësse Qualifikatiounen. An dësem Material wëlle mir spezifesch Instruktiounen deelen fir en Ubuntu Linux-baséiert Server opzestellen fir d'Haaptgrënn Websäit an eng Rei vun Ënnerdomaine mat gratis SSL Certificaten ze lafen. Fir vill wäert dëst en einfache Guide sinn, awer mir hoffen datt eis Erfahrung fir aner Net-Gewënn Organisatiounen nëtzlech ass, an net nëmmen.

vu Kommunikatioun: Wat kënnt Dir vum MCS kréien? 4 CPUs, 32 GB RAM, 1 TB HDD, Ubuntu Linux OS, 500 GB Objektlagerung.

Schrëtt 1: starten de virtuelle Server

Loosst eis direkt op de Punkt kommen an eise virtuelle Server (alias "Instanz") an Ärem MCS perséinleche Kont erstellen. Am App Store ofleet Dir musst e berufften Lampelstack, déi eng Set vu Server Software maachen.

Cloud fir Charity: Migratioun Guide
Cloud fir Charity: Migratioun Guide
Cloud fir Charity: Migratioun Guide
Wielt déi entspriechend Serverkonfiguratioun a erstellt en neie SSH Schlëssel. Nodeems Dir op de "Install" Knäppchen klickt, fänkt d'Installatioun vum Server an de LAMP Stack un, dëst dauert e bëssen Zäit. De System bitt och e private Schlëssel op Ärem Computer erofzelueden fir déi virtuell Maschinn iwwer d'Konsole ze verwalten, späicheren.

Nodeems Dir d'Applikatioun installéiert, da loosst Iech direkt d'Firewall auszeschalten, gëtt dëst an Ärem perséinleche Kont op der "Cloud Computing gemaach -> Virtuell Maschinnen" Ariichten ":

Cloud fir Charity: Migratioun Guide
Dir musst Erlaabnis fir erakommen Traffic duerch Port 80 an 9997 addéieren. Dëst ass néideg an Zukunft fir SSL Certificaten z'installéieren a mat phpMyAdmin ze schaffen. Als Resultat soll d'Regelen esou ausgesinn:

Cloud fir Charity: Migratioun Guide
Elo kënnt Dir mat Ärem Server iwwer d'Kommandozeil mat dem SSH Protokoll verbannen. Fir dëst ze maachen, gitt de folgende Kommando a weist op den SSH Schlëssel op Ärem Computer an déi extern IP Adress vun Ärem Server (Dir kënnt et an der Rubrik "Virtuell Maschinnen" fannen):

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

Wann Dir fir d'éischte Kéier mam Server verbënnt, ass et recommandéiert all aktuell Aktualiséierungen drop ze installéieren an nei ze starten. Fir dëst ze maachen, lafen déi folgend Kommandoen:

$ sudo apt-get update

De System kritt eng Lëscht vun den Updataten, installéieren se mat dësem Kommando ze verfollegen an d'Instruktioune ze verfollegen an d'Instruktioune, d'Instruktioune gestallt

$ sudo apt-get upgrade

Nodeems Dir d'Aktualiséierunge installéiert, restart de Server:

$ sudo reboot

Schrëtt 2: Setzt virtuell Hosten op

Vill Nonprofits mussen e puer Domainen oder Subdomains zur selwechter Zäit erhalen (zum Beispill eng Haaptwebsäit a verschidde Landungssäiten fir Promotiounskampagnen, etc.). All dëst kann bequem op engem Server plazéiert ginn andeems Dir verschidde virtuell Hosten erstellt.

Als éischt musse mir eng Verzeechnesstruktur erstellen fir d'Siten déi de Besucher ugewise ginn. Loosst eis e puer Direktnoriichten erstellen:

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

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

A spezifizéiert de Besëtzer vum aktuelle Benotzer:

$ 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

Variabel $USER enthält de Benotzernumm ënner deem Dir am Moment ageloggt sidd (per Standard dëst ass de Benotzer ubuntu). Elo wou mir den UN-UIXNUMX gehéiert goufen, ech lauers de PublicXNUMXanesch wou mir den Inhalt späicheren.

Mir mussen och d'Permonatiounen e bësse änneren fir sécher datt Dir Zougang erlaabt an de scheinbare Benotzer an all d'Dateiees, déi eis enthält. Dëst ass néideg fir d'Säit Säiten richteg ze weisen:

$ sudo chmod -R 755 /var/www

Äre Webserver soll elo d'Permissiounen hunn, muss et den Inhalt ze weisen. Zousätzlech huet Äre Benotzer elo d'Fäegkeet Inhalt an den erfuerderleche Verzeichnisser ze kreéieren.

Et gëtt schonn eng index.php Datei am /var/www/html Verzeichnis, loosst eis et an eis nei Verzeichnisser kopéieren - dëst wäert eisen Inhalt fir de Moment sinn:

$ 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

Elo musst Dir sécher sinn datt de Benotzer Zougang zu Ärem Site kënnt. Fir dëst ze maachen, wäerte mir d'éischt déi identifizéiere Funktiounen ze benotzen, déi personaliséierten Webserver op ënnerschreiwen op ënnerschiddlecher Domêten hunn.

Par défaut huet Apachschlag e virtuell Hostdatei 000-Standard.conf datt mir als Ufankspunkt benotzen. Mir klappen dëst fir virtuell Hostdateien ze kreéieren fir jidderee vun eisen Domainen ze kreéieren. Mir starten mat enger Domän, konfuraléieren et, et gëtt en anert Domain ze bopéieren, an da maacht déi néideg Ännerungen erëm.

D'Standardkonfiguratioun vun Ubuntu erfuerdert datt all virtuell Hostdatei eng *.conf Extensioun huet.

Loosst eis ufänken andeems Dir d'Datei fir déi éischt Domain kopéiert:

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

E neie Datei opmaachen an engem Editeur mat Rootrechter:

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

Änneren d'Donnéeë wéi follegt, uginn port 80, Är Donnéeën fir ServerAdmin, ServerName, ServerAlias, souwéi de Wee an de Root-Verzeichnis vun Ärem Site, späichert d'Datei (Ctrl+X, dann 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 setzt den primäre Domain, wat muss de virtuelle Hostnumm passen. Dëst muss Ären Domain Numm sinn. Zweeten, ServerAlias, definéiert aner Nimm déi solle interpretéiert ginn wéi wann et de primäre Domain wier. Dëst ass bequem fir zousätzlech Domain Nimm ze benotzen, zum Beispill mat www.

Loosst eis dës Configuratioun fir en aneren Host kopéieren an et och op déiselwecht Manéier änneren:

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

Dir kënnt esou vill Verzeichnisser a virtuell Hosten fir Är Websäiten erstellen wéi Dir wëllt! Elo datt mir eis virtuell Hostdateien erstallt hunn, musse mir se aktivéieren. Mir kënnen den a2ensite Utility benotze fir jiddereng vun eise Site esou z'aktivéieren:

$ sudo a2ensite a-dobra.ru.conf

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

Par défaut gëtt den Hafen 80 am LAMP zougemaach, a mir brauche se spéider fir en SSL Zertifika z'installéieren. Also loosst eis direkt d'ports.conf Datei änneren an dann Apache nei starten:

$ sudo nano /etc/apache2/ports.conf

Füügt eng nei Zeil a späichert d'Datei sou datt et esou ausgesäit:

Listen 80
Listen 443
Listen 9997

Nodeems Dir d'Astellungen ofgeschloss hutt, musst Dir Apache nei starten fir datt all d'Ännerungen a Kraaft trieden:

$ sudo systemctl reload apache2

Schrëtt 3: Ariichten Domain Nimm

Als nächst musst Dir DNS-Records addéieren, déi op Ären neie Server weisen. Fir Domainen ze managen, benotzt eis Arithmetic of Good Foundation den dns-master.ru Service, mir weisen et mat engem Beispill.

D'Astellung vun engem A-Rekord fir den Haaptdomän gëtt normalerweis wéi follegt uginn (Zeechen @):

Cloud fir Charity: Migratioun Guide
Den A Rekord fir Subdomains gëtt normalerweis esou spezifizéiert:

Cloud fir Charity: Migratioun Guide
D'IP Adress ass d'Adress vum Linuxserver dee mir just erstallt hunn. Dir kënnt TTL = 3600 uginn.

No enger Zäit wäert et méiglech sinn Äre Site ze besichen, awer fir de Moment nëmmen duerch http://. Am nächste Schrëtt wäerte mir Ënnerstëtzung addéieren https://.

Schrëtt 4: Ariichten gratis SSL Certificaten

Dir kënnt gratis kréien loosst eis verschlësselt SSL Certificaten fir Äre Haaptsäit an all Subdomainen. Dir kënnt och hir automatesch Erneierung konfiguréieren, wat ganz bequem ass. Fir SSL Certificaten ze kréien, installéiert Certmot op Ärem Server:

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

Installéiert de Certboot Package fir Apache mat apt:

$ sudo apt install python-certbot-apache 

Elo ass Certbot prett fir ze benotzen, lafen de Kommando:

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

Dëse Kommando leeft certbot, Schlësselen -d definéieren d'Nimm vun den Domainen, fir déi de Certificat soll ausgestallt ginn.

Wann dëst déi éischte Kéier ass datt Dir certbot lancéiert, gitt Dir gefrot Är E-Mailadress anzeginn an d'Benotzungsbedéngungen vum Service averstanen. certbot kontaktéiert dann de Let's Encrypt Server an iwwerpréift dann datt Dir tatsächlech den Domain kontrolléiert fir deen Dir den Zertifika ugefrot hutt.

Wann alles gutt gaang ass, freet certbot wéi Dir d'HTTPS Konfiguratioun wëllt konfiguréieren:

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

Mir recommandéieren d'Optioun 2 auswielen an ENTER drécken. D'Konfiguratioun gëtt aktualiséiert an Apache ginn nei gestart fir d'Ännerungen ze bewerben.

Är Certificaten sinn elo erofgelueden, installéiert a funktionnéieren. Probéiert Äre Site nei mat https:// ze lueden an Dir gesitt d'Sécherheetsikon an Ärem Browser. Wann Dir Test Äre Server SSL Labs Server Test, kritt hien en A-Grad.

Loosst eis d'Certificaten verdecken, sinn nëmme valabel fir 90 Deeg, awer de Cnerbot Package, déi mir just installéiert ginn, gëtt et automatesch zougeschriwwen. Fir den Update Prozess ze testen, kënne mir en dréchene Run vum Certmot maachen:

$ sudo certbot renew --dry-run 

Wann Dir keng Feeler gesitt als Resultat vun dësem Kommando auszeféieren, da funktionnéiert alles!

Schrëtt 5: Zougang MySQL an phpMyAdmin

Vill Websäite benotzen Datenbanken. De phpmyadmin Tool fir Datebankgestioun ass scho op eisem Server installéiert. Fir ze kréien, gitt op Äre Browser mat engem Link wéi:

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

D'Passwuert fir root Zougang kann an Ärem MCS perséinleche Kont kritt ginn (https://mcs.mail.ru/app/services/marketplace/apps/). Vergiesst net Är Root Passwuert ze änneren déi éischte Kéier Dir aloggen!

Schrëtt 6: Setup Datei Eroplueden iwwer SFTP

D'Entwéckler fannen et bequem fir Dateien fir Är Websäit iwwer SFTP eropzelueden. Fir dëst ze maachen, erstellen mir en neie Benotzer, rufft him Webmaster:

$ sudo adduser webmaster

De System freet Iech e Passwuert ze setzen an e puer aner Daten anzeginn.

Änneren de Besëtzer vum Verzeechnes mat Ärer Websäit:

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

Loosst eis elo d'SSH Config änneren, sou datt den neie Benotzer nëmmen Zougang zu SFTP huet an net den SSH Terminal:

$ sudo nano /etc/ssh/sshd_config

Scrollt op den nächste Enn vun der Konfiguratiounsdatei an füügt déi folgend Block:

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

Späichert d'Datei an de Service nei starten:

$ sudo systemctl restart sshd

Elo kënnt Dir mam Server iwwer all SFTP Client verbannen, zum Beispill duerch FileZilla.

D 'Resultat

  1. Elo wësst Dir wéi Dir nei Verzeichnisser erstellt a virtuell Hosten fir Är Websäiten am selwechte Server konfiguréiert.
  2. Dir kënnt einfach déi néideg SSL Certificaten erstellen - et ass gratis, a si ginn automatesch aktualiséiert.
  3. Dir kënnt uerdentlech mat der MySQL Datebank duerch de vertraute Phwmyadmin schaffen.
  4. Neie SFTP Konten erstellen an d'Zougang zu engem Zougangsrechter ze setzen brauch net vill Effort. Sou kënne bis drëtt-Partei Webbisiounen an den Endebansure transferéiert ginn.
  5. Vergiess net de System op periodesch aktualiséiert, a mir wäerten och Backhfen?

Benotzt Ressourcen déi nëtzlech kënne sinn:

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

Iwwrégens, hei Dir kënnt op VC liesen wéi eis Stëftung eng Plattform fir Online-Ausbildung fir Orphen baséiert op der MCS Cloud ofgesat huet.

Source: will.com

Setzt e Commentaire