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.