Apache2 je WWW server.

Ubuntu – návody

editovat

Xubuntu – provedení

editovat

Budu pracovat jako root (abych nemusel všude psát sudo):

sudo su

Jakou mám verzi

editovat
cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS"
uname -a
Linux x2 5.11.0-38-generic #42~20.04.1-Ubuntu SMP Tue Sep 28 20:41:07 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Instalace

editovat
apt update
apt upgrade
apt install apache2

Co se děje

editovat
Enabling module mpm_event.
Enabling module authz_core.
Enabling module authz_host.
Enabling module authn_core.
Enabling module auth_basic.
Enabling module access_compat.
Enabling module authn_file.
Enabling module authz_user.
Enabling module alias.
Enabling module dir.
Enabling module autoindex.
Enabling module env.
Enabling module mime.
Enabling module negotiation.
Enabling module setenvif.
Enabling module filter.
Enabling module deflate.
Enabling module status.
Enabling module reqtimeout.
Enabling conf charset.
Enabling conf localized-error-pages.
Enabling conf other-vhosts-access-log.
Enabling conf security.
Enabling conf serve-cgi-bin.
Enabling site 000-default.
Created symlink /etc/systemd/system/multi-user.target.wants/apache2.service → /lib/systemd/system/apache2.service.
Created symlink /etc/systemd/system/multi-user.target.wants/apache-htcacheclean.service → /lib/systemd/system/apache-htcacheclean.service.

Řízení

editovat

Status:

systemctl status apache2.service

Když ho chceme nastartovat:

systemctl start apache2.service

Když ho chceme zastavit:

systemctl stop apache2.service

Když ho chceme restartovat (např. po změně konfigurace):

systemctl restart apache2.service

Reload:

systemctl reload apache2.service

Zjistíme, jestli se nám server bude startovat po bootu:

systemctl is-enabled apache2.service

Jestli neběží, umožníme, aby se nastartoval po bootu:

systemctl enable apache2.service

Když nechceme, aby se startoval po bootu:

systemctl disable apache2.service

Pozn.: Namísto apache2.service vetšinou stačí psát jen apache2

curl -I localhost

Odpoví např.:

HTTP/1.1 200 OK
'''Date''': Tue, 09 Nov 2021 11:27:51 GMT
'''Server''': Apache/2.4.41 (Ubuntu)
'''Last-Modified''': Tue, 09 Nov 2021 11:20:37 GMT
'''ETag''': "2aa6-5d0594c7a6fcc"
'''Accept-Ranges''': bytes
'''Content-Length''': 10918
'''Vary''': Accept-Encoding
'''Content-Type''': text/html

Můžeme také ověřit svou číselnou IP adresu:

hostname -I
10.0.0.50

Anebo – jak je vidět ze světa:

curl -4 icanhazip.com

Do svého prohlížeče zadáme URL:

http://localhost

anebo:

http://10.0.0.50

anebo:

http://127.0.0.1

anebo:

file:///var/www/html/index.html

Ve všech těchto případech dostaneme defaultní přivítací stránku: Apache2 Ubuntu Default Page

Zdrojový soubor této stránky tím pádem najdeme na:

/var/www/html/index.html

Konfigurace

editovat

Ověříme, jestli má konfigurační soubor správnou syntaxi:

apache2ctl configtest

Po nainstalování zpravidla hlásí:

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

Nejprve si pro jistotu zazálohujeme původní konfigurační soubor, např:

cd /etc/apache2
cp -p apache2.conf apache2.conf.001

A potom můžeme editovat soubor apache2.conf

Nakonec přidáme např. řádku:

ServerName localhost

Jak jsme viděli, WWW prostor je defaultně na /var/www, resp. /var/www.html. To můžeme změnit přidáním konfigurační řádky:

DocumentRoot náš WWW prostor'

Pak znovu ověříme, jestli jsme neudělali v konfiguračním souboru nějakou chybu:

apache2ctl configtest

Po změně konfigurace musíme server pokaždé restartovat:

systemctl restart apache2

Logování

editovat

Přístupy na server:

/var/log/apache2/access.log

Chyby:

/var/log/apache2/error.log