Ƙirƙirar Runduna Mai Kyau ta Apache tare da Kunna/Kashe Zaɓuɓɓukan Vhosts a cikin RHEL/CentOS 7.0


Virtual Hosting yana ba Apache Weberver damar ba da abun ciki daban-daban dangane da Adireshin IP, sunan mai masauki ko lambar tashar jiragen ruwa da aka yi amfani da su. Wannan jagorar za ta yi amfani da Debiankamar hanya kan kunnawa da sarrafa Mai watsa shiri na Virtual akan Red Hat Enterprise Linux/CentOS 7.0 ta ƙirƙirar kundayen adireshi biyu akan hanyar /etc/httpd/, wanda zai kiyaye duk kunna fayilolin gidan yanar gizon da ba a kashe su - akwai-shafukan da shafukan-kunna, da nau'ikan rubutun nau'ikan guda biyu don aiki azaman umarni, ɗaya wanda ke ba da damar da sauran waɗanda ke hana ƙayyadaddun kama-da-wane. runduna - a2ensite da a2dissite. Wannan tsarin yana da wasu fa'idodi saboda kun yi rikici tare da fayil ɗin sanyi na httpd kuma kowane mai watsa shiri yana da nasa fayil ɗin daidaitawa wanda za'a iya samu akan wuri guda - runduna masu kunnawa kawai alamomi ne - waɗanda ke yin aiwatar da kunnawa, kashewa, ƙirƙira ko haɓakawa. share su sosai m.

  1. Shigar da Asalin LAMP akan RHEL/CentOS 7.0

Ƙirƙiri da Sarrafa Mai Runduna Mai Kyau na Apache a cikin RHEL/CentOS 7

1. Don farawa, fara da shigar da hanyar /etc/httpd/, ƙirƙirar rukunin yanar gizon da ake samu da rukunin kundayen adireshi sannan a gyara fayil ɗin Apache httpd.conf don amfani da sabon. wuraren yanar gizon da aka kunna.

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

2. A kan httpd.conf fayil ƙara layin umarni mai zuwa a kasan fayil ɗin, wanda zai sa Apache ya karanta kuma ya rarraba duk fayilolin da ke kan /etc/httpd/sites-enabled/ ya ƙare a cikin .conf tsawo.

IncludeOptional sites-enabled/*.conf

3. A mataki na gaba ƙirƙiri sabon Mai watsa shiri na Kaya akan Shafukan-samuwawuri ta amfani da suna mai siffantawa - a wannan yanayin na yi amfani da rheltest.lan.conf - kuma yi amfani da bin fayil azaman samfuri.

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

Yi amfani da wannan saitin azaman jagora.

<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. Idan kun canza wurin DocumentRoot akan mai masaukin ku na kama-da-wane daga tsoho /var/www/html zuwa wata hanyar tabbatar da cewa kun ƙirƙiri wannan hanyar.

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

NOTE: Har ila yau, tabbatar da cewa mai watsa shiri na ServerName ingantaccen rikodin DNS ne ko an ƙara shi zuwa fayil ɗin rundunonin injuna na gida, daga inda kuke shirin ziyartar gidan yanar gizon.

5. Yanzu lokaci ya yi da za a ƙirƙira a2ensite da a2dissite rubutun bash akan hanyar tsarin aiwatarwa - a wannan yanayin shine /usr/local/bin/ – amma
za ka iya amfani da kowace hanya da za a iya aiwatarwa wanda PATH ke fitar da canjin tsarin.

Ƙirƙiri fayil mai zuwa tare da zaɓin editan ku.

# nano /usr/local/bin/a2ensite

Ƙara rubutun mai zuwa gare shi.

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

Ƙirƙiri fayil mai zuwa tare da zaɓin editan ku.

# nano /usr/local/bin/a2dissite

Ƙara duk rubutun mai biyo baya zuwa fayil ɗin.

#!/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. Bayan an ƙirƙiri fayilolin rubutun duka biyun, tabbatar cewa za'a iya aiwatarwa kuma fara amfani da su don enable ko na kashe Virtual hosts ta hanyar sanya vhost name a matsayin umarni parameter.

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

7. Don gwada shi, ba da damar ƙwararrun ƙwararrun da aka ƙirƙira a baya, sake kunna sabis na Apache da mai binciken kai tsaye zuwa sabon runduna mai kama-da-wane - a wannan yanayin http://rheltest.lan.

# a2ensite rheltest.lan
# systemctl restart httpd

Shi ke nan! Yanzu zaku iya amfani da a2eniste da a2dissite rubutun bash azaman umarnin tsarin don sarrafa fayil ɗin Apache Vhosts akan RHEL/CentOS 7.0.