RHEL/CentOS 7.0-de Whost opsiýalaryny açmak/öçürmek bilen Apache wirtual hostlaryny döretmek


Wirtual Hosting Apache Weberver-a IP adresi, host ady ýa-da ulanylýan port belgisi esasynda dürli mazmuna hyzmat etmäge mümkinçilik berýär. Bu gollanma, /etc/httpd/ ýolunda iki katalog döretmek arkaly Red Hat Enterprise Linux/CentOS 7.0-da wirtual hostlary işletmek we dolandyrmak ýaly Debian çemeleşmesini ulanar. ähli açyk we ýapyk web sahypasynyň faýl konfigurasiýalaryny saklaň - saýtlar elýeterli we saýtlar bilen işledilen we buýruk hökmünde hereket etmek üçin iki görnüşli skript, biri açyk wirtual mümkinçilik berýän we beýlekisi ýer eýeleri - a2ensit we a2dissite . Bu çemeleşmäniň käbir artykmaçlyklary bar, sebäbi httpd konfigurasiýa faýly bilen bulaşdyrmaly bolduňyz we her wirtual hostyň öz konfigurasiýa faýly bar, ony bir ýerde tapyp bolýar - mümkinçilik berýän öý eýeleri diňe baglanyşyklardyr - bu mümkinçilikleri açmak, öçürmek, döretmek ýa-da olary gaty dolandyryp bolýar.

  1. RHEL/CentOS 7.0-de LAMP esasy gurnama

RHEL/CentOS 7-de Apache wirtual hostlaryny dörediň we dolandyryň

1. Başlamak üçin, /etc/httpd/ ýoluna girip başlaň, saýtlarda elýeterli we saýtlar bilen işleýän kataloglary dörediň we täze ulanmak üçin Apache httpd.conf faýly redaktirläň. web sahypalarynyň ýerleşýän ýerini açdy.

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

2. httpd./b> .conf giňeltmesi bilen tamamlandy.

IncludeOptional sites-enabled/*.conf

3. Indiki ädimde, düşündirişli at ulanyp, saýtlarda elýeterli ýerinde täze Wirtual Host dörediň - bu ýagdaýda men rheltest.lan.conf ulandym we ulanyň aşakdaky faýl şablon hökmünde.

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

Bu konfigurasiýany gollanma hökmünde ulanyň.

<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. Wirtual öý eýesiňizdäki DocumentRoot ýerleşişini deslapky /var/www/html -den başga ýola üýtgeden bolsaňyz, bu ýoly hem döredýändigiňize göz ýetiriň.

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

BELLIK: Şeýle hem, ServerName öý eýesiniň dogry DNS ýazgydygyna ýa-da web sahypasyna girmegi meýilleşdirýän ýeriňizden ýerli maşynlaryň host faýlyna goşulandygyna göz ýetiriň.

5. Indi ýerine ýetirip boljak ulgam ýolunda a2ensite we a2dissite baş skriptlerini döretmegiň wagty geldi - bu ýagdaýda /usr/local/bin/- ýöne
PATH ulgam üýtgeýän netijelerini ýerine ýetirip boljak islendik ýoly ulanyp bilersiňiz.

Redaktoryňyzy saýlap, aşakdaky faýl dörediň.

# nano /usr/local/bin/a2ensite

Oňa aşakdaky skript goşuň.

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

Redaktoryňyzy saýlap, aşakdaky faýl dörediň.

# nano /usr/local/bin/a2dissite

Aşakdaky skriptleriň hemmesini faýla goşuň.

#!/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. Iki skript faýly döredilenden soň, ýerine ýetirip boljakdygyna göz ýetiriň we buýruk parametri hökmünde vhost adyny goşup, işletmek ýa-da wirtual hostlary öçürmek üçin ulanyp başlaň.

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

7. Synag üçin öň döredilen wirtual hosty işlediň, Apache hyzmatyny täzeden açyň we brauzeri täze wirtual hosta gönükdiriň - bu ýagdaýda http://rheltest.lan .

# a2ensite rheltest.lan
# systemctl restart httpd

Bu! Indi RHEL/CentOS 7.0-de Apache Vhosts faýlyny dolandyrmak üçin ulgam buýruklary hökmünde a2eniste we a2dissite baş skriptlerini ulanyp bilersiňiz.


Rightshli hukuklar goralandyr. © Linux-Console.net • 2019-2024