Bevezetés
az Apache HTTP szerver a legszélesebb körben használt webszerver a világon. Számos erőteljes funkciót kínál, beleértve a dinamikusan betölthető modulokat, a robusztus médiatartalmat, valamint a más népszerű szoftverekkel való kiterjedt integrációt.
ebben az útmutatóban elmagyarázzuk, hogyan kell telepíteni egy Apache webszervert az Ubuntu 20.04 szerverre.
előfeltételek
mielőtt elkezdené ezt az útmutatót, rendszeres, nem gyökér felhasználóval kell rendelkeznie a kiszolgálón konfigurált sudo jogosultságokkal., Ezenkívül engedélyeznie kell egy alapvető tűzfalat a nem alapvető fontosságú portok blokkolásához. Az Ubuntu 20.04 kezdeti szerverbeállítási útmutatójának követésével megtudhatja, hogyan konfigurálhat egy rendszeres felhasználói fiókot, illetve állíthat be tűzfalat a szerveréhez.
ha van elérhető fiókja, jelentkezzen be nem root felhasználóként a kezdéshez.
1. lépés-az Apache telepítése
az Apache elérhető az Ubuntu alapértelmezett szoftvertáraiban, lehetővé téve annak telepítését a hagyományos csomagkezelő eszközökkel.,
kezdjük a helyi csomagindex frissítésével, hogy tükrözze a legújabb upstream változásokat:
- sudo apt update
Ezután telepítse a apache2
csomagot:
- sudo apt install apache2
a telepítés megerősítése után apt
telepíti az Apache-t és az összes szükséges függőséget.
2. lépés-a tűzfal beállítása
az Apache tesztelése előtt módosítani kell a tűzfal beállításait, hogy külső hozzáférést biztosítson az alapértelmezett webes portokhoz., Feltételezve, hogy betartotta az előfeltételekben szereplő utasításokat, rendelkeznie kell egy UFW tűzfallal, amely úgy van konfigurálva, hogy korlátozza a kiszolgálóhoz való hozzáférést.
a telepítés során az Apache regisztrálja magát az UFW-vel, hogy néhány alkalmazásprofilt biztosítson, amelyek felhasználhatók az Apache-hoz való hozzáférés engedélyezésére vagy letiltására a tűzfalon keresztül.,>
A listát kap az alkalmazás profil:
OutputAvailable applications: Apache Apache Full Apache Secure OpenSSH
jelzi a kimeneti három profil áll rendelkezésre, az Apache:
- Apache: Ez az üzemmód csak akkor nyílik meg, a 80-as portot (normál, nem titkosított webes forgalom)
- Apache Teljes: Ez a profil nyílik mind a 80-as portot (normál, nem titkosított webes forgalom) pedig a 443-as portot (TLS/SSL titkosított forgalom)
- Apache Biztonságos: Ez az üzemmód csak akkor nyílik meg, a 443-as portot (TLS/SSL titkosított forgalom)
javasoljuk, hogy engedélyezze a leginkább korlátozó üzemmódot, amely lehetővé teszi, hogy a forgalom már konfigurálva., Mivel még nem állította be az SSL-t a szerver még ebben az útmutatóban, hogy csak akkor lehetővé kell tenniük, hogy a forgalom 80-as port:
- sudo ufw allow 'Apache'
ellenőrizheti a változás beírja:
- sudo ufw status
A kimenet egy listát engedélyezett a HTTP-forgalom:
Mint ahogy azt a kimenet, az üzemmódot aktiválták, hogy lehetővé tegye a hozzáférést a Apache webszerver.
3. lépés-a webszerver ellenőrzése
a telepítési folyamat végén az Ubuntu 20.04 elindítja az Apache-t. A webszervernek már működnie kell.,
ellenőrizze asystemd
init rendszert, hogy megbizonyosodjon arról, hogy a szolgáltatás fut gépeléssel:
- sudo systemctl status apache2
amint ezt a kimenet is megerősítette, a szolgáltatás sikeresen elindult. Ennek tesztelésének legjobb módja azonban egy oldal kérése az Apache-tól.
elérheti az alapértelmezett Apache céloldalt, hogy megerősítse, hogy a szoftver megfelelően fut az IP-címén keresztül. Ha nem tudja a szerver IP-címét, akkor kap ez néhány különböző módon a parancssorból.,
próbálja meg beírni ezt a szerver parancssorába:
- hostname -I
néhány cím szóközökkel elválasztva kerül vissza. Meg lehet próbálni minden a böngészőben, hogy meghatározzák, ha működnek.,
egy Másik lehetőség az, hogy használja a Icanhazip eszköz, amely megadja, hogy a publikus IP-címére, ahogy olvastam, egy másik helyről az interneten:
- curl -4 icanhazip.com
Ha a szerver IP-címét, írja be a böngésző címsorába:
You should see the default Ubuntu 20.04 Apache web page:
This page indicates that Apache is working correctly. It also includes some basic information about important Apache files and directory locations.
Step 4 — Managing the Apache Process
Now that you have your web server up and running, let’s go over some basic management commands using systemctl
.
To stop your web server, type:
- sudo systemctl stop apache2
ahhoz, Hogy indítsa el a web szerver, amikor megállt, típus:
- sudo systemctl start apache2
ahhoz, Hogy állítsa le, majd indítsa el a szolgáltatást újra, típus:
- sudo systemctl restart apache2
Ha egyszerűen csak így konfigurációs változtatások, Apache gyakran újratöltés nélkül célba kapcsolatok., Ehhez használja ezt a parancsot:
- sudo systemctl reload apache2
alapértelmezés szerint az Apache úgy van beállítva, hogy automatikusan elinduljon, amikor a kiszolgáló elindul. Ha nem ezt akarja, tiltsa le ezt a viselkedést a következő beírással:
- sudo systemctl disable apache2
a szolgáltatás újraindításának engedélyezéséhez írja be:
- sudo systemctl enable apache2
az Apache-nak automatikusan el kell indulnia, amikor a szerver újra elindul.,
5. lépés — virtuális gazdagépek beállítása (ajánlott)
az Apache webkiszolgáló használatakor virtuális gazdagépeket (hasonlóan a Nginx szerverblokkjaihoz) használhat a konfigurációs adatok beágyazására, és egynél több tartományt tárolhat egyetlen kiszolgálóról. Létrehozunk egy your_domain nevű domaint, de ezt ki kell cserélnie a saját domain nevével. Ha domain nevet állít be a DigitalOcean segítségével, kérjük, olvassa el a hálózati dokumentációt.
Apache az Ubuntu 20.,04 alapértelmezés szerint engedélyezve van egy szerverblokk, amely a /var/www/html
könyvtár dokumentumainak kiszolgálására van konfigurálva. Bár ez jól működik egyetlen webhely esetében, nehézkes lehet, ha több webhelyet tárol. A /var/www/html
módosítása helyett hozzunk létre egy könyvtárszerkezetet a /var/www
alatt egy your_domain webhelyhez, így a /var/www/html
helyett az alapértelmezett könyvtárat kell kiszolgálni, ha az ügyfél kérése nem egyezik meg más webhelyekkel.,
Létre a könyvtárat your_domain a következőképpen:
- sudo mkdir /var/www/your_domain
a Következő rendel tulajdonjogát a könyvtár a $USER
környezeti változó:
- sudo chown -R $USER:$USER /var/www/your_domain
Az engedélyeket a web gyökerek helyes, ha még nem módosított az umask értéket, amely meghatározza az alapértelmezett fájl jogosultságait., Annak érdekében, hogy a jogosultság megfelelő, valamint lehetővé teszi a tulajdonos olvasni, írni, s végre a fájlokat, amíg megadása csak olvasni végre engedélyeket csoportok mások, akkor adja meg a következő parancsot:
- sudo chmod -R 755 /var/www/your_domain
a Következő létre, egy minta a index.html
oldal használata nano
vagy a kedvenc szerkesztő:
- sudo nano /var/www/your_domain/index.html
Belső, adja hozzá a következő HTML-minta:
<html> <head> <title>Welcome to Your_domain!</title> </head> <body> <h1>Success! The your_domain virtual host is working!</h1> </body></html>
mentse el és zárja be a fájlt, ha elkészült.,
annak érdekében, hogy az Apache kiszolgálhassa ezt a tartalmat, létre kell hoznia egy virtuális gazdagép fájlt a megfelelő irányelvekkel. A /etc/apache2/sites-available/000-default.conf
alapértelmezett konfigurációs fájl közvetlen módosítása helyett készítsünk egy újat a /etc/apache2/sites-available/your_domain.conf
:
- sudo nano /etc/apache2/sites-available/your_domain.conf
beillesztés a következő konfigurációs blokkba, amely hasonló az alapértelmezetthez, de frissül az új könyvtárunk és tartománynevünk számára:
figyeljük meg, hogy frissítettük a DocumentRoot
az új könyvtár és ServerAdmin
egy e-mailt, hogy a your_domain webhely adminisztrátora hozzáférhet. Két irányelvet is hozzáadtunk: ServerName
, amely létrehozza az alap domaint, amelynek meg kell egyeznie ezzel a virtuális host definícióval, és ServerAlias
, amely további neveket határoz meg, amelyeknek meg kell egyezniük, mintha az alapnév lenne.
mentse el és zárja be a fájlt, ha elkészült.,
nézzük, lehetővé teszi a fájl a a2ensite
eszköz:
- sudo a2ensite your_domain.conf
Tiltsa le az alapértelmezett webhely meghatározott 000-default.conf
:
- sudo a2dissite 000-default.conf
a Következő teszteljük a konfigurációs hibák:
- sudo apache2ctl configtest
Meg kell kapnia a következő kimenet:
OutputSyntax OK
Indítsa újra az Apache végrehajtani a változtatásokat:
- sudo systemctl restart apache2
az Apache kell szolgálni a domain név., Akkor ez a teszt navigálva , ahol valami ilyesmit kell látnunk:
6. Lépés – Egyre Ismerős Fontos Apache Fájlok, Könyvtárak
Most, hogy tudod, hogyan kell kezelni az Apache szolgáltatást is, kellett pár perc, hogy ismerkedjen meg néhány fontos könyvtárak, fájlok.,
Content
-
/var/www/html
: a tényleges webes tartalom, amely alapértelmezés szerint csak a korábban látott alapértelmezett Apache oldalból áll, a/var/www/html
könyvtárból kerül kiszolgálásra. Ezt meg lehet változtatni megváltoztatásával Apache konfigurációs fájlokat.
szerver konfiguráció
-
/etc/apache2
: az Apache konfigurációs könyvtár. Az összes Apache konfigurációs fájl itt található. -
/etc/apache2/apache2.conf
: A fő Apache konfigurációs fájl. Ez módosítható az Apache globális konfigurációjának módosításához., Ez a fájl felelős sok más fájl betöltéséért a konfigurációs könyvtárban. -
/etc/apache2/ports.conf
: ez a fájl meghatározza azokat a portokat, amelyeket az Apache hallgatni fog. Alapértelmezés szerint az Apache a 80-as porton hallgat, továbbá a 443-as porton is figyel, ha az SSL-képességeket biztosító modul engedélyezve van. -
/etc/apache2/sites-available/
: az a könyvtár, ahol a Webhelyenkénti virtuális házigazdák tárolhatók. Az Apache csak akkor használja a könyvtárban található konfigurációs fájlokat, ha azok asites-enabled
könyvtárhoz kapcsolódnak., Általában az összes szerverblokk-konfiguráció ebben a könyvtárban történik, majd engedélyezve van aa2ensite
paranccsal a másik könyvtárhoz való kapcsolással. -
/etc/apache2/sites-enabled/
: az a könyvtár, ahol engedélyezve van a Webhelyenkénti virtuális gazdagépek tárolása. Ezeket általában asites-available
könyvtárban található konfigurációs fájlokhoz való kapcsolással hozza létre aa2ensite
. Az Apache elolvassa az ebben a könyvtárban található konfigurációs fájlokat és linkeket, amikor elindítja vagy újratölti a teljes konfiguráció összeállítását., -
/etc/apache2/conf-available/
,/etc/apache2/conf-enabled/
: ezeknek a könyvtáraknak ugyanaz a kapcsolata van, mint asites-available
éssites-enabled
könyvtáraknak, de olyan konfigurációs töredékek tárolására használják, amelyek nem tartoznak egy virtuális gazdagéphez. Aconf-available
könyvtárban található fájlok aa2enconf
paranccsal engedélyezhetők és aa2disconf
paranccsal letilthatók. -
/etc/apache2/mods-available/
,/etc/apache2/mods-enabled/
: ezek a könyvtárak tartalmazzák a rendelkezésre álló és engedélyezett modulokat., A.load
– ban végződő fájlok töredékeket tartalmaznak bizonyos modulok betöltéséhez, míg a.conf
– ban végződő fájlok tartalmazzák a modulok konfigurációját. A modulokat aa2enmod
ésa2dismod
parancs segítségével lehet engedélyezni és letiltani.
szervernaplók
-
/var/log/apache2/access.log
: alapértelmezés szerint a webszerverhez intézett minden kérést rögzítenek ebben a naplófájlban, kivéve, ha az Apache másként van beállítva. -
/var/log/apache2/error.log
: alapértelmezés szerint minden hibát rögzítenek ebben a fájlban., ALogLevel
irányelv az Apache konfigurációban meghatározza, hogy a hibanaplók mennyi részletet tartalmaznak.
következtetés
most, hogy a webszerver telepítve van, számos lehetősége van a kiszolgált tartalom típusára, valamint a gazdagabb élmény létrehozásához használt technológiákra.
Ha egy teljesebb alkalmazáscsomagot szeretne felépíteni, olvassa el ezt a cikket az Ubuntu 20.04
LÁMPACSOMAG konfigurálásáról