Az Apache telepítésétől a CentOS rendszeren az indításig szükséges kezdeti konfiguráció.


Megjelenés dátuma:2020. december 8.



INFOMARTION > Az Apache telepítésétől a CentOS rendszeren az indításig szükséges kezdeti konfiguráció.

Áttekintés.

Az Apache telepítéséhez és indításához szükséges kezdeti konfigurációs lépések a CentOS rendszeren. Az információk azon a feltételezésen alapulnak, hogy CentOS7-et használnak.

A változatok a következők.

CentOS verzió7.6 (1810)
Apache verzió2.4.6

Tartalomjegyzék

  1. telepítse a
  2. alapbeállítás
  3. összefoglaló

1. telepítse a

Ez a szakasz az Apache konfigurációját írja le a telepítéstől az indításig.

1-1. Apache telepítése

Végezze el az Apache telepítését a yum parancs segítségével. Végezze el a munkát root felhasználóként.

[username@hostname ~]$ su -
[root@hostname ~]# yum -y install httpd

1-2. Indítási ellenőrzés (http hozzáférés)

Röviden ellenőrizze, hogy elérhető-e. Az Apache (httpd) telepítése a yum paranccsal engedélyezi az apachectl parancsot. Ezzel indítsa el az Apache-ot.

[root@hostname ~]# apachectl start
[root@hostname ~]# apachectl status
* httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2020-12-06 17:08:12 JST; 1s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 1303 (httpd)
   Status: "Processing requests..."
   CGroup: /system.slice/httpd.service
           |-1303 /usr/sbin/httpd -DFOREGROUND
           |-1304 /usr/sbin/httpd -DFOREGROUND
           |-1305 /usr/sbin/httpd -DFOREGROUND
           |-1306 /usr/sbin/httpd -DFOREGROUND
           |-1307 /usr/sbin/httpd -DFOREGROUND
           `-1308 /usr/sbin/httpd -DFOREGROUND

Dec 06 17:08:11 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
Dec 06 17:08:12 localhost.localdomain httpd[1303]: AH00558: httpd: Could not reliably determ...ge
Dec 06 17:08:12 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.

Ha az 'apachectl status' parancs végrehajtásának eredményeképpen az 'Active: active (running)' értéket kapjuk vissza, akkor a rendszer sikeresen elindult.

Ezután lépjen be az Apache-hoz a böngészőjéből. Állítsa be a http engedélyeket, mivel a tűzfal (vagy az iptables a CentOS6 és korábbi rendszerek esetében) alapértelmezés szerint csak az ssh hozzáférést engedélyezi a CentOS7 rendszeren. Szeretnék egy közös engedélyezési beállítást is tenni a https-hez. Adja hozzá az 'állandó' opciót is, hogy a konfiguráció állandó legyen.

[root@hostname ~]# firewall-cmd --permanent --add-service=http
[root@hostname ~]# firewall-cmd --permanent --add-service=https
[root@hostname ~]# firewall-cmd --reload
[root@hostname ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client http https ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Rendben van, ha a 'http' és a 'https' hozzá lett adva a 'services'-hez. Hozzáférés a böngészőn keresztül. Az én esetemben a szerver IP-címe 192.168.50.10, tehát a "http://192.168.50.10" címet használom. Rendben van, ha a következő oldal jelenik meg

Ha a rendszer sikeresen elindult, állítsa le.

[root@hostname ~]# apachectl stop

2. alapbeállítás

2-1. Naplófájl kimeneti mappa létrehozása

A /var/log/ alatti naplózás kezeléséhez hozzon létre egy httpd könyvtárat a /var/log/ alatt az Apache naplóinak mappájaként.

A jogosultságoknak (permissions) 755-nek kell lenniük. Ez a beállítás lehetővé teszi, hogy az Apache írhasson, de más felhasználók csak olvashatnak. Ha más felhasználók is tudnak írni, a naplók manipulálhatók.

Az 'mkdir /var/log/httpd' parancsot nem kell végrehajtani, ha már létrehoztunk egy azonos nevű könyvtárat.

[root@hostname ~]# mkdir /var/log/httpd
[root@hostname ~]# chmod 755 /var/log/httpd

Ez utóbbi eljárással módosíthatja az Apache napló kimeneti beállításait.

Ez az eljárás csak a naplók tárolására szolgáló mappa létrehozására szolgál.

2-2. Tartomány beállítása

Módosítsa a httpd.conf fájlban felsorolt tartományi beállításokat. Az Apache konfigurációja alapvetően a httpd.conf állományban van központosítva, így ha módosítani szeretné a konfigurációt, módosítsa a httpd.conf állományt. A tartományokat nem kell beállítani, ha a környezet helyi (nem nyilvános az interneten).

[root@hostname ~]# vi /etc/httpd/conf/httpd.conf

# Vegye ki a megjegyzést, és engedélyezze a ServerName beállítást. A tartománynév a környezetnek megfelelően kerül beállításra.

httpd.conf【A változás előtt】


#ServerName www.example.com:80

httpd.conf【a változás után】


ServerName domainname:80

2-3. SSL modulok és konfigurációs fájlok aktiválása

SSL engedélyezése a https-en keresztüli hozzáférés engedélyezéséhez. Az SSL-beállítások a SEO-hoz kapcsolódnak, és a http elsősorban biztonsági okokból nem jó ötlet, ezért hacsak nem muszáj http-t használnod, használj https-t.

Telepítse az ssl modult a yum segítségével.

[root@hostname ~]# yum -y install mod_ssl

A yummal történő telepítés automatikusan engedélyezi az ssl modult, így csak telepítenie kell. Egy konfigurációs fájl is automatikusan létrejön. (Az /etc/httpd/conf.d/ssl.conf automatikusan létrejön.)

2-4. Napló kimeneti útvonal módosítása

Módosítsa az Apache napló kimeneti célpontját az imént létrehozott naplófájl kimeneti mappára. Csak az ssl konfigurációs fájlt kell megváltoztatni, mivel egy következő lépésben úgy lesz beállítva, hogy csak ssl-en (https) keresztül lehessen elérni.

[root@hostname ~]# vi /etc/httpd/conf.d/ssl.conf


ssl.conf【A változás előtt】


ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log

~rövidítés~

CustomLog logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"


ssl.conf【a változás után】


ErrorLog /var/log/httpd/ssl_error_log
TransferLog /var/log/httpd/ssl_access_log

~rövidítés~

CustomLog /var/log/httpd/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

A fenti módosítással a napló kimeneti célpontja a "/var/log/httpd" alá kerül.


'%t, %h' stb., ez a napló formázási beállítása. Az alábbiakban felsoroljuk azokat a formátumokat, amelyek gyakran használhatók referenciaként.

【参考】

・%T:A kérelem feldolgozásához szükséges idő (másodperc)

・%h:Az ügyfél állomásneve vagy IP-címe. Csak akkor próbálja meg feloldani a hosztneveket, ha a HostnameLookups beállítása On

・%r:A kérelem első sora

・%b:A válasz bájtjai (a HTTP fejlécek kivételével). CLF formátum, azaz - ha egyik bájt sem kerül elküldésre

・%D:A kérelem feldolgozásához szükséges idő (mikroszekundum)

・%>s:HTTP állapot

2-5. SSL tanúsítványok létrehozása

Tanúsítványok létrehozásának eljárása. A magánüzemeltetések esetében az önigazolás rendben van. A nyilvánosan elérhető kiszolgálók esetében az önhitelesítést el kell kerülni.

A normál tanúsítványok és a saját tanúsítványok biztonsága között nincs különbség. Ez jelentheti a különbséget egy olyan tanúsítvány között, amelyet egy harmadik fél megbízhatónak ítélhet, és egy olyan között, amelyet nem. (Önhitelesítés esetén az URL-sáv pirosra változik.) Tehát nyilvánosan elérhető kiszolgálókhoz (olyan kiszolgálókhoz, amelyeket harmadik felek látnak) állítson ki normál tanúsítványt.

Az Apache alapértelmezett tanúsítványbeállításai a következők: "/etc/pki/tls/certs/localhost.crt" és "/etc/pki/tls/private/localhost.key".

A beállítások az "SSLCertificateFile" és az "SSLCertificateKeyFile" alatt találhatók az "/etc/httpd/conf.d/ssl.conf" állományban.


【Öntanúsításhoz】

Önálló tanúsítvány létrehozásához hajtsa végre a következő parancsot. Futtassa root felhasználóként.

Az 'openssl req -new -key /etc/pki/tls/private/localhost.key > /etc/pki/tls/certs/localhost.crt' futtatása többször is választ fog kérni, mindegyik Enterrel, nem probléma. Ez információt tartalmaz arról, hogy ki állítja ki a tanúsítványt (pl. melyik országban él, és mi az e-mail címe). Ha normál tanúsítványt állít ki, adja meg a megfelelő adatokat, és állítsa be.

[root@hostname ~]# openssl genrsa > /etc/pki/tls/private/localhost.key
[root@hostname ~]# openssl req -new -key /etc/pki/tls/private/localhost.key > /etc/pki/tls/certs/localhost.csr
[root@hostname ~]# openssl x509 -req -signkey /etc/pki/tls/private/localhost.key < /etc/pki/tls/certs/localhost.csr > /etc/pki/tls/certs/localhost.crt

【Normál tanúsítványok esetén】

Normál tanúsítvány létrehozásához hajtsa végre a következő parancsot. Futtassa root felhasználóként.

[root@hostname ~]# openssl genrsa -out /etc/pki/tls/private/localhost.key 2048
[root@hostname ~]# openssl req -new -key /etc/pki/tls/private/localhost.key -out /etc/pki/tls/certs/localhost.csr

A rendszeres tanúsítványok esetében ez nem elegendő a folyamat befejezéséhez. A munka magában foglalja a létrehozott "server.csr" átadását a tanúsítványkiadó hatóságnak a szervertanúsítvány kiállítása érdekében, valamint a kiállított szervertanúsítvány telepítését.

2-6. állandó SSL (Secure Socket Layer)

Nem jó biztonsági megoldás, ha a hozzáférés http-n keresztül történik, ezért adjon hozzá egy olyan beállítást, amely https-re irányít át, ha a hozzáférés http-n keresztül történik.

Lehetőség van a http-n keresztüli hozzáférés megtiltására, de a használhatóság szempontjából ajánlott az átirányítás beállítása. Végezze el a következő feladatokat root felhasználóként.

[root@hostname ~]# vi /etc/httpd/conf/httpd.conf

Adja hozzá a következőket a végére.

httpd.conf


<IfModule rewrite_module>
  RewriteEngine on
  RewriteCond %{HTTPS} off
  RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

Ezt a beállítást úgy is meg lehet változtatni, hogy a http-n keresztül érkező hozzáféréseket https-en kezeljük.

Azt állítják, hogy ez a beállítás nem működik, ha https-en keresztül érkezik. (RewriteCond %{HTTPS} off)

Ne felejtsük el megemlíteni, hogy e beállítás nélkül a https hozzáférések is átirányításra kerülnek, ami végtelen ciklushoz vezet.

2-7. Az aktiválás megerősítése (https hozzáférés).

Most, hogy a különböző beállítások elkészültek, ellenőrizze, hogy az oldal https-en keresztül is elérhető-e. Először indítsd el.

[root@hostname ~]# apachectl start

Hozzáférés a böngészőn keresztül. Ugyanaz, mint a http hozzáférésnél, de az én esetemben a szerver IP-címe 192.168.50.10, így a "http://192.168.50.10" címet használom.

Az URL "http://192.168.50.10"-ról "https://192.168.50.10"-re változik, mivel a http átirányítási beállítás szerepel.

Most, hogy sikeresen elindult, állítsa le az Apache-ot.

[root@hostname ~]# apachectl stop

2-8. Automatikus indítás beállítása

Végül, bár nem kötelező, de nehéz az Apache-ot minden egyes szerver újraindításakor elindítani, ezért egy olyan konfiguráció kerül beállításra, hogy az Apache automatikusan elinduljon a szerver indításakor. A systemctl parancsra is regisztrál. Kérjük, vegye figyelembe, hogy ez az eljárás a CentOS7-re vonatkozik, így ha a CentOS7-től eltérő rendszert használ, akkor a Service parancsot kell használnia.

Hozzon létre egy 'apache.service' fájlt, és írja le a szükséges beállításokat.

[root@hostname ~]# touch /etc/systemd/system/apache.service
[root@hostname ~]# vi /etc/systemd/system/apache.service

A következő információkat adjuk meg.

[Unit]
#Leírás.
Description=Apache
#Végrehajtás előtti és utáni ellenőrzés.
#Before=xxx.service
#After=xxx.service

[Service]
#Felhasználó és csoport kijelölése
User=root
Group=root
#Az aktiválás után állítsa az állapotot Aktiválva értékre.
Type=oneshot
RemainAfterExit=yes
#Indítás, leállítás és újratöltés.
ExecStart=/usr/sbin/apachectl start
ExecStop=/usr/sbin/apachectl stop
ExecReload=/usr/sbin/apachectl restart

[Install]
#Runlevel 3 egyenértékű beállítások.
WantedBy=multi-user.target

Ha befejezte a leírást, regisztrálja azt a systemctl paranccsal.

[root@hostname ~]# systemctl enable apache
[root@hostname ~]# systemctl is-enabled apache
enabled
[root@hostname ~]# systemctl list-unit-files --type=service | grep apache
apache.service                                enabled
[root@hostname ~]# systemctl daemon-reload


3. összefoglaló

Leírtuk az Apache telepítésekor szükséges kezdeti konfigurációt.

Az Apache alapvetően bizonyos mértékig az alapértelmezett beállításokkal működik, de ha ténylegesen testre szabja, kérjük, tekintse meg a naplókiadás célállomásának beállításait és az SSL-beállításokat, amelyeket a rendszer működtetésekor kell megváltoztatnia.

Köszönjük, hogy a végéig figyeltek.