Home / Programação / Instalação do Lamp no Manjaro

Instalação do Lamp no Manjaro

lamp

Bom galera, atendendo a pedidos, vou hoje mostrar como montar um ambiente de desenvolvimento Lamp no Manjaro, com a instalação e configuração do Apache, PHP e Mysql(MariaDB), e usar virtualhosts.

Atenção: Artigo atualizado para suporte a virtualhosts no Apache e correções gerais.

Antes de tudo, quero salientar que o Manjaro, assim como o Arch Linux, usam o MariaDB ao invés do MySQL. MariaDB é um fork do MySQL, inclusive em seu desenvolvimento tem alguns dos desenvolvedores que ajudaram no desenvolvimento do próprio MySQL. Os comandos e as funcionalidades são as mesmas, então não temos com o que nos preocupar.

Antes de tudo, recomendo a atualização do Manjaro pelo pacman, com:

$ sudo pacman -Syu

Agora, vamos instalar o Apache, nosso servidor web:

$ sudo pacman -S apache

Após a instalação do Apache, vamos iniciar o serviço com:

$ sudo systemctl start httpd.service

Caso você queira que o Apache inicie junto com o sistema, é necessário habilitar o serviço dele com:

$ sudo systemctl enable httpd.service

E para verificar se o serviço do Apache foi iniciado corretametne, você pode verificar o status com:

$ sudo systemctl status httpd.service

Para testarmos nossa instalação do Apache, abra seu navegador, e acesse: http://localhost/

Com isso, você deverá ver a página principal da instalação do Apache, com uma listagem do diretório inicial do servidor e uma mensagem de Index of /.

Agora, vamos instalar o PHP, e integrá-lo com o Apache, fazê-los trabalhar juntos! Para isso, faça o seguinte:

$ sudo pacman -S php php-apache

Bom, somente a instalação do php e do php-apache não farão com que eles trabalhem juntos, precisaremos fazer uma configuração diferenciada para que o php se comunique com o Apache de forma correta. Vamos lá!

Vamos editar o arquivo httpd.conf desta forma:

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

Use a combinação de teclas Ctrl + W para realizar uma busca dentro do arquivo, pelo nano, e busque este trecho:

LoadModule mpm_event_module modules/mod_mpm_event.so

Comente esta linha, colocando um # no início da linha, ficando desta forma:

#LoadModule mpm_event_module modules/mod_mpm_event.so

E substitua por:

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

Ainda dentro deste arquivo, procure o trecho onde contém:

LoadModule dir_module modules/mod_dir.so

Logo abaixo desta linha, insira a linha abaixo:

LoadModule php7_module modules/libphp7.so

Agora, procure a seção onde temos uma série de Include, e insira no final desta parte a linha abaixo:

Include conf/extra/php7_module.conf

Lembra aquela linha que comentamos com # no arquivo httpd.conf? A primeira linha do código acima, substituirá corretamente ela, fazendo com que o PHP funcione em conjunto com o Apache. A segunda linha carrega a lib do php7, e a terceira linha carrega módulos extra do php7.

Salve o arquivo, e reinicie o Apache, para podermos testar se o PHP está funcionando corretamente.

$ sudo systemctl restart httpd.service

Agora, com o editor de sua preferência, crie um arquivo de nome info.php dentro da pasta raíz do Apache, que é: /srv/http/, com o seguinte conteúdo:

<?php
phpinfo();

Agora abra o navegador e acesse este arquivo em: http://localhost/info.php

Com isso, você deverá ver a página de informação do PHP, a famosa PHPInfo(), com informação de extensões e módulos carregados e habilitados pelo PHP.

Para alguns aplicativos em PHP, e até mesmo alguns frameworks, é necessário usar a extensão libmcrypt e o php-mcrypt, não esqueça de instalá-los.

Outra dica, antes de instalarmos o MySQL, é a seguinte: Habilitar o mod_rewrite no Apache. Para isso, no ainda no arquivo httpd.conf, procure a linha abaixo e descomente ela para habilitar o mod_rewrite:

LoadModule rewrite_module          modules/mod_rewrite.so

Após descomentar esta linha, reinicie o Apache.

Com isso, se você atualizar a página do PHPinfo(), poderá ver que a extensão mod_rewrite está habilitado. Ela é importante e necessária para usarmos URL’s amigáveis em nossos sites/projetos, por exemplo:

Ao invés de ter um site com uma url: http://site.com/index.php?codigo=12345, podemos ter uma URL mais bonita e prática desta forma: http://site.com/artigo/meu_artigo.

Agora, vamos a parte final; a instalação do Mysql, no caso, do MariaDB.

Instale o mariadb com:

$ sudo pacman -S mariadb

Após a instalação do MariaDB, precisaremos rodar um comando antes de habilitar e iniciar os serviços do mariadb, desta forma:

# mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

Agora, podemos iniciar o mariadb com o seguinte comando:

$ sudo systemctl start mysqld.service

E caso queira iniciar o serviço do mariadb na inicialização do Manjaro, habilite o serviço com:

$ sudo systemctl enable mysqld.service

Agora, precisamos definir a senha do usuário root do mariadb, então, vamos rodar o comando:

# mysql_secure_installation

Vá respondendo as perguntas somente apertando Enter, e quando perguntar a senha atual do root, deixe vazio(porque ainda não criamos) e no final, perguntará qual senha quer usar para o mariadb, neste ponto, insira sua senha(pedirá para repetir a senha).

Para testar via terminal se o mariadb está funcionando, rode o comando:

$ mysql -u root -p

Ao apertar Enter, pedirá a senha do mariadb, basta informar a senha cadastrada e apertar Enter novamente.
Agora, rode o comando para mostrar as bases de dados padrão do mariadb:

> show databases;

Para sair desta tela do console do mariadb, digite:

> quit;

Agora, é interessante você instalar algumas extensões do PHP bem úteis, tais como:

  • php-sqlite
  • php-intl
  • php-xsl
  • php-gd
  • php-tidy

Caso precise habilitar algumas extensões do PHP, faça editando o arquivo php.ini, em:

$ sudo nano /etc/php/php.ini

Procure a parte onde temos algo como:

;extension=mcrypt.so
;extension=mssql.so
;extension=mysqli.so
;extension=openssl.so
;extension=iconv.so
;extension=imap.so
;extension=zip.so

E a extensão que precisar habilitar, remova o ponto e vírgula da frente da linha.

Bom, é isso galera, no próximo artigo referente à ambiente de desenvolvimento, falarei sobre a instalação do phpmyadmin, a instalação e uso do mysql-workbench, e criação de VirtualHosts.

Espero que tenham gostado, e caso queiram mais informações à respeito, ou opiniões, usem nossa área de comentários, ou até mesmo postem suas dúvidas em nosso fórum no endereço: Forum Manjaro-Geek

Atualização do artigo por conta da atualização do PHP no repositório do Manjaro, do PHP 5 para PHP 7.

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!

12 Comentários

  1. Gostei muito desse Tutorial!!!

    Continue assim!!!

    Valeu mesmo, essas dicas me ajudaram bastante!!!!!!!!!

    • Olá Marcos Ferreira,
      que bom que gostou do artigo, e que lhe ajudou! A nossa intenção é ter sempre material de qualidade para dividir com os usuários do Manjaro!
      Abraço.

  2. Adriano Carneiro de Moura

    simplesmente sensacional, excelente !!!

  3. Funciona no Arch Linux também. Testado e aprovado. Parabéns pelo trabalho da equipe.

  4. Parabéns pelo tutorial 100% funcional 😉

  5. Tutorial perfeito vei, so que… Como eu vim do Ubuntu, eu acho mais fácil a instalação do Lamp!

    • Valeu Rodrigo! Eu acabo preferindo sempre instalar cada app que preciso individual ao invés do Lamp(ou xampp), pela facilidade de personalização da instalação, modificações, etc.
      Abraço!

Deixe uma resposta

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