Instalando Lemp (Linux, Nginx, MySQL/Mariadb, Php/Php-FPM e Phpmyadmin) em Gentoo Linux
- 909
- 132
- Mrs. Willie Beahan
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 LinuxEste 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
- Instalação do Gentoo com um perfil endurecido para um servidor voltado para a Internet - Guia de instalação do Gentoo.
- 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 @worldAtualize 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 nginxListe todos os módulos de bandeira
Em seguida, instale o nginx com o seguinte comando.
# emerge --k NginxInstale 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 NginxCompilar 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 ServerEtapa 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 phpInstale o PHP em Gentoo
# Equiário usa PHPSeleçã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 HTTPNã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 confCrie 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 fiCriar 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 fiCriar 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çãoReinicie 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.phpVerifique 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 mariadbInstale 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/phpmyadminInstale 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.phpConfigure phpmyadmin
# ln -s/usr/share/webapps/phpmyadmin/4.2.2/htdocs//var/www/localhost/htdocs/phpmyadminCrie 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 phpmyadmin19. 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ãoHabilitar 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ê.
- « Instalando a GUI (desktop de canela) e softwares básicos no arch Linux
- Perguntas e respostas práticas da entrevista sobre script de shell linux »