Apache yra plačiai naudojamas atvirojo kodo web serveris. Jis palaiko įvairius modulius, kurie išplečia jo funkcionalumą, pavyzdžiui, leidžia apdoroti dinaminį turinį (PHP, Python), sustiprinti saugumą ir naudoti spartinimą (caching).
Apache pasižymi lankstumu ir plačiomis konfigūravimo galimybėmis. Serverio administratoriai gali keisti įvairius nustatymus ir taip optimizuoti našumą bei saugumą. Apache taip pat palaiko Virtual Host funkciją, todėl viename serveryje galima talpinti kelias svetaines.
Atkreipkite dėmesį. Šiame vadove kaip teksto redaktorių naudojame vi. Tačiau Debian sistemoje numatytoji vi versija yra minimali ir neturi kai kurių patogesnių funkcijų, todėl, pavyzdžiui, gali būti sudėtingiau įklijuoti tekstą iš kitų šaltinių. Jei norite paprastesnio redaktoriaus, galite naudoti nano.
1. Atnaujinkite sistemą
Pirmiausia atnaujinkite sistemą:
apt update && apt upgrade -y
2. Įdiekite Apache
Atnaujinę sistemą, įdiekite Apache paleisdami šią komandą:
apt install apache2 -y
3. Paleiskite Apache
Norėdami paleisti Apache, vykdykite šią komandą:
systemctl start apache2
Kad Apache būtų automatiškai paleidžiamas kiekvieną kartą įjungus sistemą, vykdykite:
systemctl enable apache2
Dabar galite patikrinti Apache būseną. Ji turėtų būti aktyvi:
systemctl status apache2
4. Atidarykite 80 ir 443 prievadus
HTTP ir HTTPS ryšiams reikia atidaryti 80 ir 443 prievadus firewall nustatymuose. Tai galite padaryti naudodami IPtables arba UFW.
IPtables:
Jei naudojate IPtables, paleiskite šias komandas:
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
Kad pakeitimai būtų išsaugoti, įdiekite iptables-persistent, jei šis paketas dar neįdiegtas:
apt install iptables-persistent
Tada paleiskite šią komandą:
iptables-save | tee /etc/iptables/rules.v4
UFW:
Jei naudojate UFW (Uncomplicated Firewall), paleiskite šią komandą:
ufw allow 'Apache Full'
Tada perkraukite UFW konfigūraciją:
ufw reload
5. Sukurkite naują Virtual Host
Sukurkite naują Virtual Host konfigūracijos failą. Vietoje your_domain.ltd įrašykite savo domeną:
vi /etc/apache2/sites-available/your_domain.ltd.conf
Į failą įklijuokite toliau pateiktą turinį ir pakeiskite your_domain.ltd bei admin@your_domain.ltd savo domenu ir el. pašto adresu:
<VirtualHost *:80>
ServerAdmin admin@your_domain.ltd
ServerName your_domain.ltd
DocumentRoot /var/www/html/your_domain.ltd
DirectoryIndex index.html index.php
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Išjunkite numatytąjį Apache Virtual Host:
a2dissite 000-default
Įjunkite naują Apache Virtual Host konfigūraciją. Vietoje your_domain.ltd įrašykite savo domeną:
a2ensite your_domain.ltd
Perkraukite Apache konfigūraciją:
systemctl reload apache2
6. Sukurkite testinį puslapį
Sukurkite svetainės šakninį katalogą. Vietoje your_domain.ltd įrašykite savo domeną:
mkdir -p /var/www/html/your_domain.ltd
Šiame kataloge sukurkite naują index.html failą:
vi /var/www/html/your_domain.ltd/index.html
Į failą įklijuokite šį turinį:
<html>
Page for testing purposes
</html>
Išsaugokite failą ir išeikite (paspauskite "Esc", tada įveskite :wq ir paspauskite "Enter").
Svetainės šakninio katalogo savininku ir grupe nustatykite web serverio naudotoją bei grupę www-data:
chown -R www-data:www-data /var/www/html/your_domain.ltd
Kad pakeitimai įsigaliotų, perkraukite Apache:
systemctl restart apache2
Norėdami užtikrinti saugų HTTPS ryšį, atlikite toliau nurodytus veiksmus.
7. Sukonfigūruokite SSL sertifikatą
Pirmiausia įdiekite Certbot:
apt install certbot python3-certbot-apache
Tada galite išduoti naują SSL sertifikatą savo domenui. Paleiskite šią komandą ir pakeiskite your_domain.ltd savo domenu, o admin@your_domain.ltd – savo el. pašto adresu:
certbot --apache --agree-tos --redirect -d your_domain.ltd -m admin@your_domain.ltd
Išduodant sertifikatą jūsų taip pat bus klausiama, ar sutinkate bendrinti savo el. pašto adresą su Electronic Frontier Foundation. Tai nėra privaloma.
Perkraukite Apache:
systemctl restart apache2
Tada patikrinkite, ar SSL sertifikatas įjungtas sėkmingai. Naršyklėje atidarykite sukurtą testinį puslapį ir patikrinkite, ar jis pasiekiamas per HTTPS naudojant galiojantį Let's Encrypt SSL sertifikatą. Norėdami peržiūrėti informaciją apie sertifikatą, adreso juostoje spustelėkite spynos piktogramą.
8. Rankinis ir automatinis SSL sertifikato atnaujinimas
Sertifikatas galioja 90 dienų. Jį galima atnaujinti rankiniu arba automatiniu būdu.
Norėdami atnaujinti sertifikatą rankiniu būdu, paleiskite šią komandą:
certbot renew
Ši komanda patikrina, ar iki sertifikato galiojimo pabaigos liko mažiau nei 30 dienų, ir prireikus jį atnaujina.
Certbot taip pat paprastai sukuria automatinę užduotį kataloge /etc/cron.d/. Patikrinti, ar ji yra, galite šia komanda:
cat /etc/cron.d/certbot
Ši užduotis paprastai vykdoma du kartus per dieną, todėl sertifikatai patikrinami ir prireikus atnaujinami laiku. Procesas vyksta automatiškai, todėl naudotojui papildomų veiksmų atlikti nereikia.
Kai reikės, Certbot automatiškai atnaujins sertifikatus ir perkraus Apache konfigūraciją, kad pakeitimai įsigaliotų.

