Cloud kanggo Amal: Pandhuan Migrasi

Cloud kanggo Amal: Pandhuan Migrasi

Ora suwe, Mail.Ru Cloud Solutions (MCS) lan layanan Dobro Mail.Ru ngluncurake proyek kasebut "Awan kanggo amal”, amarga organisasi nirlaba bisa entuk sumber daya platform awan MCS kanthi gratis. yayasan amal"Aritmetika kabecikan» melu proyek kasebut lan kasil nyebarake bagean saka infrastruktur adhedhasar MCS.

Sawise lulus validasi, NPO bisa nampa kapasitas virtual saka MCS, nanging konfigurasi luwih mbutuhake kualifikasi tartamtu. Ing materi iki, kita pengin nuduhake instruksi khusus kanggo nyetel server basis Linux Ubuntu kanggo mbukak situs web dhasar utama lan sawetara subdomain nggunakake sertifikat SSL gratis. Kanggo akeh, iki bakal dadi pandhuan sing gampang, nanging kita ngarep-arep pengalaman kita bakal migunani kanggo organisasi nirlaba liyane, lan ora mung.

FYI: Apa sing sampeyan entuk saka MCS? 4 CPU, 32 GB RAM, 1 TB HDD, Ubuntu Linux OS, panyimpenan obyek 500 GB.

Langkah 1: miwiti server virtual

Ayo langsung menyang titik lan nggawe server virtual kita (alias "kayata") ing akun pribadi MCS sampeyan. Ing toko aplikasi, sampeyan kudu milih lan nginstal tumpukan LAMP sing wis siap, yaiku piranti lunak server (LAMP = Linux, Apache, MySQL, PHP) sing dibutuhake kanggo mbukak paling akeh situs web.

Cloud kanggo Amal: Pandhuan Migrasi
Cloud kanggo Amal: Pandhuan Migrasi
Cloud kanggo Amal: Pandhuan Migrasi
Pilih konfigurasi server sing cocog lan gawe kunci SSH anyar. Sawise ngeklik tombol "Instal", instalasi server lan tumpukan LAMP bakal diwiwiti, iki bakal entuk sawetara wektu. Sistem uga bakal nawakake download kunci pribadi menyang komputer kanggo ngatur mesin virtual liwat console, simpen.

Sawise nginstal aplikasi kasebut, ayo langsung nyiyapake firewall, iki uga ditindakake ing akun pribadi sampeyan: pindhah menyang bagean "Komputasi awan -> Mesin virtual" banjur pilih "Setelan firewall":

Cloud kanggo Amal: Pandhuan Migrasi
Sampeyan kudu nambah ijin kanggo lalu lintas mlebu liwat port 80 lan 9997. Iki perlu ing mangsa ngarep kanggo nginstal sertifikat SSL lan nggarap phpMyAdmin. Akibaté, set aturan kudu katon kaya iki:

Cloud kanggo Amal: Pandhuan Migrasi
Saiki sampeyan bisa nyambung menyang server liwat baris printah nggunakake protokol SSH. Kanggo nindakake iki, ketik printah ing ngisor iki, nuding tombol SSH ing komputer lan alamat IP eksternal server sampeyan (sampeyan bisa nemokake ing bagean "Mesin virtual"):

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

Nalika nyambung menyang server kanggo pisanan, dianjurake kanggo nginstal kabeh nganyari saiki lan urip maneh. Kanggo nindakake iki, jalanake printah ing ngisor iki:

$ sudo apt-get update

Sistem bakal nampa dhaptar nganyari, nginstal nggunakake printah iki lan tindakake pandhuan:

$ sudo apt-get upgrade

Sawise nginstal nganyari, miwiti maneh server:

$ sudo reboot

Langkah 2: Nggawe host virtual

Akeh organisasi nirlaba kudu njaga sawetara domain utawa subdomain ing wektu sing padha (contone, situs web utama lan sawetara kaca dhasar kanggo kampanye promosi, lsp.). Kabeh iki bisa diselehake kanthi gampang ing siji server kanthi nggawe sawetara host virtual.

Pisanan kita kudu nggawe struktur direktori kanggo situs sing bakal ditampilake kanggo pengunjung. Ayo nggawe sawetara direktori:

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

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

Lan nemtokake pemilik pangguna saiki:

$ 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 ngemot jeneng pangguna sing saiki sampeyan mlebu (kanthi standar iki pangguna ubuntu). Saiki pangguna saiki duwe direktori public_html ing ngendi kita bakal nyimpen konten kasebut.

