Alustava konfigurointi vaaditaan Apachen asennuksesta CentOS-käyttöjärjestelmään käynnistykseen.
Julkaisupäivä:8. joulukuuta 2020.
INFOMARTION > Alustava konfigurointi vaaditaan Apachen asennuksesta CentOS-käyttöjärjestelmään käynnistykseen.
Yleiskatsaus.
Alustavat konfigurointivaiheet, joita tarvitaan Apachen asentamiseen ja käynnistämiseen CentOS-käyttöjärjestelmässä. Tiedot perustuvat oletukseen, että käytössä on CentOS7.
Versiot ovat seuraavat.
CentOS-versio | 7.6 (1810) |
---|---|
Apachen versio | 2.4.6 |
Sisällysluettelo
- asenna
- perusasetus
- 2-1. Lokitiedoston tulostuskansion luominen
- 2-2. Verkkotunnuksen asetus
- 2-3. SSL-moduulien ja konfiguraatiotiedostojen aktivointi
- 2-4. Muuta lokin tulostuspolkua
- 2-5. SSL-varmenteiden luominen
- 2-6. pysyvä SSL (Secure Socket Layer)
- 2-7. Aktivoinnin vahvistus (https-yhteys).
- 2-8. Automaattinen käynnistysasetus
- yhteenveto
1. asenna
Tässä osassa kuvataan Apachen konfigurointi asennuksesta käynnistykseen.
1-1. Apachen asentaminen
Suorita Apachen asennus yum-komennolla. Suorita työ pääkäyttäjänä.
[username@hostname ~]$ su -
[root@hostname ~]# yum -y install httpd
1-2. Käynnistystarkastus (http-yhteys)
Tarkista lyhyesti, onko se käytettävissä. Apachen (httpd) asentaminen yum-komennolla mahdollistaa apachectl-komennon. Käytä tätä Apachen käynnistämiseen.
[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.
Jos komennon 'apachectl status' suorittamisen tuloksena palautetaan 'Active: active (running)', järjestelmä on käynnistetty onnistuneesti.
Käynnistä sitten Apache selaimellasi. Aseta http-oikeudet, koska palomuuri (tai iptables CentOS6:ssa ja sitä vanhemmissa versioissa) sallii oletusarvoisesti vain ssh-käytön CentOS7:ssä. Haluaisin myös ottaa käyttöön yhteisen lupa-asetuksen https:lle. Lisää myös "permanent"-vaihtoehto, jotta asetuksista tulee pysyviä.
[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:
On OK, jos 'http' ja 'https' on lisätty 'services'-kenttään. Käytetään selaimen kautta. Minun tapauksessani palvelimen IP-osoite on 192.168.50.10, joten käytän "http://192.168.50.10". On OK, jos seuraava sivu tulee näkyviin
Kun järjestelmä on käynnistetty onnistuneesti, pysäytä se.
[root@hostname ~]# apachectl stop
2. perusasetus
2-1. Lokitiedoston tulostuskansion luominen
Jos haluat hallita lokitusta /var/log/-kansiossa, luo httpd-hakemisto /var/log/-kansion alle Apachen lokitiedostojen kansioksi.
Käyttöoikeuksien (permissions) pitäisi olla 755. Tämä asetus sallii Apachen kirjoittaa, mutta muut käyttäjät voivat vain lukea. Jos muut käyttäjät voivat kirjoittaa, lokeja voidaan peukaloida.
'mkdir /var/log/httpd' ei tarvitse suorittaa, jos samanniminen hakemisto on jo luotu.
[root@hostname ~]# mkdir /var/log/httpd
[root@hostname ~]# chmod 755 /var/log/httpd
Käytä jälkimmäistä menettelyä Apache-lokin tulostuskohteen asetusten muuttamiseen.
Tällä menettelyllä luodaan vain kansio, johon lokit tallennetaan.
2-2. Verkkotunnuksen asetus
Muuta httpd.conf-tiedostossa lueteltuja toimialueen asetuksia. Apachen asetukset on periaatteessa keskitetty httpd.conf-tiedostoon, joten jos haluat muuttaa asetuksia, muuta httpd.conf-tiedostoa. Verkkotunnuksia ei tarvitse määrittää, jos ympäristö on paikallinen (ei avoin yleisölle Internetissä).
[root@hostname ~]# vi /etc/httpd/conf/httpd.conf
# Poista kommentit ja ota ServerName-asetus käyttöön. Verkkotunnus asetetaan ympäristön mukaan.
#ServerName www.example.com:80
ServerName domainname:80
2-3. SSL-moduulien ja konfiguraatiotiedostojen aktivointi
Ota SSL käyttöön salliaksesi pääsyn https:n kautta. SSL-asetukset liittyvät hakukoneoptimointiin, ja http ei ole alun alkaenkaan hyvä idea turvallisuussyistä, joten jos sinun ei ole pakko käyttää http:tä, käytä https:ää.
Asenna ssl-moduuli yumilla.
[root@hostname ~]# yum -y install mod_ssl
Asennus yumilla ottaa automaattisesti käyttöön ssl-moduulin, joten sinun tarvitsee asentaa vain se. Määritystiedosto luodaan myös automaattisesti. (/etc/httpd/conf.d/ssl.conf luodaan automaattisesti.)
2-4. Muuta lokin tulostuspolkua
Vaihda Apache-lokin tulostuskohde lokitiedoston tulostuskansioon, jonka olet juuri luonut. Muuta vain ssl-konfiguraatiotiedostoa, koska se asetetaan myöhemmässä vaiheessa siten, että sitä käytetään vain ssl:n (https) kautta.
[root@hostname ~]# vi /etc/httpd/conf.d/ssl.conf
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
~lyhennelmä~
CustomLog logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
ErrorLog /var/log/httpd/ssl_error_log
TransferLog /var/log/httpd/ssl_access_log
~lyhennelmä~
CustomLog /var/log/httpd/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
Yllä oleva muutos muuttaa lokin tulostuskohteen osoitteeseen "/var/log/httpd".
'%t, %h' jne., tämä on lokin muotoiluasetus. Seuraavassa on luettelo muodoista, joita voidaan käyttää usein viitteenä.
【参考】
・%T:Pyynnön käsittelyyn kulunut aika (sekuntia)
・%h:Asiakkaan isäntänimi tai IP-osoite. Yritä ratkaista isäntänimiä vain, jos HostnameLookups-asetuksena on On
・%r:Pyynnön ensimmäinen rivi
・%b:Vastauksen tavut (lukuun ottamatta HTTP-otsakkeita). CLF-muodossa, eli - jos yhtään tavua ei lähetetä
・%D:Pyynnön käsittelyyn kulunut aika (mikrosekuntia).
・%>s:HTTP-tila
2-5. SSL-varmenteiden luominen
Varmenteiden luomismenettely. Omatoiminen varmentaminen sopii yksityiselle toiminnalle. Julkisesti saatavilla olevissa palvelimissa itsevarmennusta ei pitäisi kannustaa.
Tavallisten varmenteiden ja itsevarmennettujen varmenteiden välillä ei ole eroa tietoturvassa. Tämä voi erottaa toisistaan varmenteen, jota kolmas osapuoli voi pitää luotettavana, ja varmenteen, jota ei voi pitää luotettavana. (Itsevarmennuksen yhteydessä URL-palkki muuttuu punaiseksi.) Anna siis julkisesti saatavilla oleville palvelimille (palvelimet, jotka ovat kolmansien osapuolten nähtävissä) tavallinen varmenne.
Apachen oletusvarmenneasetukset ovat "/etc/pki/tls/certs/localhost.crt" ja "/etc/pki/tls/private/localhost.key".
Asetukset löytyvät kohdista "SSLCertificateFile" ja "SSLCertificateKeyFile" tiedostossa "/etc/httpd/conf.d/ssl.conf".
【Omatoimista sertifiointia varten】
Voit luoda itsevarmenteen suorittamalla seuraavan komennon. Suorita pääkäyttäjänä.
Suorittamalla 'openssl req -new -key /etc/pki/tls/private/localhost.key > /etc/pki/tls/certs/localhost.crt' saat vastauksen useita kertoja, kaikki Enterillä, ei ongelmia. Tämä sisältää tiedot siitä, kuka varmenteen myöntää (esim. missä maassa hän asuu ja mikä on hänen sähköpostiosoitteensa). Jos myönnät tavallisen varmenteen, anna oikeat tiedot ja määritä se.
[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
【Normaaleja todistuksia varten】
Voit luoda tavallisen varmenteen suorittamalla seuraavan komennon. Suorita pääkäyttäjänä.
[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
Tavallisten varmenteiden osalta tämä ei riitä prosessin loppuun saattamiseen. Työhön kuuluu luodun server.csr-tiedoston luovuttaminen varmenneviranomaiselle palvelinvarmenteen myöntämistä varten ja myönnetyn palvelinvarmenteen asentaminen.
2-6. pysyvä SSL (Secure Socket Layer)
Ei ole hyvä tietoturva, jos pääsy tapahtuu http:n kautta, joten lisää asetus, joka ohjaa https:ään, jos pääsy tapahtuu http:n kautta.
Pääsy http:n kautta on mahdollista kieltää, mutta käytettävyyden kannalta on suositeltavaa ottaa käyttöön uudelleenohjaus. Suorita seuraavat tehtävät pääkäyttäjänä.
[root@hostname ~]# vi /etc/httpd/conf/httpd.conf
Lisää loppuun seuraava.
<IfModule rewrite_module>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
Tätä asetusta on mahdollista muuttaa niin, että http-palvelimella saapuvat yhteydenotot käsitellään https-palvelimella.
On todettu, että tämä asetus ei toimi, jos tulet https:n kautta. (RewriteCond %{HTTPS} off)
Älä unohda mainita, että ilman tätä asetusta myös https-yhteydet ohjataan uudelleen, mikä johtaa loputtomaan silmukkaan.
2-7. Aktivoinnin vahvistus (https-yhteys).
Nyt kun eri asetukset on tehty, tarkista, että sivustolle pääsee https-yhteyden kautta. Käynnistä ensin.
[root@hostname ~]# apachectl start
Käytetään selaimen kautta. Sama kuin http-yhteys, mutta minun tapauksessani palvelimen IP-osoite on 192.168.50.10, joten pääsen osoitteeseen "http://192.168.50.10".
URL-osoite muuttuu osoitteesta "http://192.168.50.10" osoitteeseen "https://192.168.50.10", koska http-uudelleenohjausasetus on mukana.
Nyt kun se on onnistuneesti käynnistetty, lopeta Apache.
[root@hostname ~]# apachectl stop
2-8. Automaattinen käynnistysasetus
Lopuksi, vaikka se ei olekaan pakollista, Apachea on vaikea käynnistää joka kerta, kun palvelin käynnistetään uudelleen, joten Apache käynnistyy automaattisesti, kun palvelin käynnistetään. Se rekisteröityy myös systemctl-komentoon. Huomaa, että tämä menettely koskee CentOS7:ää, joten jos käytät jotain muuta kuin CentOS7:ää, sinun on käytettävä Service-komentoa.
Luo tiedosto 'apache.service' ja kuvaile tarvittavat asetukset.
[root@hostname ~]# touch /etc/systemd/system/apache.service
[root@hostname ~]# vi /etc/systemd/system/apache.service
Toimitetaan seuraavat tiedot.
[Unit]
#Kuvaus.
Description=Apache
#Toteutusta edeltävä ja sen jälkeinen valvonta.
#Before=xxx.service
#After=xxx.service
[Service]
#Käyttäjän ja ryhmän nimeäminen
User=root
Group=root
#Kun se on aktivoitu, aseta tilaksi Aktivoitu.
Type=oneshot
RemainAfterExit=yes
#Käynnistä, pysäytä ja lataa uudelleen.
ExecStart=/usr/sbin/apachectl start
ExecStop=/usr/sbin/apachectl stop
ExecReload=/usr/sbin/apachectl restart
[Install]
#Runlevel 3:n vastaavat asetukset.
WantedBy=multi-user.target
Kun olet kuvannut sen, rekisteröi se systemctl-komennolla.
[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. yhteenveto
Olemme kuvailleet Apachen asennuksen yhteydessä tarvittavia alkukokoonpanoja.
Apache toimii periaatteessa jossain määrin oletusasetuksilla, mutta jos todella muokkaat sitä, tutustu lokitulostuksen kohdeasetuksiin ja SSL-asetuksiin, jotka sinun on muutettava, kun käytät järjestelmää.
Kiitos, että katsoitte loppuun asti.
■INFORMATION
Klikkaa tästä siirtyäksesi TIETOJEN yläsivulle.
■PROFILE
Klikkaa tästä saadaksesi profiilin.
■Yhteystiedot.