Awan pikeun Amal: Pituduh Migrasi

Awan pikeun Amal: Pituduh Migrasi

Teu lami pisan, Mail.Ru Cloud Solutions (MCS) sareng jasa Dobro Mail.Ru ngaluncurkeun proyék "Awan pikeun amal", anu ngamungkinkeun organisasi nirlaba pikeun ménta sumberdaya platform awan MCS haratis. Yayasan amal "Aritmetika kahadéan"Ilubiung dina proyék sareng suksés nyebarkeun bagian tina infrastrukturna dumasar kana MCS.

Saatos validasi, organisasi nirlaba tiasa nampi kapasitas virtual ti MCS, tapi setelan salajengna meryogikeun kaahlian khusus. Dina tulisan ieu, urang bakal ngabagikeun pitunjuk khusus pikeun nyetél server dumasar kana Ubuntu Linux Pikeun ngoperasikeun situs wéb utama yayasan sareng sababaraha subdomain nganggo sertipikat SSL gratis. Ieu bakal janten pituduh anu saderhana pikeun seueur jalmi, tapi kami ngarepkeun pangalaman kami bakal mangpaat pikeun organisasi nirlaba anu sanés sareng saluareun éta.

FYINaon anu anjeun tiasa kéngingkeun ti MCS? 4 CPU, RAM 32 GB, HDD 1 TB, OS Ubuntu Linux, panyimpenan objék 500 GB.

Lengkah 1: Jalankeun server virtual

Hayu urang langsung kana intina sareng jieun server virtual urang (ogé katelah "instance") dina akun MCS anjeun. Ti toko aplikasi, anjeun kedah milih sareng masang tumpukan LAMP anu tos siap, nyaéta sakumpulan parangkat lunak server (LAMP = Linux, Apache, MySQL, PHP), anu diperyogikeun pikeun ngajalankeun kalolobaan situs wéb.

Awan pikeun Amal: Pituduh Migrasi
Awan pikeun Amal: Pituduh Migrasi
Awan pikeun Amal: Pituduh Migrasi
Pilih konfigurasi luyu pikeun server jeung ngahasilkeun konci SSH anyar. Saatos ngaklik "Pasang," pangladén sareng pamasangan tumpukan LAMP bakal ngamimitian, anu peryogi sababaraha waktos. Sistim nu ogé bakal ajakan anjeun pikeun ngundeur konci swasta ka komputer Anjeun pikeun ngatur mesin virtual via konsol nu. Simpen.

Saatos masang aplikasi, hayu urang langsung nyetél firewall. Ieu ogé tiasa dilakukeun dina akun pribadi anjeun: angkat ka bagian "Komputasi Awan -> Mesin Virtual" sareng pilih "Setélan Firewall":

Awan pikeun Amal: Pituduh Migrasi
Anjeun kedah ngijinkeun lalu lintas asup kana palabuhan 80 sareng 9997. Ieu dipikabutuh pikeun masang sertipikat SSL sareng damel sareng phpMyAdmin. Aturan final kedah sapertos kieu:

Awan pikeun Amal: Pituduh Migrasi
Ayeuna anjeun tiasa nyambung ka server anjeun nganggo garis paréntah nganggo protokol SSH. Jang ngalampahkeun ieu, lebetkeun paréntah di handap ieu, netepkeun jalur ka konci SSH dina komputer anjeun sareng alamat IP éksternal tina server anjeun (anjeun tiasa mendakan ieu dina bagian "Mesin Virtual"):

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

Nalika nyambungkeun ka server pikeun kahiji kalina, disarankeun pikeun masang sadaya apdet ayeuna sareng reboot. Jang ngalampahkeun ieu, ngajalankeun paréntah di handap ieu:

$ sudo apt-get update

Sistem bakal nampi daptar apdet, pasang nganggo paréntah ieu sareng turutan paréntahna:

$ sudo apt-get upgrade

Saatos masang apdet, reboot server:

$ sudo reboot

Lengkah 2: Konpigurasikeun host virtual

Seueur lembaga nonprofit kedah janten host sababaraha domain atanapi subdomain sakaligus (contona, halaman wéb utama sareng sababaraha halaman badarat pikeun kampanye promosi, jsb.). Sadaya ieu tiasa gampang di-host dina hiji server ku nyiptakeun sababaraha host virtual.

Kahiji, urang kudu nyieun struktur diréktori pikeun loka anu bakal dipintonkeun ka nu datang. Hayu urang nyieun sababaraha diréktori:

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

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

Sarta kami bakal nangtukeun pamaké ayeuna salaku nu boga:

$ 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 ngandung ngaran pamaké anjeun ayeuna asup (standar nyaéta pamaké ubuntu). Ayeuna pangguna ayeuna gaduh diréktori public_html, dimana urang bakal nyimpen eusina.

