Configurando um apache multi-domínio com servidores de nomes, mas cada requisição é manipulada pela configuração padrão [closed]

2

Eu já tinha resolvido isso antes, mas agora eu tive que limpar meu VPS e aparentemente não consigo mais configurar as coisas corretamente, então ...

Eu configurei um VPS do Debian e instalei o Virtualmin nele Eu comprei um domínio de teste para usar com esse VPS e apontei seu DNS principal para o meu IP VPS Eu usei o Virtualmin para criar um servidor virtual para o domínio raiz, digamos exemplo.org, mas sempre que eu abria a URL eu pegava a página virtualhost padrão Eu continuei a excluir o VH padrão (não o padrão REAL, apenas aquele que o Virtualmin criou) e ainda sou apontado para / var / www em vez de / home / example / public_html Ignorando isso, eu tentei criar um subdomínio esperando que pelo menos esse apontasse para o directoy correto, mas nada funcionou (eu criei o DNS CNAME * .example.org também, todos apontando para example.org, está correto ?)

Aqui está o arquivo VH que o Virtualmin criou:

<VirtualHost 127.0.0.2:80>
SuexecUserGroup "#1001" "#1001"
ServerName example.org
ServerAlias www.example.org
ServerAlias webmail.example.org
ServerAlias admin.example.org
DocumentRoot /home/example/public_html
ErrorLog /var/log/virtualmin/example.org_error_log
CustomLog /var/log/virtualmin/example.org_access_log combined
ScriptAlias /cgi-bin/ /home/example/cgi-bin/
DirectoryIndex index.html index.htm index.php index.php4 index.php5

<Directory /home/example/public_html>
  Options -Indexes +IncludesNOEXEC +SymLinksIfOwnerMatch +ExecCGI
  allow from all
  AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
  AddType application/x-httpd-php .php
  AddHandler fcgid-script .php
  AddHandler fcgid-script .php5
  FCGIWrapper /home/example/fcgi-bin/php5.fcgi .php
  FCGIWrapper /home/example/fcgi-bin/php5.fcgi .php5
</Directory>

<Directory /home/example/cgi-bin>
  allow from all
  AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
</Directory>

RewriteEngine on
RewriteCond %{HTTP_HOST} =webmail.example.org
RewriteRule ^(.*) https://example.org:20000/ [R]
RewriteCond %{HTTP_HOST} =admin.example.org
RewriteRule ^(.*) https://example.org:10000/ [R]

RemoveHandler .php
RemoveHandler .php5
php_admin_value engine Off
IPCCommTimeout 31
FcgidMaxRequestLen 1073741824
Alias /pipermail /var/lib/mailman/archives/public
RedirectMatch /cgi-bin/mailman/([^/\.]*)(.cgi)?(.*) https://example.org:10000/virtualmin-mailman/unauthenticated/$1.cgi$3
RedirectMatch /mailman/([^/\.]*)(.cgi)?(.*) https://example.org:10000/virtualmin-mailman/unauthenticated/$1.cgi$3
</VirtualHost>

Aproximadamente, a configuração default-ss.conf é usada para qualquer tipo de requisição, mas não consigo entender por que, já que ela começa com "VirtualHost default : 443" e estou solicitando na porta padrão 80

    
por Mdk 29.01.2015 / 12:41

2 respostas

4

Encontrei o problema, caso alguém mais acabe com um cenário semelhante:

<VirtualHost 127.0.0.2:80>

Eu tive que mudar isso para o IP do servidor porque, por algum motivo, o Virtualmin não o pegou sozinho durante o processo de configuração

    
por 29.01.2015 / 12:56
1

Como você identificou na sua resposta, o problema era que você estava configurando o host virtual para ouvir IP 127.0.0.2 , que seus visitantes não estavam usando (eles estavam usando o IP público do servidor).

Você o alterou para o IP público do servidor para que funcione agora, mas ele deixará de funcionar no dia em que seu IP for alterado (você migra para um novo servidor, seu host é migrado para outra zona em uma rede diferente isso para um novo servidor, etc.)

Uma solução melhor para um host virtual baseado em nome é definir nenhum IP e usar um caractere curinga:

<VirtualHost *:80>
    
por 29.01.2015 / 14:37