Apache'i virtuaalsete hostide loomine RHEL/CentOS 7.0 Vhostsi suvandite lubamise/keelamise abil
Virtuaalne majutus võimaldab Apache Weberveril esitada erinevat sisu IP-aadressi, hostinime või kasutatud pordinumbri põhjal. Selles juhendis kasutatakse Red Hat Enterprise Linuxi/CentOS 7.0 virtuaalsete hostide lubamiseks ja haldamiseks Debiani taolist lähenemisviisi, luues teele /etc/httpd/ kaks kataloogi, mis hoia kõik lubatud ja keelatud veebisaidi failikonfiguratsioonid - saidid saadaval ja saidid lubatud ning kahte tüüpi skripte käskudena tegutsemiseks: üks lubab ja teine keelab määratud virtuaalse hostid - a2ensite ja a2dissite . Sellel lähenemisviisil on mõned eelised, sest peate tõepoolest segi ajama httpd-konfiguratsioonifailiga ja igal virtuaalsel hostil on oma konfiguratsioonifail, mille leiate ühest kohast - lubatud hostid on lihtsalt sümbolid - mis muudavad lubamise, keelamise, loomise või muutmise protsessi nende kustutamine on väga hallatav.
- LAMPi põhiinstallimine RHEL/CentOS 7.0-le
Apache virtuaalsete hostide loomine ja haldamine RHEL/CentOS 7-s
1. Alustuseks sisestage /etc/httpd/ teele, looge saitidel saadaolevad ja saite lubavad kataloogid ning redigeerige Apache httpd.conf faili uue rakenduse saamiseks lubatud veebisaitide asukoht.
# cd /etc/httpd/ # mkdir sites-available sites-enabled # nano conf/httpd.conf
2. Lisage failile httpd.conf järgmine direktiivirida, mis muudab Apache'i lugemiseks ja sõelumiseks kõik failid, mis asuvad saidil /etc/httpd/sites-enabled/ lõppes laiendiga .conf .
IncludeOptional sites-enabled/*.conf
3. Järgmise sammuna looge Virtuaalne host saidil saadaval asukohta kirjeldava nimega - antud juhul olen kasutanud rheltest.lan.conf - ja kasutage järgmine fail mallina.
# nano /etc/httpd/sites-available/rheltest.lan.conf
Kasutage seda konfiguratsiooni juhendina.
<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. Kui muutsite DocumentRoot asukoha oma virtuaalses hostis vaikimisi asukohaks /var/www/html muuks, siis looge kindlasti ka see tee.
# mkdir -p /var/www/rheltest.lan
MÄRKUS. Veenduge ka, et ServerName host on kehtiv DNS-kirje või on lisatud teie kohalike masinate hostifaili, kust kavatsete veebisaiti külastada.
5. Nüüd on aeg luua käivitatavate süsteemiteedele a2ensite ja a2dissite bash skriptid - antud juhul on /usr/local/bin/- aga
võite kasutada suvalist käivitatavat teed, mida süsteemimuutuja $PATH väljastab.
Looge valitud redaktoriga järgmine fail.
# nano /usr/local/bin/a2ensite
Lisage sellele järgmine skript.
#!/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
Looge valitud redaktoriga järgmine fail.
# nano /usr/local/bin/a2dissite
Lisage faili kogu järgmine skript.
#!/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. Pärast mõlema skriptifaili loomist veenduge, et need oleksid käivitatavad, ja hakake neid virtuaalsete hostide lubamiseks või keelamiseks lisama, lisades käsuparameetriks vhost-i nime.
# chmod +x /usr/local/bin/a2* # a2ensite vhost_name # a2disite vhost_name
7. Selle testimiseks lubage varem loodud virtuaalne host, taaskäivitage Apache-teenus ja suunake brauser uuele virtuaalsele hostile - antud juhul http://rheltest.lan .
# a2ensite rheltest.lan # systemctl restart httpd
See on kõik! Nüüd saate RHEL/CentOS 7.0 Apache Vhostsi faili haldamiseks süsteemikäsklustena kasutada a2eniste ja a2dissite bashi skripte.