Como instalar o Laravel Php Framework com Nginx no CentOS 8

- 3749
- 1161
- Randal Kuhlman
Laravel é uma estrutura da web de código aberto, bem conhecido e moderno, com sintaxe expressiva, elegante e fácil de entender, o que facilita a criação de aplicativos da Web grandes e robustos.
Seus principais recursos incluem um mecanismo de roteamento simples e rápido, um poderoso recipiente de injeção de dependência, vários back-end-ends para armazenamento de sessão e cache, banco de dados expressivo e intuitivo ORM (mapeamento de objetos-relatórios), processamento de trabalho robusto e transmissão em tempo real em tempo real.
Além disso, ele usa ferramentas como Compositor - um gerente de pacotes PHP para gerenciar dependências e Artesão - Uma interface da linha de comando para criar e gerenciar aplicativos da Web.
Neste artigo, você aprenderá como instalar a versão mais recente do Laravel Php estrutura da web em CENTOS 8 Distribuição Linux.
Requisitos do servidor
O Laravel A estrutura tem os seguintes requisitos:
- Php> = 7.2.5 Com estas extensões PHP OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype e JSON.
- Compositor - Para instalar e gerenciar dependências.
Etapa 1: Instalando a pilha Lemp no CentOS 8
1. Para começar, atualize os pacotes de software do sistema e instale Lemp pilha (Linux, Nginx, Mariadb / mysql, e Php) usando os seguintes comandos DNF.
# dnf update # dnf install nginx php php-fpm php-common common php-xml php-mbstring php-json php-zip mariadb-server php-mysqlnd
2. Quando o Lemp A instalação está completa, você precisa iniciar o Php-pfm, Nginx e Mariadb Serviços usando os seguintes comandos SystemCTL.
# SystemCtl Iniciar php-fpm nginx mariadb # SystemCtl Ativar php-fpm nginx mariadb # Systemctl status php-fpm nginx mariadb
3. Em seguida, você precisa proteger e endurecer o Mariadb mecanismo de banco de dados usando o script de segurança como mostrado.
# mysql_secure_installation
Responda às seguintes perguntas para proteger a instalação do servidor.
Digite a senha atual para root (digite para nenhum):Digitar
Defina senha raiz? [S/N]y
#set nova senha root Remova usuários anônimos? [S/N]y
Proibir o login de raiz remotamente? [S/N]y
Remova o banco de dados de teste e o acesso a ele? [S/N]y
Recarregue as tabelas de privilégio agora? [S/N]y
4. Se você tem o Firewalld Serviço em execução, você precisa abrir o Http e Https Serviço no firewall para ativar as solicitações do cliente ao servidor da Web Nginx.
# firewall-cmd-zone = public --permanent --add-service = http # firewall-cmd --zone = public --permanent --add-service = https # firewall-cmd--reload
5. Finalmente, você pode confirmar que seu Lemp A pilha está funcionando usando um navegador no endereço IP do seu sistema.
http: // server-ip

Etapa 2: Configurando e protegendo o PHP-FPM e NGINX
6. Para processar solicitações do Nginx servidor web, PHP-FPM pode ouvir em um soquete Unix ou soquete TCP e isso é definido pelo ouvir parâmetro no /etc/php-fpm.d/www.conf arquivo de configuração.
# vi /etc /php-fpm.d/www.conf
Por padrão, é configurado para ouvir em um soquete Unix, como mostrado na captura de tela a seguir. O valor aqui será especificado no arquivo de bloco do servidor nginx posteriormente.

7. Se estiver usando um soquete Unix, você também deve definir a propriedade e as permissões corretas, como mostrado na captura de tela. Descomment os seguintes parâmetros e defina seus valores para o usuário e o grupo para corresponder ao usuário e ao grupo Nginx está funcionando como.
ouvir.proprietário = nginx ouça.grupo = nginx ouça.modo = 066

8. Em seguida, também defina o fuso horário em todo o sistema no /etc/php.ini arquivo de configuração.
# vi /etc /php.ini
Procure a linha ";data.fuso horário"
e descompor -o e defina seu valor como mostrado na captura de tela (use valores que se aplicam à sua região/continente e país).
data.fuso horário = África/Kampala

9. Para mitigar o risco de Nginx Passando solicitações de usuários maliciosos que usam outras extensões para executar o código PHP para php-fpm, não dominar o seguinte parâmetro e definir seu valor para 0
.
CGI.FIX_PATHINFO = 1

10. Em relação ao ponto anterior, também descomentar o seguinte parâmetro no /etc/php-fpm.d/www.conf arquivo. Leia o comentário para obter mais explicação.
segurança.limite_extensions = .php .php3 .Php4 .Php5 .Php7

Etapa 3: Instalando o compositor e a estrutura de php do Laravel
11. Em seguida, instale o Compositor pacote executando os seguintes comandos. O primeiro comando baixar o instalador e depois o executa usando PHP.
# CURL -SS https: // getcomposer.org/instalador | compositor php # mv.phar/usr/local/bin/compositor # chmod +x/usr/local/bin/compositor

12. Agora isso Compositor está instalado, use -o para instalar arquivos e dependências Laravel da seguinte forma. Substituir meu site.com Com o nome do diretório em que os arquivos do Laravel serão armazenados, o caminho absoluto (ou caminho raiz no arquivo de configuração nginx) será /var/www/html/mysite.com.
# cd/var/www/html/ # compositor create-project-prefer-dist laravel/laravel mysite.com

Se tudo correr bem durante o processo, o aplicativo deve ser instalado com sucesso e uma chave deve ser gerada como mostrado na captura de tela a seguir.

13. Durante o processo de instalação, o .Env
O arquivo de ambiente foi criado e o aplicativo necessário também foi gerado, para que você não precise criá -los manualmente como antes. Para confirmar isso, execute uma longa listagem do diretório raiz de Laravel usando o comando ls.
# ls -la mysite.coma

14. Em seguida, você precisa configurar a propriedade e as permissões corretas no armazenar e a Bootstrap/cache diretórios para serem graváveis pelo servidor da Web Nginx.
# chown -r: nginx/var/www/html/mysite.com/armazenamento/ # chown -r: nginx/var/www/html/mysite.com/bootstrap/cache/ # chmod -r 0777/var/www/html/mysite.com/armazenamento/ # chmod -r 0775/var/www/html/mysite.com/bootstrap/cache/
15. Se Selinux ativado em seu servidor, você também deve atualizar o contexto de segurança do armazenar e Bootstrap/cache diretórios.
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/armazenamento (//.*)?' # semanage fcontext -a -t httpd_sys_rw_content_t'/var/www/html/mysite.com/bootstrap/cache (/.*)?' # RestoreCon -rv'/var/www/html/mysite.com '
Etapa 4: Configure o bloco do servidor nginx para Laravel
16. Para Nginx Para começar a servir seu site ou aplicativo, você precisa criar um bloco de servidor para ele em um .conf
arquivo abaixo /etc/nginx/conf.d/ diretório como mostrado.
# vi/etc/nginx/conf.d/mysite.com.conf
Copie e cole a seguinte configuração no arquivo. Tome nota da raiz e fastcgi_pass parâmetros.
servidor ouça 80; server_name mysite.com; raiz/var/www/html/mysite.com/público; ÍNDICE ÍNDICE.php; CHARSET UTF-8; gzip on; gzip_types text/css aplicativo/javascript text/javascript Application/x-javascript imagem/svg+xml text/texto simples/text/xsd text/xsl/xml imagem/x-icon; Localização / Try_files $ URI $ URI / / ÍNDICE.php?$ query_string; localização ~ \.php inclua fastcgi.conf; fastcgi_split_path_info ^(.+\.php) (//.+) $; fastcgi_pass unix:/run/php-fpm/www.meia; localização ~ /\.ht negar tudo;
17. Salve o arquivo e verifique se o Nginx A sintaxe de configuração está correta executando.
# nginx -t

18. Em seguida, reinicie o PHP-FPM e Nginx Serviços para as mudanças recentes para entrar em vigor.
# SystemCtl Restart php-fpm # SystemCtl Restart nginx
Etapa 5: Acessando o site do Laravel em um navegador da web
19. Para acessar o site do Laravel em meu site.com, que não é um nome de domínio totalmente qualificado (FQDN) e não é registrado (é usado apenas para fins de teste), usaremos o /etc/hosts Arquivo em sua máquina local para criar DNS local.
Execute o seguinte comando para adicionar o endereço IP do servidor e o domínio no arquivo necessário (substitua o valor de acordo com suas configurações).
# IP Adicionar #get servidor remoto IP $ echo "10.42.0.21 mysite.com "| sudo tee -a /etc /hosts

20. Em seguida, abra um navegador da web na máquina local e use o seguinte endereço para navegar.
http: // mysite.com

Você implantou com sucesso Laravel sobre CENTOS 8. Agora você pode começar a desenvolver seu site ou aplicativo da web usando Laravel. Para mais informações, consulte o Guia de Iniciações do Laravel.