Instalar Laravel en hosting compartido: guía completa
Instalar Laravel en hosting compartido: guía completa
Laravel es el framework PHP más popular y funciona muy bien en hosting compartido. En esta guía aprenderás a instalar y configurar Laravel y a dejarlo listo para producción en el hosting de Theory7.
Requisitos de Laravel
Antes de empezar, comprueba que tu hosting cumple los requisitos.
Requisitos de PHP
Laravel 11 requiere:
- PHP 8.2 o superior
- BCMath PHP Extension
- Ctype PHP Extension
- Fileinfo PHP Extension
- JSON PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PDO PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension En el hosting de Theory7, todas las extensiones necesarias están disponibles de forma predeterminada.
Otros requisitos
- Acceso SSH (para Composer)
- Base de datos MySQL o MariaDB
- Espacio en disco suficiente (como mínimo 100MB)
- Composer disponible desde la línea de comandos
Activar el acceso SSH
Para instalar Laravel necesitas acceso SSH.
Activar SSH en DirectAdmin
- Inicia sesión en DirectAdmin
- Ve a Account Manager
- Haz clic en SSH Keys
- Genera o sube tu clave SSH
- Activa el acceso SSH Consulta también: activar el acceso SSH
Conectarse
ssh gebruikersnaam@example.nl
# O con puerto:
ssh -p 7777 gebruikersnaam@server.theory7.net
Instalar Laravel con Composer
Ahora ya puedes instalar Laravel.
Ir a la carpeta correcta
# Ve a la carpeta de tu dominio
cd ~/domains/example.nl
Crear el proyecto de Laravel
Instala Laravel en un subdirectorio:
# Crea un proyecto Laravel nuevo
composer create-project laravel/laravel project
# Esto crea una carpeta 'project' con Laravel
O directamente en la carpeta actual:
# En una carpeta vacía
composer create-project laravel/laravel .
Verificar la instalación
# Comprueba la versión de Laravel
cd project
php artisan --version
# Salida: Laravel Framework 11.x.x
Configurar la raíz de documentos
El hosting compartido requiere una configuración especial para Laravel.
Crear el enlace simbólico public_html
La carpeta public de Laravel debe ser la raíz de documentos:
# Elimina o renombra el public_html antiguo
cd ~/domains/example.nl
mv public_html public_html_backup
# Crea un enlace simbólico a la carpeta public de Laravel
ln -s project/public public_html
Alternativa: .htaccess en la raíz
Si los enlaces simbólicos no funcionan:
# En el .htaccess de la raíz
RewriteEngine On
RewriteRule ^(.*)$ project/public/$1 [L]
Configurar la base de datos
Laravel necesita una base de datos.
Crear la base de datos en DirectAdmin
- Ve a Account Manager y después a MySQL Management
- Haz clic en Create new Database
- Elige un nombre y una contraseña
- Anota los datos
Configurar el archivo .env
Edita el archivo .env:
cd ~/domains/example.nl/project
nano .env
Ajusta la configuración de la base de datos:
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=jouw_database_naam
DB_USERNAME=jouw_database_user
DB_PASSWORD=jouw_database_wachtwoord
Configurar la aplicación
Establece la configuración básica.
Generar la clave de la aplicación
php artisan key:generate
Esto genera una clave de cifrado única en .env.
Ajustes de producción
Adapta .env para producción:
APP_NAME="Mijn Laravel App"
APP_ENV=production
APP_DEBUG=false
APP_URL=https://example.nl
LOG_CHANNEL=daily
LOG_LEVEL=error
Ajustes de caché
Optimiza para producción:
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_CONNECTION=database
Configurar la carpeta storage
Laravel necesita permisos de escritura en la carpeta storage.
Crear el enlace de storage
php artisan storage:link
Esto crea un enlace simbólico de public/storage a storage/app/public.
Establecer los permisos
# Asegúrate de que storage tenga permisos de escritura
chmod -R 775 storage
chmod -R 775 bootstrap/cache
Ejecutar las migraciones
Crea las tablas de la base de datos:
# Ejecuta las migraciones
php artisan migrate
# Con seeding (si está disponible)
php artisan migrate --seed
Optimización para producción
Optimiza Laravel para ganar velocidad.
Caché de configuración
php artisan config:cache
Esto guarda en caché toda la configuración en un único archivo.
Caché de rutas
php artisan route:cache
Acelera notablemente la resolución de rutas.
Caché de vistas
php artisan view:cache
Precompila todas las plantillas Blade.
Optimización del autoloader
composer install --optimize-autoloader --no-dev
Todo de una vez
php artisan optimize
Configurar la tarea cron
El programador de Laravel necesita una tarea cron:
- Ve a DirectAdmin
- Ve a Advanced Features y después a Cron Jobs
- Añade una tarea cron:
* * * * * cd ~/domains/example.nl/project && php artisan schedule:run >> /dev/null 2>&1
Problemas frecuentes
Error 500 después de la instalación
- Comprueba que existe .env
- Genera la clave de la aplicación:
php artisan key:generate - Comprueba los permisos de storage
El enlace de storage no funciona
# Elimina el enlace antiguo
rm -f public/storage
# Vuelve a crearlo
php artisan storage:link
Error de memoria de Composer
# Aumenta el límite de memoria
php -d memory_limit=512M /usr/local/bin/composer install
Página en blanco sin mensaje de error
- Activa temporalmente la depuración:
APP_DEBUG=true - Consulta el error
- Vuelve a desactivar la depuración
Ejecutar actualizaciones
Mantén Laravel actualizado:
# Actualiza las dependencias
composer update
# Ejecuta las migraciones nuevas
php artisan migrate
# Vacía y regenera la caché
php artisan optimize:clear
php artisan optimize
¿Necesitas ayuda?
Estamos a tu disposición. ¿Te has atascado con algo o tienes alguna pregunta? Nuestro equipo de soporte te ayuda con gusto de forma personal. Envíanos un mensaje a través del sistema de tickets: normalmente respondemos en unas horas y buscamos la solución contigo.
¿Buscas hosting WordPress? Consulta nuestra oferta.
A 0 de 0 personas les ha resultado útil