Home / Programação / Instalação do phpMyAdmin e criação de domínios virtuais

Instalação do phpMyAdmin e criação de domínios virtuais

Dando sequência ao tutorial anterior de instalação do LAMP no Manjaro, vamos hoje aprender como criar Domínios Virtuais (Vhosts) através de um shellscript, e como instalar o phpMyAdmin.

Primeiro, vamos abrir o arquivo httpd.conf e adicionar 1 linha nele, para referenciar os arquivos responsáveis pelos domínios virtuais.

$ sudo nano /etc/httpd/conf/httpd.conf

Vamos adicionar esta linha:

IncludeOptional conf/sites-enabled/*.conf

Agora vamos criar as 2 pastas responsáveis para armazenar os arquivos de configuração dos Vhosts e os links simbólicos deles.

$ sudo mkdir /etc/httpd/conf/sites-available
$ sudo mkdir /etc/httpd/conf/sites-enabled

Agora vamos criar os arquivos de shellscript para criar e habilitar os VirtualHosts:

$ sudo nano a2ensite

Lembrando que estou usando o editor NANO, mas você pode usar o editor que mais lhe agrada.

Conteúdo do arquivo a2ensite, responsável por criar o domínio virtual:

#!/bin/bash
if test -d /etc/httpd/conf/sites-available && test -d /etc/httpd/conf/sites-enabled ; then
echo "------------------------------"
else
mkdir /etc/httpd/conf/sites-available
mkdir /etc/httpd/conf/sites-enabled
fi

avail=/etc/httpd/conf/sites-available/$1.conf
enabled=/etc/httpd/conf/sites-enabled
site=`ls /etc/httpd/conf/sites-available/`

if [ "$#" != "1" ]; then
	echo "Use o script: a2ensite dominio_virtual"
	echo -e "\nDomínio virtual disponível:\n$site"
	exit 0
else
if test -e $avail; then
sudo ln -s $avail $enabled
else
echo -e "$avail Vhost não existe. Por favor crie ele!\n$site"
exit 0
fi
if test -e $enabled/$1.conf; then
echo "Domínio criado! Agora reinicie o servidor Apache: sudo systemctl restart httpd"
else
echo -e "Vhost $avail não existe!\nPor favor veja os Vhosts disponíveis:\n$site"
exit 0
fi
fi

Conteúdo do arquivo a2dissite, responsável por remover o domínio virtual:

#!/bin/bash
avail=/etc/httpd/conf/sites-enabled/$1.conf
enabled=/etc/httpd/conf/sites-enabled
site=`ls /etc/httpd/conf/sites-enabled`

if [ "$#" != "1" ]; then
	echo "Use o script: a2dissite dominio_virtual"
	echo -e "\nVhosts disponíveis: \n$site"
	exit 0
else
if test -e $avail; then
sudo rm $avail
else
echo -e "$avail Vhost não existe! Saindo..."
exit 0
fi
if test -e $enabled/$1.conf; then
echo "Erro!!! Não foi possível remover o Vhost $avail"
else
echo -e "Feito! $avail foi removido!\nReinicie o servidor Apache: sudo systemctl restart httpd"
exit 0
fi
fi

Após criar os arquivos, vamos dar permissão de execução e movê-los para a pasta correta:

$ sudo chmod +x a2ensite a2dissite
$ sudo cp a2ensite a2dissite /usr/local/bin/

Agora vamos criar um arquivo de exemplo, para nosso localhost. Este arquivo poderá servir de base para criarmos outros VirtualHosts.

$ sudo nano /etc/httpd/conf/sites-available/localhost.conf

Conteúdo do arquivo:

<VirtualHost *:80>
        DocumentRoot "/srv/http"
        ServerName localhost
        ServerAdmin you@example.com
        ErrorLog "/var/log/httpd/localhost-error_log"
        TransferLog "/var/log/httpd/localhost-access_log"

    <Directory />
        Options +Indexes +FollowSymLinks +ExecCGI
        AllowOverride All
        Order deny,allow
        Allow from all
        Require all granted
    </Directory>
</VirtualHost>

Após criar o arquivo, reinicie o Apache.

Vamos usar este arquivo como base, para criar agora um Vhost para um site, por exemplo, manjaro.io.
Lembrando que este domínio será acessado internamente, ele existirá apenas em nosso PC, e não na internet.

$ sudo cp /etc/httpd/conf/sites-available/localhost.conf /etc/httpd/conf/sites-available/manjaro.conf

Agora, vamos editar o arquivo manjaro.conf, e fazer este Vhost apontar para pasta /srv/http/manjaro, e a URL dele será http://manjaro.io

O Arquivo editado ficará assim:

<VirtualHost manjaro.io:80>
        DocumentRoot "/srv/http/manjaro"
        ServerName manjaro.io
        ServerAdmin oberaldo@gmail.com
        ErrorLog "/var/log/httpd/manjaro-error_log"
        TransferLog "/var/log/httpd/manjaro-access_log"

        <Directory /srv/http/manjaro>
                Options +Indexes +FollowSymLinks +ExecCGI
                AllowOverride All
                Order deny,allow
                Allow from all
                Require all granted
        </Directory>
</VirtualHost>

Agora vamos adicionar a entrada do Vhost no arquivo /etc/hosts:

$ sudo nano /etc/hosts

No final do arquivo, adicione:

127.0.0.1       manjaro.io      www.manjaro.io

Agora no terminal, digite para habilitar o Vhost criado:

2016-02-26-134809_552x83_scrot

$ sudo a2ensite manjaro

Reinicie o Apache com:

$ sudo systemctl restart httpd

Vamos criar a pasta /srv/http/manjaro, e criar um arquivo dentro, como teste, para ver se nosso novo domínio virtual está funcionando:

$ mkdir /srv/http/manjaro
$ nano /srv/http/manjaro/index.php

Conteúdo do arquivo index.php:

<?php
echo "Meu domínio virtual Manjaro.io";

Salve e feche o arquivo, e agora acesse no navegador: http://manjaro.io.

Com isso, podemos criar inúmeros VirtualHosts para desenvolvimento, testes, etc, e ao invés de acessar os domínios com a URL completa até a pasta, acessamos domínios separados, fica mais fácil organizar.

Por exemplo:
Antes: http://localhost/meus_projetos/minha_pasta/manjaro

Depois: http://manjaro.io

2016-02-26-142953_487x118_scrotLembrando que caso queira remover um Vhost, usaremos o segundo script criado, o a2dissite, desta forma:

$ sudo a2dissite site_pra_remover

Após isso, é necessário remover a entrada deste Vhost, do arquivo /etc/hosts, e reiniciar novamente o Apache.

Agora, vamos instalar o phpMyAdmin!

$ sudo pacman -S phpmyadmin

Vamos criar um arquivo de Vhost pra redirecionarmos o phpmyadmin:

$ sudo nano /etc/httpd/conf/sites-enabled/phpmyadmin.conf

Com o seguinte conteúdo:

Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"

<Directory "/usr/share/webapps/phpMyAdmin">
    DirectoryIndex index.html index.php
    AllowOverride All
    Options FollowSymlinks
    Require all granted
</Directory>

 

Reinicie o Apache.

Neste caso não precisamos usar o shellscript para criar este Vhost nem criar uma entrada para ele no arquivo /etc/hosts.
Se olhar bem, não criei o arquivo phpmyadmin.conf na pasta sites-available, e sim direto na pasta sites-enabled.
Quando o Apache receber uma chamada solicitando acesso à /phpmyadmin, no caso http://localhost/phpmyadmin, ele irá carregar a instalação do phpmyadmin feita em:
/usr/share/webapps/phpMyAdmin

2016-02-26-144645_489x553_scrot

Com isso, finalizo está série de instalação e configuração do ambiente Lamp no Manjaro, com o phpMyAdmin e suporte a domínios virtuais (Vhosts).

Artigos complementares:
Referência: http://www.tecmint.com/install-lamp-in-arch-linux/
Instalação do lamp no manjaro

Sobre Bill Jr

Programador PHP, usuário Linux a tempo suficiente pra saber que comecei tarde, nerd em tempo integral. Amante de códigos, café e Rock'n'Roll!

10 Comentários

  1. Olá pessoal do Manjaro Geek. Primeiro quero parabenizar pelo blog. Bem organizado e com conteúdo de muita qualidade, como é o caso desse artigo.

    Quero dizer que a decisão de vocês removerem aquele bloatwere dos comentários (disqus), foi muito acertada. Parabéns por respeitarem a privacidade dos seus visitantes e das pessoas interagem com as postagem. Há dias não visitava o blog, hoje o google me trouxe a essa postagem. Fiquei feliz em saber que removeram o Disqus.

    • Obrigado Soma.
      Achamos melhor e mais leve manter o sistema de comentários nativo do WP.
      Que bom que têm acompanhado nosso blog, espero que venha mais vezes para ver as novidades e também opinar, sua participação e feedback é muito importante pra nós.

      Abs
      Bill

  2. Olá Bill Jr. Obrigado por compartilhar este artigo. Perfeito, funcionou de primeira. É de artigos assim que a gente precisa. Não aqueles artigos mal traduzidos, todos emendados que a gente encontra em quase todos os sites que falam de Linux.

    Não uso Manjaro, uso Arch. Mas estou sempre visitando o site e conferindo as dicas.

    • Obrigado Túlio!
      A intenção realmente é essa, ser um diferencial, e não apenas traduzir artigos de outros sites e publicar.
      Cada tutorial é escrito enquanto testo, para que tudo funcione de forma simples e correta.
      Abraços

  3. Adriano Carneiro de Moura

    Excelente, funcionou de primeira.

  4. Olá Breno,
    Vc seguiu o tutorial completo que postei? O PHP está funcionando normal?
    Pq pelo q estou vendo, o PHP não está sendo interpretado pelo servidor.

    Peço que tente seguir os passos deste tutorial primeiro, para instalação correta do apache, php e mariadb no manjaro: http://www.manjaro-geek.org/instalacao-do-lamp-no-manjaro/

    Abraço
    Bill JR

  5. Olá spylinux,

    Primeiro quero agradecer seus posts, me ajudaram muito a configurar o ambiente no manjaro.

    Só preciso de sua ajuda em uma coisa, em sua ultima instrução “sudo nano /etc/httpd/conf/sites-enabled/phpmyadmin.conf”

    Tentei realizar exatamente como foi descrito, mas não consegui acessar o phpmyadmin.

    Removi as tags strong e criei o arquivo phpmyadmin.conf, mas não sei o que colocar nele para linkar as pastas.

    Sou novato com o linux, se você puder me orientar vai ajudar muito.

    Desde já agradeço sua resposta e pelo conteudo que disponibilizado.

    Att,

    • Olá Guilherme, que bom que gostou dos artigos, espero q continue acompanhando nosso trabalho, em breve teremos novidades!
      Sobre o conteúdo do arquivo phpmyadmin.conf, foi um erro meu na edição do artigo. Atualizei ele, peço que acesse novamente o site e veja a correção, onde informo o conteúdo do arquivo. Também peço desculpas pela tag “strong“, era para aparecer o trecho destacado em negrito, e não aparecer o código html dele.

      Abraço
      Bill JR

    • Conseguiu resolver o problema @Guilherme?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *