Pesquisa de site

Como instalar o Laravel PHP Web Framework no CentOS


Laravel é um framework PHP poderoso e gratuito, de código aberto, com uma sintaxe expressiva e atraente. Possui uma sintaxe refinada, simples e legível para desenvolver aplicativos modernos, robustos e poderosos desde o início. Além disso, o Laravel fornece diversas ferramentas que você precisa para escrever código PHP limpo, moderno e de fácil manutenção.

Leia também: Como instalar o Laravel PHP Framework no Ubuntu

Principais recursos do Laravel:

  • ORM (Mapeamento Objeto-Relacional) poderoso para trabalhar com seu banco de dados.
  • Mecanismo de roteamento descomplicado e rápido.
  • Contêiner poderoso de injeção de dependência.
  • Fornece uma API unificada em vários back-ends de fila, incluindo Amazon SQS e Redis e muito mais, para armazenamento de sessão e cache.
  • Suporta um mecanismo de autenticação simples.
  • Suporta transmissão de eventos em tempo real.
  • Também oferece suporte a migrações independentes de banco de dados e construtor de esquema.
  • Suporta processamento de trabalhos em segundo plano e muito mais.

Requisitos de sistema

Seu sistema deve atender aos seguintes requisitos para poder rodar a versão mais recente do Laravel:

  • PHP >= 7.1.3 com extensões OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype e JSON PHP.
  • Composer – um gerenciador de pacotes em nível de aplicativo para PHP.

Ambiente de teste:

  1. CentOS 7 com pilha LEMP

Neste artigo, explicaremos como instalar a versão mais recente do Laravel 5.6 PHP Framework em sistemas CentOS, Red Hat, Fedora.

Etapa 1: configurar repositórios Yum

1. Primeiro de tudo, você precisa habilitar os repositórios REMI e EPEL em sua distribuição Linux para ter os pacotes atualizados (PHP<, Nginx, MariaDB, etc.) usando os seguintes comandos

------------- On CentOS/RHEL 7.x ------------- 
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

------------- On CentOS/RHEL 6.x -------------
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

Etapa 2: Instale Nginx, MySQL e PHP

2. Em seguida, precisamos instalar um ambiente LEMP funcional em seu sistema. Se você já tem uma pilha LEMP funcionando, você pode pular esta etapa, se não, instalá-la usando os seguintes comandos.

Instale o Nginx

yum install nginx        [On CentOS/RHEL]

3. Depois que o nginx for instalado, inicie o servidor web e habilite-o para iniciar na inicialização do sistema e verifique o status usando os comandos a seguir.

------------- On CentOS/RHEL 7.x ------------- 
systemctl start nginx
systemctl enable nginx
systemctl status nginx

------------- On CentOS/RHEL 6.x -------------
service nginx start  
chkconfig nginx on
service nginx status

4. Para acessar o nginx da rede pública, você precisa abrir uma porta 80 no firewall do seu sistema para receber solicitações externas, conforme mostrado.

------------- On CentOS/RHEL 7.x -------------
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload 

------------- On CentOS/RHEL 6.x -------------
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
service iptables restart

Instale MySQL

yum install mariadb-server php-mysql
systemctl start mariadb.service
/usr/bin/mysql_secure_installation

Instalar PHP

yum install yum-utils
yum-config-manager --enable remi-php72
yum install php php-fpm php-common php-xml php-mbstring php-json php-zip

5. Em seguida, inicie e ative o serviço PHP-FPM e verifique se ele está instalado e funcionando.

------------- On CentOS/RHEL 7.x ------------- 
systemctl start php-fpm
systemctl enable php-fpm
systemctl status php-fpm

------------- On CentOS/RHEL 6.x -------------
service php-fpm start  
chkconfig php-fpm on
service php-fpm status

Etapa 3: Instale o Composer e o Laravel PHP Framework

6. Agora instale o Composer (gerenciador de dependências para PHP) para instalar as dependências necessárias do Laravel usando os seguintes comandos.

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer

7. Depois de instalar o Composer, você pode instalar o Laravel executando o comando composer create-project, como segue.

cd /var/www/html/
sudo composer create-project --prefer-dist laravel/laravel testsite 

8. Agora, quando você fizer uma longa listagem da raiz do seu documento web, o diretório testsite deverá existir lá, contendo seus arquivos laravel.

ls -l /var/www/html/testsite

Etapa 4: configurar a instalação do Laravel

9. Agora defina as permissões apropriadas no diretório testsite e nos arquivos laravel usando os seguintes comandos.

chmod -R 775 /var/www/html/testsite
chown -R apache.apache /var/www/html/testsite
chmod -R 777 /var/www/html/testsite/storage/

10. Além disso, se você tiver o SELinux habilitado, será necessário atualizar o contexto de segurança dos diretórios de armazenamento e bootstrap/cache usando os comandos a seguir.

semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/bootstrap/cache(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/storage(/.*)?'
restorecon -Rv '/usr/share/nginx/html/testapp'

11. Em seguida, crie um arquivo de ambiente para seu aplicativo, usando o arquivo de amostra fornecido.

cp .env.example .env

12. Em seguida, o Laravel usa uma chave de aplicativo para proteger as sessões do usuário e outros dados criptografados. Portanto, você precisa gerar e definir a chave do seu aplicativo para uma string aleatória usando o seguinte comando.

php artisan key:generate

Etapa 5: configurar o bloco de servidor Nginx para Laravel

13. Nesta etapa, você precisa configurar um bloco de servidor Nginx para testsite, para acessá-lo a partir de um navegador da web. Crie um arquivo .conf para ele no diretório /etc/nginx/conf.d/ conforme mostrado.

vi /etc/nginx/conf.d/testsite.conf

E adicione a seguinte configuração nele (use valores aplicáveis ao seu ambiente, neste exemplo, nosso domínio fictício é testinglaravel.com). Observe que o arquivo de índice laravel está armazenado em /var/www/html/testsite/public, esta será a raiz do seu site/aplicativo.

server {
	listen      80;
	server_name testinglaravel.com;
	root        /var/www/html/testsite/public;
	index       index.php;

	charset utf-8;
	gzip on;
	gzip_types text/css application/javascript text/javascript application/x-javascript 	image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
	location / {
		try_files $uri $uri/ /index.php?$query_string;
	}
	
	location ~ \.php {
		include fastcgi.conf;
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
	}
	location ~ /\.ht {
		deny all;
	}
}

Salve o arquivo e saia. Em seguida, reinicie o servidor web para que as alterações recentes tenham efeito.

systemctl restart nginx

Passo 6: Acesse o site do Laravel

14. Em seguida, se você não tiver um nome de domínio totalmente registrado, será necessário usar o arquivo /etc/hosts para criar um DNS local para fins de teste.

Adicione a seguinte linha em seu arquivo /etc/hosts conforme mostrado (use o endereço IP e domínio do seu sistema em vez de 192.168.43.31 e testinglaravel.com respectivamente).

192.168.43.31  testinglaravel.com

15. Finalmente acesse seu site Laravel a partir de um navegador, usando a seguinte URL.

http://testinglaravel.com
OR
http://your-ip-address

Se você estiver desenvolvendo localmente, poderá empregar o servidor de desenvolvimento integrado do PHP para atender seu aplicativo ou site, como segue. Este comando iniciará um servidor de desenvolvimento em http://localhost:8000 ou http://127.0.0.1:8000. No CentOS/REHL, esta porta deve estar aberta no firewall para você servir sua aplicação desta forma.

php artisan serve

A partir deste ponto, você está pronto para começar a desenvolver seu site. Para configurações adicionais como cache, banco de dados e sessões, você pode acessar a página inicial do Laravel.

Laravel é um framework PHP com uma sintaxe expressiva e bonita para desenvolvimento web prático e moderno. Esperamos que tudo tenha corrido bem durante a instalação, caso contrário, utilize o formulário de comentários abaixo para compartilhar suas dúvidas conosco.