Weboldal keresés

Apache virtuális gazdagépek létrehozása a Vhost engedélyezése/letiltása opciókkal az RHEL/CentOS 7.0 rendszerben


A virtuális tárhely lehetővé teszi, hogy az Apache Weberver különböző tartalmakat szolgáltasson ki IP-cím, gazdagépnév vagy használt portszám alapján. Ez az útmutató a Debian-szerű megközelítést alkalmazza a virtuális gépek engedélyezésére és kezelésére Red Hat Enterprise Linux/CentOS 7.0 rendszeren, két könyvtár létrehozásával az /etc/httpd/ útvonalon, ami megőrzi az összes engedélyezett és letiltott webhelyfájl-konfigurációt – sites-available és sites-enabled, valamint kétféle parancsfájlt, amely parancsként működik: az egyik engedélyezi, a másik pedig letiltja a megadott virtuális gazdagépek – a2ensite és a2dissite. Ennek a megközelítésnek van néhány előnye, mivel a httpd konfigurációs fájllal kell bajlódnia, és minden virtuális gazdagépnek saját konfigurációs fájlja van, amely egyetlen helyen található – az engedélyezett gazdagépek csak szimbolikus hivatkozások –, amelyek lehetővé teszik az engedélyezést, letiltást, létrehozást vagy törlése nagyon könnyen kezelhető.

Követelmények

  1. LAMP alap telepítés RHEL/CentOS 7.0 rendszeren

Apache virtuális gazdagépek létrehozása és kezelése az RHEL/CentOS 7 rendszerben

1. Kezdésként lépjen be az /etc/httpd/ elérési útra, hozzon létre webhelyek számára elérhető és webhelyeket engedélyező könyvtárakat, és szerkessze az Apache httpd.conf fájlt b> fájlt az új engedélyezett webhelyek helyének alkalmazásához.

cd /etc/httpd/
mkdir sites-available sites-enabled
nano conf/httpd.conf

2. A httpd.conf fájlban adja hozzá a következő direktíva sort a fájl aljához, amely arra készteti az Apache-t, hogy elolvassa és elemezze a /etc/ fájlban található összes fájlt A httpd/sites-enabled/ .conf kiterjesztéssel végződött.

IncludeOptional sites-enabled/*.conf

3. A következő lépésben hozzon létre egy új virtuális gazdagépet a elérhető webhelyek helyen egy leíró név használatával – ebben az esetben a rheltest.lan.conf< címet használtam. – és használja a következő fájlt sablonként.

nano /etc/httpd/sites-available/rheltest.lan.conf

Használja ezt a konfigurációt útmutatóként.

<VirtualHost *:80>
        ServerName rheltest.lan
        DocumentRoot "/var/www/rheltest.lan"
                <Directory "/var/www/rheltest.lan">
                Options Indexes FollowSymLinks MultiViews
         # AllowOverride controls what directives may be placed in .htaccess files.      
                        AllowOverride All
        # Controls who can get stuff from this server file
                        Order allow,deny
                        Allow from all
           </Directory>
        <IfModule mpm_peruser_module>
                ServerEnvironment apache apache
        </IfModule>
        ErrorLog  /var/log/httpd/rheltest.lan-error.log
        CustomLog /var/log/httpd/rheltest.lan-access.log combined
</VirtualHost>

4. Ha megváltoztatta a virtuális gazdagépen a DocumentRoot helyét az alapértelmezett /var/www/html értékről egy másik elérési útra, győződjön meg róla, hogy ezt az elérési utat is létrehozta. .

mkdir -p /var/www/rheltest.lan

MEGJEGYZÉS: Győződjön meg arról is, hogy a ServerName gazdagép egy érvényes DNS-rekord, vagy hozzáadásra került a helyi gépek gazdagépfájljához, ahonnan a webhely meglátogatását tervezi.

5. Most itt az ideje létrehozni az a2ensite és az a2dissite bash szkripteket a végrehajtható rendszer elérési útján – ebben az esetben a /usr/local /bin/ – de
bármilyen végrehajtható elérési utat használhat, amely a ` PATH rendszerváltozót adja ki.

Hozzon létre a2ensite szkriptet

Hozzon létre egy következő fájlt a választott szerkesztővel.

nano /usr/local/bin/a2ensite

Adja hozzá a következő szkriptet.

#!/bin/bash
if test -d /etc/httpd/sites-available && test -d /etc/httpd/sites-enabled  ; then
echo "-----------------------------------------------"
else
mkdir /etc/httpd/sites-available
mkdir /etc/httpd/sites-enabled
fi

avail=/etc/httpd/sites-available/$1.conf
enabled=/etc/httpd/sites-enabled/
site=`ls /etc/httpd/sites-available/`

if [ "$#" != "1" ]; then
                echo "Use script: a2ensite virtual_site"
                echo -e "\nAvailable virtual hosts:\n$site"
                exit 0
else

if test -e $avail; then
sudo ln -s $avail $enabled
else

echo -e "$avail virtual host does not exist! Please create one!\n$site"
exit 0
fi
if test -e $enabled/$1.conf; then

echo "Success!! Now restart Apache server: sudo systemctl restart httpd"
else
echo  -e "Virtual host $avail does not exist!\nPlease see available virtual hosts:\n$site"
exit 0
fi
fi

Hozzon létre a2dissite szkriptet

Hozzon létre egy következő fájlt a választott szerkesztővel.

nano /usr/local/bin/a2dissite

Adja hozzá a teljes következő szkriptet a fájlhoz.

#!/bin/bash
avail=/etc/httpd/sites-enabled/$1.conf
enabled=/etc/httpd/sites-enabled
site=`ls /etc/httpd/sites-enabled/`

if [ "$#" != "1" ]; then
                echo "Use script: a2dissite virtual_site"
                echo -e "\nAvailable virtual hosts: \n$site"
                exit 0
else

if test -e $avail; then
sudo rm  $avail
else
echo -e "$avail virtual host does not exist! Exiting!"
exit 0
fi

if test -e $enabled/$1.conf; then
echo "Error!! Could not remove $avail virtual host!"
else
echo  -e "Success! $avail has been removed!\nPlease restart Apache: sudo systemctl restart httpd"
exit 0
fi
fi

6. Miután mindkét szkriptfájl létrejött, győződjön meg arról, hogy végrehajtható, és kezdje el használni őket a virtuális gazdagépek engedélyezésére vagy letiltására a vhost név hozzáfűzésével parancsparaméterként.

chmod +x /usr/local/bin/a2*
a2ensite vhost_name
a2disite vhost_name

7. A teszteléshez engedélyezze a korábban létrehozott virtuális gazdagépet, indítsa újra az Apache szolgáltatást, és irányítsa a böngészőt az új virtuális gazdagépre – jelen esetben a http://rheltest.lan címre.

a2ensite rheltest.lan
systemctl restart httpd

Ez az! Mostantól használhatja az a2eniste és a2dissite bash szkripteket rendszerparancsként az Apache Vhosts fájl kezelésére az RHEL/CentOS 7.0 rendszeren.