Virtual Host permite ao administrador utilizar um servidor para hospedar múltiplos sites e domínios a partir de uma simples interface ou IP, através da utilização do mecanismo de correspondência. Isto é relevante para quem quer hospedar mais de um site em um único VPS (Virtual Private Server).
Cada domínio que esteja configurado irá direcionar o visitante para um diretório específico que mantém as informações daquele site, nunca indicando que o mesmo servidor também é responsável por outros sites. Este esquema é expansível sem qualquer limite de software desde que seu servidor possa suportar a carga.
Passos
1. Instalando o Apache:
# yum -y install httpd
2. Criando as pastas:
# mkdir -p /var/www/osias1.com/public_html
# mkdir -p /var/www/osias2.com/public_html
# mkdir -p /var/www/osias3.com/public_html
3. Ajustando as permissões nas pastas:
# chown -R apache:apache /var/www/osias1.com
# chown -R apache:apache /var/www/osias2.com
# chown -R apache:apache /var/www/osias3.com
4. Criando as pastas do Virtual Host:
# mkdir /etc/httpd/sites-available
# mkdir /etc/httpd/sites-enabled
5. Editando o arquivo "httpd.conf":
# vim /etc/httpd/conf/httpd.conf
Insira na última linha:
IncludeOptional sites-enabled/*.conf
6. Criando o Virtual Host:
# vim /etc/httpd/sites-available/osias1.com.conf
<VirtualHost *:80>
ServerName www.osias1.com
ServerAlias osias1.com
DocumentRoot /var/www/osias1.com/public_html
</VirtualHost>
# vim /etc/httpd/sites-available/osias2.com.conf
<VirtualHost *:80>
ServerName www.osias2.com
ServerAlias osias3.com
DocumentRoot /var/www/osias2.com/public_html
</VirtualHost>
# vim /etc/httpd/sites-available/osias3.com.conf
<VirtualHost *:80>
ServerName www.osias3.com
ServerAlias osias3.com
DocumentRoot /var/www/osias3.com/public_html
</VirtualHost>
7. Criando os "index.html":
# vim /var/www/osias1.com/public_html/index.html
<h1>osias1</h1>
# vim /var/www/osias2.com/public_html/index.html
<h1>osias2</h1>
# vim /var/www/osias3.com/public_html/index.html
<h1>osias3</h1>
8. Criando link simbólico:
# ln -s /etc/httpd/sites-available/osias1.com.conf /etc/httpd/sites-enabled/osias1.com.conf
# ln -s /etc/httpd/sites-available/osias2.com.conf /etc/httpd/sites-enabled/osias2.com.conf
# ln -s /etc/httpd/sites-available/osias3.com.conf /etc/httpd/sites-enabled/osias3.com.conf
9. Reiniciando o Apache:
# service httpd restart
Agora é só apontar os domínios no servidor de DNS, ou configure o acesso nas máquinas Windows no arquivo "C:\Windows\System32\drivers\etc\hosts" no Windows. Coloque as seguintes linhas:
Seu ip osias1.com
Seu ip osias2.com
Seu ip osias3.com
Colocando senha em pasta com o Apache:
# mkdir /var/www/osias1.com/public_html/admin
# mkdir /var/www/osias2.com/public_html/admin
# mkdir /var/www/osias3.com/public_html/admin
# htpasswd -c /var/www/osias1.com/public_html/admin/.htpasswd osias1
# htpasswd -c /var/www/osias2.com/public_html/admin/.htpasswd osias2
# htpasswd -c /var/www/osias3.com/public_html/admin/.htpasswd osias2
Edite:
# vim /etc/httpd/sites-available/osias1.com.conf
<VirtualHost *:80>
ServerName www.osias1.com
ServerAlias osias1.com
DocumentRoot /var/www/osias1/public_html
<directory "/var/www/osias1.com/public_html/admin">
AllowOverride None
Options Indexes MultiViews
Order allow,deny
Allow from all
AuthType Basic
AuthName "Acesso Restrito: "
AuthUserFile /var/www/osias1.com/public_html/admin/.htpasswd"
Require valid-user
</directory>
</VirtualHost>
# vim /etc/httpd/sites-available/osias2.com.conf
<VirtualHost *:80>
ServerName www.osias2.com
ServerAlias osias2.com
DocumentRoot /var/www/osias2/public_html
<directory "/var/www/osias2.com/public_html/admin">
AllowOverride None
Options Indexes MultiViews
Order allow,deny
Allow from all
AuthType Basic
AuthName "Acesso Restrito: "
AuthUserFile /var/www/osias2.com/public_html/admin/.htpasswd"
Require valid-user
</directory>
</VirtualHost>
# vim /etc/httpd/sites-available/osias3.com.conf
<VirtualHost *:80>
ServerName www.osias3.com
ServerAlias osias3.com
DocumentRoot /var/www/osias3/public_html
<directory "/var/www/osias3.com/public_html/admin">
AllowOverride None
Options Indexes MultiViews
Order allow,deny
Allow from all
AuthType Basic
AuthName "Acesso Restrito: "
AuthUserFile /var/www/osias3.com/public_html/admin/.htpasswd"
Require valid-user
</directory>
</VirtualHost>
Reiniciando o Apache:
# service httpd restart