logo
Secciones

Entradas del blog


Configuración de Aplicaciones y Software para desarrollo en PHP Parte 2 | Fedora 39

Sin comentarios

Contexto

Continuando con la parte 2 de la configuración del entorno de desarrollo de PHP en Fedora, en éste post se instalan y se configuran las aplicaciones y software a utilizar.

  1. Git
  2. Composer
  3. XAMPP
  4. VSCode
  5. DBeaver
  6. SSH & GitLab
  7. ZSH & Tilix

Dependencias previas Fedora

Descargar el siguiente archivo repos_fc_39.tar.zx, que contiene una lista de repositorios para fedora.

cd ~/Descargas
tar -xvf repos_fc_39.tar.xz
sudo cp ~/Descargas/repos_fc_39/*.repo /etc/yum.repos.d

Si algún repositorio aún no está disponible para fedora, con el siguiente comando se puede deshabilitar y volver a habilitar cuando ya lo esté:

sudo gnome-text-editor /etc/yum.repos.d/nombre-repo.repo

Abrirá el editor de texto y en la opción que dice enabled y ponerlo a 0:

[...]
enabled=0
[...]

Una vez agregado los repositorios, configurar que se utilicen los repositorios más rápidos y permitir varias descargas al mismo tiempo

sudo gnome-text-editor /etc/dnf/dnf.conf

Agregar las siguientes líneas:

fastestmirror=true
max_parallel_downloads=5
deltarpm=true

Actualizar los paquetes del sistemas:

sudo dnf -y update

Reiniciar el equipo (es necesario en caso de haber actualizaciones de kernel)

reboot

Una vez reiniciado el equipo, instalar la siguientes dependencias:

sudo dnf -y install xz bzip2 unrar p7zip lbzip2 arj lzma arj lzop cpio webp-pixbuf-loader java java-1.8.0-openjdk java-1.8.0-openjdk-devel unar file-roller
sudo dnf install -y gstreamer-plugins-bad-nonfree gstreamer-plugins-ugly gstreamer1-plugins-base-tools ImageMagick

Instalación y configuración

1.- Git

La instalación de git se realiza con el siguiente comando:

sudo dnf -y install git

Aquí no se requiere ninguna configuración adicional

2.- Composer

Instalación de composer requiere del siguiente comando

sudo dnf install php-cli unzip curl composer

No requiere mayor configuración

3.- XAMPP 8.2.12

Descargar XAMPP

https://www.apachefriends.org/download.html

Instalar dependencia

sudo dnf install libnsl mod_perl php php-devel php-cli php-gd php-imagick libaio libxcrypt-compat

Asignar permisos y ejecución

chmod u+x xampp-linux-x64-8.2.12-0-installer.run
sudo ./xampp-linux-x64-8.2.12-0-installer.run

Instalar XAMPP

Click en forward
Click en Forward
Click en el botón Forward
Click en Finish

Ir a la pestaña "Manage Server" y configurar el puerto de MariaDB, Seleccionar "MySQL Database" Luego en el botón "Configure" y colocar el puerto 3307, ésto con la finalidad de que no llegue a tener conflictos con alguna otra instalación de MySQL por ejemplo

A continuación Restart All

Si por alguna razón no inicia o hay algún error, revisar la siguiente guía. Instalación completa de XAMPP

Configurar permisos de carpetas

Crear un directorio en /opt/lampp/htdocs con el nombre de devs

sudo mkdir /opt/lampp/htdocs/devs

Asignar los siguientes permisos

sudo chmod 775 devs -R

Y ahora todos los proyectos se colocarán dentro de la ruta ~/www/devs

sudo chown -R daemon:blip devs

Crear un enlace simbólico o acceso directo de la ruta /opt/lampp/htdocs con el nombre de www dentro de la carpeta personal

sudo ln -s /opt/lampp/htdocs ~/www

Configurar contraseña

Abrir phpmyadmin e ir a CUENTAS DE USUARIOS y asignar contraseña a los usuarios de root:

Se editan los tres usuarios root para la asignación de contraseña y deben tener la misma:

Una vez asignado la contraseña editar el archivo /opt/lampp/phpmyadmin/config.inc.php:

sudo gnome-text-editor /opt/lampp/phpmyadmin/config.inc.php

Agregar la contraseña asignada en la opción password:

/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
/* Server parameters */

Reiniciar xampp:

sudo /opt/lampp/lampp restart

4.- VS Code

Instalar VS Code y éstos ya vienen en los repositorios instalados:

sudo dnf install -y code

Instalar las siguientes extensiones:

  • Auto Close Tag
  • ESLint
  • IntelliCode
  • GitLens — Git supercharged
  • Laravel Artisan
  • Laravel Blade
  • Laravel Blade formatter
  • Laravel Blade Snippets
  • Laravel Extension Pack
  • Laravel Extra Intellisense
  • Laravel Goto View
  • Laravel intellisense
  • Laravel Model Snippets
  • Laravel Snippets
  • Laravel-blade
  • Material Icon Theme
  • PHP Debug
  • PHP DocBlocker
  • PHP Extension Pack
  • PHP Intelephense
  • PHP IntelliSense
  • PHP Namespace Resolver

