Cada uno puede hacerlo de la manera más conveniente posible, recordar que éstos son ejemplos básicos, se puede tomar el código y mejorarlo, están en todo su derecho hacerlo. Tomar en cuenta la seguridad, las mejores prácticas, etc.
El siguiente artículo está enfocado para desarrolladores web que se están iniciando con laravel, o bien quieran a aprender a configurarlo en entornos de prueba utilizando las siguientes características:
Muchos quizás dirán que por qué ese?, que existen mejores opciones, o X razón, sea cual sea su razón no usarlo, está bien, es su decisión, habrá usuarios o personas que quieran o sientan la curiosidad de utilizarlo o configurarlo, por lo tanto aquí lo dejo.
Además, como ya dije, son entornos desarrollo en modo debug, o development, no pruducción, por lo tanto son fáciles de instalar y mantener, sobre todo si no se cuenta con una infraestructura o hardware de tipo servidor para hacer una instalación más compleja.
XAMPP es una distribución de Apache completamente gratuita y fácil de instalar que contiene MariaDB, PHP y Perl. El paquete de instalación de XAMPP ha sido diseñado para ser increíblemente fácil de instalar y usar.
Es la mejor opción para iniciarse en el desarrollo web con php, bases de datos, etc, en su lugar pueden utilizar otras opción, al final de cuentas, sólo es eso, opciones.
El proceso de instalación lo realicé por separado, así que para que lo puedan revisar, seguir el siguiente post.
https://blog.linuxitos.com/instalar-xampp-8-0-0-fedora-33
Laravel es uno de los frameworks de código abierto más fáciles de asimilar para PHP. Es simple, muy potente y tiene una interfaz elegante y divertida de usar. Fue creado en 2011 y tiene una gran influencia de frameworks como Ruby on Rails, Sinatra y ASP.NET MVC, Codeigniter, entre otros.
Composer es un manejador de paquetes para PHP que proporciona un estándar para administrar, descargar e instalar dependencias y librerías. Similar a NPM en Node.js y Bundler en Ruby, Composer es la solución ideal cuando trabajamos en proyectos complejos que dependen de múltiples fuentes de instalación. En lugar de tener que descargar cada dependencia de forma manual, Composer hace esto de forma automática por nosotros.
Instalar el comando composer y dependencia:
sudo dnf install composer
En éste post, la versión de laravel es la 8, por lo tanto usaremos la última versión disponible en la página oficial. Y realizaremos las siguientes acciones
Recomendaciones:
a) Crear un enlace de la carpeta htdocs de la ruta /opt/lamp/ a la carpeta del personal de fedora con el nombre de www, ésto para facilitar el acceso a los archivos.
sudo ln -s /opt/lampp/htdocs /home/nombre-usuario/www
b) Crear dentro de la carpeta www que ahora está en la carpeta personal un subdirectorio con el nombre devs, o bien algún otro nombre que elijan, y aquí en ésta carpeta estarán todos los directorios de los proyectos que realicen:
sudo mkdir ~/www/devs
c) Es necesario asignar los permisos a los directorios de escritura y asignación de grupo de propietarios, para que el usuario pueda modificar el contenido de las carpetas. Hacerlo de ésta forma, no entrará en conflicto con los permisos requeridos por xampp.
sudo chmod 775 -R ~/www/devs
sudo chown -R daemon:nombre-usuario ~/www/devs
Ahora sí, a crear el proyecto, y recordar que aplicar los permisos correctos en los directorios permitirá tener un control sobre quiénes acceden o modifican dichos archivos, sobre todo ésto es una buena práctica cuando el proyecto está puesto en producción.
La creación de un proyecto es mediante línea de comandos, en éste caso, abrimos la terminal y nos ubicamos en la ruta ~/www/devs
cd ~/www/devs
Una vez ahí, ejecutar el siguiente comando:
composer create-project laravel/laravel laravel-one
En la ruta en la que estamos, se creará un proyecto de nombre laravel-crud-one éste último es el nombre del proyecto, es posible modificarlo más a adelante, así que no pasa nada si se equivocan.
Comenzará la descarga de archivos y dependencias:
Si todo fue bien, ahora en el directorio habrá una carpeta con el proyecto creado.
En el archivo .env se configuran los parámetros del proyecto, como son la url, contraseñas de bases de datos, configuración del mail cuando éste se utilice, las contraseñas y tokens de la app, además, aquí también se indica si el desarrollo está en producción o en desarrollo, eso es algo muy importante de especificar.
Antes de poder modificar dichos archivos, es necesario asignar los permisos a la proyecto creado:
sudo chmod 775 -R ~/www/devs/laravel-crud-one
sudo chown -R daemon:linuxitos laravel-crud-one
Si por alguna razón, éstos permisos están mal, cuando intenten acceder desde el navegador, les marcará error de permisos y no mostrará nada.
Abrir el archivo .env el cual viene oculto dentro de la carpeta del proyecto y modificar algunas opciones, como son el nombre del proyecto, la url, y cuando se requiera, se configurará la base de datos, por ahora sólo el nombre del proyecto, y la url, la cual tendrá la siguiente estructura, considerando que hayan seguido los pasos de éste artículo.
gedit ~/www/devs/laravel-crud-one/.env
APP_NAME=Laravel APP_ENV=local APP_KEY=base64:B5cvxTOnubaRpfawg3xvfVi1PB5Ur/3i+zLdFIFRD7g= APP_DEBUG=true APP_URL=http://localhost/devs/laravel-crud-one/ LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD= BROADCAST_DRIVER=log CACHE_DRIVER=file QUEUE_CONNECTION=sync SESSION_DRIVER=file SESSION_LIFETIME=120 REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_MAILER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=null MAIL_FROM_NAME="${APP_NAME}" AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET= PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_APP_CLUSTER=mt1 MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
Una vez que se haya modificado a la url correcta, ahora procedemos a abrirlo en un navegador http://localhost/devs/laravel-crud-one/ y aparecerá lo siguiente:
Ésto debido a que laravel requiere que iniciemos un servicio llamado artisan que lo incluye en su carpeta, ejecutamos el siguiente comando:
php artisan serve
Y ahora abrir en el navegador la url http://127.0.0.1:8000
Para efectos de desarrollo y pruebas, a veces es molesto estar iniciando y sobre todo, manejar laravel desde la ip del servidor, por lo tanto, lo que se puede hacer es un cambios para poder acceder a la url de manera directa sin tener que lanzar el servicio cada vez que haya cambios.
Copiar los archivos index.php y .htaccess de la carptea public y pegarlos en la raíz del proyecto.
Abrir el archivo index.php y modificar lo siguiente:
make(Kernel::class); $response = tap($kernel->handle( $request = Request::capture() ))->send(); $kernel->terminate($request, $response);Abrir el archivo Config/app.php y modificar la siguiente línea
/*De ésto*/ 'asset_url' => env('ASSET_URL', null), /*A ésto*/ 'asset_url' => "http://localhost/devs/laravel-crud-one/public",
Y ahora abrir directamente la url en el navegador:
Así, aunque ejecuten la ip del servidor, la url, incluso con la opción de public, abrirá el proyecto.
Un punto muy importante es comenzar con las buenas prácticas, por lo que es necesario añadir al final de archivo .htaccess las siguientes instrucciones, las cuales evitan el acceso al archivo .env, claro que esas acciones se deben de prever con mayor seguridad, pero ésto puede ser un buen comienzo.
<Files .env>
order allow,deny
Deny from all
</Files>
Y eso sería todo, en un siguiente post, comenzaré con la configuración a base de datos, vistas, controladores, rutas, etc.
Andrew
hace 1 añoFernando Merino
hace 1 añoFrederick Juárez
hace 2 añosFernando Merino
hace 2 añosFrederick Juárez
hace 2 añosFernando Merino
hace 2 años