Presumindo que você tem acesso SSH do seu Ubuntu ao terminal do servidor que vai rodar o laravel vamos ao que interessa:
Apache
sudo apt update
-y
sudo apt install apache2
-y
sudo systemctl status apache2
As vezes acontece do WSL (caso esteja usando) dê erro em usar systemctl por ter algo mais core no sistema, para isso use sudo service apache2 status…
PHP 8.1
sudo apt install software-properties-common
-y
sudo add-apt-repository ppa:ondrej/php
sudo apt install php8.1 libapache2-mod-php8.1
-y
sudo systemctl restart apache2
Se houver problema no restart do apache com systemctl use sudo service apache2 restart
Dependências do PHP Necessárias para o Laravel
sudo apt install php8.1-common
php8.1-bcmath
php8.1-curl
php8.1-dom
php8.1-mbstring
php8.1-zip
Deixando Composer no Estilo…
sudo php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
sudo php -r “if (hash_file(‘sha384’, ‘composer-setup.php’) === ’55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae’) { echo ‘Installer verified’; } else { echo ‘Installer corrupt’; unlink(‘composer-setup.php’); } echo PHP_EOL;”
sudo php composer-setup.php
sudo php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
Instalando Laravel
Entre na pasta /var/www/html usando o comando:
cd /var/www/html
E para instalar o via compuser:
sudo composer create-project laravel/laravel nomedoprojeto
Aonde nomedoprojeto é o nome que você vai determinar para seu projeto…
Para deixar tudo certo agora precisamos fazer uma alteração no apache para redirecionar o acesso padrão para a pasta public do nosso laravel:
vim /etc/apache2/sites-available/000-default.conf (ou seu editor preferido), PRESSIONE A TECLA “i” para interactive mode no VIM e poder editar…
Dentro desse arquivo mude a linha
DocumentRoot /var/www/html
PARA
DocumentRoot /var/www/NOMEDOPROJETO/public
Tome cuidado com NOMEDOPROJETO, tem que ser o seu!!!
Depois do :
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
Adicione:
<Directory /var/www/NOMEDOPROJETO>
AllowOverride All
</Directory>
Se estiver usando vim pressione “ESC”, depois “:” e escreva “wq!” SEM ASPAS e pressione “ENTER”.
Pronto, deixamos o vhost básico funcional!
Permissões Importantes
Vamos corrigir as permissões com os seguintes comandos:sudo chown -R www-data:www-data /var/www/html/NOMEDOPROJETO
sudo find /var/www/html/NOMEDOPROJETO -type f -exec chmod 644 {} \;
sudo find /var/www/html/NOMEDOPROJETO -type d -exec chmod 755 {} \;
O Laravel usa o modrewrite (para URLS AMIGÁVEIS) para gerenciar rotas por padrão. Ideal é que você ative isso no apache, para isso rode o comando:
sudo a2enmod rewrite
Feito isso rode
sudo service apache2 restart
Pronto!
Se tudo estiver ok, quando você acessar http://localhost a imagem abaixo (ou semelhante) deve aparecer para você:
Uma coisa que irei fazer em complemento a este post é ir dando a vocês um panorama mais forte sobre esse framework (algumas coisas importantes sobre ele), considere isso uma espécie de nano curso introdutório. Ainda hoje devo postar sobre alguns pontos importantes e o poderoso artisan. Até logo <3.