GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Laravel 9 na Ubuntu 22.04

Laravel je populární framework pro webové aplikace vytvořený pro vývojáře PHP. Laravel je v komunitě PHP dobře známý pro svou jednoduchost jako nástroje pro vytváření velkých a robustních aplikací. Laravel je také známý svou výraznou a elegantní syntaxí.

Od svého založení se Laravel vyvinul a stal se jedním z nejpopulárnějších a nejvýkonnějších frameworků pro webové aplikace a mnoho velkých organizací si začíná uvědomovat potenciál tohoto frameworku a začíná jej osvojovat.

V tomto tutoriálu vás provedeme nastavením Laravelu v Ubuntu 22.04.

Začněme nastavením.

1 Předpoklady

  • Operační systém Ubuntu 22.04
  • Minimální verze PHP 8.0.
  • Bylo by lepší, kdyby váš server měl alespoň 2 GB RAM

2 Aktualizace systému

Nejprve aktualizujme náš systém.

sudo apt update -y && apt upgrade -y

3 Instalace PHP a rozšíření PHP

Výchozí verze PHP v úložišti Ubuntu 22.04 je PHP 8.1, takže můžeme pokračovat v instalaci PHP bez přidávání repozitářů.

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

Ověřte verzi 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 Instalace a konfigurace databáze

V tomto nastavení použijeme MariaDB jako náš systém správy databází, ale můžete si vybrat jakýkoli systém správy databází, který Laravel podporuje, jako je SQLite, MySQL, Postgres a SQL Server.

Nechte nás nainstalovat MariaDB.

sudo apt install mariadb-server

Povolte a spusťte MariaDB.

sudo systemctl enable mariadb --now

Zkontrolujte stav 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

Zabezpečme databázi MariaDB.

sudo mysql_secure_installation

Postupujte podle průvodce nasazením serveru 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!

Nyní restartujte MariaDB.

sudo systemctl restart mariadb

Nyní vytvoříme databázi a databázového uživatele pro naši aplikaci 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;

Poznámka: Nezapomeňte prosím změnit „vaše_zabezpečené_heslo ‘ na své vlastní heslo.

5 Instalace aplikace Composer

Composer je správce balíčků závislostí na úrovni aplikace pro PHP, který poskytuje standardní formát pro správu závislostí softwaru PHP a požadovaných knihoven. Pro snadnou správu balíčků Laravel a závislostí je v Laravelu vyžadován Composer.

Nechte nás nainstalovat skladatel.

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

Ověřte instalaci.

composer --version

Output:

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

6 Instalace Laravel Framework

Než začneme s instalací, změňme adresář.

cd /var/www/

Stáhněte si aplikaci Laravel. V době psaní tohoto článku je nejnovější verze Laravelu 9, takže si můžeme stáhnout Laravel 9 přímo bez specifikace verze.

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

Výstup v případě úspěšné instalace:


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.

Chcete-li zkontrolovat verzi, přejděte do adresáře Laravel:

cd mylara-app
php artisan --version

output:
Laravel Framework 9.28.0

Poznámka: pokud chcete nainstalovat konkrétní verzi, můžete spustit tento příkaz (ukázka níže nainstaluje verzi 8):

sudo skladatel vytvořit-projekt laravel/laravel lara8-app „8.*“ –prefer-dist

Nastavte vlastnictví na www-data.

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

Nastavte všem adresářům oprávnění 755.

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

Nastavte všem souborům oprávnění 644.

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

Zkontrolujte aplikaci spuštěním vývojového serveru.

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

Měli byste mít přístup k vývojovému serveru Laravel na adrese http://ipaddress:8000 .

7 Nastavení výroby Laravel

Webový server Apache :

sudo apt install apache2

Povolte a spusťte Apache.

systemctl enable apache2 --now

Vytvořte virtuálního hostitele.

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

Přidejte následující:

<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>

Poznámka:Nezapomeňte změnit doménu  v direktivě ServerName.

Uložte soubor a ukončete.

Povolte virtuálního hostitele, který jsme vytvořili.

sudo a2ensite laravel.conf

Povolte také Apache mod_rewrite.

sudo a2enmod rewrite

Restartujte webový server Apache.

sudo systemctl restart apache2

Webový server Nginx :

Nejprve nainstalujme Nginx.

sudo apt install nginx -y

Povolte a spusťte Nginx.

sudo systemctl enable nginx --now

Vytvořte blok serveru.

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

Přidejte následující:

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;
        }
}

Poznámka: Nezapomeňte prosím změnit „doména.com “.

Uložte soubor a ukončete.

Povolme konfigurační soubor Nginx (blok serveru).

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

Restartujte Nginx.

sudo systemctl restart nginx

8 Přístup k vaší aplikaci Laravel

Po úspěšném nastavení produkce byste měli mít přístup k vaší aplikaci Laravel s vaší doménou na http://domena.com .

9 Závěr

Naučili jste se nastavit Laravel 9 na Ubuntu 22.04 s webovým serverem Nginx nebo Apache.

Pokud si chcete nainstalovat SSL certifikát k zabezpečení svého webu, můžete si přečíst náš článek Let’s Encrypt.


Ubuntu
  1. Jak nainstalovat PHP na Ubuntu 18.04

  2. Jak nainstalovat PHP 8.0 na Ubuntu 20.04 / Ubuntu 18.04

  3. Jak nainstalovat PHP 7.2 na Ubuntu 16.04

  1. Jak nainstalovat MariaDB na Ubuntu 18.04

  2. Jak nainstalovat Laravel na Ubuntu 18.04

  3. Jak nainstalovat PHP na Ubuntu 20.04

  1. Jak nainstalovat Laravel na Ubuntu 18.04 s Apache

  2. Jak nainstalovat Laravel PHP Web Framework na Ubuntu 20.04

  3. Jak nainstalovat PHP 8.0 na Ubuntu 20.04