Hosts virtuais do Apache

3

Estou procurando criar links no meu site como support.mydomain.com ou management.mydomain.com em vez de mydomain.com/support etc. Ouvi dizer que você pode fazer isso com os hosts virtuais do apache, mas não sei como Eu configuraria isso.

Estou no apache 2.4 e no ubuntu 16.04

    
por Harry Cameron 12.02.2017 / 21:01

1 resposta

4

A distribuição Apache2 vem com uma configuração modular muito fácil de usar .

Copie seu 000-default.conf em /etc/apache2/sites-available para um arquivo até o nome que você chamará no seu site virtual. Use o arquivo de configuração 000-default.conf como modelo.

Nesse caso, você indicou mydomain.com . Você também indicou management.mydomain.com . Você pode usar ambos para se referir ao acesso ao mesmo site. Nestas etapas, usarei mydomain.com .

Você pode usar qualquer nome para o arquivo de configuração. Usar um nome que inclua o nome que você receberá para seu host virtual facilitará o gerenciamento de seus sites se você fizer vários deles.

Execute estes passos. Numerei-os para facilitar que você indicasse qual passo, se algum, fica preso ou não entende. O $ está lá para representar o prompt do terminal onde você digita seu comando. O comando é o texto que você vê após o prompt $ .

1. $ mkdir -p /home/web/mysite/www
2. $ mkdir -p /home/web/mysite/log
3. $ cd /etc/apache2/sites-available
4. $ sudo cp 000-default.conf mydomain.conf
5. $ gksudo gedit mydomain.conf

Alterar de:

&ltVirtualHost *:80&gt
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
&lt/VirtualHost&gt

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet


Altere para:

&ltVirtualHost *:80&gt
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    ServerName mydomain.com
    ServerAlias www.mydomain.com
    ServerAlias management.mydomain.com

    ServerAdmin webmaster@localhost

    DocumentRoot /home/web/www
    &ltDirectory /home/web/ubunzeus/www&gt
        Options +FollowSymLinks +ExecCGI +Includes
        # AllowOverride All
        # New directive needed in Apache 2.4.3: 
        Require all granted
    &lt/Directory&gt
    
    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog /home/web/mydomain/log/error.log
    CustomLog /home/web/mydomain/log/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
&lt/VirtualHost&gt

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Continue com os seguintes comandos para ativar as alterações:

6. $ sudo a2ensite mydomain.conf
7. $ sudo service apache2 restart

Com essas etapas, você agora pode acessar seu novo host virtual digitando o nome que você deu no navegador da Web.

Coloque seu webcontent (seus arquivos html ) no diretório que você criou para seu host virtual. Neste exemplo, é: /home/web/www . Seu diretório da web pode ser colocado em qualquer lugar do seu sistema. Você só precisa configurar seu arquivo de configuração do host virtual com as informações.

Sempre que fizer uma alteração nos arquivos de configuração do Apache2, certifique-se de recarregá-lo para que as alterações entrem em vigor.

$ sudo service apache2 restart
    
por L. D. James 15.02.2017 / 15:02