Teu lami pisan, Mail.Ru Cloud Solutions (MCS) sareng jasa Dobro Mail.Ru ngaluncurkeun proyék "
Sanggeus lulus validasi, hiji NPO bisa nampa kapasitas virtual ti MCS, tapi konfigurasi salajengna merlukeun kualifikasi tangtu. Dina bahan ieu, urang hoyong bagikeun parentah husus pikeun nyetel hiji server basis Linux Ubuntu ngajalankeun ramatloka yayasan utama jeung sajumlah subdomains ngagunakeun sertipikat SSL gratis. Pikeun seueur, ieu bakal janten pituduh anu saderhana, tapi kami ngarepkeun pangalaman urang bakal mangpaat pikeun organisasi nirlaba sanés, sanés ngan ukur.
FYI: Naon anu anjeun tiasa kéngingkeun tina MCS? 4 CPUs, 32 GB RAM, 1 TB HDD, OS Linux Ubuntu, 500 GB gudang objék.
Lengkah 1: ngajalankeun server virtual
Hayu urang langsung ka titik sareng jieun server virtual kami (alias "conto") dina akun pribadi MCS anjeun. Di toko aplikasi, anjeun kedah milih sareng masang tumpukan LAMP anu siap-siap, anu mangrupikeun set parangkat lunak server (LAMP = Linux, Apache, MySQL, PHP) anu dipikabutuh pikeun ngajalankeun kalolobaan situs wéb.
Pilih konfigurasi server anu luyu sareng jieun konci SSH anyar. Saatos ngaklik tombol "Pasang", pamasangan server sareng tumpukan LAMP bakal ngamimitian, ieu bakal nyandak sababaraha waktos. Sistim nu ogé bakal nawiskeun pikeun ngundeur konci swasta ka komputer Anjeun pikeun ngatur mesin virtual via konsol nu, simpen eta.
Saatos masang aplikasi, hayu urang langsung nyetél firewall, ieu ogé dilakukeun dina akun pribadi anjeun: angkat ka bagian "Komputasi awan -> Mesin virtual" teras pilih "Setelan firewall":
Anjeun kedah nambihan idin pikeun lalu lintas asup ngalangkungan port 80 sareng 9997. Ieu diperlukeun dina mangsa nu bakal datang pikeun masang sertipikat SSL jeung digawekeun ku phpMyAdmin. Hasilna, susunan aturan kedah sapertos kieu:
Ayeuna anjeun tiasa nyambung ka server anjeun nganggo garis paréntah nganggo protokol SSH. Jang ngalampahkeun ieu, ketik paréntah di handap ieu, nunjuk kana konci SSH dina komputer anjeun sareng alamat IP éksternal tina server anjeun (anjeun tiasa mendakanana 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, balikan deui server:
$ sudo reboot
Lengkah 2: Nyetél host virtual
Seueur lembaga nonprofit kedah ngajaga sababaraha domain atanapi subdomain dina waktos anu sami (contona, halaman wéb utama sareng sababaraha halaman badarat pikeun kampanye promosi, jsb.). Sadaya ieu tiasa gampang disimpen dina hiji server ku nyiptakeun sababaraha host virtual.
Mimiti urang kedah ngadamel struktur diréktori pikeun situs anu bakal ditingalikeun ka sémah. 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
Jeung tangtukeun nu boga pamaké ayeuna:
$ 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é dimana anjeun ayeuna asup (sacara standar ieu pamaké ubuntu
). Ayeuna pangguna ayeuna gaduh diréktori public_html dimana urang bakal nyimpen eusina.
Urang ogé kedah ngédit idin sakedik pikeun mastikeun yén aksés maca diidinan ka diréktori wéb anu dibagikeun sareng sadaya file sareng polder anu aya. 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 nampilkeun eusi. Sajaba ti éta, pamaké anjeun ayeuna boga kamampuhan pikeun nyieun eusi dina directories diperlukeun.
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 anjeun kedah mastikeun yén pangguna tiasa ngaksés situs anjeun. Jang ngalampahkeun ieu, urang mimiti bakal ngonpigurasikeun file host maya, nu nangtukeun kumaha web server Apache bakal ngabales requests kana domain béda.
Sacara standar, Apache ngagaduhan file host virtual 000-default.conf anu tiasa urang pake salaku titik awal. Kami badé nyalin ieu pikeun nyiptakeun file host virtual pikeun unggal domain urang. Urang mimitian ku hiji domain, ngonpigurasikeunana, nyalin ka domain sejen, lajeng ngalakukeun éditan diperlukeun deui.
Konfigurasi standar Ubuntu merlukeun unggal file host virtual boga * .conf extension.
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 nganggo hak akar:
$ 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 [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
Nyetél domain primér, anu kedah cocog sareng nami host virtual. Ieu kedah janten nami domain anjeun. kadua, ServerAlias
, ngahartikeun ngaran séjén nu kudu diinterpretasi saolah-olah éta domain primér. Ieu merenah pikeun ngagunakeun ngaran domain tambahan, contona ngagunakeun www.
Hayu urang nyalin konfigurasi ieu pikeun host anu sanés sareng ogé ngédit ku cara anu 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, port 80 ditutup dina LAMP, sareng urang peryogi éta engké pikeun masang sertipikat SSL. Janten hayu urang langsung 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
Saatos ngalengkepan setélan, 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. Pikeun ngatur domain, Arithmetic of Good Foundation kami nganggo jasa dns-master.ru, kami bakal nunjukkeun éta kalayan conto.
Nyetél rékaman A pikeun domain utama biasana dituduhkeun kieu (tanda @
):
The A catetan keur subdomains biasana dieusian kawas kieu:
Alamat IP nyaéta alamat server Linux anu karek dijieun. Anjeun tiasa nangtukeun TTL = 3600.
Sanggeus sababaraha waktu, éta bakal mungkin nganjang 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 situs utama anjeun sareng sadaya subdomain. Anjeun oge bisa ngonpigurasikeun pembaharuan otomatis maranéhanana, nu pohara merenah. Pikeun kéngingkeun sertipikat SSL, pasang Certbot dina server anjeun:
$ sudo add-apt-repository ppa:certbot/certbot
Pasang pakét Certbot pikeun Apache nganggo 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 ngaluncurkeun certbot, anjeun bakal dipenta pikeun ngalebetkeun alamat email anjeun sareng satuju kana syarat pamakean jasa éta. certbot teras bakal ngahubungi server Let's Encrypt teras pariksa yén anjeun leres-leres ngontrol domain anu anjeun naroskeun sertipikatna.
Upami sadayana lancar, certbot bakal naroskeun kumaha anjeun badé ngonpigurasikeun 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):
Kami nyarankeun milih pilihan 2 sareng pencét ENTER. Konfigurasi bakal diropéa sarta Apache bakal restarted pikeun nerapkeun parobahanana.
Sertipikat anjeun ayeuna diunduh, dipasang sareng jalan. Coba muat ulang situs anjeun nganggo https:// sareng anjeun bakal ningali ikon kaamanan dina panyungsi anjeun. Lamun nguji server Anjeun
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 update, urang tiasa ngalakukeun garing certbot:
$ sudo certbot renew --dry-run
Upami anjeun henteu ningali kasalahan salaku hasil tina ngajalankeun paréntah ieu, maka sadayana tiasa jalan!
Lengkah 5: Aksés MySQL sareng phpMyAdmin
Loba situs web ngagunakeun database. Alat phpMyAdmin pikeun manajemén database parantos dipasang dina server kami. Pikeun ngaksés éta, buka browser anjeun nganggo tautan sapertos:
https://<ip-адрес сервера>:9997
Sandi pikeun aksés root tiasa didapet dina akun pribadi MCS anjeun (
Lengkah 6: Setel 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, nelepon anjeunna webmaster:
$ sudo adduser webmaster
Sistem bakal naroskeun anjeun nyetél kecap konci sareng asupkeun sababaraha data anu sanés.
Ngarobah nu boga diréktori jeung 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 tungtung 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 ngaliwatan sagala klien SFTP, contona, ngaliwatan FileZilla.
hasil
- Ayeuna anjeun terang kumaha cara nyiptakeun diréktori énggal sareng ngonpigurasikeun host virtual pikeun situs wéb anjeun dina server anu sami.
- Anjeun tiasa sacara gampil nyiptakeun sertipikat SSL anu diperyogikeun - éta gratis, sareng aranjeunna bakal diropéa sacara otomatis.
- Anjeun tiasa dianggo kalayan gampang sareng database MySQL ngalangkungan phpMyAdmin anu akrab.
- Nyieun akun SFTP anyar jeung nyetel hak aksés teu merlukeun loba usaha. Akun sapertos kitu tiasa dialihkeun ka pangembang wéb sareng pangurus situs pihak katilu.
- Tong hilap pikeun périodik ngapdet sistem, sareng kami ogé nyarankeun ngadamel cadangan - dina MCS anjeun tiasa nyandak "snapshots" sadaya sistem kalayan hiji klik, teras, upami perlu, ngajalankeun sadayana gambar.
Sumberdaya anu dianggo anu tiasa mangfaat:
Ku jalan kitu,
sumber: www.habr.com