Kuidas seadistada Ubuntu veebiserver: Täielik juhend algajatele (Apache, SSL, turvalisus, optimeerimine)

目次

1. Sissejuhatus

Mis on Ubuntu veebiserver?

Veebiserver on süsteem, mis pakub veebisaite internetis. Populaarsed veebiserveri tarkvarad on Apache, Nginx, LiteSpeed, kuid Ubuntu puhul kasutatakse enim Apache’t.
Ubuntu on kerge, stabiilne ja avatud lähtekoodiga, mistõttu seda kasutavad nii eraisikud kui ka ettevõtted. Eriti levinud on LAMP-steki (Linux, Apache, MySQL/MariaDB, PHP) ülesseadmine, mis sobib paljudele veebisaitidele ja rakendustele.

Artikli sihtrühm

See artikkel on mõeldud algajatele, kes soovivad Ubuntu veebiserverit esimest korda seadistada. Selgitame üksikasjalikult, kuidas paigaldada Ubuntu-le Apache, seadistada virtuaalhostid, SSL-sertifikaadid, optimeerida ja turvata serverit.

Mida sellest artiklist õpid

  • Kuidas seadistada Ubuntu-le veebiserverit (Apache paigaldamine ja põhiline seadistamine)
  • Kuidas luua virtuaalhoste ja hallata mitut veebisaiti
  • Kuidas paigaldada tasuta SSL Let’s Encryptiga
  • Kuidas tugevdada ja optimeerida veebiserveri turvalisust
  • Levinud probleemide tõrkeotsing ja lahendused
年収訴求

2. Ubuntu install ja algseadistused

Süsteemi miinimumnõuded

Ubuntu veebiserverina kasutamiseks soovitame järgmisi miinimumnõudeid:

KomponentMiinimumSoovituslik
OSUbuntu 22.04 LTSUbuntu 22.04 LTS
CPU1GHz või kiirem2GHz või kiirem
Mälu512MB2GB või rohkem
Salvestusruum10GB või rohkem20GB või rohkem
VõrguühendusInternetiühendusSoovitavalt kiire ühendus

Ubuntu allalaadimine ja install

