Buscar:
Como mantener una sesión SSH activa aunque se pierda conexión en Ubuntu

Ciertas tareas críticas (como la migración del sistema operativo, las actualizaciones de aplicaciones críticas y otros procesos en los sistemas de producción) deben realizarse desde un terminal serie (consola virtual o remota). Sin embargo, hay momentos en los que no tenemos ninguna opción disponible  y no tenemos más remedio que realizar tareas críticas desde nuestra sesión SSH. Pero, ¿qué ocurre si se corta el enlace o nuestra conexión y se cierra la sesión? Podemos correr el riesgo de dejar el sistema en un estado inconsistente o desconocido.

Afortunadamente, la herramienta tmux le permite crear sesiones persistentes para sobrevivir a cortes de red indefinidos. Es una herramienta muy útil para ejecutar algunas tareas críticas (al menos aquellas que no impliquen cambiar firewalls, configuraciones de red o dispositivos) sin riesgo.

Recientemente , al colaborar con una empresa local, me comentaban que algunas sesiones requieren estar abiertas ya que estan corriendo reportes y estos suelen tardar horas. Aqui , lo que se suele hacer es correr estos procesos desde la terminal serie o desde una estación de trabajo en la misma red.

tmux es un multiplexor de terminales: permite crear varias terminales accesibles y controladas desde una única pantalla. Pero además tiene la capacidad de ser removido de una pantalla (detach) y continuar corriendo en segundo plano, para luego ser reconectado a la pantalla. Muchos SysAdmins utilizan tmux a diario para mantener varias conexiones SSH a diferentes sistemas en una única vista. No es mi caso, personalmente me siento más cómodo con ventanas más grandes y múltiples tabs, en conjunto con scripts Bash y autenticación con clave pública. Sin embargo, esta capacidad de detach de una pantalla que tiene tmux puede resultar de extrema utilidad para no perder sesiones a causa de fallos de red.

A tal fin, es necesario instalar tmux en el servidor donde se ejecutarán tareas críticas:

sudo apt install tmux

Ejemplo de uso y funcionamiento:

Desde una terminal estoy conectado por SSH a un servidor. Procedo a ejecutar tmux en la sesión remota (es decir, lanzar tmux en el servidor a través de SSH):

tmux

Al lanzar tmux se observa una barra de estado en la parte inferior de la ventana, la cual muestra información de la sesión actual y es utilizada para ingresar comandos interactivos. En la sesión de tmux puedo ejecutar cualquier tipo de comandos como en una sesión Bash normal. A modo de ejemplo, lanzo ping cada 5 segundos para generar salida en la pantalla:

Ahora voy a emular un corte de red. Para ello, cierro la ventana para matar la conexión SSH sin salir de tmux:

La terminal me avisa que hay procesos en ejecución (el cliente SSH precisamente) y que al cerrarla serán terminados. Es precisamente lo que quiero: matar el cliente SSH.

Inmediatamente vuelvo a conectarme por SSH al servidor desde una nueva terminal:

Se observa que el proceso tmux quedó en ejecución, a pesar de haberse cerrado la sesión SSH. El comando tmux list-sessions permite listar las sesiones disponibles. Efectivamente se trata de la sesión que hemos dejado abierta previamente.

Para conectarse a una sesión existente, ejecutar el subcomando attach:

tmux attach

 

Al recuperar la sesión previa, se comprueba que se recupera no sólo la salida antes de perder la conexión, sino toda la salida que se generó mientras no estábamos conectados a la sesión. Efectivamente la sesión quedó “viva” en segundo plano y es posible acceder a toda su salida.

De esto se trata una sesión persistente, resguarda la salida y se mantiene activa a pesar de no tener una pantalla asociada a la misma.

De esta forma es posible aprovechar tmux para mantener sesiones activas a pesar de probables cortes de red o enlaces.

 

Crear tu propio instalador gráfico usando Bash y Zenity en Ubuntu

Zenity, Zen Dialogs, es un software que permite generar diálogos simples empleando la biblioteca de GTK a manera de wrapper e ideado como sustituto de gdialog para GNOME2 y dialog en consola; siendo muy simple de usar si se tienen conocimientos básicos de programación.