Urang ogé kedah rada nyaluyukeun idin pikeun mastikeun aksés dibaca diidinan ka diréktori wéb anu dibagikeun sareng sadaya file sareng polder anu aya di jerona. Ieu dipikabutuh pikeun kaca loka pikeun nembongkeun bener:

$ sudo chmod -R 755 /var/www

Pangladén wéb anjeun ayeuna kedah gaduh idin anu diperyogikeun pikeun ningalikeun eusi. Salaku tambahan, pangguna anjeun ayeuna kedah tiasa nyiptakeun kontén dina diréktori anu diperyogikeun.

Geus aya file index.php dina diréktori /var/www/html, hayu urang salin kana diréktori anyar urang - ieu bakal eusi urang ayeuna:

$ 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

Ayeuna urang kedah mastikeun yén pangguna tiasa ngaksés halaman wéb anjeun. Jang ngalampahkeun ieu, urang mimiti ngonpigurasikeun file host virtual, anu nangtukeun kumaha server wéb Apache bakal ngabales pamundut pikeun domain anu béda.

Sacara standar, Apache ngagaduhan file host virtual anu disebut 000-default.conf, anu tiasa urang dianggo salaku titik awal. Kami bakal nyalin éta pikeun nyiptakeun file host virtual pikeun unggal domain urang. Urang mimitian ku hiji domain, ngonpigurasikeunana, nyalin kana domain anu sanés, teras ngadamel éditan anu diperyogikeun.

Konfigurasi Ubuntu sacara standar merlukeun unggal file virtual host gaduh ekstensi *.conf.

Hayu urang mimitian ku nyalin file pikeun domain munggaran:

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

Buka file anyar dina éditor anu gaduh hak istimewa root:

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

Edit data saperti kieu, nangtukeun port 80, data anjeun pikeun ServerAdmin, ServerName, ServerAlias, kitu ogé jalur ka diréktori akar situs anjeun, simpen file (Ctrl + X, lajeng 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 Nyetél domain primér, anu kedah cocog sareng nami host virtual. Ieu kedah janten nami domain anjeun. Nu kadua, ServerAlias, ngahartikeun ngaran séjén nu kudu diinterpretasi saolah-olah éta domain primér. Ieu merenah pikeun ngagunakeun ngaran domain tambahan, kayaning www.

Hayu urang nyalin config ieu ka host sejen tur edit ku cara nu sami:

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

Anjeun tiasa nyiptakeun saloba diréktori sareng host virtual pikeun situs wéb anjeun anu anjeun pikahoyong! Ayeuna urang parantos nyiptakeun file host virtual, urang kedah ngaktipkeunana. Urang tiasa nganggo utilitas a2ensite pikeun ngaktipkeun unggal situs urang sapertos kieu:

$ sudo a2ensite a-dobra.ru.conf

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

Sacara standar, LAMP nutup port 80, tapi urang peryogi éta engké pikeun masang sertipikat SSL. Janten, hayu urang ngédit file ports.conf teras balikan deui Apache:

$ sudo nano /etc/apache2/ports.conf

Nambahkeun hiji baris anyar jeung simpen file sangkan kasampak kawas kieu:

Listen 80
Listen 443
Listen 9997

Sakali anjeun parantos réngsé konfigurasi, anjeun kedah ngabalikan deui Apache supados sadaya parobihan tiasa dianggo:

$ sudo systemctl reload apache2

Lengkah 3: Nyetél ngaran domain

Salajengna, anjeun kedah nambihan rékaman DNS anu bakal nunjuk ka server énggal anjeun. Yayasan "Arithmetic of Good" kami nganggo dns-master.ru pikeun ngatur domain; urang bakal ngagunakeun éta salaku conto.

Nyetél rékaman A pikeun domain utama biasana dituduhkeun sapertos kieu (tanda @):

Awan pikeun Amal: Pituduh Migrasi
A-catetan pikeun subdomains biasana dieusian kawas kieu:

Awan pikeun Amal: Pituduh Migrasi
Alamat IP nyaéta alamat anu nembé urang jieun. Linux-servers. Anjeun tiasa nangtukeun TTL = 3600.

Sanggeus sababaraha waktu, éta bakal mungkin pikeun ngakses situs anjeun, tapi pikeun ayeuna ngan ngaliwatan http://Dina lengkah saterusna urang bakal nambahan rojongan https://.

Lengkah 4: Nyetél sertipikat SSL gratis

Anjeun tiasa kéngingkeun sertipikat SSL Let's Encrypt gratis pikeun halaman wéb utama anjeun sareng sadaya subdomain. Anjeun oge bisa nyetél pembaharuan otomatis, nu pohara merenah. Pikeun kéngingkeun sertipikat SSL, pasang Certbot dina server anjeun:

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

Hayu urang masang pakét Certbot pikeun Apache ngagunakeun apt:

$ sudo apt install python-certbot-apache 

Ayeuna Certbot parantos siap dianggo, jalankeun paréntahna:

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

Paréntah ieu ngajalankeun certbot, konci -d nangtukeun ngaran domain nu sertipikat kudu dikaluarkeun.

Upami ieu pertama kalina anjeun ngajalankeun certbot, anjeun bakal dipenta pikeun nuliskeun alamat email anjeun sareng satuju kana syarat jasa. Saatosna, certbot bakal ngahubungi server Let's Encrypt sareng pariksa yén anjeun ngadalikeun domain anu anjeun kéngingkeun sertipikat.

Upami sadayana lancar, certbot bakal naroskeun kumaha anjeun badé ngonpigurasikeun 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):

