Apache virtuālo saimnieku izveide, izmantojot iespējot/atspējot Vhosts opcijas RHEL/CentOS 7.0
Virtuālais mitināšana ļauj Apache Weberver apkalpot atšķirīgu saturu, pamatojoties uz IP adresi, resursdatora nosaukumu vai izmantoto porta numuru. Šajā rokasgrāmatā tiks izmantota Debian veida pieeja virtuālo saimnieku iespējošanai un pārvaldībai Red Hat Enterprise Linux/CentOS 7.0, izveidojot divus direktorijus ceļā /etc/httpd/, saglabāt visas iespējotās un atspējotās vietņu failu konfigurācijas - vietnes ir pieejamas un vietnēm iespējotas , kā arī divu veidu skripti, kas darbojas kā komandas - viens, kas iespējo un cits, kas atspējo norādīto virtuālo resursdatori - a2ensite un a2dissite . Šai pieejai ir dažas priekšrocības, jo jums patiešām ir jājaucas ar httpd konfigurācijas failu, un katram virtuālajam resursdatoram ir savs konfigurācijas fails, kuru var atrast vienā vietā - iespējotie resursdatori ir tikai saites - kas ļauj iespējot, atspējot, izveidot vai izveidot procesu. izdzēšot tos ļoti viegli.
- LAMP pamata instalēšana RHEL/CentOS 7.0 versijā
Izveidojiet un pārvaldiet Apache virtuālos resursdatorus RHEL/CentOS 7
1. Vispirms sāciet ievadot ceļu /etc/httpd/, izveidojiet vietnēs pieejamus un vietnēm iespējotus direktorijus un rediģējiet Apache httpd.conf failu, lai lietotu jauno iespējota vietņu atrašanās vieta.
# cd /etc/httpd/ # mkdir sites-available sites-enabled # nano conf/httpd.conf
2. Failā httpd.conf pievienojiet šādu direktīvas rindiņu faila apakšdaļā, kas liks Apache lasīt un parsēt visus failus, kas atrodas /etc/httpd/sites-enabled/ beidzās ar paplašinājumu .conf .
IncludeOptional sites-enabled/*.conf
3. Nākamajā solī izveidojiet jaunu virtuālo resursdatoru vietnē pieejamās vietnes , izmantojot aprakstošu nosaukumu - šajā gadījumā es izmantoju vietni rheltest.lan.conf un izmantojiet sekojošais fails kā veidne.
# nano /etc/httpd/sites-available/rheltest.lan.conf
Izmantojiet šo konfigurāciju kā ceļvedi.
<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. Ja mainījāt DocumentRoot atrašanās vietu virtuālajā resursdatorā no noklusējuma /var/www/html uz citu ceļu, noteikti izveidojiet arī šo ceļu.
# mkdir -p /var/www/rheltest.lan
PIEZĪME. Pārliecinieties arī, ka ServerName resursdators ir derīgs DNS ieraksts vai ir pievienots vietējo mašīnu resursdatora failam, no kura jūs plānojat apmeklēt vietni.
5. Tagad ir laiks izveidot izpildāmās sistēmas ceļā a2ensite un a2dissite bash skriptus - šajā gadījumā tas ir /usr/local/bin/- bet
varat izmantot jebkuru izpildāmo ceļu, kuru izvada $PATH sistēmas mainīgais.
Izveidojiet šādu failu ar redaktora izvēli.
# nano /usr/local/bin/a2ensite
Pievienojiet tam šādu skriptu.
#!/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
Izveidojiet šādu failu ar redaktora izvēli.
# nano /usr/local/bin/a2dissite
Pievienojiet failam visu šo skriptu.
#!/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. Kad abi skripta faili ir izveidoti, pārliecinieties, vai tie ir izpildāmi, un sāciet tos izmantot, lai iespējotu vai atspējotu virtuālos resursdatorus, pievienojot vhost nosaukumu kā komandas parametru.
# chmod +x /usr/local/bin/a2* # a2ensite vhost_name # a2disite vhost_name
7. Lai to pārbaudītu, iespējojiet iepriekš izveidoto virtuālo resursdatoru, restartējiet Apache pakalpojumu un novirziet pārlūku uz jauno virtuālo resursdatoru - šajā gadījumā http://rheltest.lan .
# a2ensite rheltest.lan # systemctl restart httpd
Tieši tā! Tagad jūs varat izmantot a2eniste un a2dissite bash skriptus kā sistēmas komandas, lai pārvaldītu Apache Vhosts failu RHEL/CentOS 7.0.