Logo
Konfiguracja domeny

Konfiguracja domeny dla VPS

Kompleksowy przewodnik konfiguracji domeny dla serwera VPS w Sunohost, w tym konfiguracja DNS, SSL i reverse proxy.

Spis treści

  1. Wymagania wstępne
  2. Konfiguracja DNS
  3. Konfiguracja serwera WWW
  4. Certyfikaty SSL
  5. Subdomeny i przekierowania
  6. Rozwiązywanie problemów

Wymagania wstępne

  • Zarejestrowana domena
  • Aktywny serwer VPS w Sunohost
  • Dostęp SSH do serwera
  • Podstawowa znajomość linii komend Linux

Konfiguracja DNS

1. Podstawowe rekordy DNS

Dodaj następujące rekordy w panelu swojego dostawcy domeny:

Dla głównej domeny:

Typ: A
Nazwa: @
Wartość: adres ip
TTL: 3600

Dla www:

Typ: A
Nazwa: www
Wartość: adres ip
TTL: 3600

2. Dodatkowe rekordy (opcjonalnie)

Dla poczty:

Typ: MX
Nazwa: @
Priorytet: 10
Wartość: mail.twoja-domena.pl
TTL: 3600

Typ: A
Nazwa: mail
Wartość: adres ip
TTL: 3600

Dla subdomen:

Typ: A
Nazwa: blog
Wartość: adres ip
TTL: 3600

Konfiguracja serwera WWW

1. Nginx (zalecane)

Podstawowa konfiguracja:

server {
    listen 80;
    listen [::]:80;
    server_name twoja-domena.pl www.twoja-domena.pl;
    
    root /var/www/twoja-domena.pl/public_html;
    index index.html index.php;
    
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
    }
    
    location ~ /\.ht {
        deny all;
    }
}

Konfiguracja z SSL:

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name twoja-domena.pl www.twoja-domena.pl;
    
    ssl_certificate /etc/letsencrypt/live/twoja-domena.pl/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/twoja-domena.pl/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    
    # Reszta konfiguracji jak wyżej
}

server {
    listen 80;
    listen [::]:80;
    server_name twoja-domena.pl www.twoja-domena.pl;
    return 301 https://$server_name$request_uri;
}

2. Apache (alternatywnie)

Podstawowa konfiguracja:

<VirtualHost *:80>
    ServerName twoja-domena.pl
    ServerAlias www.twoja-domena.pl
    DocumentRoot /var/www/twoja-domena.pl/public_html
    
    <Directory /var/www/twoja-domena.pl/public_html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/twoja-domena.pl-error.log
    CustomLog ${APACHE_LOG_DIR}/twoja-domena.pl-access.log combined
</VirtualHost>

Certyfikaty SSL

1. Instalacja Certbot

# Dla Ubuntu/Debian
apt update
apt install certbot python3-certbot-nginx

# Dla CentOS
yum install certbot python3-certbot-nginx

2. Generowanie certyfikatu

# Dla Nginx
certbot --nginx -d twoja-domena.pl -d www.twoja-domena.pl

# Dla Apache
certbot --apache -d twoja-domena.pl -d www.twoja-domena.pl

3. Automatyczne odnawianie

# Sprawdź konfigurację
certbot renew --dry-run

# Dodaj do crona
echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew -q" | sudo tee -a /etc/crontab > /dev/null

Subdomeny i przekierowania

1. Konfiguracja subdomen

Dla każdej subdomeny utwórz osobny blok server w Nginx:

server {
    listen 443 ssl http2;
    server_name blog.twoja-domena.pl;
    
    ssl_certificate /etc/letsencrypt/live/blog.twoja-domena.pl/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/blog.twoja-domena.pl/privkey.pem;
    
    root /var/www/blog.twoja-domena.pl/public_html;
    index index.html index.php;
    
    # Reszta konfiguracji
}

2. Przekierowania

Przykłady użytecznych przekierowań:

# Przekierowanie HTTP na HTTPS
server {
    listen 80;
    server_name .twoja-domena.pl;
    return 301 https://$host$request_uri;
}

# Przekierowanie www na non-www
server {
    listen 443 ssl http2;
    server_name www.twoja-domena.pl;
    return 301 https://twoja-domena.pl$request_uri;
}

Rozwiązywanie problemów

Najczęstsze problemy:

  1. Strona nie działa

    • Sprawdź logi serwera WWW
    • Zweryfikuj konfigurację DNS
    • Sprawdź uprawnienia plików
  2. Problemy z SSL

    • Sprawdź ważność certyfikatu
    • Zweryfikuj konfigurację serwera WWW
    • Sprawdź czy porty 80 i 443 są otwarte
  3. Problemy z wydajnością

    • Włącz cache w Nginx/Apache
    • Zoptymalizuj konfigurację PHP
    • Rozważ użycie CDN

Przydatne komendy diagnostyczne

# Test konfiguracji Nginx
nginx -t

# Test konfiguracji Apache
apachectl -t

# Sprawdź certyfikat SSL
openssl x509 -in /etc/letsencrypt/live/twoja-domena.pl/cert.pem -text

# Sprawdź DNS
dig twoja-domena.pl
dig @8.8.8.8 twoja-domena.pl

# Sprawdź otwarte porty
netstat -tulpn

Kontakt z pomocą techniczną

Jeśli potrzebujesz pomocy:

Sunohost Support

Dodatkowe zasoby