Xeyriyyəçilik üçün Bulud: Miqrasiya Bələdçisi

Xeyriyyəçilik üçün Bulud: Miqrasiya Bələdçisi

Bir müddət əvvəl Mail.Ru Cloud Solutions (MCS) və Dobro Mail.Ru xidməti layihəyə start verdi.Xeyriyyə təşkilatları üçün bulud", qeyri-kommersiya təşkilatlarına MCS bulud platformasının resurslarını pulsuz əldə etməyə imkan verir. Xeyriyyə fondu "Yaxşılığın arifmetikası" layihədə iştirak etdi və MCS əsasında infrastrukturunun bir hissəsini uğurla yerləşdirdi.

Təsdiqləndikdən sonra qeyri-kommersiya təşkilatları MCS-dən virtual tutum ala bilərlər, lakin əlavə quraşdırma xüsusi təcrübə tələb edir. Bu məqalədə, serverin qurulması üçün xüsusi təlimatları paylaşacağıq Ubuntu Linux Vəqfin əsas veb saytını və bir neçə alt domenini pulsuz SSL sertifikatlarından istifadə edərək idarə etmək. Bu, bir çoxları üçün sadə bir bələdçi olacaq, lakin ümid edirik ki, təcrübəmiz digər qeyri-kommersiya təşkilatları və digərləri üçün faydalı olacaq.

BilginizeMCS-dən nə əldə edə bilərsiniz? 4 CPU, 32 GB RAM, 1 TB HDD, ƏS Ubuntu Linux, 500 GB obyekt yaddaşı.

Addım 1: Virtual serveri işə salın

Gəlin birbaşa mətləbə keçək və MCS hesabınızda virtual serverimizi (həmçinin "nümunə" kimi tanınır) yaradaq. Tətbiq mağazasından server proqram təminatı dəsti olan hazır LAMP yığını seçib quraşdırmalısınız (LAMP = Linux, Apache, MySQL, PHP) əksər veb saytları işlətmək üçün tələb olunur.

Xeyriyyəçilik üçün Bulud: Miqrasiya Bələdçisi
Xeyriyyəçilik üçün Bulud: Miqrasiya Bələdçisi
Xeyriyyəçilik üçün Bulud: Miqrasiya Bələdçisi
Server üçün uyğun konfiqurasiyanı seçin və yeni SSH açarı yaradın. "Quraşdır" düyməsini kliklədikdən sonra server və LAMP yığınının quraşdırılması başlayacaq və bu bir az vaxt aparacaq. Sistem həmçinin konsol vasitəsilə virtual maşını idarə etmək üçün kompüterinizə şəxsi açar yükləməyinizi təklif edəcək. Saxla.

Proqramı quraşdırdıqdan sonra dərhal firewall quraşdıraq. Bu, şəxsi hesabınızda da edilə bilər: "Cloud Computing -> Virtual Machines" bölməsinə keçin və "Firewall Setup" seçin:

Xeyriyyəçilik üçün Bulud: Miqrasiya Bələdçisi
Siz 80 və 9997 portlarında daxil olan trafikə icazə verməlisiniz. Bu, SSL sertifikatlarının quraşdırılması və phpMyAdmin ilə işləmək üçün lazımdır. Son qaydalar dəsti belə görünməlidir:

Xeyriyyəçilik üçün Bulud: Miqrasiya Bələdçisi
İndi SSH protokolundan istifadə edərək komanda xətti ilə serverinizə qoşula bilərsiniz. Bunu etmək üçün kompüterinizdə SSH açarının yolunu və serverinizin xarici IP ünvanını göstərərək aşağıdakı əmri daxil edin (bunu "Virtual Maşınlar" bölməsində tapa bilərsiniz):

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

Serverə ilk dəfə qoşulduqda, bütün cari yeniləmələri quraşdırmaq və onu yenidən yükləmək tövsiyə olunur. Bunu etmək üçün aşağıdakı əmrləri yerinə yetirin:

