Pesquisa de site

Instalando LAMP (Linux, Apache, MySQL, PHP e PhpMyAdmin) no Gentoo Linux


O desempenho máximo alcançado pela compilação de software a partir de fontes com o Gentoo tem um impacto mínimo, se tomarmos como referência o poder de processamento do hardware atual. Então qual é o propósito de usar o Gentoo como plataforma de servidor Web, você pode perguntar? Bem, o atributo mais importante que o Gentoo possui é a extrema flexibilidade que o Portage pode oferecer em tarefas específicas e o controle total que o usuário final pode obter sobre todo o sistema, devido ao fato do Gentoo ser compilado e compila a partir de fontes e não usa binários pré-empacotados como a maioria das distribuições Linux.

Este guia fornece um procedimento de instalação passo a passo para a famosa pilha LAMP (Linux, Apache, MySQL e PHP/PhpMyAdmin) usando um ambiente de instalação mínimo do Gentoo.

Requisitos

  1. Ambiente mínimo do Gentoo Linux instalado como neste tutorial (Instalar o Gentoo Linux)

Etapa 1: configurar endereço IP estático

1. Antes de prosseguirmos com a instalação da pilha LAMP o sistema deve ser configurado com um endereço IP estático, que é “obrigatório” no caso de um servidor. Mas, antes de começarmos a definir as configurações estáticas da rede, use o comando ifconfig para mostrar os nomes das placas de interface de rede.

ifconfig -a

Como você pode ver, o nome da NIC pode ser diferente de outros nomes comuns usados no Linux, como ethX, ensXX ou outros, então anote esse nome para configurações adicionais.

2. Se você usou anteriormente um servidor DHCP para sua rede, desative e desative o Cliente DHCP em seu sistema usando os seguintes comandos (substitua IPs e dispositivos pelas suas configurações).

rc-update del dhcpcd default
/etc/init.d/dhcpcd stop
ifconfig eno16777736 down
ifconfig eno16777736 del 192.168.1.13 netmask 255.255.255.0
emerge –unmerge dhcpcd

3. Em seguida, crie um link simbólico do dispositivo de loopback de rede com o nome da interface conectada da sua NIC e crie um arquivo de configuração estático para este dispositivo em /etc/conf.d/ caminho.

ln -s /etc/init.d/net.lo  /etc/init.d/net.eno16777736
sudo nano /etc/conf.d/net.eno16777736

Edite este arquivo de dispositivo com as seguintes configurações.

config_eno16777736="192.168.1.25 netmask 255.255.255.0 brd 192.168.1.255"
routes_eno16777736="default via 192.168.1.1"
dns_servers_eno16777736="192.168.1.1 8.8.8.8"

4. Após terminar de editar as configurações estáticas da NIC, inicie a Interface de Rede e verifique as configurações de rede e a conexão usando os comandos ifconfig e ping e se tudo foi configurado com sucesso adicione-o para iniciar o processo.

/etc/init.d/net.eno16777736 start
ifconfig
ping -c2 domain.tld
rc-update add net.eno16777736 default

Se você deseja que os servidores de nomes DNS sejam configurados em todo o sistema, edite o arquivo /etc/resolv.conf e anexe a string do servidor de nomes para cada endereço IP DNS.

Passo 2: Instalar LÂMPADA

5. Depois de terminar as configurações de rede, prossiga com a instalação da pilha LAMP, mas não antes de verificar os perfis do Gentoo e atualizar a árvore e o sistema do Portage.

Para um servidor voltado para a Internet com patches de segurança você provavelmente desejará usar um perfil Hardened que altera as configurações do pacote para todo o seu sistema (máscaras, flags USE, etc). Use os comandos a seguir para listar e alterar seu perfil.

sudo eselect profile list
sudo eselect profile set 11

6. Após definir o perfil mais adequado para você, atualize seu sistema e a árvore do Portage.

sudo emerge --sync
sudo emerge --update @world

7. Agora é hora de prosseguir com a instalação do LAMP. Verifique a documentação do Apache Web Server para flags USE usando a opção de comando emerge –pv e edite o arquivo make.conf do Portage com as flags USE necessárias antes de tentar instale-o.

emerge -pv apache
nano /etc/portage/make.conf

8. Escolha seus sinalizadores USE para o processo de compilação (você pode deixá-lo como está se o seu servidor não exigir determinados módulos) e instale o Apache usando o seguinte comando.

emerge --ask www-servers/apache

9. Antes de iniciar o serviço Apache, execute o seguinte comando para evitar o erro ServerName e, em seguida, inicie o daemon httpd.

echo “ServerName localhost” >> /etc/apache2/httpd.conf

service apache2  start

OR

/etc/init.d/apache2 start

10. Na próxima etapa, instale a linguagem de script dinâmica PHP. Devido à riqueza de módulos do PHP, este tutorial apresentará uma grande lista de módulos usados como flags USE, mas você deve ficar com aqueles que a configuração do seu servidor exige.

