„Apache“ virtualių kompiuterių kūrimas naudojant „RHEL/CentOS 7.0“ įgalinant/išjungiant „Vhosts“ parinktis


Virtuali priegloba leidžia „Apache Weberver“ teikti skirtingą turinį pagal IP adresą, pagrindinio kompiuterio pavadinimą ar naudojamą prievado numerį. Šiame vadove bus naudojamas į „Debian panašus metodas įgalinant ir valdant„ Red Hat Enterprise Linux/CentOS 7.0 “virtualiuosius kompiuterius sukuriant du katalogus /etc/httpd/ kelyje, kurie palikti visas įgalintas ir išjungtas svetainės failų konfigūracijas - svetaines galima ir įgalintas svetaines ir dviejų tipų scenarijus, kurie veikia kaip komandos, vienas įgalinantis ir kitas išjungiantis nurodytas virtualias pagrindiniai kompiuteriai - a2ensite ir a2dissite . Šis metodas turi tam tikrų pranašumų, nes jūs turėjote susipainioti su „httpd“ konfigūracijos failu ir kiekvienas virtualus pagrindinis kompiuteris turi savo konfigūracijos failą, kurį galima rasti vienoje vietoje - įgalinti pagrindiniai kompiuteriai yra tik nuorodos, dėl kurių įgalinimo, išjungimo, sukūrimo ar paleidimo procesas vyksta. juos labai lengvai ištrinant.

  1. Pagrindinis „LAMP“ diegimas „RHEL/CentOS 7.0“

Kurkite ir tvarkykite „Apache“ virtualiuosius kompiuterius „RHEL/CentOS 7“

1. Norėdami pradėti, pirmiausia įveskite /etc/httpd/ kelią, sukurkite svetainėse galimus ir svetaines įgalinančius katalogus ir redaguokite „Apache“ httpd.conf failą, kad pritaikytumėte naują įgalinta svetainių vieta.

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

2. Faile httpd.conf pridėkite šią eilutę failo apačioje, kuri leis „Apache“ skaityti ir analizuoti visus failus, esančius /etc/httpd/sites-enabled/ baigėsi plėtiniu .conf .

IncludeOptional sites-enabled/*.conf

3. Atlikdami kitą veiksmą, sukurkite naują virtualųjį pagrindinį kompiuterį prieinamose svetainėse vietoje naudodami aprašomąjį pavadinimą - šiuo atveju aš naudojau rheltest.lan.conf ir naudokite sekantį failą kaip šabloną.

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

Naudokite šią konfigūraciją kaip vadovą.

<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. Jei pakeisite DocumentRoot vietą virtualioje priegloboje iš numatytojo /var/www/html į kitą kelią, būtinai sukurkite šį kelią.

# mkdir -p /var/www/rheltest.lan

PASTABA: Taip pat įsitikinkite, kad „ServerName“ kompiuteris yra galiojantis DNS įrašas arba jis yra pridėtas prie vietinių mašinų pagrindinio kompiuterio failo, iš kurio ketinate apsilankyti svetainėje.

5. Dabar atėjo laikas sukurti vykdomuosius sistemos kelius a2ensite ir a2dissite bash scenarijus - šiuo atveju yra /usr/local/bin/- bet
galite naudoti bet kurį vykdomąjį kelią, kurį pateikia $PATH sistemos kintamasis.

Sukurkite šį failą pasirinkdami redaktorių.

# nano /usr/local/bin/a2ensite

Pridėkite šį scenarijų prie jo.

#!/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

Sukurkite šį failą pasirinkdami redaktorių.

# nano /usr/local/bin/a2dissite

Į failą pridėkite visą šį scenarijų.

#!/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. Sukūrę abu scenarijaus failus, įsitikinkite, kad jie yra vykdomi, ir pradėkite juos naudoti, norėdami įgalinti arba išjungti virtualiuosius pagrindinius kompiuterius, pridedant „vhost“ pavadinimą kaip komandos parametrą.

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

7. Norėdami tai išbandyti, įjunkite anksčiau sukurtą virtualųjį pagrindinį kompiuterį, iš naujo paleiskite „Apache“ paslaugą ir nukreipkite naršyklę į naują virtualųjį pagrindinį kompiuterį - šiuo atveju http://rheltest.lan .

# a2ensite rheltest.lan
# systemctl restart httpd

Viskas! Dabar galite naudoti a2eniste ir a2dissite bash scenarijus kaip sistemos komandas tvarkyti „Apache Vhosts“ failą naudojant RHEL/CentOS 7.0.