Por su parte, Bash es un intérprete de órdenes que generalmente se ejecuta en una ventana de Terminal,  donde el usuario escribe órdenes en modo texto.Este se usa por defecto en los ordenadores linux y su terminal, y es muy útil si se es fan de la consola.

Para instalar Zenity escribimos la siguien linea de comandos en una ventana terminal:

sudo apt-get install zenity

Una vez instalado, podemos hacer la siguiente prueba directamente en la ventana terminal:

zenity --question --text "¿Quieres saber mas?"

para verificar la versión que usamos es (directamente en la ventana terminal):

zenity --about

 

Un ejemplo más elaborado del primero sería (directamente en la ventana terminal):

zenity --question \
       --title="https://victorsosa.com" \
       --width=350 \
       --text="¿Quieres saber más?"
ans=$?
if [ $ans -eq 0 ]
then
    echo "Si quieres saber más"
else
    echo "No quieres saber más"
fi

 

¿Cómo hacer mi Script de instalación?

Una vez que ya tenemos Zenity instalado, podemos crear nuestro propio Script de instalación con algunas opciones básicas del lenguaje (directamente en la ventana terminal):

ask=$(zenity --list --checklist --title='Options' --width=580 --height=600 --text='Selecciona el sofware a instalar' --column='Install' --column='Software' --column='Descripción' TRUE gparted  'Utilidad para particionar discos')

instalar=""
  if [ "$ask" != "" ] ; then

     instalar="sudo apt install $ask"
  fi
  
$instalar



Como puedes observar en el ejemplo anterior, el cuadro de dialogo nos esta preguntando si queremos instalar la aplicación GPARTED, y de ser así lo haría ejecutando una orden en la linea de comandos.

Observa tambien que estamos usando opciónes que son personalizables y que tanto los parámetros –title como –width son totalmente opcionales. Sin embargo, he preferido incluirlos en este primer ejemplo, para que veas como utilizarlos.

Ahopra bien, en caso de querer hacer una lista más extensa, esto se vería de la siguiente forma

ask=$(zenity --list --checklist --title='Options' --width=580 --height=600 --text='Selecciona el sofware a instalar' --column='Install' --column='Software' --column='Descripción' TRUE chrome-gnome-shell 'Complemento que permite la instalacion de extensiones' FALSE file-roller 'Gestor de archivos comprimidos para Gnome' FALSE rar 'Utilidad de compresión' TRUE unrar 'Utilidad de compresión' TRUE gnome-calendar 'Calendario de Gnome' TRUE vlc 'Visor de archivos multimedia' )

instalar=""
  if [ "$ask" != "" ] ; then