Primeiro obtenha sinalizadores específicos USE para PHP usando o comando abaixo.

emerge -pv php

11. Em seguida, edite o arquivo /etc/portage/make.conf e use os seguintes sinalizadores USE para PHP5.5 (os sinalizadores USE devem estar em uma única linha).

USE="apache2 php pam berkdb bzip2 cli crypt ctype exif fileinfo filter gdbm hash iconv ipv6 json -ldap nls opcache phar posix readline session simplexml spell ssl tokenizer truetype unicode xml zlib -bcmath calendar -cdb cgi -cjk curl -debug -embed -enchant -firebird -flatfile -fpm (-frontbase) ftp gd -gmp imap -inifile -intl -iodbc -kerberos -ldap-sasl -libedit libmysqlclient -mhash -mssql mysql mysqli -oci8-instant-client -odbc -pcntl pdo -postgres -qdbm -recode (-selinux) -sharedmem -snmp -soap -sockets -sqlite (-sybase-ct) -systemd -sysvipc -threads -tidy -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xslt zip jpeg png pcre session unicode"

PHP_TARGETS="php5-5"

Outro método que você pode usar é ecoar sinalizadores USE para incluir os módulos e opções PHP desejados no arquivo /etc/portage/package.use.

echo “dev-lang/php apache2 cgi ctype curl curlwrappers -doc exif fastbuild filter ftp hash inifile json mysql mysqli pdo pic posix sockets spell truetype xml zip” >> /etc/portage/package.use

12. Depois de selecionar os sinalizadores USE necessários usando um dos dois métodos apresentados, instale o PHP com o seguinte comando.

emerge --ask dev-lang/php

13. O processo emergente do PHP pode demorar um pouco dependendo dos recursos do seu sistema e depois que terminar diga ao Apache para usar módulos PHP editando o arquivo /etc/conf.d/apache2 e adicione PHP5 na diretiva APACHE2_OPTS.

nano /etc/conf.d/apache2

Faça a linha APACHE2_OPTS ficar assim.

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5"

Para obter uma lista de módulos instalados, use o seguinte comando.

ls -al /etc/apache2/modules.d/

14. Para testar a configuração do servidor até agora, crie um arquivo phpinfo no diretório raiz localhost (/var/www/localhost/htdocs/) e reinicie o serviço Apache e aponte seu navegador para http://localhost/info.php ou http://system_IP/info.php.


echo "<!--?php phpinfo(); ?-->"  /var/www/localhost/htdocs/info.php
service apache2  restart

OR

/etc/init.d/apache2  restart

Se você obtiver o mesmo resultado da imagem acima, seu servidor está configurado corretamente. Assim, podemos prosseguir com o banco de dados MySQL e a instalação do PhpMyAdmin.

15. Antes de instalar o banco de dados MySQL, verifique o pacote USE flags e edite o Portage make.conf se necessário. Use os comandos a seguir para verificar e instalar o banco de dados do servidor MySQL.

emerge -pv mysql
emerge --ask dev-db/mysql

16. Antes de iniciar o servidor MySQL, certifique-se de que o banco de dados MySQL esteja instalado em seu sistema usando o seguinte comando.

/usr/bin/mysql_install_db

17. Agora inicie o banco de dados MySQL e proteja-o usando mysql_secure_installation alterando a senha do root, desative o login do root fora do localhost, remova o usuário anônimo e teste o banco de dados.

service mysql start
mysql_secure_installation

18. Para testar a funcionalidade do banco de dados, faça login no MySQL emitindo o comando abaixo e saia do banco de dados com a instrução quit.

mysql -u roo -p
mysql> select user,host from mysql.user;
mysql> quit;

19. Se você precisar de uma interface gráfica para gerenciar o servidor MySQL, instale o pacote PhpMyAdmin executando estes comandos.

emerge -pv phpmyadmin
emerge  dev-db/phpmyadmin

20. Depois que o pacote for compilado e instalado, crie um arquivo de configuração para o PhpMyAdmin copiando seu arquivo de modelo e substitua a senha blowfish_secret por uma string arbitrária.

cp /var/www/localhost/htdocs/phpmyadmin/config.sample.inc.php  /var/www/localhost/htdocs/phpmyadmin/config.inc.php
nano /var/www/localhost/htdocs/phpmyadmin/config.inc.php

21. Teste o processo de login do PhpMyAdmin abrindo um navegador e usando o seguinte URL.

http://localhost/phpmyadmin

22. Se tudo estiver em ordem, você pode querer iniciar automaticamente seus serviços após a reinicialização, disponibilizando-os em todo o sistema usando os comandos a seguir.

rc-update -v add apache2 default
rc-update -v add mysql default

Isso é tudo! Agora você tem um ambiente web dinâmico com Apache, linguagem de script PHP e banco de dados relacional MySQL em uma plataforma de servidor altamente flexível e personalizável fornecida pelo Gentoo.