Kita uga kudu ngowahi ijin rada kanggo mesthekake yen akses diwaca diidini menyang direktori web sing dienggo bareng lan kabeh file lan folder sing ana. Iki perlu supaya kaca situs bisa ditampilake kanthi bener:

$ sudo chmod -R 755 /var/www

Server web sampeyan saiki kudu duwe ijin sing dibutuhake kanggo nampilake konten kasebut. Kajaba iku, pangguna sampeyan saiki duwe kemampuan kanggo nggawe konten ing direktori sing dibutuhake.

Wis ana file index.php ing direktori /var/www/html, ayo disalin menyang direktori anyar - iki bakal dadi konten saiki:

$ 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

Saiki sampeyan kudu nggawe manawa pangguna bisa ngakses situs sampeyan. Kanggo nindakake iki, kita bakal ngatur file host virtual dhisik, sing nemtokake cara server web Apache bakal nanggapi panjaluk menyang domain sing beda-beda.

Kanthi gawan, Apache duwe file host virtual 000-default.conf sing bisa digunakake minangka titik wiwitan. Kita bakal nyalin iki kanggo nggawe file host virtual kanggo saben domain kita. Kita bakal miwiti karo siji domain, ngatur, nyalin menyang domain liyane, banjur nggawe suntingan perlu maneh.

Konfigurasi standar Ubuntu mbutuhake saben file host virtual duwe ekstensi * .conf.

Ayo miwiti kanthi nyalin file kanggo domain pisanan:

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

Bukak file anyar ing editor kanthi hak root:

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

Sunting data minangka nderek, nemtokake port 80, data kanggo ServerAdmin, ServerName, ServerAlias, uga path menyang direktori root situs sampeyan, simpen file kasebut (Ctrl+X, banjur 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 nyetel domain utami, sing kudu cocog karo jeneng host virtual. Iki kudu jeneng domain sampeyan. Kapindho, ServerAlias, nemtokake jeneng liya sing kudu diinterpretasikake minangka domain utama. Iki trep kanggo nggunakake jeneng domain tambahan, contone nggunakake www.

Ayo nyalin konfigurasi iki kanggo host liyane lan uga ngowahi kanthi cara sing padha:

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

Sampeyan bisa nggawe akeh direktori lan host virtual kanggo situs web sing dikarepake! Saiki kita wis nggawe file host virtual, kita kudu ngaktifake. Kita bisa nggunakake sarana a2ensite kanggo ngaktifake saben situs kaya iki:

$ sudo a2ensite a-dobra.ru.conf

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

Kanthi gawan, port 80 ditutup ing LAMP, lan kita bakal mbutuhake mengko kanggo nginstal sertifikat SSL. Dadi ayo langsung ngowahi file ports.conf banjur miwiti maneh Apache:

$ sudo nano /etc/apache2/ports.conf

Tambah baris anyar lan simpen file supaya katon kaya iki:

Listen 80
Listen 443
Listen 9997

Sawise ngrampungake setelan, sampeyan kudu miwiti maneh Apache supaya kabeh owah-owahan bisa ditrapake:

$ sudo systemctl reload apache2

Langkah 3: Nggawe jeneng domain

Sabanjure, sampeyan kudu nambah cathetan DNS sing bakal nuding menyang server anyar sampeyan. Kanggo ngatur domain, Arithmetic of Good Foundation nggunakake layanan dns-master.ru, kita bakal nuduhake kanthi conto.

Nyetel rekaman A kanggo domain utama biasane dituduhake kaya ing ngisor iki (tandha @):

Cloud kanggo Amal: Pandhuan Migrasi
Rekaman A kanggo subdomain biasane ditemtokake kaya iki:

Cloud kanggo Amal: Pandhuan Migrasi
Alamat IP minangka alamat server Linux sing lagi wae digawe. Sampeyan bisa nemtokake TTL = 3600.

Sawise sawetara wektu, sampeyan bisa ngunjungi situs sampeyan, nanging saiki mung liwat http://. Ing langkah sabanjure kita bakal nambah dhukungan https://.

Langkah 4: Nggawe sertifikat SSL gratis

Sampeyan bisa entuk sertifikat SSL Ayo Encrypt gratis kanggo situs utama lan kabeh subdomain. Sampeyan uga bisa ngatur nganyari maneh otomatis, kang trep banget. Kanggo entuk sertifikat SSL, instal Certbot ing server sampeyan:

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

Instal paket Certbot kanggo Apache nggunakake apt:

$ sudo apt install python-certbot-apache 

Saiki Certbot wis siyap digunakake, jalanake perintah kasebut:

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

Printah iki nganggo certbot, tombol -d nemtokake jeneng domain sing sertifikat kudu ditanggepi.

Yen iki pisanan sampeyan miwiti certbot, sampeyan bakal dijaluk ngetik alamat email lan setuju karo syarat panggunaan layanan kasebut. certbot banjur bakal ngubungi server Ayo Encrypt banjur verifikasi manawa sampeyan bener-bener ngontrol domain sing sampeyan njaluk sertifikat kasebut.

Yen kabeh wis apik, certbot bakal takon carane sampeyan pengin ngatur konfigurasi 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):

