Að búa til Apache sýndargestgjafa með virkja/slökkva á Vhosts valkostum í RHEL/CentOS 7.0
Virtual Hosting gerir Apache Weberver kleift að þjóna mismunandi efni byggt á IP tölu, hýsingarheiti eða notaðu gáttarnúmeri. Þessi handbók mun nota Debian svipaða nálgun við að virkja og stjórna sýndarhýsingum á Red Hat Enterprise Linux/CentOS 7.0 með því að búa til tvær möppur á /etc/httpd/ slóðinni, sem mun Haltu öllum virkum og óvirkum vefsíðuskráastillingum – sites-available og sites-enabled, og tvenns konar forskriftum til að virka sem skipanir, ein sem virkjar og önnur sem slekkur á tilgreindum sýndarforritum vélar – a2ensite og a2dissite. Þessi nálgun hefur nokkra kosti vegna þess að þú hefur þurft að skipta þér af httpd stillingarskránni og sérhver sýndargestgjafi hefur sína eigin stillingarskrá sem er að finna á einum stað - virkir gestgjafar eru bara samtengingar - sem gera ferlið við að virkja, slökkva, búa til eða eyða þeim mjög viðráðanlegt.
- LAMP Basic Uppsetning á RHEL/CentOS 7.0
Búðu til og stjórnaðu Apache sýndarhýsingum í RHEL/CentOS 7
1. Til að byrja, byrjaðu á því að slá inn /etc/httpd/ slóð, búðu til möppur sem eru tiltækar og virkar fyrir vefsvæði og breyttu Apache httpd.conf skránni til að nota nýju staðsetning vefsvæða virkt.
# cd /etc/httpd/ # mkdir sites-available sites-enabled # nano conf/httpd.conf
2. Á httpd.conf skrá bætið við eftirfarandi leiðbeiningarlínu neðst í skránni, sem mun láta Apache lesa og flokka allar skrár sem staðsettar eru á /etc/httpd/sites-enabled/ endaði á .conf endingunni.
IncludeOptional sites-enabled/*.conf
3. Í næsta skrefi skaltu búa til nýjan sýndargestgjafa á aðgengilegum síðum staðsetningu með því að nota lýsandi nafn – í þessu tilfelli hef ég notað rheltest.lan.conf – og notaðu eftirfarandi skrá sem sniðmát.
# nano /etc/httpd/sites-available/rheltest.lan.conf
Notaðu þessa stillingu sem leiðbeiningar.
<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. Ef þú breyttir DocumentRoot staðsetningu á sýndarhýslinum þínum úr sjálfgefna /var/www/html í aðra slóð, vertu viss um að þú býrð líka til þessa slóð.
# mkdir -p /var/www/rheltest.lan
ATHUGIÐ: Gakktu úr skugga um að ServerName gestgjafi sé gild DNS skrá eða sé bætt við vélarskrána þína á staðnum, þaðan sem þú ætlar að heimsækja vefsíðuna.
5. Nú er kominn tími til að búa til a2ensite og a2dissite bash forskriftir á keyranlega kerfisslóð – í þessu tilfelli er /usr/local/bin/ – en
þú getur notað hvaða keyrsluslóð sem er sem PATH kerfisbreytu gefur út.
Búðu til eftirfarandi skrá með vali ritstjóra.
# nano /usr/local/bin/a2ensite
Bættu eftirfarandi handriti við það.
#!/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
Búðu til eftirfarandi skrá með vali ritstjóra.
# nano /usr/local/bin/a2dissite
Bættu öllu eftirfarandi handriti við skrána.
#!/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. Eftir að báðar skriftuskrárnar hafa verið búnar til skaltu ganga úr skugga um að þær séu keyranlegar og byrja að nota þær til að virkja eða slökkva á sýndarhýslum með því að bæta vhost nafni við sem skipunarfæribreytu.
# chmod +x /usr/local/bin/a2* # a2ensite vhost_name # a2disite vhost_name
7. Til að prófa það, virkjaðu sýndarhýsilinn sem var búinn til áður, endurræstu Apache þjónustuna og beindu vafrann að nýja sýndarhýslinum – í þessu tilviki http://rheltest.lan.
# a2ensite rheltest.lan # systemctl restart httpd
Það er það! Nú geturðu notað a2eniste og a2dissite bash forskriftir sem kerfisskipanir til að stjórna Apache Vhosts skrá á RHEL/CentOS 7.0.