Ịmepụta ndị ọbịa Apache mebere ya na Kwado/ gbanyụọ nhọrọ Vhosts na RHEL/CentOS 7.0


Virtual Bochum na-enye Apache Weberver ohere ịnye ọdịnaya dị iche iche dabere na adreesị IP, aha nnabata ma ọ bụ nọmba ọdụ ụgbọ mmiri ejiri. Ntuziaka a ga-eji Debian dị ka ụzọ na-enyere na ijikwa Virtual Hosts on Red Hat Enterprise Linux/CentOS 7.0 site na ịmepụta akwụkwọ ndekọ aha abụọ na /etc/httpd/ụzọ, nke ga- dobe nhazi faịlụ webụsaịtị niile enyere na nkwarụ - saịtị dị na saịtị-enyere, yana ụdị edemede abụọ ka ọ rụọ ọrụ dị ka iwu, nke na-enye aka na nke ọzọ na-egbochi mebere akọwapụtara. ndị ọbịa – a2ensite na a2dissite. Ụzọ a nwere uru ụfọdụ n'ihi na ị mere na ị ga-emejọ na faịlụ nhazi httpd na onye ọ bụla mebere ya nwere faịlụ nhazi nke ya nke enwere ike ịchọta n'otu ebe - ndị na-enyere aka bụ nanị symlinks - nke na-eme usoro nke inye, gbanyụọ, ịmepụta ma ọ bụ ihichapụ ha nke ukwuu jikwaa.

  1. Nwụnye LAMP Basic na RHEL/CentOS 7.0

Mepụta ma jikwaa ndị ọbịa Apache Virtual na RHEL/CentOS 7

1. Iji malite, malite site na ịbanye na /etc/httpd/ ụzọ, mepụta saịtị-dị na saịtị na-enyere akwụkwọ ndekọ aha na dezie Apache httpd.conf faịlụ iji tinye ọhụrụ. ebe nrụọrụ weebụ enyere aka.

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

2. Na faịlụ httpd.conf tinye akara ntuziaka ndị a na ala nke faịlụ ahụ, nke ga-eme ka Apache gụọ wee tụgharịa faịlụ niile dị na /etc/httpd/sites-enabled/ kwụsịrị na ndọtị .conf.

IncludeOptional sites-enabled/*.conf

3. Na nzọụkwụ ọzọ mepụta ọhụrụ Virtual Host na saịtị-dị ebe site na iji aha nkọwa - na nke a, ejiri m rheltest.lan.conf - wee jiri ya. na-eso faịlụ dị ka template.

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

Jiri nhazi a dịka ntuziaka.

<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. Ọ bụrụ na ị gbanwee ọnọdụ DocumentRoot na onye nnabata gị site na ndabara /var/www/html gaa n'ụzọ ọzọ hụ na ị mekwara ụzọ a.

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

IHE: Nakwa mesie na ServerName ọbịa bụ nti DNS ndekọ ma ọ bụ na-agbakwunyere gị obodo igwe ụsụụ ndị agha faịlụ, si ebe ị na-eme atụmatụ ịga na webụsaịtị.

5. Ugbu a, ọ bụ oge ịmepụta a2ensite na a2dissite bash scripts na a executable usoro ụzọ – na nke a bụ /usr/local/bin/ – ma
ị nwere ike iji ụzọ ọ bụla nwere ike ime nke PATH na-ewepụta usoro agbanwe agbanwe.

Mepụta faịlụ na-esonụ site na nhọrọ nchịkọta akụkọ gị.

# nano /usr/local/bin/a2ensite

Tinye ihe odide a na ya.

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

Mepụta faịlụ na-esonụ site na nhọrọ nchịkọta akụkọ gị.

# nano /usr/local/bin/a2dissite

Tinye dum script na-esonụ na faịlụ.

#!/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. Mgbe emechara faịlụ script abụọ ahụ, jide n'aka na ha nwere ike ịrụ ọrụ wee malite iji ha mee enablema ọ bụ gbanyụọ virtual hosts site na itinye aha vhost dị ka iwu parameter.

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

7. Iji nwalee ya, mee ka virtual host emebere na mbụ, malitegharịa ọrụ Apache na ihe nchọgharị ozugbo gaa na onye ọbịa ọhụrụ - na nke a http://rheltest.lan.

# a2ensite rheltest.lan
# systemctl restart httpd

Ọ bụ ya! Ugbu a ị nwere ike iji a2eniste na a2dissite scripts bash dị ka iwu sistemu iji jikwaa faịlụ Apache Vhosts na RHEL/CentOS 7.0.