Apache2
Apache2 je WWW server.
Info
editovatUbuntu – návody
editovat- ubuntu.com:
- HTTPD - Apache2 Web Server – server/docs
- Install and Configure Apache – Tutorial (pro Ubuntu Server 16.04 LTS)
- cyberciti.biz:
- Vivek Gite (2020-11-11): How to install Apache on Ubuntu 20.04 LTS
- digitalocean.com:
- Erin Glass (2020-04-27): How To Install the Apache Web Server on Ubuntu 20.04 – Tutorial
Xubuntu – provedení
editovatBudu pracovat jako root (abych nemusel všude psát sudo):
sudo su
Jakou mám verzi
editovatcat /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
editovatapt update apt upgrade apt install apache2
Co se děje
editovatEnabling 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í
editovatStatus:
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
Test
editovatcurl -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
editovatOvěří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í
editovatPřístupy na server:
/var/log/apache2/access.log
Chyby:
/var/log/apache2/error.log