Instalando Lemp (Linux, Nginx, MySQL/Mariadb, Php/Php-FPM e Phpmyadmin) em Gentoo Linux

Instalando Lemp (Linux, Nginx, MySQL/Mariadb, Php/Php-FPM e Phpmyadmin) em Gentoo Linux

Gentoo é uma das distribuição Linux mais rápida devido à sua construção da orientação de fontes e fornece por seu programa de gerenciamento de software - Portage - Certas ferramentas necessárias para construir uma plataforma completa de desenvolvedores da Web que atua e funciona muito rápido e, também, tem um alto grau de personalização.

Instale o nginx no Gentoo Linux

Este tópico o levará a um processo de instalação passo a passo para criar uma plataforma completa do ambiente da web com Lemp (Linux nginx, mysql/mariadb, php-fpm/phpmyadmin) e com a ajuda em Use sinalizadores Fornecido pelo Portage Package Management, que oferece um conjunto de funcionalidade de pacotes no processo de compilação - módulos ou configurações necessários para uma plataforma da web, ajustará as configurações do servidor.

Requisitos

  1. Instalação do Gentoo com um perfil endurecido para um servidor voltado para a Internet - Guia de instalação do Gentoo.
  2. Rede configurada com um endereço IP estático.

Etapa 1: Instale o Nginx Web Server

1. Antes de tentar prosseguir com a instalação do nginx, verifique se o seu NIC foi configurado com um endereço IP estático e verifique se o porta -fontes e seu sistema está atualizado.

$ sudo su - # emerge - -sync # emerge -update ---eep ---with -bdeps = y @world
Atualize o Gentoo Linux

2. Após o término do processo de atualização, prossiga com a instalação do NGINX escolhendo as configurações e módulos preferidos ecoando Nginx use sinalizadores para portar fazer.conf arquivo. Módulos de instalação padrão da primeira lista nginx executando o seguinte comando.

# emerge -pv nginx

Para módulos detalhados Informações (use sinalizadores para pacotes) Use Equipamento comando.

# Equiário usa nginx
Liste todos os módulos de bandeira

Em seguida, instale o nginx com o seguinte comando.

# emerge --k Nginx
Instale o Nginx Web Server

Se você precisar de módulos extras (Webdav, FancyIndex, GeoIP, etc.) além de padrão, com o qual o Nginx compilará, anexá -los todos em uma única linha no portage fazer.conf arquivo com Nginx_modules_http diretiva, depois recompile nginx com novos módulos.

# echo 'nginx_modules_http = "Dav auth_pam FancyIndex geoip fastcgi uwsgi gzip rewrite"' >>/etc/portage/make.conf # emerge --k Nginx
Compilar Nginx para novos módulos

3. Depois que Portage termina emergente nginx, inicie o daemon http e verifique -o direcionando seu navegador para http: // localhost.

Verifique o Nginx Web Server

Etapa 2: Instale o PHP

4. Para usar a linguagem de programação dinâmica da Web PHP com o Nginx Server, instale Gerenciador de processos PHP-FASTCGI (FPM) anexando FPM E outras extensões importantes do PHP em portage usam sinalizadores e certifique -se de remover a extensão do Apache.

# emerge -pv php
Instale o PHP em Gentoo
# Equiário usa PHP
Seleção de extensão PHP
# echo "dev -lang/php fpm cgi cacho gd iMap mysql mysqli pdo zip json xcache apc zlib zip truetype -apache2" >>/etc/portage/pacote.Use # emerge --k Php

5. Antes de iniciar o php-fpm, algumas alterações precisam ser aplicadas ao arquivo de configuração de serviço. Abrir PHP-FPM arquivo de configuração e faça as seguintes alterações.

# nano/etc/php/fpm-php5.5/php-fpm.conf

Encontre e descommentam as seguintes diretivas para se parecer com isso.

error_log =/var/log/php-fpm.Log Ouça = 127.0.0.1: 9000 ## aqui você pode usar qualquer soquete HTTP (combinação de porta IP) que você deseja ## pm.start_servers = 20

6. Após o arquivo de configuração do PHP-FPM, é editado, altere as permissões do arquivo de log Php-FPM e inicie o serviço.

# chmod 755/var/log/php-fpm.log # /etc /init.D/PHP-FPM START

Mesmo que o serviço PHP-FPM seja iniciado, o NGINX não pode se comunicar com o gateway PHP, então, algumas alterações precisam ser feitas nos arquivos de configuração Nginx.

Etapa 3: Editar configurações nginx

7. NGINX Padrão de configuração de modelo de configuração apenas fornece um soquete HTTP básico apenas para localhoste. Para mudar esse comportamento e ativar hosts virtuais, aberto nginx.conf arquivo localizado em /etc/nginx/ caminho e faça as seguintes configurações.

# nano/etc/nginx/nginx.conf

Localize o primeiro servidor bloco que corresponde ao host e ouve 127.0.0.1 Endereço IP e elogie todas as suas declarações para se parecer na captura de tela abaixo.

Desativar a configuração básica HTTP

Não feche o arquivo ainda e vá para a parte inferior e adicione a seguinte declaração antes do último suporte de fechamento encaracolado ““.

Incluir/etc/nginx/sites-habilitado/*.conf;
Host Virtual de Ativar Nginx

8. Em seguida, crie sites habilitados e Sites disponíveis (para hosts virtuais não utilizados) Diretórios NGINX e arquivos de configuração para localhost nos protocolos HTTP e HTTPS.

# mkdir/etc/nginx/sites-Available # mkdir/etc/nginx/sites-habilitados

Crie a seguinte configuração de arquivo para localhost.

# nano/etc/nginx/sites-averlable/localhost.conf

Adicione o seguinte conteúdo de arquivo.

servidor ouça 80; server_name localhost; access_log/var/log/nginx/localhost_access_log main; error_log/var/log/nginx/localhost_error_log info; root/var/www/localhost/htdocs; Localização / Índice Index.Índice HTML.Índice HTM.php; AutoIndex ligado; autoindex_exact_size off; autoindex_localtime on;  localização ~ \.Php $  # teste para scripts inexistentes ou lançar um erro 404 sem esta linha, o nginx enviará cegamente qualquer solicitação que termine em .php a php-fpm try_files $ uri = 404; incluir/etc/nginx/fastcgi.conf; fastcgi_pass 127.0.0.1: 9000; ## verifique se o soquete corresponde ao arquivo php-fpm conf
Crie a configuração do host virtual nginx

Para localhost com SSL, crie o seguinte arquivo de configuração.

# nano/etc/nginx/sites-averable/localhost-ssl.conf

Adicione o seguinte conteúdo de arquivo.

servidor Ouça 443 SSL; server_name localhost; ssl on; ssl_certificate/etc/ssl/nginx/nginx.PEM; ssl_certificate_key/etc/ssl/nginx/nginx.chave; access_log/var/log/nginx/localhost.ssl_access_log main; error_log/var/log/nginx/localhost.SSL_ERROR_LOG INFO; root/var/www/localhost/htdocs; Localização / Índice Index.Índice HTML.Índice HTM.php; AutoIndex ligado; autoindex_exact_size off; autoindex_localtime on;  localização ~ \.Php $  # teste para scripts inexistentes ou lançar um erro 404 sem esta linha, o nginx enviará cegamente qualquer solicitação que termine em .php a php-fpm try_files $ uri = 404; incluir/etc/nginx/fastcgi.conf; fastcgi_pass 127.0.0.1: 9000; 
Crie SSL Nginx Virtual Host

9. Agora é hora de criar dois scripts em um caminho executável do sistema ($ Path Shell Variable), que atua como comandos para ativar ou desativar hosts virtuais nginx.

Crie o primeiro script Bash nomeado n2ensite Isso permitirá arquivos de configuração de hosts virtuais, criando um vínculo simbólico entre hosts especificados de Sites disponíveis para sites habilitados.

# nano/usr/local/bin/n2eniste

Adicione o seguinte conteúdo de arquivo.

#!/bin/bash se teste -d/etc/nginx/sites -ALVACILADE && test -d/etc/nginx/sites -habilitados; Então echo "--------------------------------------------- "Caso contrário, mkdir/etc/nginx/sites e mkdir/etc/nginx/sites habilitados para sites, unham =/etc/nginx/sites que estão disponíveis/$ 1.Confabed =/etc/nginx/sites-inabled/site = "ls/etc/nginx/sites-anicable/" se ["$#" !"1"]; então eco "use script: n2ensite virtual_site" echo -e "\ hosts virtuais de navegação: \ n $ site" saia 0 else se test -e $ up; Então sudo ln -s $ datb $ habilitado, casond eco -e "$ datune host virtual não existe! Por favor, crie um!\ n $ site "saia 0 fi se teste -e $ habilitado/$ 1.conf; Então eco "sucesso!! Agora reinicie o servidor nginx: sudo /etc /init.reiniciar d/ nginx "else eco -e" host virtual $ up!\ Nplease Consulte os hosts virtuais disponíveis: \ n $ site "Sair 0 fi fi
Criar script de Host Virtual Ativar

10. Em seguida, crie o segundo script chamado n2dissite, que excluirá hosts virtuais ativos especificados de sites habilitados Caminho nginx com o seguinte conteúdo.

# nano/usr/local/bin/n2dissite

Adicione o seguinte conteúdo.

#!/bin/bash up =/etc/nginx/sites-habilitado/$ 1.Confabed =/etc/nginx/sites-habilitado site = "ls/etc/nginx/sites-anicable/" se ["$#" !"1"]; então eco "use script: n2dissite virtual_site" echo -e "\ hosts virtuais de navegação: \ n $ sity" saia 0 else se teste -e $ aproveitado; então sudo rm $ datune mais echo -e "$ host virtual não existe! Saindo!"Saia 0 fi se teste -e $ habilitado/$ 1.conf; Então eco "erro!! Não foi possível remover $ host virtual!Sucesso "else eco -e"! $ datn foi removido!\ NPLEASE reinicie nginx: sudo /etc /init.reiniciar d/nginx "saída 0 fi fi
Criar host virtual Desative o script

11. Depois de terminar de editar scripts de bash, anexar permissões de execução e ativar hosts virtuais de host - use o nome do arquivo de configuração do host virtual sem .conf Extensão e reinicie os serviços nginx e php-fpm para aplicar alterações.

# chmod +x/usr/local/bin/n2dissite # chmod +x/usr/local/bin/n2ensite # n2ensite localhost # n2ensite localhost-ssl # serviço nginx reinicialização # serviço php-fpm reinicialização
Reinicie nginx e php-fpm

12. Para testar as configurações, crie um arquivo de informações PHP no caminho raiz padrão do localhost para arquivos da web (/var/www/localhost/htdocs) e redirecionar seu navegador para https: // localhost/info.php ou http: // localhost/info.php.

eco ""/var/www/localhost/htdocs/info.php
Verifique a configuração do PHP

Usando arquivos de configuração de hosts virtuais como modelos e nginx n2enmod e n2dismod Agora você pode facilmente adicionar quantos sites quiser, mas garante que você tenha ponteiros DNS válidos para um servidor da web voltados para a Internet ou use entradas localmente no arquivo hosts do sistema.

Etapa 4: Instale o MySQL/Mariadb + Phpmyadmin

Para instalar o banco de dados MySQL e a interface web phpmyadmin para mysql, use o mesmo procedimento apresentado na instalação da lâmpada no gentoo.

13. Em troca, se você quiser usar o mariadb, substituição do MySQL, use os seguintes comandos para obter Use sinalizadores e instale.

# emerge -pv mariadb # emerge --kask mariadb
Instale o banco de dados MARIADB

Caso você obtenha um pacote de conflito com o MySQL, adicione as seguintes linhas ao portage pacote.aceitar.palavras-chave.

# echo “= dev-db/mariadb-5.5.37-r1 ~ amd64 ”>>/etc/portage/pacote.aceitar.Palavras-chave # echo “= virtual/mysql-5.5 ~ amd64 ”>>/etc/portage/pacote.aceitar.Palavras -chave # emerge --kask mariadb

14. Depois que o banco de dados MySQL é instalado de serviço inicial e protege -o usando mysql_secure_installation (Altere a senha root, desative o login root fora do local -host, remova o banco de dados do usuário/teste anônimo).

# serviço mysql Iniciar # mysql_secure_installation

15. Digite o banco de dados MySQL usando, Mysql -u Root -p comando para testar sua funcionalidade e deixá -la com saída comando.

# mysql -u root -p mariadb> show bancos de dados; Mariadb> saída;
Verifique a conectividade MySQL

16. Se você não é muito bom com a linha de comando mysql. Instale o front -end da web phpmyadmin executando os seguintes comandos.

# emerge -pv dev-db/phpmyadmin # echo “dev-db/phpmyadmin configuração vhosts” >>/etc/portage/package.Use # emerge --ask dev-db/phpmyadmin
Instale o phpmyadmin

17. Após a instalação do phpmyadmin, crie um arquivo de configuração com base no arquivo de configuração de amostra, altere blowfish_secret senha com uma string aleatória e, em seguida, crie um link simbólico de /usr/share/webapps/phpmyadmin/phpmyadmin_version_number/htdocs/ Para hosts virtuais documentar o caminho raiz, você deseja acessar a interface da web phpmyadmin.

# cd/usr/share/webapps/phpmyadmin/4.2.2/ htdocs/ # cp config.amostra.Inc.php config.Inc.php # nano configuração.Inc.php
Configure phpmyadmin
# ln -s/usr/share/webapps/phpmyadmin/4.2.2/htdocs//var/www/localhost/htdocs/phpmyadmin
Crie um link simbólico phpmyadmin

18. Para acessar o banco de dados MySQL através da interface da web phpmyadmin, abra um navegador e use o seguinte endereço URL https: // localhost/phpmyadmin.

Verifique o login phpmyadmin

19. A etapa final é ativar os serviços em todo o sistema, para começar automaticamente após a reinicialização.

# rc-update add nginx padrão # rc-update add php-fpm padrão # rc-update add mysql padrão
Habilitar Sistema de Serviços em Amigo

Agora, temos uma configuração mínima de ambiente para hospedagem na web e, se você usar apenas páginas geradas por HTML, JavaScript e PHP e não precisar de sites SSL, a configuração acima deve ser satisfatória para você.