CodeGym /Kurslar /Docker SELF /Virtual host'lar və SSL ilə web-serverlərin qurulması

Virtual host'lar və SSL ilə web-serverlərin qurulması

Docker SELF
Səviyyə , Dərs
Mövcuddur

Virtual host'lar və SSL ilə web-serverlərin qurulması

1. Ətraf mühitin hazırlanması

İndi hər şeyi bir yerə toplamağın vaxtıdır. Bu gün bir neçə virtual host ilə server quracağıq və onlara HTTPS qoşacağıq. Test edəcəyik, səhvləri düzəldəcəyik və son sazlamaları həyata keçirəcəyik.

Məqsədimiz

Bu layihədə bir serverdə iki sayt yerləşdirəcəyik:

  • example.com
  • test.com

Hər bir sayt üçün virtual host yaradacaq, HTTPS qoşacaq və debugging addımlarını və işin yoxlanmasını göstərəcəyik. Hazırsınız? Gəlin başlayaq!

Hazırlıq

Başlamazdan əvvəl əmin olaq ki, hər şey düzgün sazlanıb:

  1. Sizin artıq quraşdırılmış web-serveriniz var (Nginx və ya Apache).

    • Əgər Nginx istifadə edirsinizsə:

      sudo apt-get update
      sudo apt-get install nginx
      
    • Yaxud Apache:

      sudo apt-get update
      sudo apt-get install apache2
      
  2. SSL ilə işləmək üçün Certbot paketi quraşdırılıb.

    • Nginx üçün:

      sudo apt-get install certbot python3-certbot-nginx
      
    • Apache üçün:

      sudo apt-get install certbot python3-certbot-apache
      
  3. Serverə girişiniz var və orada example.com və test.com domenləri üçün DNS sazlanıb, ya da testlər üçün /etc/hosts-dan istifadə edə bilərsiniz.


2. Hər bir sayt üçün direktoriyanın qurulması

Saytlarımız üçün direktoriyalar və fayllar yaratmağa başlayaq.

Adım 1: Saytlar üçün qovluqların yaradılması

sudo mkdir -p /var/www/example.com
sudo mkdir -p /var/www/test.com

Adım 2: Test HTML-fayllarının yaradılması

Hər bir sayt üçün sadə HTML-fayl yaradaq:

example.com

sudo nano /var/www/example.com/index.html

Mündəricat:

<!DOCTYPE html>
<html>
<head>
    <title>Example.com-a xoş gəlmisiniz</title>
</head>
<body>
    <h1>Bu example.com-dur</h1>
    <p>Example.com saytına xoş gəlmisiniz! Sayt SSL ilə qorunur və fəaliyyətdədir!</p>
</body>
</html>

test.com

sudo nano /var/www/test.com/index.html

Mündəricat:

<!DOCTYPE html>
<html>
<head>
    <title>Test.com-a xoş gəlmisiniz</title>
</head>
<body>
    <h1>Bu test.com-dur</h1>
    <p>Test.com saytına xoş gəlmisiniz! Sayt SSL ilə qorunur və fəaliyyətdədir!</p>
</body>
</html>

3. Virtual Hostların Sazlanması

Hər bir sayt üçün ayrıca konfiqurasiya faylı yaradacağıq.

Addım 1: Nginx üçün Sazlama

example.com

sudo nano /etc/nginx/sites-available/example.com

Məzmun:

server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/example.com;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

test.com

sudo nano /etc/nginx/sites-available/test.com

Məzmun:

server {
    listen 80;
    server_name test.com www.test.com;

    root /var/www/test.com;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

Konfiqurasiyanı aktiv edirik:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/test.com /etc/nginx/sites-enabled/

Serveri yenidən işə salırıq:

sudo nginx -t
sudo systemctl reload nginx

Addım 2: Apache üçün Sazlama

example.com

sudo nano /etc/apache2/sites-available/example.com.conf

Məzmun:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com

    DocumentRoot /var/www/example.com
    <Directory /var/www/example.com>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

test.com

sudo nano /etc/apache2/sites-available/test.com.conf

Məzmun:

<VirtualHost *:80>
    ServerName test.com
    ServerAlias www.test.com

    DocumentRoot /var/www/test.com
    <Directory /var/www/test.com>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Konfiqurasiyaları aktiv edirik:

sudo a2ensite example.com.conf
sudo a2ensite test.com.conf
sudo systemctl reload apache2

4. Saytlar üçün HTTPS qurulumu

İndi hər iki sayt üçün Let’s Encrypt vasitəsilə SSL əlavə edəcəyik.

sudo certbot --nginx
# və ya Apache üçün:
sudo certbot --apache

Proses sertifikatların hansı saytlar üçün buraxılacağını seçməyinizi təklif edəcək. example.comtest.com saytlarını seçin. Certbot serverlərin qurulumunu avtomatik olaraq yeniləyəcək.


5. Saytların işləməsini yoxlama

Quraşdırmanı bitirdikdən sonra saytlarınızı ziyarət edin:

Sizin yaratdığınız HTML səhifələri görməlisiniz. Brauzerin ünvan sətrində "Güvənli" (Secure) yazıldığından əmin olun.


6. Debugging və yoxlama

Əgər nəsə yaxşı getməyibsə, log-ları yoxla:

  • Nginx üçün:

    sudo tail -f /var/log/nginx/error.log
    
  • Apache üçün:

    sudo tail -f /var/log/apache2/error.log
    

Yaxud curl vasitəsilə əlçatanlığı yoxla:

curl -I http://example.com
curl -I https://example.com

7. Sertifikatların uzadılması

Certbot sertifikatları sistem cron vasitəsilə avtomatik şəkildə yeniləyir. Yoxlamaq üçün əl ilə belə işlədə bilərsiniz:

sudo certbot renew --dry-run

Bax belə, addım-addım gedərək bir neçə sayt və HTTPS dəstəyi olan veb-server qurduq. Siz indi tamamilə boş serverdən başlayaraq virtual hostlar və SSL ilə işləyən serverə qədər bütün yolu keçdiniz. İndi sizin serveriniz saytlarınızı bütün dünyaya göstərməyə hazırdır. Bu əla deyilmi?

1
Опрос
Linux-də veb-serverlərlə işləmək,  7 уровень,  5 лекция
недоступен
Linux-də veb-serverlərlə işləmək
Linux-də veb-serverlərlə işləmək
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION