Configurando um servidor LAMP no manjaro linux (arch based)
É hora de configurar seu servidor Linux, Apache, MariaDB(MySql) e PHP!! Vamos nessa ?
Primeiramente, este post nasceu da necessidade de termos um ambiente de desenvolvimento visando a utilização do wordpress, assim sendo, no final deste post, teremos nosso site/blog rodando localmente na sua máquina.
Me inspirei em um antigo post de um blog que já não existe mais (manjaro-geek, créditos a eles principalmente) e sentindo a falta de um conteúdo que o substitua a altura, migrei este post do webarchive para o mediuml.
Antes de tudo, é importante ressaltarmos que no Manjaro, assim como no Arch Linux, usa-se o MariaDB ao invés do MySQL. MariaDB é um fork do MySQL, seu desenvolvimento inclusive possui alguns dos desenvolvedores que ajudaram no desenvolvimento do próprio MySQL. Comandos e funcionalidades são as mesmas, então não temos com o que nos preocupar.
Mãos na massa …
Vamos atualizar nossos pacotes
$ sudo pacman -Syu
Apache
Instalar o apache
$ 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 /.
PHP
Instalação do PHP
$ sudo pacman -S php php-apache
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 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 (geralmente localizada abaixo do mod_mpm_event.so):
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.
MariaDB (MySQL)
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.
No caso do wordpress, com MariaDb, devemos habilitar as seguintes extensões:
extension=mysqli.so
extension=gd.so
Feito isto, é darmos um restart em nossos serviços apache / mariadb e começarmos o desenvolvimento de nossos sites/blog com wordpress.
A quem interessar, também me inspirei nesta publicação:
É isso pessoal, até a próxima …