{"id":2959,"date":"2020-12-08T23:53:26","date_gmt":"2020-12-09T05:53:26","guid":{"rendered":"http:\/\/linuxitos.com\/main\/?p=2959"},"modified":"2020-12-08T23:57:04","modified_gmt":"2020-12-09T05:57:04","slug":"laravel-8-php-8-xampp-8","status":"publish","type":"post","link":"https:\/\/linuxitos.com\/main\/laravel-8-php-8-xampp-8\/","title":{"rendered":"Laravel 8 &#038; PHP 8 &#038; XAMPP 8"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"475\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/06\/fc_xampp_laravel-1024x475.png\" alt=\"\" class=\"wp-image-2732\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/06\/fc_xampp_laravel-1024x475.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/06\/fc_xampp_laravel-300x139.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/06\/fc_xampp_laravel-768x357.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/06\/fc_xampp_laravel-1536x713.png 1536w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/06\/fc_xampp_laravel-2048x951.png 2048w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/06\/fc_xampp_laravel-1600x743.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Cada uno puede hacerlo de la manera m\u00e1s conveniente posible, recordar que \u00e9stos son ejemplos b\u00e1sicos, se puede tomar el c\u00f3digo y mejorarlo, est\u00e1n en todo su derecho hacerlo. Tomar en cuenta la seguridad, las mejores pr\u00e1cticas, etc.<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Inicio<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El siguiente art\u00edculo est\u00e1 enfocado para desarrolladores web que se est\u00e1n iniciando con laravel, o bien quieran a aprender a configurarlo en entornos de prueba utilizando las siguientes caracter\u00edsticas:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Distro Linux Fedora 32 como sistema operativo<\/li><li>XAMPP 8.0.0 como servidor web php\/apache<\/li><li>Laravel 8.5.2 como framework de desarrollo php<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Muchos quiz\u00e1s dir\u00e1n que por qu\u00e9 ese?, que existen mejores opciones, o X raz\u00f3n, sea cual sea su raz\u00f3n no usarlo, est\u00e1 bien, es su decisi\u00f3n, habr\u00e1 usuarios o personas que quieran o sientan la curiosidad de utilizarlo o configurarlo, por lo tanto aqu\u00ed lo dejo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adem\u00e1s, como ya dije, son entornos desarrollo en modo debug, o development, no pruducci\u00f3n, por lo tanto son f\u00e1ciles de instalar y mantener, sobre todo si no se cuenta con una infraestructura o hardware de tipo servidor para hacer una instalaci\u00f3n m\u00e1s compleja.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 es XAMPP?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.apachefriends.org\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\">XAMPP<\/a> es una distribuci\u00f3n de Apache completamente gratuita y f\u00e1cil de instalar que contiene MariaDB, PHP y Perl. El paquete de instalaci\u00f3n de XAMPP ha sido dise\u00f1ado para ser incre\u00edblemente f\u00e1cil de instalar y usar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es la mejor opci\u00f3n para iniciarse en el desarrollo web con php, bases de datos, etc, en su lugar pueden utilizar otras opci\u00f3n, al final de cuentas, s\u00f3lo es eso, opciones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El proceso de instalaci\u00f3n lo realic\u00e9 por separado, as\u00ed que para que lo puedan revisar, seguir el siguiente post.<br><a href=\"https:\/\/blog.linuxitos.com\/instalar-xampp-8-0-0-fedora-33\">https:\/\/blog.linuxitos.com\/instalar-xampp-8-0-0-fedora-33<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 es Laravel?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/laravel.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Laravel<\/a> es uno de los frameworks de c\u00f3digo abierto m\u00e1s f\u00e1ciles 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.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Instalaci\u00f3n de composer<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Composer es un manejador de paquetes para PHP que proporciona un est\u00e1ndar para administrar, descargar e instalar dependencias y librer\u00edas. Similar a NPM en Node.js y Bundler en Ruby, Composer es la soluci\u00f3n ideal cuando trabajamos en proyectos complejos que dependen de m\u00faltiples fuentes de instalaci\u00f3n. En lugar de tener que descargar cada dependencia de forma manual, Composer hace esto de forma autom\u00e1tica por nosotros.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instalar el comando composer y dependencia:<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo dnf install composer<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Primer proyecto Laravel 8<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En \u00e9ste post, la versi\u00f3n de laravel es la 8, por lo tanto usaremos la \u00faltima versi\u00f3n disponible en la p\u00e1gina oficial. Y realizaremos las siguientes acciones<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Configurar entorno con xampp<\/li><li>Iniciar proyecto laravel<\/li><li>Configurar arrancado archivos<\/li><li>Configurar URL<\/li><li>Permisos a directorios<\/li><li>Visualizar nuestro primer sitio con laravel<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">1.- Creando proyecto<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-42-30-1024x576.png\" alt=\"\" class=\"wp-image-2966\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-42-30-1024x576.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-42-30-300x169.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-42-30-768x432.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-42-30-1536x864.png 1536w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-42-30-1600x900.png 1600w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-42-30.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Recomendaciones:<br>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, \u00e9sto para facilitar el acceso a los archivos.<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo ln -s \/opt\/lampp\/htdocs \/home\/nombre-usuario\/www<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">b)  Crear dentro de la carpeta www que ahora est\u00e1 en la carpeta personal un subdirectorio con el nombre devs, o bien alg\u00fan otro nombre que elijan, y aqu\u00ed en \u00e9sta carpeta estar\u00e1n todos los directorios de los proyectos que realicen:<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo mkdir ~\/www\/devs<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">c) Es necesario asignar los permisos a los directorios de escritura y asignaci\u00f3n de grupo de propietarios, para que el usuario pueda modificar el contenido de las carpetas. Hacerlo de \u00e9sta forma, no entrar\u00e1 en conflicto con los permisos requeridos por xampp.<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo chmod 775 -R ~\/www\/devs<\/pre>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo chown -R daemon:nombre-usuario ~\/www\/devs<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora s\u00ed, a crear el proyecto, y recordar que aplicar los permisos correctos en los directorios permitir\u00e1 tener un control sobre qui\u00e9nes acceden o modifican dichos archivos, sobre todo \u00e9sto es una buena pr\u00e1ctica cuando el proyecto est\u00e1 puesto en producci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Creaci\u00f3n proyecto Laravel<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La creaci\u00f3n de un proyecto es mediante l\u00ednea de comandos, en \u00e9ste caso, abrimos la terminal y nos ubicamos en la ruta ~\/www\/devs<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">cd ~\/www\/devs<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez ah\u00ed, ejecutar el siguiente comando:<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">composer create-project laravel\/laravel laravel-one<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">En la ruta en la que estamos, se crear\u00e1 un proyecto de nombre laravel-crud-one \u00e9ste \u00faltimo es el nombre del proyecto, es posible modificarlo m\u00e1s a adelante, as\u00ed que no pasa nada si se equivocan.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Comenzar\u00e1 la descarga de archivos y dependencias:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-42-36-1024x576.png\" alt=\"\" class=\"wp-image-2967\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-42-36-1024x576.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-42-36-300x169.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-42-36-768x432.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-42-36-1536x864.png 1536w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-42-36-1600x900.png 1600w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-42-36.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Si todo fue bien, ahora en el directorio habr\u00e1 una carpeta con el proyecto creado.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configurando .env<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En el archivo .env se configuran los par\u00e1metros del proyecto, como son la url, contrase\u00f1as de bases de datos, configuraci\u00f3n del mail cuando \u00e9ste se utilice, las contrase\u00f1as y tokens de la app, adem\u00e1s, aqu\u00ed tambi\u00e9n se indica si el desarrollo est\u00e1 en producci\u00f3n o en desarrollo, eso es algo muy importante de especificar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de poder modificar dichos archivos, es necesario asignar los permisos a la proyecto creado:<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo chmod 775 -R ~\/www\/devs\/laravel-crud-one<\/pre>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">sudo chown -R daemon:linuxitos laravel-crud-one<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si por alguna raz\u00f3n, \u00e9stos permisos est\u00e1n mal, cuando intenten acceder desde el navegador, les marcar\u00e1 error de permisos y no mostrar\u00e1 nada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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\u00e1 la base de datos, por ahora s\u00f3lo el nombre del proyecto, y la url, la cual tendr\u00e1 la siguiente estructura, considerando que hayan seguido los pasos de \u00e9ste art\u00edculo.<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">gedit ~\/www\/devs\/laravel-crud-one\/.env<\/pre>\n\n\n\n<pre style=\"background: rgb(245, 245, 245); border-radius: 4px; border: 1px solid rgb(204, 204, 204); box-shadow: rgb(204, 204, 204) 0px 0px 3px; box-sizing: border-box; color: #262626; font-family: &quot;Courier 10 Pitch&quot;, Courier, monospace; font-size: 1rem; font-stretch: normal; font-style: inherit; font-weight: inherit; line-height: 1.6; margin-bottom: 10px; max-width: 100%; outline: 0px; overflow: auto; padding: 9.5px; tab-size: 4; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; word-break: break-all; word-wrap: break-word;\">APP_NAME=Laravel\nAPP_ENV=local\nAPP_KEY=base64:B5cvxTOnubaRpfawg3xvfVi1PB5Ur\/3i+zLdFIFRD7g=\nAPP_DEBUG=true\nAPP_URL=http:\/\/localhost\/devs\/laravel-crud-one\/\n\nLOG_CHANNEL=stack\n\nDB_CONNECTION=mysql\nDB_HOST=127.0.0.1\nDB_PORT=3306\nDB_DATABASE=laravel\nDB_USERNAME=root\nDB_PASSWORD=\n\nBROADCAST_DRIVER=log\nCACHE_DRIVER=file\nQUEUE_CONNECTION=sync\nSESSION_DRIVER=file\nSESSION_LIFETIME=120\n\nREDIS_HOST=127.0.0.1\nREDIS_PASSWORD=null\nREDIS_PORT=6379\n\nMAIL_MAILER=smtp\nMAIL_HOST=smtp.mailtrap.io\nMAIL_PORT=2525\nMAIL_USERNAME=null\nMAIL_PASSWORD=null\nMAIL_ENCRYPTION=null\nMAIL_FROM_ADDRESS=null\nMAIL_FROM_NAME=\"${APP_NAME}\"\n\nAWS_ACCESS_KEY_ID=\nAWS_SECRET_ACCESS_KEY=\nAWS_DEFAULT_REGION=us-east-1\nAWS_BUCKET=\n\nPUSHER_APP_ID=\nPUSHER_APP_KEY=\nPUSHER_APP_SECRET=\nPUSHER_APP_CLUSTER=mt1\n\nMIX_PUSHER_APP_KEY=\"${PUSHER_APP_KEY}\"\nMIX_PUSHER_APP_CLUSTER=\"${PUSHER_APP_CLUSTER}\"<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Acceso web<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">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\u00e1 lo siguiente:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"560\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/06\/Screenshot-from-2020-06-13-09-09-38-1024x560.png\" alt=\"\" class=\"wp-image-2741\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/06\/Screenshot-from-2020-06-13-09-09-38-1024x560.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/06\/Screenshot-from-2020-06-13-09-09-38-300x164.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/06\/Screenshot-from-2020-06-13-09-09-38-768x420.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/06\/Screenshot-from-2020-06-13-09-09-38.png 1508w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9sto debido a que laravel requiere que iniciemos un servicio llamado artisan que lo incluye en su carpeta, ejecutamos el siguiente comando:<\/p>\n\n\n\n<pre style=\"background: rgb(54, 63, 72); border-radius: 6px; border: 0px; box-sizing: border-box; color: white; font-family: menlo, monaco, monospace; font-style: inherit; font-weight: inherit; line-height: 15.68px; margin-bottom: 1.1em; max-width: 100%; outline: 0px; overflow: auto; padding: 13.125px 16.4062px; vertical-align: baseline; white-space: pre-wrap; word-wrap: break-word;\">php artisan serve<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Y ahora abrir en el navegador la url http:\/\/127.0.0.1:8000<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"571\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-49-53-1-1024x571.png\" alt=\"\" class=\"wp-image-2962\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-49-53-1-1024x571.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-49-53-1-300x167.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-49-53-1-768x428.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-49-53-1-1536x856.png 1536w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-49-53-1-1600x892.png 1600w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-49-53-1.png 1717w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Eliminando public y no usar artisan serve<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">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.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Paso 1: <\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Copiar los archivos index.php y .htaccess de la carptea public y pegarlos en la ra\u00edz del proyecto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Abrir el archivo index.php  y modificar lo siguiente:<\/p>\n\n\n\n<?php\n\nuse Illuminate\\Contracts\\Http\\Kernel;\nuse Illuminate\\Http\\Request;\n\ndefine('LARAVEL_START', microtime(true));\n\n\/*\n|--------------------------------------------------------------------------\n| Check If Application Is Under Maintenance\n|--------------------------------------------------------------------------\n|\n| If the application is maintenance \/ demo mode via the \"down\" command we\n| will require this file so that any prerendered template can be shown\n| instead of starting the framework, which could cause an exception.\n|\n*\/\n\nif (file_exists(__DIR__.'\/storage\/framework\/maintenance.php')) {\n    require __DIR__.'\/storage\/framework\/maintenance.php';\n}\n\n\/*\n|--------------------------------------------------------------------------\n| Register The Auto Loader\n|--------------------------------------------------------------------------\n|\n| Composer provides a convenient, automatically generated class loader for\n| this application. We just need to utilize it! We'll simply require it\n| into the script here so we don't need to manually load our classes.\n|\n*\/\n\nrequire __DIR__.'\/vendor\/autoload.php';\n\n\/*\n|--------------------------------------------------------------------------\n| Run The Application\n|--------------------------------------------------------------------------\n|\n| Once we have the application, we can handle the incoming request using\n| the application's HTTP kernel. Then, we will send the response back\n| to this client's browser, allowing them to enjoy our application.\n|\n*\/\n\n$app = require_once __DIR__.'\/bootstrap\/app.php';\n\n$kernel = $app->make(Kernel::class);\n\n$response = tap($kernel->handle(\n    $request = Request::capture()\n))->send();\n\n$kernel->terminate($request, $response);\n\n\n\n\n<h4 class=\"wp-block-heading\">Paso 2:<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Abrir el archivo Config\/app.php y modificar la siguiente l\u00ednea<\/p>\n\n\n\n<pre style=\"background: rgb(245, 245, 245); border-radius: 4px; border: 1px solid rgb(204, 204, 204); box-shadow: rgb(204, 204, 204) 0px 0px 3px; box-sizing: border-box; color: #262626; font-family: &quot;Courier 10 Pitch&quot;, Courier, monospace; font-size: 1rem; font-stretch: normal; font-style: inherit; font-weight: inherit; line-height: 1.6; margin-bottom: 10px; max-width: 100%; outline: 0px; overflow: auto; padding: 9.5px; tab-size: 4; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; word-break: break-all; word-wrap: break-word;\">\/*De \u00e9sto*\/\n'asset_url' =&gt; env('ASSET_URL', null),\n\n\/*A \u00e9sto*\/\n'asset_url' =&gt; \"http:\/\/localhost\/devs\/laravel-crud-one\/public\",<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Y ahora abrir directamente la url en el navegador:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"571\" src=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-49-53-1024x571.png\" alt=\"\" class=\"wp-image-2961\" srcset=\"https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-49-53-1024x571.png 1024w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-49-53-300x167.png 300w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-49-53-768x428.png 768w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-49-53-1536x856.png 1536w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-49-53-1600x892.png 1600w, https:\/\/linuxitos.com\/main\/wp-content\/uploads\/2020\/12\/Screenshot-from-2020-12-08-23-49-53.png 1717w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">As\u00ed, aunque ejecuten la ip del servidor, la url, incluso con la opci\u00f3n de public, abrir\u00e1 el proyecto. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Adicional:<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un punto muy importante es comenzar con las buenas pr\u00e1cticas, por lo que es necesario a\u00f1adir 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 \u00e9sto puede ser un buen comienzo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">&lt;Files .env>\norder allow,deny\nDeny from all\n&lt;\/Files><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Y eso ser\u00eda todo, en un siguiente post, comenzar\u00e9 con la configuraci\u00f3n a base de datos, vistas, controladores, rutas, etc.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cada uno puede hacerlo de la manera m\u00e1s conveniente posible, recordar que \u00e9stos son ejemplos b\u00e1sicos, se puede tomar el c\u00f3digo y mejorarlo, est\u00e1n en todo su derecho hacerlo. Tomar en cuenta la seguridad, las mejores pr\u00e1cticas, etc. Inicio El siguiente art\u00edculo est\u00e1 enfocado para desarrolladores web que se est\u00e1n iniciando con laravel, o bien [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1540],"tags":[1638,1718,1717,1587],"class_list":["post-2959","post","type-post","status-publish","format-standard","hentry","category-develepmet","tag-laravel","tag-laravel-8","tag-php-8","tag-xampp"],"_links":{"self":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/2959","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/comments?post=2959"}],"version-history":[{"count":3,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/2959\/revisions"}],"predecessor-version":[{"id":2968,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/posts\/2959\/revisions\/2968"}],"wp:attachment":[{"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/media?parent=2959"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/categories?post=2959"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxitos.com\/main\/wp-json\/wp\/v2\/tags?post=2959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}