5.- DBeaver

Para descargar DBeaver, ir a la página oficial y buscar el archivo rpm para instalarlo con el siguiente comando:

sudo dnf install -y ~/Descargas/dbeaver-ce-latest-stable.x86_64.rpm

Configurar la conexión a localhost de mariadb desde dbeaver:

Configurar la conexión de acuerdo los parámetros de su instalación.

6.-SSH y GitLab

Image from blog.devgenius.io

Instalación de SSH requiere el siguiente comando:

sudo dnf install openssh-server

Habilitar el servicio de SSH inicie con el sistema

sudo systemctl enable sshd

Iniciar el servicio de SSH

sudo systemctl start sshd

Configurar cuenta de GitLab con SSH

Previo a realizar ésto, se requiere contar con una cuenta registrad a en gitlab.com

a).- Crear carpeta .ssh

Se creará la carpeta .ssh en la carpeta personal, o bien, ejecutar el siguiente comando:

mkdir ~/.ssh

2.- Generar clave ssh por usuario

Una vez creado la carpeta, desde la terminal entrar al directorio, y generar las claves por cada correo la clave ssh, con el siguiente comando:

cd ~/.ssh
ssh-keygen -o -t rsa -b 4096 -C "correo-usuario-uno@dominio.com"

Al ejecutar el comando, pedirá el nombre para los archivos que se generen, como recomendación, utilizar el correo como nombre de archivo, con un guión al final y el servidor, si es para github o gitlab, de tal modo que los archivos generados quedarán de la siguiente manera:

- Archivo de clave privada: correo-usuario-uno@dominio.com-github
- Archivo de clave pública: correo-usuario-uno@dominio.com-github.pub

Por cada clave que se genere en el directorio .shh se guardan dos archivos, uno sin extensión y otro con .pub.

  • SI NECESITAN USAR EL MISMO CORREO EN GITLAB Y GITHUB, GENERAR DOS CLAVES CON EL MISMO CORREO, PERO CON EL NOMBRE DE GITHUB O GITLAB AL FINAL DE CADA ARCHIVO, PARA DIFERENCIARLO.

3.- Guardar la clave pública ssh en github o gitlab

Ahora, una vez que ya se hayan generado las claves ssh, iniciar sesión en github o gitlab según sea el caso.

Ir a la sección de SSH de acuerdo al servidor de su elección y clic en el botón Agregar clave SSH:

Para agregar las claves, abrir el archivo .pub correspondiente para cada servidor, copiar el contenido tal cual aparece en el archivo, y pegarlo dentro del campo Clave o Key. de acuerdo al servidor de su selección.

Pa

Una vez pegado el contenido, clic en Guardar o agregar clave.

4.- Agregar la clave generada a ssh

Una vez que la clave ya fue agregada en los correspondientes servidores, es necesario propagarlas en nuestro equipo, para ésto se usa el comando siguiente:

ssh-add ~/.ssh/correo-usuario-uno@dominio.com-github

Aquí, se usa el archivo de la clave privada, NO EL ARCHIVO .PUB. Repetir el proceso de añadido de claves por cada cuenta de usuario que se haya añadido.

5.- Configurar el archivo ~/.ssh/config

Ahora, es necesario crear un archivo de texto llamado config dentro del directorio ~/.ssh/ en la carpeta personal:

Y dentro de éste archivo, se configurará las cuentas que se hayan añadido, ejemplos:

Host user1.gitlab.com
	HostName gitlab.com
	User git
	IdentityFile ~/.ssh/usuario1@outlook.com.com-gitlab

Host user2.gitlab.com
	HostName gitlab.com
	User git
	IdentityFile ~/.ssh/usuario2@outlook.com-gitlab

Host user1.github.com
	HostName github.com
	IdentityFile ~/.ssh/usuario1@outlook.com-github
	
Host user2.github.com
	HostName github.com
	IdentityFile ~/.ssh/usuario2@outlook.com-github

Nomenclatura:

  • Host: nombre con el que se usar en los repositorios
  • HostName: es el servidor al que aputna, puede ser gitlab, github, o algun IP particular si se usa un servidor personal
  • User git, ahí no cambia
  • IdentityFile: es la ruta del archivo con la clave privada que se generó previamente, ojo, es el archivo con la clave privada.

Una vez que se guarden los cambios del archivo config, ahora tocar probar la conexión con éste comando:

ssh -T git@nombre-host

Ejemplo: el host se toma del archivo config

ssh -T git@user1.gitlab.com

Para gitlab, la salida del comando es algo así:

