GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie Laravel 9 auf Ubuntu 22.04

Laravel ist ein beliebtes Webanwendungs-Framework, das für PHP-Entwickler entwickelt wurde. Laravel ist in der PHP-Community für seine Einfachheit als Werkzeug zum Erstellen großer und robuster Anwendungen bekannt. Laravel ist auch für seine ausdrucksstarke und elegante Syntax bekannt.

Seit seiner Einführung hat sich Laravel zu einem der beliebtesten und leistungsstärksten Frameworks für Webanwendungen entwickelt, und viele große Organisationen beginnen, das Potenzial dieses Frameworks zu erkennen und beginnen, es zu übernehmen.

In diesem Tutorial führen wir Sie durch die Einrichtung von Laravel in Ubuntu 22.04.

Beginnen wir mit der Einrichtung.

1 Voraussetzungen

  • Betriebssystem Ubuntu 22.04
  • Mindest-PHP-Version 8.0.
  • Es wäre besser, wenn Ihr Server über mindestens 2 GB RAM verfügt

2 Aktualisieren des Systems

Lassen Sie uns zuerst unser System aktualisieren.

sudo apt update -y && apt upgrade -y

3 Installation von PHP und PHP-Erweiterungen

Die Standardversion von PHP im Ubuntu 22.04-Repository ist PHP 8.1, sodass wir mit der PHP-Installation fortfahren können, ohne Repositories hinzuzufügen.

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

Überprüfen Sie die PHP-Version:

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 Datenbankinstallation und -konfiguration

In diesem Setup verwenden wir MariaDB als unser Datenbankverwaltungssystem, aber Sie können jedes Datenbankverwaltungssystem auswählen, das Laravel unterstützt, wie SQLite, MySQL, Postgres und SQL Server.

Lassen Sie uns MariaDB installieren.

sudo apt install mariadb-server

Aktivieren und starten Sie MariaDB.

sudo systemctl enable mariadb --now

Überprüfen Sie den MariaDB-Status.

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

Lassen Sie uns die MariaDB-Datenbank sichern.

sudo mysql_secure_installation

Befolgen Sie die Bereitstellungsanleitung für den MariaDB-Server:

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!

Starten Sie jetzt MariaDB neu.

sudo systemctl restart mariadb

Lassen Sie uns nun eine Datenbank und einen Datenbankbenutzer für unsere Laravel-Anwendung erstellen.

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;

Hinweis: Bitte vergessen Sie nicht, „Ihr_sicheres_Passwort“ zu ändern ‘ zu Ihrem eigenen Passwort.

5 Composer installieren

Composer ist ein Manager für Abhängigkeitspakete auf Anwendungsebene für PHP, der ein Standardformat zum Verwalten von Abhängigkeiten von PHP-Software und erforderlichen Bibliotheken bereitstellt. Composer ist in Laravel erforderlich, um das Laravel-Paket und die Abhängigkeiten einfach zu verwalten.

Lassen Sie uns Composer installieren.

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

Überprüfen Sie die Installation.

composer --version

Output:

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

6 Installieren des Laravel-Frameworks

Bevor wir mit der Installation beginnen, wechseln wir das Verzeichnis.

cd /var/www/

Laden Sie die Laravel-Anwendung herunter. Zum jetzigen Zeitpunkt ist die neueste Laravel-Version 9, sodass wir Laravel 9 direkt herunterladen können, ohne die Version anzugeben.

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

Ausgabe bei erfolgreicher Installation:


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.

Um die Version zu überprüfen, gehen Sie in das Laravel-Verzeichnis:

cd mylara-app
php artisan --version

output:
Laravel Framework 9.28.0

Hinweis: Wenn Sie eine bestimmte Version installieren möchten, können Sie diesen Befehl ausführen (das folgende Beispiel installiert Version 8):

sudo composer create-project laravel/laravel lara8-app „8.*“ –prefer-dist

Setzen Sie den Besitz auf www-data.

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

Setzen Sie alle Verzeichnisse auf 755-Berechtigung.

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

Setzen Sie alle Dateien auf die Berechtigung 644.

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

Überprüfen Sie die Anwendung, indem Sie den Entwicklungsserver ausführen.

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

Sie sollten auf Ihren Laravel-Entwicklungsserver unter http://ipaddress:8000 zugreifen können .

7 Einrichtung der Laravel-Produktion

Apache-Webserver :

sudo apt install apache2

Aktivieren und starten Sie Apache.

systemctl enable apache2 --now

Erstellen Sie einen virtuellen Host.

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

Fügen Sie Folgendes hinzu:

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

Hinweis:Vergessen Sie nicht, die Domain  zu ändern in der ServerName-Direktive.

Speichern Sie die Datei und beenden Sie sie.

Aktivieren Sie den von uns erstellten virtuellen Host.

sudo a2ensite laravel.conf

Aktivieren Sie außerdem Apache mod_rewrite.

sudo a2enmod rewrite

Starten Sie den Apache-Webserver neu.

sudo systemctl restart apache2

Nginx-Webserver :

Lassen Sie uns zuerst Nginx installieren.

sudo apt install nginx -y

Nginx aktivieren und starten.

sudo systemctl enable nginx --now

Erstellen Sie einen Serverblock.

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

Fügen Sie Folgendes hinzu:

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

Hinweis: Bitte vergessen Sie nicht, die „domain.com“ zu ändern „.

Speichern Sie die Datei und beenden Sie sie.

Lassen Sie uns die Nginx-Konfigurationsdatei (Serverblock) aktivieren.

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

Starten Sie Nginx neu.

sudo systemctl restart nginx

8 Zugriff auf Ihre Laravel-App

Nachdem Sie die Produktion erfolgreich eingerichtet haben, sollten Sie mit Ihrer Domain unter http://domain.com auf Ihre Laravel-App zugreifen können .

9 Fazit

Sie haben gelernt, Laravel 9 auf Ubuntu 22.04 mit Nginx- oder Apache-Webserver einzurichten.

Wenn Sie ein SSL-Zertifikat installieren möchten, um Ihre Website zu sichern, sollten Sie unseren Artikel über Let’s Encrypt lesen.


Ubuntu
  1. So installieren Sie PHP unter Ubuntu 18.04

  2. So installieren Sie MariaDB unter Ubuntu 18.04

  3. So installieren Sie Laravel unter Ubuntu 18.04

  4. So installieren Sie PHP 8.0 unter Ubuntu 20.04 / Ubuntu 18.04

  5. So installieren Sie PHP 7.2 auf Ubuntu 16.04

So installieren Sie MariaDB unter Ubuntu 16.04

So installieren Sie Laravel unter Ubuntu 16.04

So installieren Sie PHP 8.0 unter Ubuntu 20.04 / 18.04

So installieren Sie PHP unter Ubuntu 22.04

So installieren Sie MariaDB auf Ubuntu

So installieren Sie PHP unter Ubuntu 22.04