Como criar um alias do diretório para o diretório VirtualHost no Apache?

1

Eu tenho um domínio: example.com . Há também um subdomínio, admin.example.com :

<VirtualHost *:80>
    ServerName admin.example.com
    ServerAlias admin
</VirtualHost>

Agora quero disponibilizar o painel de controle postfixadmin em admin.example.com/postfix . A configuração padrão em /etc/apache2/conf.d/postfixadmin é:

Alias /postfixadmin /usr/share/postfixadmin

Como devo mudar isso? O que eu quero é algo como:

Alias admin/postfix /usr/share/postfixadmin

Editar: sei que posso criar um link simbólico em document root, apontando para /usr/share/postfixadmin , mas estou procurando uma solução por meio da configuração do Apache.

    
por Artyom 15.06.2013 / 14:35

3 respostas

3

Existem várias maneiras de conseguir isso. Duas maneiras de pensar:

Ligação simbólica

Você pode definir uma raiz de documento para o admin VirtualHost e, em seguida, criar um link simbólico postfixadmin para /usr/share/postfixadmin . Algo como:

<VirtualHost *:80>
    ServerName admin.example.com
    ServerAlias admin
    DocumentRoot /var/www/admin

    <Directory /var/www/admin>
        Options +FollowSymLinks
    </Directory>
</VirtualHost>

Segurança de diretório

Mantendo o alias original, você pode definir alguma segurança diretory por hosts virtuais para permitir que somente o host admin virtual acesse o diretório. Algo como:

Admin VirtualHost

<VirtualHost *:80>
    ServerName admin.example.com
    ServerAlias admin

    <Directory /usr/share/postfixadmin>
        Order Deny,Allow
        Allow from All
    </Directory>
</VirtualHost>

VirtualHost principal

<VirtualHost *:80>
    ServerName example.com

    <Directory /usr/share/postfixadmin>
        Order Deny,Allow
        Deny from All
    </Directory>
</VirtualHost>
    
por 16.06.2013 / 03:14
0

Deixe a definição original do virtualhost como está e coloque um diretório dentro da raiz do documento intitulado "postfix". Coloque os arquivos postfixadmin lá. Isso será processado sob seu admin.example.com/postfix

solicitado     
por 15.06.2013 / 14:40
0

Eu sei que é uma questão antiga, mas acho que ainda é relevante. Atualmente, o Postfixadmin ainda é acessado por meio do alias Alias /postfixadmin /php/directory/of/postfixadmin . Este alias está agora localizado em /etc/apache2/conf-available/postfixadmin.conf . Não é um simlink - é um alias na configuração do apache. Com essa abordagem, você pode acessar o postfixadmin com o caminho da URL /postfixadmin em quaisquer hosts virtuais em seu servidor. O mesmo acontece com o phpmyadmin ou com qualquer outro aplicativo que use essa abordagem Alias. Portanto, você precisa de uma instalação para todos os hosts virtuais: edite /etc/postfixadmin/config.inc.php e /etc/postfixadmin/dbconfig.inc.php e execute /etc/postfixadmin/setup.php apenas uma vez para todos os hosts virtuais. No entanto, se o PHP tiver uma configuração diferente ou for executado como um usuário diferente ou se o Apache tiver diretivas diferentes em algum host virtual, talvez seja necessário verificar as configurações específicas desse host virtual. Eu suspeito que essa era a questão que o OP tinha. Notei que o postfixadmin falha silenciosamente quando a sessão não funciona e, também, os direitos de acesso aos arquivos de configuração, especialmente para o banco de dados, são restritos. Se o usuário do PHP não tiver os privilégios apropriados, ele falhará.

    
por 01.03.2016 / 07:22