Para github, la salida del comando es algo así:

6.- Configurar los repositorios

Ahora, para cada repositorio que se clone, se usará el usuario de acuerdo al servicio, por ejemplo:

git clone git@user1.github.com:usuariogithub/nombrepositorio.git

Y con ésto, el repositorio quedará configurado para se administrado por el usuario con el que se clonó, adicionalmente, se deben añadir las siguientes opciones al archivo config de cada repositorio, con el nombre y correo del usuario:

[user]
	name = "Nombre Usuario 1"
	email = usuario1@outlook.com

Si se requiere cambiar el usuario manualmente de algún repositorio existente, se realizará dentro del repostorio, en la carpeta .git/config y editar la línea que dice:

url = git@user1.github.com:/usuario/repositorio.git

Y solo configurar o reemplazar el user1-github.com por el nombre del host que se declaró en la carpeta .ssh/config, ésto de acuerdo con el usuario que requieran y el servicio que corresponda.

7.- ZSH y Tilix

ZSH y Tilix van de la mano

sudo dnf -y install git zsh util-linux-user tilix
sudo dnf -y install git zsh util-linux-user
git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
cp ~/.zshrc ~/.zshrc.orig
sudo chsh -s /bin/zsh user-name

Aquí es necesario reiniciar sesión de la terminal para que inicie con zsh, si reiniciando la terminal, no funciona, cerrar sesión y volver a iniciar.

Para usar ZSH con powerlevel10k
Instalar tipografías

Descargar las siguientes tipografías e instalarlas, doble clic para abrir e instalar. https://mega.nz/file/9NxXSTCb#fu29TLJUBNF3_XKWF-6gak0gyTHCK4z5MF4Ggvkgg2I

La imagen tiene un atributo ALT vacío; su nombre de archivo es Screenshot-from-2021-04-05-14-44-11.png
Imagen 4
Instalar el tema

La instalación del tema:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.oh-my-zsh/custom/themes/powerlevel10k
echo 'source ~/.oh-my-zsh/custom/themes/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc
Configuración del tema powerlevel10k

Al cerrar la terminal, y volver a iniciar, en automático comenzará la configuración de powerlevel10k, si por alguna razón ésto no ocurre, entonces se puede usar el comando:

p10k configure
La imagen tiene un atributo ALT vacío; su nombre de archivo es Screenshot-from-2021-04-05-12-59-41-1024x648.png
Imagen 5

A partir de aquí, se debe leer bien las indicaciones para poder elegir correctamente los íconos, y estilos que se tendrá para el tema

Si por alguna razón, no se inicia automáticamente la configuración de powerlevel10k, se puede iniciar el proceso desde la terminal, con el comando siguiente:

Si el comando no inicia el proceso mostrado en la imagen 5, entonces revisar el proceso de instalación, o bien cerrar sesión y volver a iniciar, para que los cambios se apliquen.

Al inicio de la configuración, pregunta si lo que se ve es un rombo, si es así, presionar "y" que corresponde "yes", q es para salir del proceso, sin configurar ni guardar nada.

La imagen tiene un atributo ALT vacío; su nombre de archivo es Screenshot-from-2021-04-05-12-59-41-1-1024x648.png
Imagen 6

La siguiente pregunta, es si e puede visualizar el ícono de bloqueo, o candado, si es así, presionar "y" o "n" en su defecto, las preguntas aquí son necesarias, porque si por alguna razón, no se visualizan los íconos, significa que las tipografías previamente mencionadas, no se instalaron correctamente. Por lo tanto es necesario instalarlas previo a configurar el tema.

La imagen tiene un atributo ALT vacío; su nombre de archivo es Screenshot-from-2021-04-05-12-59-46-1024x648.png
Imagen 7

La siguiente pregunta: puedes ver una espiral?, y lo mismo, si lo pueden visualizar, presionar "y" o "n" según sea el caso.

La imagen tiene un atributo ALT vacío; su nombre de archivo es Screenshot-from-2021-04-05-12-59-49-1024x648.png
Imagen 8

En alguna parte del proceso, comenzarán a ver los íconos, ya como se debe de visualizar en la terminal, no se olviden de ir traduciendo los mensajes, para una mayor comprensión

La imagen tiene un atributo ALT vacío; su nombre de archivo es Screenshot-from-2021-04-05-13-00-30-1024x648.png
Imagen 9

Al finalizar, la terminal se verá de la siguiente manera:, si algo no les gustó, pueden volver a ejecutar el comando de configuración, las veces que sea necesario.

La imagen tiene un atributo ALT vacío; su nombre de archivo es Screenshot-from-2021-04-05-13-04-12-1-1024x648.png
Imagen 10

Y hasta aquí finaliza la instalación y configuración de software. Nos vemos en la tercera parte

Comentarios:

Conoce la red social linuxClick
Redes sociales
Accesos directos