$ sudo apt-get update

Sistem yeniləmələrin siyahısını alacaq, onları bu əmrdən istifadə edərək quraşdıracaq və təlimatlara əməl edin:

$ sudo apt-get upgrade

Yeniləmələri quraşdırdıqdan sonra serveri yenidən başladın:

$ sudo reboot

Addım 2: Virtual hostları konfiqurasiya edin

Bir çox qeyri-kommersiya təşkilatı eyni vaxtda birdən çox domen və ya alt domenə sahib olmalıdır (məsələn, əsas vebsayt və tanıtım kampaniyaları üçün bir neçə açılış səhifəsi və s.). Bütün bunlar birdən çox virtual host yaratmaqla bir serverdə rahat şəkildə yerləşdirilə bilər.

Əvvəlcə ziyarətçilərə göstəriləcək saytlar üçün kataloq strukturu yaratmalıyıq. Bir neçə qovluq yaradaq:

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

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

Və biz cari istifadəçini sahib kimi göstərəcəyik:

$ 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

Dəyişən $USER hazırda daxil olduğunuz istifadəçi adını ehtiva edir (defolt olaraq istifadəçidir ubuntu). İndi cari istifadəçi məzmunu saxlayacağımız public_html qovluqlarına sahibdir.

Paylaşılan veb qovluğuna və daxilində olan bütün fayl və qovluqlara oxumağa icazə verilməsini təmin etmək üçün icazələri bir az tənzimləməliyik. Bu, sayt səhifələrinin düzgün göstərilməsi üçün lazımdır:

$ sudo chmod -R 755 /var/www

Veb serveriniz indi məzmunu göstərmək üçün tələb olunan icazələrə malik olmalıdır. Bundan əlavə, istifadəçiniz indi tələb olunan kataloqlarda məzmun yarada bilməlidir.

Artıq /var/www/html qovluğunda index.php faylı var, gəlin onu yeni qovluqlarımıza köçürək – bu, hələlik bizim məzmunumuz olacaq:

$ 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

İndi istifadəçilərin vebsaytınıza daxil ola biləcəyinə əmin olmalıyıq. Bunu etmək üçün biz əvvəlcə Apache veb serverinin müxtəlif domenlər üçün sorğulara necə cavab verəcəyini müəyyən edən virtual host fayllarını konfiqurasiya edəcəyik.

Varsayılan olaraq, Apache'nin 000-default.conf adlı virtual host faylı var və biz ondan başlanğıc nöqtəsi kimi istifadə edə bilərik. Domenlərimizin hər biri üçün virtual host faylları yaratmaq üçün onu kopyalayacağıq. Biz bir domenlə başlayacağıq, onu konfiqurasiya edəcəyik, onu digər domen üçün kopyalayacağıq və sonra lazımi redaktə edəcəyik.

Konfiqurasiya Ubuntu standart olaraq, hər bir virtual host faylının *.conf uzantısına malik olmasını tələb edir.

Birinci domen üçün faylı kopyalayaraq başlayaq:

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

Kök imtiyazları olan redaktorda yeni fayl açın:

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

