We are currently installing the Laravel application on a virtual server, so as not to do the same work every time, we will take the assembly Web page on Debian 12. This build is specifically designed for fast web applications that require php and mariadb. Download the latest version from the official site, install through the browser. All necessary services are already installed and configured. You can also order a vps server with Laravel pre-installed. You only need to provide a login and password for administration. |
1. Install the latest version of Laravel |
|
1.1 Install phpcomposer and deploy Laravel application
apt update && sudo apt upgrade
apt install curl
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer
cd /var/www/
composer create-project laravel/laravel laravelapp
mv /var/www/laravelapp /var/www/domain.tld
2. Create a database and write in the settings
mariadb -u root
create database laravelapp;
grant all privileges on laravelapp.* to user@localhost identified by 'your-password';
flush privileges;
exit;
3. Web service setup
Assign rights and create a configuration file for our domain:
chown www-data:www-data /var/www/domain.tld/ -R
mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/domain.tld.conf
Configuration file:
/etc/nginx/conf.d/domain.tld.conf
server {
listen 80;
listen [::]:80;
server_name _;
root /var/www/domain.tld/public;
index index.php index.html index.htm index.nginx-debian.html;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
}
location /phpmyadmin {
auth_basic "Admin Login";
auth_basic_user_file /etc/nginx/pma_access;
}
# A long browser cache lifetime can speed up repeat visits to your page
location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
access_log off;
log_not_found off;
expires 360d;
}
# disable access to hidden files
location ~ /\.ht {
access_log off;
log_not_found off;
deny all;
}
}
Change the ftp user's home directory to ours:
/etc/passwd
ftpuser:x:1000:1000:,,,:/var/www/domain.tld:/bin/bash
Let's change the path to phpMyAdmin for our configuration:
ln -s /usr/share/phpmyadmin /var/www/domain.tld/public
Change domain.tld to your already configured in the DNS editor to the ip address of the VPS server. Thus, you can add several sites by analogy. Go to the browser using the configured http://domain.tld/ domain and complete the installation in the browser. You will be prompted to enter an administrator username and password. This completes the installation. In case of site transfer, you can place existing files and import the database.
4. To complete the installation, you must specify a username and password, follow the link:
http:///
Now you can open a link like http://server_ip/ in your browser and test the application.
Laravel installation is complete.