Disaranake milih opsi 2 banjur pencet ENTER. Konfigurasi bakal dianyari lan Apache bakal diwiwiti maneh kanggo ngetrapake owah-owahan.

Sertifikat sampeyan saiki wis diundhuh, diinstal lan bisa digunakake. Coba muat ulang situs sampeyan nganggo https: // lan sampeyan bakal weruh lambang keamanan ing browser sampeyan. Yen sampeyan nyoba server sampeyan Test Server SSL Labs, dheweke bakal entuk biji A.

Sertifikat Let's Encrypt mung valid kanggo 90 dina, nanging paket certbot sing lagi wae kita pasang bakal nganyari sertifikat kanthi otomatis. Kanggo nguji proses nganyari, kita bisa nindakake certbot garing:

$ sudo certbot renew --dry-run 

Yen sampeyan ora weruh kesalahan minangka asil nglakokake printah iki, banjur kabeh bisa digunakake!

Langkah 5: Akses MySQL lan phpMyAdmin

Akeh situs web nggunakake database. Alat phpMyAdmin kanggo manajemen basis data wis diinstal ing server kita. Kanggo ngakses, bukak browser sampeyan nggunakake link kaya:

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

Tembung sandhi kanggo akses root bisa dipikolehi ing akun pribadi MCS sampeyan (https://mcs.mail.ru/app/services/marketplace/apps/). Aja lali kanggo ngganti tembung sandhi ROOT nalika pisanan sampeyan mlebu!

Langkah 6: Nggawe upload file liwat SFTP

Pangembang bakal nemokake trep kanggo ngunggah file kanggo situs web sampeyan liwat SFTP. Kanggo nindakake iki, kita bakal nggawe pangguna anyar, nelpon dheweke webmaster:

$ sudo adduser webmaster

Sistem bakal njaluk sampeyan nyetel sandhi lan ketik sawetara data liyane.

Ngganti pemilik direktori karo situs web sampeyan:

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

Saiki ayo ngganti konfigurasi SSH supaya pangguna anyar mung nduweni akses menyang SFTP lan dudu terminal SSH:

$ sudo nano /etc/ssh/sshd_config

Gulung menyang mburi file konfigurasi lan tambahake blok ing ngisor iki:

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

Simpen file lan miwiti maneh layanan:

$ sudo systemctl restart sshd

Saiki sampeyan bisa nyambung menyang server liwat klien SFTP, contone, liwat FileZilla.

Asile

  1. Saiki sampeyan ngerti carane nggawe direktori anyar lan ngatur host virtual kanggo situs web sampeyan ing server sing padha.
  2. Sampeyan bisa kanthi gampang nggawe sertifikat SSL sing dibutuhake - iku gratis, lan bakal dianyari kanthi otomatis.
  3. Sampeyan bisa kanthi gampang nggarap database MySQL liwat phpMyAdmin sing wis dikenal.
  4. Nggawe akun SFTP anyar lan nyetel hak akses ora mbutuhake gaweyan akeh. Akun kasebut bisa ditransfer menyang pangembang web pihak katelu lan pangurus situs.
  5. Aja lali nganyari sistem kanthi periodik, lan uga menehi saran kanggo nggawe serep - ing MCS sampeyan bisa njupuk "snapshots" kabeh sistem kanthi siji klik, banjur, yen perlu, bukak kabeh gambar.

Sumber daya sing digunakake sing bisa migunani:

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

Miturut cara, kene Sampeyan bisa maca ing VC kepiye yayasan kita masang platform kanggo pendhidhikan online kanggo bocah yatim adhedhasar awan MCS.

Source: www.habr.com

Add a comment