newask=${ask//|/" "}
     instalar="sudo apt install $newask"
  fi
  
$instalar

Observando el último ejemplo, es posible ver que que también podemos definir si las casillas están seleccionadas o no por defecto (TRUE o FALSE en la linea de comando)

¿Qué sigue?

Lo que sigue es guardar nuestro script en un archivo para poder ejecutarlo
a continuación te dejo mi script que uso en algunas ocasiones ya con algunas opciones ya incluidas.

#!/usr/bin/env bash

ask=$(zenity --list --checklist --title='Options' --width=580 --height=600 --text='Selecciona el sofware a instalar' --column='Install' --column='Software' --column='Descripción' TRUE chrome-gnome-shell 'Complemento que permite la instalacion de extensiones' TRUE nautilus-share 'Habilitar compartir con Windows' TRUE file-roller 'Gestor de archivos comprimidos para Gnome' TRUE rar 'Utilidad de compresión' TRUE unrar 'Utilidad de compresión' TRUE unrar-free 'Utilidad de compresión' TRUE zip 'Utilidad de compresión' TRUE unzip 'Utilidad de compresión' TRUE unace 'Utilidad de compresión' TRUE unace-nonfree 'Utilidad de compresión' TRUE bzip2 'Utilidad de compresión' TRUE lzop 'Utilidad de compresión' TRUE p7zip-full 'Utilidad de compresión' TRUE p7zip-rar 'Utilidad de compresión' TRUE gzip 'Utilidad de compresión' TRUE lzip 'Utilidad de compresión' TRUE gnome-calendar 'Calendario de Gnome' TRUE vlc 'Visor Multimedia' TRUE font-manager 'Gestor de tipografías' TRUE eog 'Visor de archivos PDF' TRUE kaffeine 'Visor multimedia' TRUE gparted  'Utilidad para particionar discos' TRUE menulibre 'Permite editar el menu de Gnome' TRUE gnome-calculator 'Calculadora de Gnome' TRUE gnome-contacts 'Gestor de contactos de Gnome' TRUE gnome-weather 'El clima' TRUE ubuntu-restricted-extras 'Extras de Ubuntu' TRUE inkscape 'Editor de vectoriales' TRUE gimp 'Editor de imágenes' TRUE simplescreenrecorder 'Grabador de pantalla' TRUE synaptic 'Gestor de paquetes' TRUE flatpak 'Gestión de paquetes' TRUE snapd 'Gestión de paquetes' TRUE gdebi 'Gestión de paquetes' TRUE mixxx 'Tornamesa de DJ' TRUE breeze-cursor-theme 'Tema de cursores' TRUE breeze-gtk-theme 'Tema de Gnome' TRUE breeze-icon-theme 'Tema de iconos' TRUE arc-theme 'Tema de gnome')

instalar=""
  if [ "$ask" != "" ] ; then

newask=${ask//|/" "}
     instalar="sudo apt install $newask"
  fi
  
$instalar


Copia este contenido y pegalo en un archivo nuevo de texto (no olvide que la linea ” #!/usr/bin/env bash ”  debe ir al principio)
Puedes abrir tu gestor de texto favorito (nano, vim, gtedit, kate) , pegar el contenido y guardarlo como install.sh

Para ejecutarlo, hay que darle permisos.

El chmod +x se puede usar para agregar privilegios de ejecución al usuario propietario actual del archivo especificado.

chmod +x install.sh

 

Ahora lo ejecutamos poniendo un punto y un slash (seguidos), y seguido a esto el nombre del script:

./install.sh

 

Si quieres saber más acerca de como usar zenity, te recomiendo veas el manual del proyecto.

Cómo descargar una carpeta (o archivo) de Google Drive usando terminal de Ubuntu

Son muchas las ocasiones que por alguna razón hemos querido descargar un archivo (o varios) de una carpeta (o varias) de Goggle drive y el proceso dependiendo de la cantidad se vuelve tedioso y algo complicado.

Así que en este artículo te presentare un par de opciones para poder descargar archivos de GDrive desde la terminal de Linux.

Opcion 1 : GDOWN

Gdown es un programa desarrollado en phyton por Kentaro Wada y es muy simple de usar e instalar.

  • Instalar Phyton y sus dependencias para gdown:

Para instalar phyton escribimos en una ventana terminal (ctrl+alt+t)

sudo apt install -y python3 python3-pip

  • Instalar gdown

Una vez que se haya instalado phyton, escribimos en la terminal:

pip install gdown

y confirmamos que se haya instalado correctamente:

gdown --version

  • Usar gdown para bajar archivos o carpetas

Hay que mencionar que gdown tiene sus limitantes, como la descarga desde carpetas de Google Drive con un máximo de 50 archivos por carpeta.

Otra limitante que hay que tener en cuenta es que para poder descargar un archivo o carpeta, esta deberá estar compartida como pública; es decir, su configuración del archivo o carpeta deberá estar en “Cualquier usuario de Internet que tenga el vínculo puede ver los elementos”.

Supongamos que yo quiero descargar el archivo compartido como:
https://drive.google.com/file/d/##################/view?usp=sharing

En este ejemplo ######## es nuestro id de ese archivo. Si quisieramos descargarlo con gdown, tendríamos que usar el comando en la terminal:

 

gdown --id ###############################

De igual manera si quisiéramos hacerlo con un folder:

https://drive.google.com/drive/folders/############################################

El comando a utilizar sería:

gdown --folder ###############################

Gdow tiene muchas mas opciones las cuales recomiendo que veas directamente en el enlace de su programador GitHub

 

Opcion 2 : GDRIVE

Gdrive es una utilidad de línea de comandos para interactuar con Google Drive, y esta desarrollada en GO (GoLang).

Para instalarla primero deberás instalar GO (Golang de Google) en Ubuntu 22.04

Una vez que hayas instalado GO en tu ordenador, deberás ejecutar el siguiente comando de compilación desde su fuente:

go install github.com/prasmussen/[email protected]

Go por defecto compila en nuestra carpeta de usuario y proyectos de GO, por lo que a mi en lo personal el ejecutable me quedo en esta ruta

/home/vhs/go/bin/./gdrive

Y ya por ultimo, si quiero descargar un  folder, usaria el siguiente comando en la terminal:

/home/vhs/go/bin/./gdrive download #################### --recursive 

en donde se puede observar que uso –recursive para que me descargue todo lo que contiene (incluyendo subcarpetas y archivos)

 

GDrive tiene muchas mas opciones las cuales recomiendo que veas directamente en el enlace de su programador GitHub

Como Instalar GO (Golang de Google) en Ubuntu 22.04

GO (o Golang) es un moderno lenguaje de programación de código abierto creado por Google, y es un lenguaje compilado, lo que significa que el código fuente debe compilarse para crear un ejecutable para ejecutar el software.

Muchas aplicaciones populares, como Kubernetes, Docker, Prometheus y Terraform, están escritas en Go ya que es un lenguaje de programación compilado, concurrente, imperativo, estructurado, no orientado a objetos y recolectado de elementos no utilizados (Garbage collector).

Características de Go:

  • Se trata de un un proyecto open source.
  • Este lenguaje usa una sintaxis similar a C.
  • Utiliza tipado estático y su rendimiento es comparable al de lenguajes como C y C++ ya que, al igual que estos, el compilador convierte el código de Go a código máquina.
  • Este lenguaje tiene muchas de las características y facilidades de lenguajes dinámicos como Python.
  • Aun siendo un lenguaje diseñado para la programación de sistemas, provee de un recolector de basura y otras capacidades de alto nivel que lo convierten en un lenguaje muy potente.
  • El binario de Go tiene la característica de compilación cruzada de manera nativa.
  • Go admite el paradigma de programación orientada a objetos, pero a diferencia de los lenguajes de programación más populares no dispone de herencia de tipos y tampoco de palabras clave.
  • Este es un lenguaje de programación pensado para aprovechar sistemas con múltiples procesadores.

Instalar GO en Ubuntu 22.04

Para instalar Go en Ubuntu  es necesario seguir los siguientes pasos:

  • Descargar el tarball de Go
    En el momento, la última versión estable es la 1.18.1. Te recomiendo que antes de descargar el tarball visites  la página oficial de descargas de Go y verificar si hay una nueva versión disponible.

Para descargar el paquete que nos interesa, podemos hacerlo desde el navegador web o utilizando wget en una terminal (Ctrl+Alt+T):

wget https://dl.google.com/go/go1.18.1.linux-amd64.tar.gz

  • Descomprimir el archivo descargado

Una vez descargado el archivo, lo descomprimimos en el directorio /usr/local:

    
sudo tar -xvf go1.18.1.linux-amd64.tar.gz -C /usr/local/

 

  • Ajustamos  la variable de ruta

Al agregar la ubicación del directorio Go a la variable de entorno $PATH, el sistema sabrá dónde encontrar los binarios ejecutables Go. Esto se puede hacer agregando la siguiente línea al archivo /etc/profile (para una instalación en todo el sistema) o al archivo $HOME/.profile (para una instalación de usuario actual):

export PATH=$PATH:/usr/local/go/bin

Una vez añadida la anterior línea al archivo que más nos interese, sólo queda guardarlo y cargar la nueva variable de entorno PATH en la sesión de shell actual con el comando:

source ~/.profile
  • Verificar la instalación

Para poder ver la versión instalada en el sistema, escribimos en la terminal (Ctrl+Alt+T):

go version

 

 

 

como instalar WoeUSB en Ubuntu Impish Indri 21.10

WoeUSB es un herramienta de línea de comandos que nos permite la preparación de medios de instalación USB de Microsoft Windows® desde GNU Linux.

Sus caracteristicas soprtadas son :
Support Legacy PC/UEFI booting
Support FAT32 and NTFS filesystems
Support using physical installation disc or disk image as source

Las imagenes ISO que soporta de Windows® para su instalación son:
Windows Vista y superiores.
Cualquier variante o edición y lenguaje.
Windows PE

Sin embargo los repositorios no han sido actualizados para esta versión de ubuntu, por lo que toca hacerlo un poco a mano.

Paso 1

Descargue el programa (woeusb-N.N.N.bash) de la página de lanzamientos de WoeUSB.
(en este momento es el archivo : woeusb-5.1.2.bash  (verifica que es la versión bash)

Paso 2

Otorga permisos de ejecución de programa

chmod +x path/to/woeusb-N.N.N.bash

Paso 3

instalamos las dependencias con la siguiente linea de comandos:

sudo apt install libwim15 wimtools mtools syslinux

Paso 4

Verificamos si WoeUSB ya no arroja errores desde el directorio donde se encuentra este archivo:

sudo ./woeusb-5.1.2.bash --help

EXTRA

Para crear un disco de arranque con el instalador de windows, se puede hacer con el sig comando:

sudo ./woeusb-5.1.2.bash --device Windows.iso /dev/sdX

tomando en cuenta que el numero es la versión actual de este archivo, la imagen iso y el comando se encuentran en el mismo directorio y /dev/sdX refiere a la unidad USB destino.

 

Sustituir Nautilus Desktop por Nemo

Ubuntu 20.04 es la mejor versión de Ubuntu hasta la fecha, pero su gestión de ficheros y carpetas del escritorio es pésima.
Aprende cómo sustituir Nautilus por Nemo y gana mucha funcionalidad.

Los pasos a seguir son:

Eliminamos Nautilus y la extensión del desktop:

sudo apt purge nautilus gnome-shell-extension-desktop-icons -y

 

Instalamos Nemo

sudo apt install nemo -y

Hacemos cambios en la configuracion con los siguientes comandos:

xdg-mime default nemo.desktop inode/directory application/x-gnome-saved-search

gsettings set org.gnome.desktop.background show-desktop-icons false

gsettings set org.nemo.desktop show-desktop-icons true

Editamos el inicio del lanzador de nemo:

 

sudo nano /etc/xdg/autostart/nemo-autostart.desktop

Copiamos este contenido en el fichero:

[Desktop Entry]
Type=Application
Name=Files
Exec=nemo-desktop
OnlyShowIn=GNOME;Unity;
X-Ubuntu-Gettext-Domain=nemo

 

 

 

Ponemos Nemo como favorito en el lanzador de Unity / Gnome Shell.

Y reiniciamos el PC.

Instalar WPScan en Ubuntu 20.04

WPScan es una herramienta de linea de comandos muy útil escrita en Ruby para escanear sitios web de WordPress y encontrar versiones desactualizadas de complementos, vulnerabilidades conocidas, enumeración de usuarios, etc.

Es muy fácil de usar y muy potente.
Para instalarlo seguimos los siguientes pasos:

sudo apt update
sudo apt install curl git libcurl4-openssl-dev make zlib1g-dev gawk g++ gcc libreadline6-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 autoconf libgdbm-dev libncurses5-dev automake libtool bison pkg-config ruby ruby-bundler ruby-dev -y

Ahora si, despues de instalar GEM procedemos a instalar WPScan:

sudo gem install wpscan

Para ejecutar el escaneo, primero actualice la base de datos y luego ejecúte la siguiente linea:

wpscan --update
wpscan --url http://mytarget.com

Si quieres proteger tu instalación de WordPress también puedes descargar el plugin que pondrá a prueba todos los días la seguridad de tu sitio web.
Para contribuir, puede encontrar el proyecto en Github en github.com/wpscanteam/wpscan

 

 

 

 

Como eliminar el ruido de un micrófono en Linux

Si eres usuario de Linux, lo más probable es que en algún momento hayas tenido problemas  de exceso de ruido y/estática en tu micrófono al usar una video llamada o simplemente al grabar con el. Esto puede suceder por muchos motivos, pero calma, a lo mejor el problema no es de tu micro.

Cuando algo falla en cuanto a hardware, es un poco complicado si no es cambiando de dispositivo, pero si se trata de una configuración errónea, es posible que tenga solución. Hoy veremos cómo librarnos de ese molesto ruido blanco que en ocasiones se oye de fondo en los micrófonos en GNU/Linux.

Antes de empezar a buscar nuevo hardware o de culpar a tu hardware actual te recomiendo lo siguiente:

Activar la cancelación de ruido en GNU/Linux

Lo que tenemos que hacer es activar un módulo de cancelación de ruido en PulseAudio (uno de los sistemas de sonido de Linux). En concreto se trata del módulo module-echo-cancel, que es un sistema para cancelar el eco en las llamadas. Esto se produce por la propia salida de los auriculares que entra al micro. Lo bueno es que gracias a esta función, el ruido de fondo se reduce considerablemente.

Para solucionarlo, lo que tenemos que hacer es abrir una terminal y disponernos a editar el fichero de configuración de PulseAudio con el siguiente comando:

sudo nano /etc/pulse/default.pa

Una vez dentro buscamos las últimas líneas y ahí es donde deberemos de añadir dicho módulo, añadiendo al fichero las siguientes expresiones en el penúltimo y el último apartado respectivamente, hasta que nos quede algo tal que así:

load-module module-echo-cancel source_name=noiseless

También al final hay que agregar :

set-default-source noiseless

Mas o menos deberá verse así:

### Modules to allow autoloading of filters (such as echo cancellation)
### on demand. module-filter-heuristics tries to determine what filters
### make sense, and module-filter-apply does the heavy-lifting of
### loading modules and rerouting streams.
load-module module-filter-heuristics
load-module module-filter-apply
load-module module-echo-cancel source_name=noiseless



### Make some devices default
#set-default-sink output
#set-default-source input
set-default-source noiseless

 

Una vez hecho esto, tendremos que guardar el archivo, pulsamos Ctrl+X, confirmamos que queremos sobreescribir y listo. Ya tendremos nuestro fichero de configuración.

Ahora lo que tendremos que hacer es ejecutar el comando:

pulseaudio -k

Y con esto quedaría configurado el módulo de cancelación de ruido de PulseAudio.Si por alguna razon el modulo de audio no cargo del todo bien(no se escucha nada), reinicia.

 

 

 

 

Resolver dependencias de pyQT5 para Python3 en Ubuntu 20.04

Si estas leyendo este artículo es probable que te encuentres aquí por que intentaste instalar algún scrit basado en Python y te marca dependencias no satisfechas.
Un ejemplo muy común es instalar HPLIP, que para instalarse necesita solucionar dependencias de versiones anteriores de Python.

Desde Ubuntu 20.04 se volvió bastante difícil solucionar estas dependencias debido a la antigua biblioteca pyqt5 utilizada.
Así que para poder resolver las dependencias de pyqt5 en la versión de Python 3 es necesario ejecutar el siguiente comando en la terminal.

sudo apt install python-dev-is-python3/focal

De esta forma la llamada a las librerías se resuelve. Eso si, hay que instalar las nuevas librerías para poder hacer la referencia.

Cómo instalar Laravel en Ubuntu 20.04

Laravel es un FrameWork WEB PHP de código abierto, diseñado para el desarrollo más rápido de aplicaciones web. Está basado en el framework Symfony, sigue el patrón arquitectónico model–view–controller. En el momento de escribir este tutorial, Laravel Framework 8.12.3 es la última versión disponible.

Laravel también proporciona una interfaz de línea de comandos (CLI) conocida como Artisan. Proporciona comandos útiles para realizar operaciones para su aplicación.

Este artículo le ayudará a instalar Laravel PHP Framework en sistemas Ubuntu 20.04 LTS.

Paso 1: Instalación de LAMP Stack

En primer lugar, debe configurar la pila LAMP en su sistema Ubuntu. Laravel requería PHP 7.2.5 o una versión superior para ser instalado. Siga las instrucciones a continuación para instalar todos los paquetes y servicios necesarios en su sistema.

Instalar LAMP

sudo apt install zip unzip software-properties-common
sudo tasksel install lamp-server
sudo apt install -y php7.4-gd php7.4-mbstring php7.4-xml php-zip libapache2-mod-php7.4 php7.4-mysql

 

Paso 2: instalación de Composer

PHP Composer se utiliza para instalar las dependencias necesarias para la aplicación PHP. Ejecute los siguientes comandos para instalar y configurar Composer en su sistema.

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

 

Paso 3: descargar e instalar Laravel

La última versión de Laravel está disponible en el repositorio de Github. Use el siguiente comando para clonar la rama maestra de Laravel desde el repositorio de GitHub.

cd /var/www
git clone https://github.com/laravel/laravel.git

Cambie al directorio de laravel y use el compositor para instalar todas las dependencias necesarias para el marco de Laravel.

cd /var/www/laravel
sudo composer install

La instalación de las dependencias puede llevar algún tiempo según la velocidad de su red. Después de instalar con éxito todas las dependencias, configure los permisos adecuados en todos los archivos.

chown -R www-data.www-data /var/www/laravel
chmod -R 755 /var/www/laravel
chmod -R 777 /var/www/laravel/storage

 

Paso 4: crear la configuración del entorno

A continuación, cree el archivo de configuración del entorno Laravel. Puede hacerlo cambiando el nombre del .evn.example archivo a .env . Esto se utilizará para configurar el entorno de la aplicación para el proyecto.

mv .env.example .env

Ahora genere la clave de cifrado de número aleatorio base64, que utiliza el servicio de cifrado Illuminate.

php artisan key:generate

Edite el archivo de configuración .env y actualice la configuración requerida. Además, asegúrese de que APP_KEY esté configurado correctamente como se generó en el comando anterior.

nano .env
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:HFdS7c9rhDp+AeHu7kc2OLBPuxHqq2BQ/1gfFWEpoAk=
APP_DEBUG=true
APP_URL=http://localhost
...

También puede cambiar APP_NAME con el nombre de su aplicación y APP_URL a la URL que necesita para acceder a su aplicación Laravel

Paso 5 – Crear usuario y base de datos MySQL

A continuación, cree una base de datos MySQL para su aplicación Laravel. También cree un usuario de MySQL para conectar la base de datos desde la aplicación Laravel. Inicie sesión en su servidor MySQL y cree una base de datos MySQL y un usuario ejecutando los siguientes comandos.

CREATE DATABASE laravel;
CREATE USER 'laravel'@'localhost' IDENTIFIED BY 'secret';
GRANT ALL ON laravel.* to 'laravel'@'localhost';
FLUSH PRIVILEGES;
quit

Ahora edite el archivo .env y actualice la configuración de la base de datos.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=secret

Paso 6 – Configuración de Apache

A continuación, edite el archivo de configuración del host virtual predeterminado de Apache (es decir: 000-default.conf) y actualice Document Root al directorio público de Laravel como se muestra a continuación:

nano /etc/apache2/sites-enabled/000-default.conf

Actualice la configuración como se muestra a continuación:

<VirtualHost *:80>
        ServerAdmin [email protected]
        DocumentRoot /var/www/laravel/public
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/laravel>
                AllowOverride All
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Recargue los cambios de configuración de Apache reiniciando el servicio usando el siguiente comando:

sudo systemctl restart apache2 

Paso 7 – Acceda a la aplicación Laravel

Ha configurado con éxito el marco PHP Laravel 7 en su sistema. Accede a la aplicación Laravel en tu navegador web favorito