Kami nyarankeun milih pilihan 2 sareng pencét ENTER. Konfigurasi bakal diropéa, sarta Apache bakal restarted pikeun nerapkeun parobahanana.

Ayeuna sertipikat anjeun diunduh, dipasang, sareng jalan. Coba muat ulang situs anjeun nganggo https:// sareng anjeun bakal ningali ikon kaamanan dina panyungsi anjeun. Lamun nguji server Anjeun SSL Labs Server Test, anjeunna bakal nampi A.

Sertipikat Let's Encrypt ngan valid pikeun 90 dinten, tapi pakét certbot anu kami pasang bakal otomatis nga-renew sertipikat. Pikeun nguji prosés pembaharuan, urang tiasa ngalakukeun certbot garing:

$ sudo certbot renew --dry-run 

Upami anjeun henteu ningali kasalahan nalika anjeun ngajalankeun paréntah ieu, maka sadayana jalan!

Lengkah 5: Aksés MySQL sareng phpMyAdmin

Loba situs web ngagunakeun database. Server kami parantos dipasang phpMyAdmin pikeun manajemén database. Pikeun ngaksés éta, arahkeun ka tautan ieu dina panyungsi anjeun:

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

Sandi pikeun aksés root tiasa didapet dina akun pribadi MCS anjeun (https://mcs.mail.ru/app/services/marketplace/apps/). Tong hilap ngarobih kecap konci root anjeun nalika anjeun mimiti asup!

Lengkah 6: Konpigurasikeun unggah file via SFTP

Pamekar bakal gampang pikeun ngamuat file pikeun halaman wéb anjeun nganggo SFTP. Jang ngalampahkeun ieu, urang bakal nyieun pamaké anyar, disebut webmaster:

$ sudo adduser webmaster

Sistem bakal naroskeun anjeun nyetél kecap konci sareng asupkeun sababaraha inpormasi anu sanés.

Robah nu boga diréktori nu ngandung ramatloka anjeun:

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

Ayeuna hayu urang robih konfigurasi SSH supados pangguna énggal ngan ukur gaduh aksés kana SFTP sanés terminal SSH:

$ sudo nano /etc/ssh/sshd_config

Gulung ka handap ka bagian handap file konfigurasi sareng tambahkeun blok ieu:

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

Simpen file sareng balikan deui jasa:

$ sudo systemctl restart sshd

Ayeuna anjeun tiasa nyambung ka server liwat klien SFTP, contona, via FileZilla.

hasil

  1. Ayeuna anjeun terang kumaha cara nyiptakeun diréktori énggal sareng nyetél host virtual pikeun situs wéb anjeun dina hiji server.
  2. Anjeun tiasa sacara gampil nyiptakeun sertipikat SSL anu anjeun peryogikeun - éta gratis, sareng éta bakal otomatis diropéa.
  3. Anjeun tiasa dianggo kalayan gampang sareng database MySQL ngalangkungan phpMyAdmin anu akrab.
  4. Nyieun akun SFTP anyar jeung nyetel hak aksés gampang. Akun ieu tiasa dibagikeun sareng pamekar wéb pihak katilu sareng pangurus situs.
  5. Tong hilap ngapdet sistem anjeun sacara périodik, sareng kami ogé nyarankeun ngadamel cadangan — MCS ngamungkinkeun anjeun nyandak jepretan sadaya sistem anjeun kalayan hiji klik, teras ngajalankeun sadayana gambar upami diperyogikeun.

Sumberdaya anu dianggo anu tiasa mangfaat:

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

Ku jalan kitu, di dieu Anjeun tiasa maca dina VC kumaha yayasan kami nyebarkeun platform pendidikan online pikeun yatim dumasar kana méga MCS.

sumber: www.habr.com

Mésér hosting anu dipercaya pikeun situs anu gaduh panyalindungan DDoS, server VPS VDS 🔥 Meser hosting situs wéb anu tiasa dipercaya nganggo panyalindungan DDoS, server VPS VDS | ProHoster