Configuração do servidor virtual Apache para http e https

1

Eu sei que isso foi perguntado algumas vezes antes, mas mesmo depois de ler as respostas algumas vezes eu ainda não consigo "entender".

Eu tenho um servidor rodando o Apache2 e eu quero ser capaz de servir dois sites a partir dele: gitorious.myserver.com e redmine.myserver.com. Gitorioso precisa de http e https (Redmine está feliz com apenas http).

Estou totalmente confuso sobre o que colocar e onde. Eu tentei editar conf.d / redmine.conf, conf.d / gitorious.conf, httpd.conf, sites-disponíveis / gitorious e sites-available / gitorious-ssl e eu tenho que admitir que tudo isso é bastante confuso. Eu consigo fazer algumas coisas funcionarem (por exemplo, http, mas não https), mas não tudo ao mesmo tempo. Eu não consigo descobrir a diferença entre esses arquivos também.

E eu preciso fazer algo especial para coisas que eu quero estar em um sub-uri www.myserver.com ( link ou link por exemplo)? Ou apenas crie um servidor virtual para esse endereço tão bem quanto para os outros (é assim que eu entendo).

link

NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost 192.16.160.65:443>
ServerAdmin poutmar@localhost
DocumentRoot /var/www/gitorious/public
<Directory /var/www/gitorious/public>
        Allow from all
        Options -MultiViews FollowSymLinks
</Directory>
SSLEngine on
SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
</VirtualHost>

<VirtualHost *:80>
ServerName gitorious.myserver.com
DocumentRoot /var/www/gitorious/public
<Directory /var/www/gitorious/public>
        Allow from all
        Options FollowSymLinks
</Directory>
</VirtualHost>

<VirtualHost *:80>
ServerName redmine.myserver.com
DocumentRoot /var/www/redmine/public
<Directory /var/www/redmine/public>
        Allow from all
        Options -MultiViews FollowSymLinks
</Directory>
</VirtualHost>

<VirtualHost *:80>
ServerName www.myserver.com
DocumentRoot /var/www
<Directory /var/www/>
        Allow from all
        Options FollowSymLinks
</Directory>
</VirtualHost>

<VirtualHost *:443>
ServerName www.myserver.com
DocumentRoot /var/www
<Directory /var/www>
        Allow from all
        Options FollowSymLinks
</Directory>
SSLEngine on
SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
</VirtualHost>

ports.conf:

Listen 80

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

Eu não entendo o comentário no ports.conf.

    
por Marko Poutiainen 19.07.2010 / 13:42

1 resposta

2

Para a configuração descrita, você precisará:

  • Um VirtualHost baseado em IP em *:443 para gitorious.example.com com < a href="http://httpd.apache.org/docs/2.2/ssl/ssl_howto.html"> suporte SSL / TLS
  • Um VirtualHost baseado em nome em *:80 para gitorious.example.com:
  • Um VirtualHost baseado em nome em *:80 para redmine.example.com
  • Um VirtualHost baseado em nome em *:80 para example.com e www.example.com (ou, como alternativa, apenas *.example.com ).

Para outros aplicativos da Web (como o phpMyAdmin mencionado), você pode usar apenas Alias es em www.example.com .

    
por 19.07.2010 / 14:11