80 portunu göstərərək, məlumatları aşağıdakı kimi redaktə edin ServerAdmin, ServerName, ServerAlias, həmçinin saytınızın kök qovluğuna gedən yol kimi faylı yadda saxlayın (Ctrl+X, sonra 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 virtual host adına uyğun gəlməli olan əsas domeni təyin edir. Bu sizin domen adınız olmalıdır. İkinci, ServerAlias, əsas domen kimi şərh edilməli olan digər adları müəyyənləşdirir. Bu, www kimi əlavə domen adlarından istifadə etmək üçün əlverişlidir.

Gəlin bu konfiqurasiyanı başqa hosta köçürək və eyni şəkildə redaktə edək:

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

Veb saytlarınız üçün istədiyiniz qədər kataloq və virtual host yarada bilərsiniz! İndi virtual host fayllarımızı yaratdığımız üçün onları aktivləşdirməliyik. Saytlarımızın hər birini aşağıdakı kimi aktivləşdirmək üçün a2ensite yardım proqramından istifadə edə bilərik:

$ sudo a2ensite a-dobra.ru.conf

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

Varsayılan olaraq, LAMP port 80-ni bağlayır, lakin SSL sertifikatını quraşdırmaq üçün bizə daha sonra lazım olacaq. Beləliklə, ports.conf faylını redaktə edək və sonra Apache-ni yenidən başladın:

$ sudo nano /etc/apache2/ports.conf

Yeni sətir əlavə edin və faylı yadda saxlayın ki, belə görünsün:

Listen 80
Listen 443
Listen 9997

Konfiqurasiyanı tamamladıqdan sonra bütün dəyişikliklərin qüvvəyə minməsi üçün Apache-ni yenidən başlatmalısınız:

$ sudo systemctl reload apache2

Addım 3: Domen adlarını qurun

Sonra, yeni serverinizə işarə edəcək DNS qeydlərini əlavə etməlisiniz. Bizim "Yaxşılığın Arifmetikası" fondumuz domenləri idarə etmək üçün dns-master.ru-dan istifadə edir; nümunə kimi istifadə edəcəyik.

Əsas domen üçün A-rekordunun qurulması adətən bu şəkildə göstərilir (imza @):

Xeyriyyəçilik üçün Bulud: Miqrasiya Bələdçisi
Subdomenlər üçün A-qeydləri adətən belə müəyyən edilir:

Xeyriyyəçilik üçün Bulud: Miqrasiya Bələdçisi
IP ünvanı, yeni yaratdığımız ünvanın ünvanıdır. Linux-serverlər. TTL = 3600 təyin edə bilərsiniz.

Bir müddət sonra saytınıza daxil olmaq mümkün olacaq, lakin hələlik yalnız vasitəsilə http://Növbəti addımda biz dəstək əlavə edəcəyik https://.

Addım 4: Pulsuz SSL sertifikatları qurun

Siz əsas veb saytınız və bütün subdomenlər üçün pulsuz Let's Encrypt SSL sertifikatları əldə edə bilərsiniz. Siz həmçinin avtomatik yeniləməni qura bilərsiniz, bu çox rahatdır. SSL sertifikatlarını əldə etmək üçün serverinizdə Certbot quraşdırın:

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

Apache üçün Certbot paketini istifadə edərək quraşdıraq apt:

$ sudo apt install python-certbot-apache 

İndi Certbot istifadəyə hazırdır, əmri yerinə yetirin:

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

Bu əmr certbot, düymələri işlədir -d sertifikatın verilməli olduğu domenlərin adlarını müəyyənləşdirin.

Əgər bu, ilk dəfə certbot ilə işləyirsinizsə, sizdən e-poçt ünvanınızı daxil etməyiniz və xidmətin xidmət şərtləri ilə razılaşmağınız xahiş olunacaq. Bundan sonra certbot Let's Encrypt serveri ilə əlaqə saxlayacaq və sertifikat tələb etdiyiniz domeni idarə etdiyinizi yoxlayacaq.

Hər şey yaxşı olarsa, certbot HTTPS-i necə konfiqurasiya etmək istədiyinizi soruşacaq:

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

2-ci variantı seçməyi və ENTER düyməsini basmağı tövsiyə edirik. Konfiqurasiya yenilənəcək və dəyişiklikləri tətbiq etmək üçün Apache yenidən işə salınacaq.

İndi sertifikatlarınız endirilib, quraşdırılıb və işləyir. https:// istifadə edərək saytınızı yenidən yükləməyə cəhd edin və siz brauzerinizdə təhlükəsizlik işarəsini görəcəksiniz. Serverinizi sınaqdan keçirsəniz SSL Labs Server Testi, o, A alacaq.

Let's Encrypt sertifikatları yalnız 90 gün ərzində etibarlıdır, lakin indicə quraşdırdığımız certbot paketi sertifikatları avtomatik yeniləyəcək. Yeniləmə prosesini sınamaq üçün certbotun quru işini yerinə yetirə bilərik:

$ sudo certbot renew --dry-run 

Bu əmri yerinə yetirərkən heç bir səhv görmürsünüzsə, hər şey işləyir!

Addım 5: MySQL və phpMyAdmin-ə daxil olun

Bir çox saytlar verilənlər bazasından istifadə edirlər. Serverimizdə verilənlər bazasının idarə edilməsi üçün artıq phpMyAdmin quraşdırılıb. Ona daxil olmaq üçün brauzerinizdə bu linkə keçin:

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

Kök girişi üçün parol MCS şəxsi hesabınızda əldə edilə bilər (https://mcs.mail.ru/app/services/marketplace/apps/). İlk dəfə daxil olanda kök parolunuzu dəyişməyi unutmayın!

Addım 6: SFTP vasitəsilə fayl yükləmələrini konfiqurasiya edin

Tərtibatçılar veb saytınız üçün faylları SFTP vasitəsilə yükləməyi rahat tapacaqlar. Bunu etmək üçün biz webmaster adlı yeni istifadəçi yaradacağıq:

$ sudo adduser webmaster

Sistem sizdən parol təyin etməyi və bəzi digər məlumatları daxil etməyi xahiş edəcək.

Veb saytınızı ehtiva edən kataloqun sahibini dəyişdirin:

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

İndi SSH konfiqurasiyasını dəyişdirək ki, yeni istifadəçi SSH terminalına deyil, yalnız SFTP-yə çıxış əldə etsin:

$ sudo nano /etc/ssh/sshd_config

Konfiqurasiya faylının ən aşağısına sürüşdürün və aşağıdakı bloku əlavə edin:

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

Faylı yadda saxlayın və xidməti yenidən başladın:

$ sudo systemctl restart sshd

İndi serverə istənilən SFTP müştərisi vasitəsilə, məsələn, FileZilla vasitəsilə qoşula bilərsiniz.

Ümumi

  1. İndi yeni kataloqlar yaratmağı və veb saytlarınız üçün bir serverdə virtual hostları necə qurmağı bilirsiniz.
  2. Sizə lazım olan SSL sertifikatlarını asanlıqla yarada bilərsiniz – bu pulsuzdur və onlar avtomatik olaraq yenilənəcək.
  3. Siz tanış phpMyAdmin vasitəsilə MySQL verilənlər bazası ilə rahat işləyə bilərsiniz.
  4. Yeni SFTP hesabları yaratmaq və giriş hüquqlarını qurmaq asandır. Bu hesablar üçüncü tərəf veb tərtibatçıları və sayt administratorları ilə paylaşıla bilər.
  5. Sisteminizi vaxtaşırı yeniləməyi unutmayın və biz həmçinin ehtiyat nüsxələrin nüsxəsini çıxarmağı tövsiyə edirik—MCS sizə bir kliklə bütün sisteminizin şəkillərini çəkməyə və lazım olduqda bütün şəkilləri işə salmağa imkan verir.

Faydalı ola biləcək istifadə olunan mənbələr:

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

Yeri gəlmişkən, burada Siz VC-də oxuya bilərsiniz ki, fondumuz MCS buluduna əsaslanan kimsəsiz uşaqlar üçün onlayn təhsil platformasını necə yerləşdirib.

Mənbə: www.habr.com

DDoS mühafizəsi, VPS VDS serverləri olan saytlar üçün etibarlı hostinq alın 🔥 DDoS qorunması, VPS VDS serverləri ilə etibarlı veb sayt hostinqi alın | ProHoster