Como configurar um VirtualHost no Amazon EC2 para o phpmyadmin

1

Oi eu estou atualmente trabalhando na criação de um VirtualHost no Amazon EC2 para acessar phpmyadmin para que eu possa acessá-lo com test.example.com como opor a ser amplamente disponível como é padrão example.com/phpmyadmin.

Até agora criei um arquivo "testfile" em / etc / apache2 / sites-available / com o código abaixo e o habilitei "a2ensite testfile" No entanto, não estou conseguindo que o vhost funcione

<VirtualHost *:80>
            ServerAdmin [email protected]

            ServerName test.example.com
            ServerAlias test.example.com

            #DocumentRoot /usr/share/phpmyadmin
            DocumentRoot /home/user/public_html/folder

            RewriteEngine On
            RewriteCond %{HTTP_HOST} !test.example.com
            RewriteRule (.*) [L]


            <Directory /home/user/public_html/folder>

                    Options FollowSymLinks
                    DirectoryIndex index.php
                    AllowOverride None

                    <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>

            ErrorLog /home/user/public_html/folder/logs/error.log
            LogLevel warn
            CustomLog /home/user/public_html/folder/logs/access.log combined

    </VirtualHost>

sudo ln -s / usr / share / phpmyadmin / home / usuário / public_html / folder

A linha acima cria um link do phpmyadmin na pasta pública.

Qualquer ajuda sobre isso seria muito apreciada.

Observação: example.com será substituído pelo meu domínio oficial

    
por Oudin 13.06.2012 / 15:17

1 resposta

1

Depois de horas de testes e resolução de problemas, aqui está a solução.

Primeiro, verifique se você criou um registro A no seu gerenciador de DNS para apontar seu subdomínio "test.example.com" para o IP do servidor (isso deve levar de 24 a 72 horas para ser propagado).

Em seguida, crie seu arquivo host com o seguinte comando (observe que estou usando o Ubuntu que usa arquivos host individuais, mas você pode adicionar isso ao seu arquivo host principal):

sudo vi /etc/apache2/sites-available/test.example.com

Adicione os seguintes dados abaixo (habilitei ssl em meu sistema, que é a porta 443 e não contei com a seção ssl no final):

<VirtualHost *:80>

    ServerAdmin [email protected]

    DocumentRoot /usr/share/phpmyadmin
    ServerName test.example.com

    RewriteEngine On
        RewriteCond %{HTTP_HOST} !test.example.com
        RewriteRule (.*) [L]

     <Directory /usr/share/phpmyadmin>

        Options Indexes FollowSymLinks
            AllowOverride None
        deny from all
        allow from localhost
        #allow access via your IP
            allow from xxxxxx.xxxxx.xxxxxxx.xxxxxxxxx/xx

        <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>

    #   SSL Engine Switch:
        #   Enable/Disable SSL for this virtual host.
       # SSLEngine on

        #   A self-signed (snakeoil) certificate can be created by installing
        #   the ssl-cert package. See
        #   /usr/share/doc/apache2.2-common/README.Debian.gz for more info.
        #   If both key and certificate are stored in the same file, only the
        #   SSLCertificateFile directive is needed.
       # SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
       # SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

        ErrorLog /home/user/public_html/folder/logs/error.log
        LogLevel warn
        CustomLog /home/user/public_html/folder/logs/access.log combined

</VirtualHost>

Uma vez feito salve o arquivo e ative seu vhost

sudo a2ensite test.example.com

Ele irá então pedir-lhe para reiniciar o Apache assim que o tiver feito, e deverá estar pronto a correr e conseguir aceder ao phpmyadmin através de "test.example.com" em oposição a "www.example.com/phpmyadmin"

    
por Oudin 22.06.2012 / 17:07