GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Laravel 9 su Ubuntu 22.04

Laravel è un popolare framework di applicazioni web creato per gli sviluppatori PHP. Laravel è noto nella comunità PHP per la sua semplicità come strumenti per la creazione di applicazioni grandi e robuste. Laravel è anche noto per la sua sintassi espressiva ed elegante.

Sin dal suo inizio, Laravel si è evoluto fino a diventare uno dei framework di applicazioni Web più popolari e potenti e molte grandi organizzazioni stanno iniziando a realizzare il potenziale di questo framework e hanno iniziato ad adottarlo.

In questo tutorial ti guideremo a configurare Laravel in Ubuntu 22.04.

Iniziamo con la configurazione.

1 Prerequisiti

  • Sistema operativo Ubuntu 22.04
  • Versione PHP minima di 8.0.
  • Sarebbe meglio se il tuo server avesse almeno 2 GB di RAM

2 Aggiornamento del sistema

Per prima cosa aggiorniamo il nostro sistema.

sudo apt update -y && apt upgrade -y

3 Installazione di estensioni PHP ed PHP

La versione predefinita di PHP nel repository di Ubuntu 22.04 è PHP 8.1, quindi possiamo procedere con l'installazione di PHP senza aggiungere repository.

sudo apt-get install php php-fpm libapache2-mod-php php-dev php-zip php-curl php-pear php-mbstring php-mysql php-gd php-xml curl -y

Verifica la versione PHP:

php -v


Output:

PHP 8.1.2 (cli) (built: Jul 21 2022 12:10:37) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies

4 Installazione e configurazione del database

In questa configurazione utilizzeremo MariaDB come sistema di gestione del database, ma puoi scegliere qualsiasi sistema di gestione del database supportato da Laravel come SQLite, MySQL, Postgres e SQL Server.

Installiamo MariaDB.

sudo apt install mariadb-server

Abilita e avvia MariaDB.

sudo systemctl enable mariadb --now

Controlla lo stato di MariaDB.

sudo systemctl status mariadb

Output:
● mariadb.service - MariaDB 10.6.7 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-09-03 12:32:57 EDT; 2min 13s ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 123075 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 9 (limit: 9456)
     Memory: 57.2M
        CPU: 425ms
     CGroup: /system.slice/mariadb.service
             └─123075 /usr/sbin/mariadbd

Proteggiamo il database MariaDB.

sudo mysql_secure_installation

Segui la guida all'implementazione del server MariaDB:

Securing the MySQL server deployment.

Enter password for user root:
The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.

