Instalación y Configuración de Laravel v11 en Ubuntu Server 22.04

Claro, aquí tienes la guía para instalar y configurar un proyecto Laravel v11 llamado "administracio" en Ubuntu Server 22.04 con PHP 8.3, formateado con Tailwind CSS para una mejor presentación.

Para instalar y configurar un proyecto Laravel v11 llamado "administracio" en un servidor Ubuntu Server 22.04 con PHP 8.3, sigue los siguientes pasos:

1. Actualizar el sistema

sudo apt update
sudo apt upgrade -y

2. Instalar dependencias necesarias

sudo apt install -y curl git unzip

3. Instalar Composer

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

4. Configurar PHP

Asegúrate de que PHP 8.3 esté instalado. Si no lo está, instala PHP 8.3 y las extensiones necesarias:

sudo apt install -y php8.3 php8.3-cli php8.3-fpm php8.3-mysql php8.3-xml php8.3-mbstring php8.3-curl php8.3-zip

5. Instalar Laravel

Primero, navega al directorio donde quieres crear tu proyecto Laravel:

cd /var/www

Luego, usa Composer para crear el proyecto Laravel:

sudo composer create-project --prefer-dist laravel/laravel="11.*" administracio

6. Configurar permisos

Configura los permisos para que el servidor web (Apache o Nginx) pueda acceder a los archivos:

sudo chown -R www-data:www-data /var/www/administracio
sudo chmod -R 755 /var/www/administracio

7. Configurar el servidor web

Apache

Si estás usando Apache, crea un archivo de configuración para tu sitio:

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

Agrega lo siguiente al archivo:

<VirtualHost *:80>
    ServerName 192.168.1.129
    DocumentRoot /var/www/administracio/public

    <Directory /var/www/administracio>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    <Directory /var/www/administracio/public>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/administracio_error.log
    CustomLog ${APACHE_LOG_DIR}/administracio_access.log combined
</VirtualHost>

Habilita el sitio y reinicia Apache:

sudo a2ensite administracio.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

Nginx

Si estás usando Nginx, crea un archivo de configuración para tu sitio:

sudo nano /etc/nginx/sites-available/administracio

Agrega lo siguiente al archivo:

server {
    listen 80;
    server_name 192.168.1.129;

    root /var/www/administracio/public;
    index index.php index.html index.htm;

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

Habilita el sitio y reinicia Nginx:

sudo ln -s /etc/nginx/sites-available/administracio /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

8. Configurar el archivo .env

Navega al directorio del proyecto y copia el archivo .env.example a .env:

cd /var/www/administracio
cp .env.example .env

Genera la clave de la aplicación:

sudo php artisan key:generate

Edita el archivo .env para configurar la base de datos y otras opciones necesarias:

sudo nano .env

9. Configurar la base de datos

Crea una base de datos para tu proyecto Laravel. Accede a MySQL:

mysql -u root -p

Dentro de MySQL, ejecuta los siguientes comandos:

CREATE DATABASE administracio;
GRANT ALL PRIVILEGES ON administracio.* TO 'tu_usuario'@'localhost' IDENTIFIED BY 'tu_contraseña';
FLUSH PRIVILEGES;
EXIT;

Configura las credenciales de la base de datos en el archivo .env:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=administracio
DB_USERNAME=tu_usuario
DB_PASSWORD=tu_contraseña

10. Migrar la base de datos

Ejecuta las migraciones para configurar las tablas de la base de datos:

sudo php artisan migrate

11. Acceder al proyecto

Abre tu navegador y navega a http://192.168.1.129. Deberías ver la página de bienvenida de Laravel.

Con estos pasos, habrás instalado y configurado un proyecto Laravel v11 llamado "administracio" en tu servidor Ubuntu 22.04 con PHP 8.3.