Ubuntu saab alla laadida ametlikult kodulehelt (https://ubuntu.com/download/server). Lae ISO-fail alla ja loo virtuaalmasin VirtualBoxi või VMware abil või paigalda pühendatud serverile või VPS-ile.

Installi sammud:

  1. Installimeediumi loomine
  • USB-mälupulk (kasuta näiteks RUFUS-t)
  • Virtuaalmasinale ISO-faili lisamine
  1. Järgi installiviisardit
  • Vali keel (soovitavalt eesti või inglise keel)
  • Kontrolli võrguühendust
  • Loo kasutajanimi ja parool
  • Paigalda SSH server (soovi korral ka hiljem võimalik)
  1. Peale paigaldust taaskäivita
  2. Logi sisse ja alusta algseadistustega

Põhilised algseadistused

Peale installi tuleks teha järgmised seadistused:

  1. Paketihalduri uuendamine
   sudo apt update && sudo apt upgrade -y

→ Süsteemi turvapaigad ja tarkvara uuendused.

  1. Aja- ja ajavööndi seadistamine
   sudo timedatectl set-timezone Europe/Tallinn

→ Seadista Eesti aeg (Tallinna aeg).

  1. Tulemüüri aktiveerimine
   sudo ufw enable

→ Kaitseb serverit volitamata ühenduste eest.

  1. SSH seadistamine (kaugjuhtimiseks)
  • Kontrolli, kas SSH töötab
    sudo systemctl status ssh
  • Kui pole aktiivne, käivita SSH
    sudo systemctl enable --now ssh

Kui need algseadistused on tehtud, on Ubuntu server valmis veebiserverina kasutamiseks.

3. Apache paigaldamine ja põhiseadistused

Mis on Apache?

Apache (täisnimi: Apache HTTP Server) on avatud lähtekoodiga veebiserveri tarkvara, mida iseloomustavad stabiilsus, laiendatavus ja kõrge turvalisus. Ligikaudu 30% maailma serveritest kasutab Apache’t.

Peamised omadused:

  • Tasuta kasutamiseks (avatud lähtekood)
  • Modulaarne ülesehitus – lihtsalt laiendatav
  • SSL/TLS tugi – HTTPS-i kasutamine
  • Virtuaalhostid – ühe serveriga saab majutada mitut veebisaiti

Apache paigaldamine

Ubuntu puhul saab Apache kiiresti paigaldada paketihalduri apt abil.

Apache paigaldamiseks käivita:

sudo apt update
sudo apt install apache2 -y

Paigalduse kontrollimine

Pärast paigaldust kontrolli Apache versiooni:

apache2 -v

Näide väljundist:

Server version: Apache/2.4.52 (Ubuntu)
Server built:   2023-07-01T12:34:56

Kui näed sarnast versiooniteadet, on Apache õigesti paigaldatud.

Apache käivitamine, peatamine ja taaskäivitamine

Apache haldamiseks kasutatakse systemctl käsku.

Apache käivitamine

sudo systemctl start apache2

See käivitab Apache teenuse ja võimaldab veebipäringuid töödelda.

Apache automaatne käivitamine

sudo systemctl enable apache2

Apache oleku kontrollimine

Et näha, kas Apache töötab:

sudo systemctl status apache2

Kui kõik töötab, peaks kuvama teate active (running) vms.

Apache taaskäivitamine ja peatamine

Muudatuste rakendamiseks taaskäivita Apache:

sudo systemctl restart apache2

Ajutiseks peatamiseks:

sudo systemctl stop apache2

Apache töö kontrollimine

Veendu, et Apache töötab, avades serveri IP-aadressi veebibrauseris.

1. IP-aadressi kontrollimine

hostname -I

Välise IP aadressi jaoks:

curl ifconfig.me

2. Kontroll veebibrauseris

Sisesta brauseri aadressiribale:

http://<serveri-IP-aadress>/

Või lokaalselt:

http://localhost/

Näed Apache vaikimisi lehte (/var/www/html/index.html).

Näide vaikimisi lehe sõnumist:

Apache2 Ubuntu Default Page
It works!

Kui see sõnum ilmub, töötab Apache õigesti.

Tulemüüri seadistamine

Ubuntu kasutab tulemüüri jaoks UFW-d (Uncomplicated Firewall).
Pärast Apache paigaldamist võivad HTTP (port 80) ja HTTPS (port 443) olla suletud.

Tulemüürireeglid Apache jaoks

sudo ufw allow 'Apache'

Kui soovid lubada ka HTTPS liiklust:

sudo ufw allow 'Apache Full'

Tulemüüri oleku kontroll

sudo ufw status

Näide väljundist:

Status: active

To                         Action      From
--                         ------      ----
Apache                     ALLOW       Anywhere
Apache (v6)                ALLOW       Anywhere (v6)

Kui see on nähtav, on Apache liiklus lubatud.

Kokkuvõte

Selles osas paigaldasime Apache Ubuntu-le ja seadistasime põhifunktsioonid.
Kokkuvõte:

  • Apache paigaldamine
  • Käivitus- ja automaatkäivituse seadistamine
  • Töö kontrollimine (brauseri kaudu)
  • Tulemüüri seadistamine
  • Põhiseadistusfailide ülevaade

4. Virtuaalhostide seadistamine (mitme saidi haldus)

Mis on virtuaalhost (Virtual Host)?

Virtuaalhost võimaldab ühe Apache serveri peal hallata mitut domeeni (või alamdomeeni).
Näiteks saab ühe serveriga pakkuda nii example.com kui ka test.com veebisaite.

Virtuaalhostide tüübid on:

  1. Nimepõhine virtuaalhost (Name-based Virtual Host)
  • Sama IP-aadressiga hallatakse mitut saiti
  • Enim kasutatav veebiserverites
  1. IP-põhine virtuaalhost (IP-based Virtual Host)
  • Iga sait kasutab eri IP-aadressi
  • Vajab mitut võrguliidest ühes serveris

Tavaliselt kasutatakse nimepõhiseid virtuaalhoste (Name-based).

Virtuaalhosti seadistamise sammud

1. Vajalike kaustade loomine

Iga saidi jaoks loo eraldi kataloog:

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

2. Omaniku määramine kataloogidele

Et Apache saaks faile lugeda, määra omanikuks www-data:

sudo chown -R www-data:www-data /var/www/example.com/public_html
sudo chown -R www-data:www-data /var/www/test.com/public_html

3. Testlehtede loomine

Loo iga saidi jaoks index.html, et kontrollida, kas see töötab:

echo "<h1>Welcome to example.com</h1>" | sudo tee /var/www/example.com/public_html/index.html
echo "<h1>Welcome to test.com</h1>" | sudo tee /var/www/test.com/public_html/index.html

4. Virtuaalhosti konfiguratsioonifaili loomine

Virtuaalhosti seadistusfailid asuvad kaustas /etc/apache2/sites-available/.

example.com virtuaalhosti seadistus

Loo ja ava seadistusfail:

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

Näidissisu:

<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html

    <Directory /var/www/example.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
    CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>

test.com virtuaalhosti seadistus

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

Lisa järgmine sisu:

<VirtualHost *:80>
    ServerAdmin admin@test.com
    ServerName test.com
    ServerAlias www.test.com
    DocumentRoot /var/www/test.com/public_html

    <Directory /var/www/test.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/test.com_error.log
    CustomLog ${APACHE_LOG_DIR}/test.com_access.log combined
</VirtualHost>

5. Virtuaalhostide aktiveerimine

Pärast seadistusfailide loomist aktiveeri need käsuga a2ensite:

sudo a2ensite example.com.conf
sudo a2ensite test.com.conf

Apache seadistuse testimine

Kontrolli konfiguratsioonis vigu:

sudo apachectl configtest

Väljund Syntax OK näitab, et kõik on korras.
Kui kõik on korras, taaskäivita Apache:

sudo systemctl restart apache2

6. Kohalik testimine (hosts faili muutmine)

Virtuaalhostide testimiseks muuda oma arvuti hosts faili:

sudo nano /etc/hosts

Lisa järgmised read:

127.0.0.1 example.com
127.0.0.1 test.com

Pärast salvestamist ava brauseris http://example.com/ ja kontrolli, et kuvatakse “Welcome to example.com”. Samuti http://test.com/ peaks näitama “Welcome to test.com”.

7. Tõrkeotsing

Kui virtuaalhostid ei tööta:

1. Kontrolli Apache vealoge

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

2. Kontrolli, kas seadistusfailid on aktiveeritud

ls /etc/apache2/sites-enabled/

Kui vastavad .conf failid on nimekirjas, on virtuaalhostid aktiivsed.

3. Kontrolli Apache pordi seadeid

Veendu, et /etc/apache2/ports.conf failis oleks:

Listen 80

Kokkuvõte

Selles osas õppisid kuidas seadistada Apache virtuaalhoste Ubuntu serveris.
Olulisemad punktid:

  • Virtuaalhosti mõiste ja kasutus
  • Kataloogide loomine iga saidi jaoks
  • Virtuaalhosti seadistusfailide loomine ja aktiveerimine
  • Kohalik testimine hosts faili kaudu
  • Probleemide lahendamine

5. SSL/TLS kasutuselevõtt (HTTPS)

Mis on SSL/TLS?

SSL (Secure Sockets Layer) ja TLS (Transport Layer Security) on krüpteerimistehnoloogiad, mis võimaldavad turvalist andmevahetust internetis.

SSL/TLS kasutamise eelised

Andmeside krüpteerimine (vähendab pealtkuulamise ja muutmise riski)
Google’i SEO eelis (HTTPS saidid paigutatakse kõrgemale)
Brauseri hoiatusest pääsemine (“Not Secure” hoiatus HTTP puhul)
Maksed ja sisselogimised on kaitstud

Tänapäeval soovitatakse kasutada TLS-i (TLS 1.2 / 1.3). SSL 3.0 ja varasemad pole enam soovitatavad.

Tasuta SSL-sertifikaadi hankimine Let’s Encryptiga

Let’s Encrypt on tasuta sertifikaate väljastav sertifitseerimiskeskus (CA: Certificate Authority).
Sertifikaadi saab lihtsalt paigaldada certbot abil ning rakendada Apache serveris.

Let’s Encrypti klient (Certbot) paigaldamine

Kõigepealt paigalda ametlik klient certbot:

sudo apt update
sudo apt install certbot python3-certbot-apache -y

SSL seadistamine automaatselt Apache jaoks

Kasuta käsku certbot --apache ning Let’s Encrypt teeb ülejäänu automaatselt:

sudo certbot --apache -d example.com -d www.example.com

Selle käsuga toimub:

  1. Domeeni valideerimine (HTTP-01 challenge)
  2. SSL-sertifikaadi väljastamine
  3. Apache SSL seadistus
  4. HTTPS suunamine

SSL toimimise kontroll

Ava brauseris aadress:

https://example.com/

Kui aadressiribal on lukustatud ikoon, on SSL õigesti rakendatud.

SSL käsitsi seadistamine Apache’is

Kui soovid SSL-i seadistada ilma certbot --apache käsuta, tee järgmist:

1. Apache SSL mooduli aktiveerimine

sudo a2enmod ssl
sudo systemctl restart apache2

2. SSL virtuaalhosti seadistamine

Muuda virtuaalhosti konfiguratsioonifaili /etc/apache2/sites-available/example.com-le-ssl.conf:

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

Näide sisust:

<VirtualHost *:443>
    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

    <Directory /var/www/example.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
    CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>

3. Seadistuse aktiveerimine ja Apache taaskäivitamine

sudo a2ensite example.com-le-ssl.conf
sudo systemctl restart apache2

SSL-sertifikaadi automaatne uuendamine

Let’s Encrypti sertifikaadid kehtivad 90 päeva.
Soovitav on seada automaatne uuendamine.

1. Certboti automaatse uuenduse testimine

sudo certbot renew --dry-run

2. Uuenduste graafiku kontroll

Automaatne uuendus on kirjas /etc/cron.d/certbot failis.

sudo systemctl list-timers | grep certbot

SSL tõrkeotsing

1. SSL-sertifikaati ei rakendata

Lahendus: taaskäivita Apache ja kontrolli seadistust

sudo systemctl restart apache2
sudo apachectl configtest

2. Sertifikaadi kehtivus lõppes

Lahendus: uuenda käsitsi

sudo certbot renew --force-renewal

3. Let’s Encrypt autentimine ebaõnnestub

Lahendus: kontrolli tulemüüri seadeid

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload

Kokkuvõte

Selles osas õppisid kuidas tasuta Let’s Encrypti abil SSL/TLS kasutusele võtta.
Olulised punktid:

  • SSL/TLS põhialused
  • Apache SSL seadistus Let’s Encryptiga
  • Käsitsi SSL seadistamine
  • Automaatne sertifikaadi uuendus
  • Levinumad SSL tõrked ja nende lahendused

6. Veebiserveri turvalisuse tugevdamine

Tulemüüri (UFW) seadistamine

Ubuntu kasutab tulemüüri jaoks UFW-d (Uncomplicated Firewall), et blokeerida mittevajalik võrguliiklus.

Praeguse tulemüüri seisu kontroll

sudo ufw status

Ainult vajalikud pordid avatud

Soovitatav on vaikimisi kõik sissetulevad ühendused blokeerida ja avada vaid vajalikud pordid.

sudo ufw default deny incoming
sudo ufw default allow outgoing

Avatavad pordid:

  • SSH (port 22)
  sudo ufw allow 22/tcp
  • HTTP (port 80)
  sudo ufw allow 80/tcp
  • HTTPS (port 443)
  sudo ufw allow 443/tcp

Tulemüüri lubamine

sudo ufw enable

SSH turvalisuse tugevdamine

SSH jääb vaikeseadetega sageli jõurünnakute (brute force) sihtmärgiks, seega on soovitatav muuta seadeid.

SSH pordi muutmine

sudo nano /etc/ssh/sshd_config

Muuda või lisa järgnevad read:

Port 2222  # 22 asemel 2222 (või muu soovitud port)
PermitRootLogin no  # root'i sisselogimine keelatud
PasswordAuthentication no  # ainult võtmebaasil autentimine lubatud

Peale muudatuste salvestamist taaskäivita SSH:

sudo systemctl restart ssh

Fail2Ban kasutuselevõtt

Fail2Ban on tööriist, mis ajutiselt blokeerib IP-d, mis üritavad ebaõnnestunult SSH kaudu sisse logida.

sudo apt install fail2ban -y

Muuda seadistust:

sudo nano /etc/fail2ban/jail.local

Lisa näiteks:

[sshd]
enabled = true
port = 2222
maxretry = 3
bantime = 600

Aktiveeri Fail2Ban:

sudo systemctl restart fail2ban
sudo systemctl enable fail2ban

Apache turvaseaded

Versiooniteabe peitmine

sudo nano /etc/apache2/conf-available/security.conf

Muuda järgnevad read:

ServerTokens Prod
ServerSignature Off

Salvesta ja taaskäivita Apache:

sudo systemctl restart apache2

Kataloogide loendi keelamine

sudo nano /etc/apache2/apache2.conf

Leia vastav lõik ja eemalda Indexes:

<Directory /var/www/>
    Options -Indexes +FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Taaskäivita Apache:

sudo systemctl restart apache2

Mittevajalike Apache moodulite keelamine

sudo a2dismod autoindex
sudo a2dismod status
sudo systemctl restart apache2

Turvapealkirjade lisamine

Veebilehe kaitseks lisa turvapealkirjad (security headers).

mod_headers aktiveerimine

sudo a2enmod headers
sudo systemctl restart apache2

Pealkirjade seadistamine

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

Lisa <VirtualHost> sektsiooni:

<IfModule mod_headers.c>
    Header always set X-Content-Type-Options "nosniff"
    Header always set X-XSS-Protection "1; mode=block"
    Header always set X-Frame-Options "SAMEORIGIN"
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
</IfModule>

Taaskäivita Apache:

sudo systemctl restart apache2

Tõrkeotsing

Tulemüüri seisundi kontroll

sudo ufw status

Apache konfiguratsiooni vigade kontroll

sudo apachectl configtest

Kui saad Syntax OK, on kõik korras.

Kui SSH-ühendus ei toimi

Kui muutsid SSH-porti, kasuta ühendudes uut porti:

ssh -p 2222 user@server-ip

Kokkuvõte

Selles osas õppisid kuidas turvata veebiserverit ja Apache’t.
Peamised punktid:

  • UFW tulemüüri seadistamine
  • SSH turvamine (pordi vahetus, Fail2Ban)
  • Apache turvaseaded (versiooniteabe peitmine, kataloogide keelamine)
  • Turvapealkirjade lisamine

7. Jõudluse optimeerimine

Apache häälestamine (tuning)

Apache vaikeseaded ei pruugi anda parimat jõudlust. Mõningate seadistuste muutmisega saab serveri jõudlust oluliselt parandada.

MPM (Multi-Processing Module) optimeerimine

MPM määrab, kuidas Apache päringuid töötleb.

Hetkel aktiivse MPM-i kontroll:

apachectl -M | grep mpm

Näide:

mpm_prefork_module (shared)

Kui kasutusel on mpm_prefork_module, tasub kaaluda kiiremat mpm_event moodulit.

Vahetamiseks:

sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo systemctl restart apache2

KeepAlive aktiveerimine

KeepAlive lubab kliendil kasutada sama ühendust mitmeks päringuks, vähendades ühenduste loomise kulu.

Faili muutmine:

sudo nano /etc/apache2/apache2.conf

Lisa või kontrolli järgmisi ridu:

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

Taaskäivita Apache:

sudo systemctl restart apache2

Vahemälu kasutamine

Brauseri- ja serveripoolne vahemälu aitab vähendada tarbetuid päringuid ja parandada laadimiskiirust.

mod_expires aktiveerimine (brauseri vahemälu)

sudo a2enmod expires
sudo systemctl restart apache2

Faili /etc/apache2/sites-available/example.com.conf lisa:

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
</IfModule>

Taaskäivita Apache:

sudo systemctl restart apache2

mod_cache aktiveerimine (serveri vahemälu)

sudo a2enmod cache cache_disk
sudo systemctl restart apache2

Lisa example.com.conf faili:

<IfModule mod_cache.c>
    CacheEnable disk /
    CacheRoot /var/cache/apache2/mod_cache_disk
    CacheDefaultExpire 86400
</IfModule>

Taaskäivita Apache:

sudo systemctl restart apache2

Tihendus (compression)

mod_deflate võimaldab veebisaidi sisu tihendada ja vähendada üle kantavate andmete mahtu.

mod_deflate aktiveerimine

sudo a2enmod deflate
sudo systemctl restart apache2

Lisa example.com.conf faili:

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>

Taaskäivita Apache:

sudo systemctl restart apache2

Ressursside piiramine

Suurte või pahatahtlike päringute korral saab piirata serveriressursside kasutust.

mod_ratelimit aktiveerimine

sudo a2enmod ratelimit
sudo systemctl restart apache2

Lisa example.com.conf faili:

<Location />
    SetOutputFilter RATE_LIMIT
    SetEnv rate-limit 200
</Location>

Taaskäivita Apache:

sudo systemctl restart apache2

Tõrkeotsing

Kui jõudluse häälestamise järel tekib probleeme:

Apache vealogide vaatamine

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

Apache koormuse jälgimine

sudo apachectl status

Serveri CPU ja mälu jälgimine

top

või

htop

(htop pole vaikimisi paigaldatud – sudo apt install htop)

Kokkuvõte

Selles osas õppisid kuidas parandada veebiserveri jõudlust.
Olulised punktid:

  • Apache häälestus (MPM, KeepAlive)
  • Vahemälu kasutamine (brauser, server)
  • Tihendus (mod_deflate)
  • Ressursside piiramine (mod_ratelimit)

8. Tõrkeotsing (probleemide lahendamine)

Apache ei käivitu või peatub ootamatult

Apache oleku kontrollimine

sudo systemctl status apache2

Näide:

● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since ...

Kui näed Active: failed, on serveril tõrge.

Vealogide vaatamine

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

Pordikasutuse kontroll

sudo netstat -tulnp | grep ':80'

või

sudo lsof -i:80

Kui sadam on juba kasutuses, muuda vajadusel /etc/apache2/ports.conf faili.

SSL-sertifikaadiga seotud vead

SSL-sertifikaadi aegumine

sudo certbot renew --force-renewal

AH02572: Failed to configure at least one certificate

Ava seadistusfail /etc/apache2/sites-available/example.com-le-ssl.conf ja kontrolli:

SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

Kui kõik on õige, taaskäivita Apache:

sudo systemctl restart apache2

Veebisait ei avane (403, 404, 500 vead)

403 Forbidden

sudo chown -R www-data:www-data /var/www/example.com/public_html
sudo chmod -R 755 /var/www/example.com/public_html

404 Not Found

Ava /etc/apache2/sites-available/example.com.conf ja kontrolli DocumentRoot teed:

DocumentRoot /var/www/example.com/public_html

Kui mod_rewrite pole lubatud:

sudo a2enmod rewrite
sudo systemctl restart apache2

500 Internal Server Error

Vaata vealogi:

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

Kui vaja, nimeta .htaccess ajutiselt ümber:

mv /var/www/example.com/public_html/.htaccess /var/www/example.com/public_html/.htaccess.bak

Kõrge koormus või jõudlusprobleemid

Apache koormuse vaatamine

top

või

htop

Mittevajalike moodulite keelamine

sudo a2dismod status
sudo a2dismod autoindex
sudo systemctl restart apache2

Vahemälu optimeerimine

sudo a2enmod cache cache_disk

Võrguga seotud tõrked

IP-aadressi kontrollimine

ip a

või

curl ifconfig.me

Avatud portide kontroll

sudo netstat -tulnp | grep LISTEN

või

sudo lsof -i :80

Kui pordid 80/443 puuduvad, ava need tulemüüris:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload

Kokkuvõte

Selles jaotises õppisid kõige levinumate Ubuntu (Apache) veebiserveri probleemide põhjuseid ja lahendusi.
Peamised teemad:

  • Apache käivitamise tõrked ja lahendused
  • SSL-sertifikaadi probleemide lahendamine
  • 403 / 404 / 500 vigade põhjused ja parandused
  • Jõudluse optimeerimine
  • Võrguprobleemide lahendused

9. Kokkuvõte

Õpitust kokkuvõte

Toome veelkord välja iga peatüki põhipunktid.

SektsioonSisu
1. SissejuhatusUbuntu veebiserveri põhimõisted ja artikli eesmärk
2. Ubuntu paigaldus ja algseadistusedOS-i paigaldamine, uuendamine, tulemüüri seadistus
3. Apache paigaldus ja põhiseadistusedApache paigaldamine, käivitamine, töö kontrollimine
4. Virtuaalhostide seadistamineMitu veebisaiti ühes serveris
5. SSL/TLS kasutuselevõttLet’s Encrypti abil HTTPS kasutusele võtmine
6. Veebiserveri turvalisusTulemüüri, SSH ja Apache turvaseaded
7. Jõudluse optimeerimineVahemälu, tihendus, Apache häälestused
8. TõrkeotsingApache vead, SSL tõrked, jõudluse ja võrgu probleemid

Järgmised sammud

Kui Ubuntu veebiserveri põhisätted on paigas, võid õppida järgmisi teemasid ja täiustada oma serverit veelgi:

WordPressi või PHP rakenduste paigaldamine
Andmebaasiserveri (MySQL / MariaDB) seadistamine
Pöördproksi (Nginx + Apache) loomine
Pilvepõhine automaatne skaleerimine (nt AWS, GCP, Azure)
Logihaldus ja monitooring (nt fail2ban, logwatch jt tööriistad)

Korduma kippuvad küsimused (KKK/FAQ)

K1: Kas Ubuntu puhul kasutada Nginx’i või Apache’t?

V1: Kui põhiliselt teenindad staatilist sisu, eelista Nginx’i. Dünaamilise sisu (PHP jms) puhul sobib Apache. Neid saab kasutada ka koos: Nginx pöördproksina, Apache rakenduse serverina.

K2: Kas SSL-sertifikaatide uuendamine saab olla automaatne?

V2: Jah, kui paigaldad Certboti, toimub uuendamine automaatselt. Testi sudo certbot renew --dry-run ja veendu, et croni graafik on seadistatud.

K3: Kuidas veelgi tugevdada veebiserveri turvalisust?

V3: Kasuta Fail2Bani jõurünnakute vastu, peida Apache versiooniteave ja keela mittevajalikud moodulid.

K4: Kuidas parandada Apache jõudlust?

V4: Häälesta õige MPM (event/worker), lisa vahemälu (mod_cache), aktiveeri tihendus (mod_deflate).

K5: Miks mu veebisait annab “403 Forbidden” vea?

V5: Veendu, et kataloogide omanik on www-data ja õigused on õigesti seadistatud (chmod -R 755).

Kokkuvõtteks

Ubuntu veebiserveri loomine hõlmab mitmeid samme, kuid kui saad põhiasjad selgeks, on see väga võimas platvorm.

🚀 Kasuta seda juhendit, et luua turvaline ja kiire veebiserver ning tõsta oma haldusoskusi! 🚀

年収訴求