Estimated strength of the password: 50
Change the password for root ? ((Press y|Y for Yes, any other key for No) : N

 ... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.

All done!

Ora riavvia MariaDB.

sudo systemctl restart mariadb

Ora creiamo un database e un utente di database per la nostra applicazione Laravel.

mysql -u root -p
MariaDB [(none)]> create database laravel;
MariaDB [(none)]> grant all privileges on laravel.* to 'laravel_user'@'localhost' identified by 'your_secure_password';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Nota: Non dimenticare di modificare "your_secure_password ‘ alla tua password.

5 Installazione di Composer

Composer è un gestore di pacchetti di dipendenze a livello di applicazione per PHP che fornisce un formato standard per la gestione delle dipendenze del software PHP e delle librerie richieste. Il compositore è necessario in Laravel per gestire facilmente il pacchetto e le dipendenze di Laravel.

Installiamo il compositore.

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

Verifica l'installazione.

composer --version

Output:

Composer version 2.4.1 2022-08-20 11:44:50

6 Installazione di Laravel Framework

Prima di iniziare con l'installazione cambiamo directory.

cd /var/www/

Scarica l'applicazione Laravel. Al momento della stesura di questo articolo, l'ultima versione di Laravel è la 9, quindi possiamo scaricare Laravel 9 direttamente senza specificare la versione.

sudo composer create-project laravel/laravel mylara-app --prefer-dist

Output se installato correttamente:


79 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force

   INFO  No publishable resources for tag [laravel-assets].

No security vulnerability advisories found
> @php artisan key:generate --ansi

   INFO  Application key set successfully.

Per verificare la versione vai all'interno della directory di Laravel:

cd mylara-app
php artisan --version

output:
Laravel Framework 9.28.0

Nota: se vuoi installare una versione specifica puoi eseguire questo comando (l'esempio di seguito installerà la versione 8):

sudo compositore create-project laravel/laravel lara8-app “8.*” –prefer-dist

Imposta la proprietà su www-data.

sudo chown -R www-data:www-data /var/www/mylara-app

Imposta tutte le directory sull'autorizzazione 755.

sudo find /var/www/mylara-app/ -type d -exec chmod 755 {} \;

Imposta tutti i file sull'autorizzazione 644.

sudo find /var/www/mylara-app/ -type f -exec chmod 644 {} \;

Verifica l'applicazione eseguendo il server di sviluppo.

php artisan serve --host=0.0.0.0

Output:

INFO  Server running on [http://0.0.0.0:8000].

  Press Ctrl+C to stop the server

Dovresti essere in grado di accedere al tuo server di sviluppo Laravel all'indirizzo http://ipaddress:8000 .

7 Configurazione produzione Laravel

Server Web Apache :

sudo apt install apache2

Abilita e avvia Apache.

systemctl enable apache2 --now

Crea un host virtuale.

sudo nano /etc/apache2/sites-available/laravel.conf

Aggiungi quanto segue:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/mylara-app/public
     ServerName domain.com www.domain.com


     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

     <Directory /var/www/laravel/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
     </Directory>

</VirtualHost>

Nota:non dimenticare di modificare il dominio  nella direttiva ServerName.

Salva il file ed esci.

Abilita l'host virtuale che abbiamo creato.

sudo a2ensite laravel.conf

Abilita anche Apache mod_rewrite.

sudo a2enmod rewrite

Riavvia il server web Apache.

sudo systemctl restart apache2

Server web Nginx :

Per prima cosa installiamo Nginx.

sudo apt install nginx -y

Abilita e avvia Nginx.

sudo systemctl enable nginx --now

Crea un blocco server.

sudo nano /etc/nginx/sites-available/laravel.conf

Aggiungi quanto segue:

server {
        server_name domain.com www.domain.com;

    access_log   /var/log/nginx/domain.com.access.log;
    error_log    /var/log/nginx/domain.com.error.log;

        root /var/www/mylara-app/public;
        index index.php;

        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ \.php$ {
      fastcgi_pass unix:/run/php/php-fpm.sock;
      include         fastcgi_params;
      fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
      fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
        }
}

Nota: Non dimenticare di modificare il "dominio.com “.

Salva il file ed esci.

Abilitiamo il file di configurazione Nginx (blocco server).

sudo ln -s /etc/nginx/sites-available/laravel.conf /etc/nginx/sites-enabled/

Riavvia Nginx.

sudo systemctl restart nginx

8 Accesso alla tua app Laravel

Dopo aver impostato correttamente la produzione, dovresti essere in grado di accedere alla tua app Laravel con il tuo dominio su http://domain.com .

9 Conclusione

Hai imparato a configurare Laravel 9 su Ubuntu 22.04 con Nginx o il server web Apache.

Se desideri installare il certificato SSL per proteggere il tuo sito web, puoi consultare il nostro articolo su Let's Encrypt.


Ubuntu
  1. Come installare PHP su Ubuntu 18.04

  2. Come installare MariaDB su Ubuntu 18.04

  3. Come installare Laravel su Ubuntu 18.04

  4. Come installare PHP 8.0 su Ubuntu 20.04 / Ubuntu 18.04

  5. Come installare PHP 7.2 su Ubuntu 16.04

Come installare MariaDB su Ubuntu 16.04

Come installare Laravel su Ubuntu 16.04

Come installare PHP 8.0 su Ubuntu 20.04 / 18.04

Come installare PHP in Ubuntu 22.04

Come installare MariaDB su Ubuntu

Come installare PHP su Ubuntu 22.04