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", thanks kanggo organisasi nirlaba bisa nampa sumber daya gratis saka platform maya MCS. Yayasan amal "Aritmetika kabecikanΒ» melu proyek kasebut lan kasil nyebarake bagean saka infrastruktur adhedhasar MCS.

Sawise validasi, organisasi nirlaba bisa nampa kapasitas virtual saka MCS, nanging persiyapan luwih lanjut mbutuhake keahlian khusus. Ing artikel iki, kita bakal nuduhake pandhuan khusus kanggo nyetel server adhedhasar Ubuntu Linux Kanggo ngoperasikake situs web utama yayasan lan sawetara subdomain nggunakake sertifikat SSL gratis. Iki bakal dadi pandhuan sing prasaja kanggo akeh wong, nanging muga-muga pengalaman kita bakal migunani kanggo organisasi nirlaba liyane lan ngluwihi.

FYIApa sing isa kok entuk saka MCS? 4 CPU, RAM 32 GB, HDD 1 TB, OS Ubuntu Linux, panyimpenan obyek 500 GB.

Langkah 1: Bukak server virtual

Ayo langsung wae menyang intine lan gawe server virtual (uga dikenal minangka "instance") ing akun MCS sampeyan. Saka app store, sampeyan kudu milih lan nginstal tumpukan LAMP sing wis digawe, yaiku sakumpulan piranti lunak server (LAMP = Linux, Apache, MySQL, PHP), sing dibutuhake kanggo mbukak umume situs web.

Cloud kanggo Amal: Pandhuan Migrasi
Cloud kanggo Amal: Pandhuan Migrasi
Cloud kanggo Amal: Pandhuan Migrasi
Pilih konfigurasi sing cocog kanggo server 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 pribadhi: 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 mengko 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 liwat protokol SSH. Kanggo nindakake iki, ketik printah ing ngisor iki, nemtokake dalan menyang kunci 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, urip maneh server:

$ sudo reboot

Langkah 2: Konfigurasi host virtual

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

Kaping 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 kita bakal nemtokake pangguna saiki minangka pemilik:

$ 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 gunakake (standar yaiku pangguna ubuntu). Saiki pangguna saiki duwe direktori public_html, ing ngendi kita bakal nyimpen konten kasebut.

Kita uga kudu ngowahi idin kanggo mesthekake yen akses maca diijini menyang direktori web umum lan kabeh file lan folder sing ana ing njero. 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 kudu bisa 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 kita kudu nggawe manawa pangguna bisa ngakses situs sampeyan. Kanggo nindakake iki, kita bakal ngatur file host virtual, sing nemtokake persis apa server web Apache bakal nanggapi panjalukan kanggo domain sing beda-beda.

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

Konfigurasi Ubuntu kanthi gawan mbutuhake saben file virtual host 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 e.valuisky@a-dobra.ru
    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 utami. Iki migunani kanggo nggunakake jeneng domain tambahan, kayata nggunakake www.

Ayo nyalin konfigurasi iki kanggo host liyane lan 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 rampung konfigurasi, 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, yayasan "Aritmetika Apik" nggunakake layanan dns-master.ru, kita bakal nuduhake sampeyan contone.

Nggawe rekaman A kanggo domain utama biasane dituduhake kaya iki (tandha @):

Cloud kanggo Amal: Pandhuan Migrasi
A-record kanggo subdomain biasane ditemtokake kaya ing ngisor iki:

Cloud kanggo Amal: Pandhuan Migrasi
Alamat IP kuwi alamat sing nembe digawe. Linux-server. Sampeyan bisa nemtokake TTL = 3600.

Sawise sawetara wektu, sampeyan bisa ngakses 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 nyiyapake nganyari maneh otomatis, sing trep banget. Kanggo entuk sertifikat SSL, instal Certbot ing server sampeyan:

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

Ayo nginstal paket Certbot kanggo Apache nggunakake apt:

$ sudo apt install python-certbot-apache 

Saiki Certbot wis siyap digunakake, jalanake printah:

$ 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 mbukak certbot, sampeyan bakal dijaluk ngetik alamat email lan setuju karo syarat layanan. Sawise iku, certbot bakal ngubungi server Ayo Encrypt banjur verifikasi manawa sampeyan bener-bener ngontrol domain sing sampeyan njaluk sertifikat.

Yen kabeh mlaku kanthi apik, certbot bakal takon carane sampeyan pengin nyetel 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.

Saiki sertifikat sampeyan wis diundhuh, diinstal lan bisa digunakake. Coba muat ulang situs sampeyan nggunakake https: // lan sampeyan bakal weruh lambang keamanan ing browser sampeyan. Yen sampeyan mriksa server sampeyan kanthi tes Test Server SSL Labs, dheweke bakal nampa A.

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

$ sudo certbot renew --dry-run 

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

Langkah 5: Akses MySQL lan phpMyAdmin

Akeh situs web nggunakake database. Server kita wis nginstal alat phpMyAdmin kanggo ngatur basis data. Kanggo ngakses, tindakake link ing browser Panjenengan:

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 mlebu!

Langkah 6: Konfigurasi upload file liwat SFTP

Iku bakal trep kanggo pangembang kanggo ngunggah file kanggo situs web liwat SFTP. Kanggo iki, kita bakal nggawe pangguna anyar, kita bakal ngarani webmaster:

$ sudo adduser webmaster

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

Ganti pemilik direktori nganggo 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 mudhun menyang sisih ngisor 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 sembarang klien SFTP, contone, liwat FileZilla.

Asile

  1. Saiki sampeyan ngerti carane nggawe direktori anyar lan nyetel host virtual kanggo situs web sampeyan ing server siji.
  2. Sampeyan bisa nggawe sertifikat SSL kanthi gampang - 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 gampang lan bisa dienggo bareng karo pangembang web pihak katelu lan administrator situs.
  5. Aja lali nganyari sistem kanthi periodik, lan disaranake nggawe serep - ing MCS sampeyan bisa nggawe "jepret" kabeh sistem kanthi siji klik, banjur, yen perlu, mbukak kabeh gambar.

Sumber daya 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

Tuku hosting sing dipercaya kanggo situs kanthi proteksi DDoS, server VPS VDS πŸ”₯ Tuku hosting situs web sing bisa dipercaya nganggo proteksi DDoS, server VPS VDS | ProHoster