Aponte um subdomínio para o phpmyadmin instalado em um ubuntu 12.04

4

Eu tenho lutado um pouco com essa configuração. Eu instalei todos os pré-requisitos para phpmydamin e ele está disponível em ip / phpmyadmin. Agora eu tenho um subdomínio que eu quero apontar para ele. Digamos que eu queira apontar o data.somedomain.com para o phpmyadmin de tal forma que em vez de ip / phpmyadmin eu possa acessá-lo como data.somedomain.com.Estou fazendo uma simples criação de VirtualHost, mas eu acho que estou meio perdido este. aqui está o /etc/phpmyadmin/apache.conf :

# phpMyAdmin default Apache configuration
<VirtualHost *:80>
  ServerName data.somedomain.com

  Alias /phpmyadmin /usr/share/phpmyadmin

 <Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php

    Options All
    AllowOverride All
    Require all granted
    <IfModule mod_php5.c>
            AddType application/x-httpd-php .php

            php_flag magic_quotes_gpc Off
            php_flag track_vars On
            php_flag register_globals Off
            php_admin_flag allow_url_fopen Off
            php_value include_path .
            php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
            php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/
    </IfModule>
   <IfModule mod_php5.c>
            AddType application/x-httpd-php .php

            php_flag magic_quotes_gpc Off
            php_flag track_vars On
            php_flag register_globals Off
            php_admin_flag allow_url_fopen Off
            php_value include_path .
            php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
            php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/
    </IfModule>

</Directory>

# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
    <IfModule mod_authn_file.c>
        AuthType Basic
        AuthName "phpMyAdmin Setup"
        AuthUserFile /etc/phpmyadmin/htpasswd.setup
    </IfModule>
    Require valid-user
 </Directory>

 # Disallow web access to directories that don't need it

 <Directory /usr/share/phpmyadmin/libraries>
    Order Deny,Allow
    Deny from All
 </Directory>
 <Directory /usr/share/phpmyadmin/setup/lib>
    Order Deny,Allow
    Deny from All
 </Directory>

</VirtualHost>

o que eu adicionei foi o wrapper da tag <VirtualHost> e o ServerName e esses Options All AllowOverride All Require all granted

quando eu acesso a url, ele lança um código 404 : o URL solicitado / não foi encontrado neste servidor.

e os logs contêm esta entrada: File does not exist: /etc/apache2/htdocs obrigado por suas sugestões.

    
por black sensei 05.02.2013 / 20:36

4 respostas

6

Tudo o que você precisa fazer é configurar um subdomínio para o apache. Você pode fazer isso criando um arquivo de configuração em / etc / apache2 / sites-available.

Aqui está o meu ..

<VirtualHost *:80>
   ServerAdmin [email protected]
   ServerName phpmyadmin.example.local
   DocumentRoot /usr/share/phpmyadmin
   <Directory />
       Options FollowSymLinks
       AllowOverride None
   </Directory>
   LogLevel notice
   CustomLog /var/log/apache2/access.log combined
   ErrorLog /var/log/apache2/error.log
   ServerSignature On
</VirtualHost>

Salve isso em /etc/apache2/sites-available/phpmyadmin.conf e ative o subdomínio.

a2ensite phpmyadmin

E reinicie o servidor apache

service apache2 reload

Agora você deve poder usar o phpmyadmin em phpmyadmin.example.local.

    
por 23.07.2013 / 16:38
0

O que você realmente precisa aqui é um CNAME com sua solução de DNS. Por exemplo, se você usou alguém como godaddy.com, você adicionaria um cname data.somedomain.com em sua página de gerenciamento de dns que resolve para somedomain.com.

Uma olhada superficial em seu host virtual nginx, você pode querer começar com uma configuração mínima primeiro que simplesmente aponte as requisições de data.somedomain.com para seu / usr / share / phpmyadmin. Eu também sugiro bloquear o phpmyadmin com o htaccess (nada pior do que ter seu db hackeado).

    
por 05.02.2013 / 20:48
0

Há uma mensagem de erro que você mencionou File does not exist: /etc/apache2/htdocs é definitivamente um sinal do parâmetro DocumentRoot não ser especificado corretamente para o virtualhost. Certifique-se de apontá-lo para o diretório correto.

    
por 05.02.2013 / 20:51
0

O phpMyAdmin ainda está configurado sob o caminho /phpmyadmin , você deve descobrir que o link funciona. Você pode alterar a diretiva Alias (e outras referências a /phpmyadmin ) para / para apresentá-la na raiz:

Alias / /usr/share/phpmyadmin

Ou você pode redirecionar / para /phpmyadmin :

RewriteRule   ^/$  /phpmyadmin/  [R]
    
por 05.02.2013 / 20:56