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.
- Git
- Composer
- XAMPP
- VSCode
- DBeaver
- SSH & GitLab
- 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
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
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
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:
- Github: https://github.com/settings/keys
- Gitlab: https://gitlab.com/-/profile/keys
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
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
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 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 siguiente pregunta: puedes ver una espiral?, y lo mismo, si lo pueden visualizar, presionar «y» o «n» según sea el caso.
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
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.
Y hasta aquí finaliza la instalación y configuración de software. Nos vemos en la tercera parte