$ cat /etc/centos-release
CentOS Linux release 8.1.1911 (Core)
Installieren Sie das httpd-Paket mit dem Befehl dnf install.
$ sudo dnf install httpd
Bestätigen Sie, dass es installiert wurde.
$ dnf list --installed httpd
Installierte Pakete
httpd.x86_64 2.4.37-16.module_el8.1.0+256+ae790463 @AppStream
$ which httpd
/usr/sbin/httpd
$ httpd -v
Server version: Apache/2.4.37 (centos)
Server built: Dec 23 2019 20:45:34
$ httpd -V
Server version: Apache/2.4.37 (centos)
Server built: Dec 23 2019 20:45:34
Server's Module Magic Number: 20120211:83
Server loaded: APR 1.6.3, APR-UTIL 1.6.1
Compiled using: APR 1.6.3, APR-UTIL 1.6.1
Architecture: 64-bit
Server MPM: event
threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="run/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
Aktivieren Sie den systemd httpd-Dienst.
$ sudo systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
Starten Sie Apache mit dem Befehl systemctl start.
$ sudo systemctl start httpd
Überprüfen Sie den Status von Apache.
$ systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2020-03-23 21:55:04 JST; 7min ago
Docs: man:httpd.service(8)
Unter / etc / httpd / befindet sich eine Apache-Konfigurationsdatei. Die Hauptkonfigurationsdatei ist /etc/httpd/conf/httpd.conf, wodurch andere Konfigurationsdateien mit der Include-Direktive hinzugefügt werden.
$ tree /etc/httpd/
/etc/httpd/
├── conf
│ ├── httpd.conf
│ └── magic
├── conf.d
│ ├── README
│ ├── autoindex.conf
│ ├── userdir.conf
│ └── welcome.conf
├── conf.modules.d
│ ├── 00-base.conf
│ ├── 00-dav.conf
│ ├── 00-lua.conf
│ ├── 00-mpm.conf
│ ├── 00-optional.conf
│ ├── 00-proxy.conf
│ ├── 00-systemd.conf
│ ├── 01-cgi.conf
│ ├── 10-h2.conf
│ ├── 10-proxy_h2.conf
│ └── README
├── logs -> ../../var/log/httpd
├── modules -> ../../usr/lib64/httpd/modules
├── run -> /run/httpd
└── state -> ../../var/lib/httpd
7 directories, 17 files
Installieren Sie das Paket mod_ssl mit dem Befehl dnf install.
$ sudo dnf install mod_ssl
Die Konfigurationsdateien ssl.conf und 00-ssl.conf wurden hinzugefügt. Fügen Sie sie daher bei Bedarf mit der Include-Direktive hinzu.
$ find /etc/httpd | grep ssl
/etc/httpd/conf.d/ssl.conf
/etc/httpd/conf.modules.d/00-ssl.conf
Schreiben Sie beispielsweise den folgenden Inhalt in die Einstellungsdatei von /etc/httpd/conf/httpd.conf. Dieses Mal habe ich sie in einer Einstellungsdatei zusammengestellt, ohne die Include-Direktive zu verwenden.
ServerRoot "/etc/httpd"
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule unixd_module modules/mod_unixd.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule systemd_module modules/mod_systemd.so
Listen 80
User apache
Group apache
ErrorLog "logs/error_log"
ProxyRequests Off
SSLProxyEngine On
ProxyPass /foobar/ https://hogehoge.example.com/foobar/
ProxyPassReverse /foobar/ https://hogehoge.example.com/foobar/
Mit dem Befehl apachectl configtest können Sie überprüfen, ob die Konfigurationsdatei korrekt ist.
$ apachectl configtest
Syntax OK
Wenn die Einstellungen korrekt sind, starten Sie Apache neu, damit die Einstellungen wirksam werden.
$ sudo systemctl restart httpd
Greifen Sie mit Curl usw. zu und überprüfen Sie, ob die Antwort von dem Server zurückgegeben wird, der den Inhalt generiert hat.
$ curl --include --silent http://localhost/foobar/ | head
HTTP/1.1 200 OK
Date: Mon, 23 Mar 2020 13:05:09 GMT
Server: Foobar Frontend
Content-Type: text/html;charset=utf-8
Content-Length: 9876
<!DOCTYPE html>
<html>
<head>
<title>Hello, world.</title>
Recommended Posts