miércoles, 4 de diciembre de 2024

Instalación y Configuración de un DNS Público en Debian 12

Configuración de un DNS Público en Debian 12
=====================================
Registrar un dominio público en Goddady, Namecheap  ó punto.pe.
Configura en tu proveedor de dominio los glue records apuntando a las direcciones IP de tu servidor vps
ns1 -> 158.10.11.12
ns2 -> 158.10.11.12
Agregar los nameservers personalizados
Nameserver 1:   ns1.tudominio.com
Nameserver 2:   ns2.tudominio.com 

Actualizar repositorios de Debian
sudo apt update
sudo apt upgrade

Acceder al servidor con el usuario root
Crear el usuario y agregarlo al grupo SUDO
sudo adduser jperez
sudo usermod -aG sudo jperez

Verificar si el usuario pertenece al grupo sudo
groups jperez
exit

Ingresar con el nuevo usuario:
ssh jperez@158.10.11.12

Configuración de SSH
Configurar SSH para Deshabilitar Root:
sudo vim /etc/ssh/sshd_config
:33     PermitRootLogin no
:124   AllowUsers jperez  -> añadir al final del archivo

Reiniciar el Servicio SSH
sudo systemctl restart sshd

Instalar UFW:
sudo apt install ufw

Habilitar UFW:
sudo ufw enable

Habilitar el servicio ssh
sudo ufw allow ssh
sudo systemctl status ssh

Configurar Nombre de Host
Cambiar el hostname del servidor vps
$> sudo hostnamectl set-hostname webserver.midominio.dev
$> exit
Volver a loguearse
$> hostnamectl

Configurar la ip del host, agregar la ip interna del vps
sudo vim /etc/hosts
127.0.0.1     localhost.localdomain localhost
192.168.2.5    webserver.dominio.dev webserver

Instalación de DNS Server Interno Bind
sudo apt install bind9 bind9utils dnsutils

Configurar Bind
sudo vim /etc/bind/named.conf.options
-----------------------------------------------------------------------------------------------------------------------------
options {
        listen-on port 53 { ip_publica; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/cache/bind";
        dump-file       "/var/cache/bind/cache_dump.db";
        statistics-file "/var/cache/bind/named_stats.txt";
        memstatistics-file "/var/cache/bind/named_mem_stats.txt";
        allow-query     { localhost;any; };
        forwarders   { 8.8.8.8;1.1.1.1; };
        forward first;
        allow-transfer   { "none"; };
        recursion           no;
        dnssec-validation no;
};
-----------------------------------------------------------------------------------------------------------------------------
Configurar archivo de Zona Directa
Editar el archivo /etc/bind/named.conf.local para definir las zonas:
sudo vim /etc/bind/named.conf.local
-----------------------------------------------------------------------------------------------------------------------------
zone "midominio.dev" {
    type master;
    file "/etc/bind/zones/db.midominio.dev";
    allow-update { none; };
};
-----------------------------------------------------------------------------------------------------------------------------
Crear el directorio donde estarán alojados los archivos de zona
sudo mkdir /etc/bind/zones

Crear el archivo de zona
sudo touch /etc/bind/zones/db.midominio.dev

Configurar los permisos:
sudo chown -R bind:bind /etc/bind/zones
sudo chmod -R 750 /etc/bind/zones
sudo ls -l /etc/bind/zones

Configurar el Archivo de Zona Directa
sudo vim /etc/bind/zones/db.midominio.dev
----------------------------------------------------------------------------------------------------------------------------
$TTL 86400 @ IN SOA @ root ( 2024010101 ; serial 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum dominio.dev. IN NS ns1.dominio.dev.
dominio.dev. IN NS ns2.dominio.dev.
dominio.dev. IN A 158.10.11.12 ns1 IN A 158.10.11.12
ns2 IN A 158.10.11.12 www IN A 158.10.11.12
----------------------------------------------------------------------------------------------------------------------------
Verificar la configuración de BIND:
sudo named-checkconf

Configurar DNS de tarjeta de red:
sudo vim /etc/resolv.conf
nameserver 8.8.8.8
nameserver 1.1.1.1

Reiniciar los servicios:
sudo systemctl enable named
sudo systemctl restart named
sudo systemctl status named

Habilitar el servicio DNS
sudo ufw allow dns
sudo ufw status
sudo ss -tuln | grep ":53"

Comprobar el DNS público
dig NS midominio.dev

Configurar el PTR en el proveedor del VPS

Probar la resolución inversa:
dig -x 158.10.11.12

Comprobar el estado de propagación del DNS
https://www.whatsmydns.net/
Ingresar el dominio y el tipo de registro:
midominio.dev      NS











Instalar NGINX y MySQL Community Server en Debian 12

Instalar NGINX y MySQL Community Server en Debian 12
=============================================
Actualizar repositorios de Debian
sudo apt update
sudo apt upgrade

Configurar zona horaria de servidor
sudo timedatectl set-timezone America/Lima
timedatectl
-----------------------------------------------------------------------------------------------------------------------------
Instalar Mysql Community Server
Descargar e instalar el paquete de repositorios de MySQL:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.33-1_all.deb
sudo apt update

Instalar MySQL
sudo apt install mysql-server

Verificar la instalación:
mysql --version

Habilitar MySQL
sudo systemctl enable mysql
sudo systemctl status mysql

Habilitar firewall para MySQL
sudo ufw allow mysql
sudo ufw status

Acceder a MySQL como root:
sudo mysql -u root -p

Cambiar Contraseña de root y Crear nuevo usuario 
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
mysql> CREATE USER 'usuario'@'ipPublicaHome' IDENTIFIED BY '654321';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'ipPublicaHome';
mysql> FLUSH PRIVILEGES;
mysql> exit

Asegurar la instalación de MySQL
sudo mysql_secure_installation

Enter password for user root: 123456
Validate Password: No
Change the password for root? [Y/n]  No
Do you wish to continue with the password provided? Y
Remove anonymous users? [Y/n]   Y
Disallow root login remotely? [Y/n]  Y
Remove test database and access to it? [Y/n]  Y
Reload privilege tables now? [Y/n]   Y

Eliminar el archivo de instalación de MySQL
rm mysql-apt-config_0.8.33-1_all.deb
-----------------------------------------------------------------------------------------------------------------------------
Instalar Nginx
sudo apt install nginx -y

Habilitar el servicio Nginx
sudo systemctl enable nginx
sudo systemctl status nginx

Agregar el usuario jperez al grupo www-data
sudo usermod -aG www-data jperez

Verificar si el usuario pertenece al grupo
groups jperez
exit
Volver a loguearse

Crear un Directorio para el dominio principal:
Crea el directorio donde estarán alojados los archivos del dominio:
sudo mkdir -p /var/www/dominio.dev

Configurar una página de prueba
Crear un archivo HTML de prueba en el directorio raíz de Nginx:
echo '<h1>¡Bienvenido a midominio.dev!</h1>' | sudo tee /var/www/dominio.dev/index.html

Configurar los permisos
sudo chown -R www-data:www-data /var/www/dominio.dev
sudo chmod -R 770 /var/www/dominio.dev
sudo ls -l /var/www/dominio.dev

Crear un archivo de configuración para el dominio principal
sudo vim /etc/nginx/sites-available/dominio.dev.conf
----------------------------------------------------------------------------------------
server {
        listen 80;
        listen [::]:80;

        root /var/www/dominio.dev;

        index index.html index.htm;

        server_name dominio.dev www.dominio.dev;

        location / {
                try_files $uri $uri/ =404;
        }
}
----------------------------------------------------------------------------------------
Crear un Enlace Simbólico para habilitar la configuración del dominio:
sudo ln -s /etc/nginx/sites-available/dominio.dev.conf /etc/nginx/sites-enabled/

Eliminar el archivo de configuración predeterminado de Nginx
sudo rm -r /etc/nginx/sites-enabled/default
sudo rm -r /var/www/html

Verificar la configuración de Nginx:
sudo nginx -t

Reiniciar Nginx
sudo systemctl reload nginx

Habilitar Firewall para Nginx
sudo ufw allow 'Nginx Full'

Verificar si el servidor responde correctamente con curl
curl -I http://dominio.dev

Instalar Certificado Digital de Let's Encrypt
===================================
Instalar Certbot y el Plugin de Nginx:
sudo apt install certbot python3-certbot-nginx

Generar el certificado para el dominio:
sudo certbot --nginx -d midominio.dev -d www.midominio.dev

Verificar la Renovación Automática:
sudo systemctl status certbot.timer

Acceder a la página de prueba
https://dominio.dev

Eliminar el Archivo de Prueba Después de Usarlo
sudo rm -r /var/www/dominio.dev/index.html
-----------------------------------------------------------------------------------------------------------------------------
Instalar PHP y los Módulos Necesarios
sudo apt install php-fpm php-cli php-mbstring php-xml php-curl php-mysql -y

Verificar la versión de php
php --version

Copiar los archivos del proyecto al servidor Web:
Ejecutar la terminal como Administrador:
scp -r $HOME/Desktop/Carpeta/* jperez@158.10.11.12:/var/www/dominio.dev

Configurar los permisos
sudo chown -R www-data:www-data /var/www/dominio.dev
sudo chmod -R 770 /var/www/dominio.dev
sudo ls -l /var/www/dominio.dev

Configurar Nginx para Procesar Archivos PHP
Abrir y editar el archivo:
sudo vim /etc/nginx/sites-available/dominio.dev.conf
------------------------------------------------------------------------------------------
server {
        root /var/www/dominio.dev;

        index index.php index.html index.htm;

        server_name dominio.dev www.dominio.dev;

        location / {
                try_files $uri $uri/ =404;
        }

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.X-fpm.sock;
}

location ~ /\.ht {
deny all;
}

    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/dominio.dev/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/dominio.dev/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

server {
    if ($host = www.dominio.dev) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    if ($host = dominio.dev) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

        listen 80;
        listen [::]:80;

        server_name dominio.dev www.dominio.dev;
    return 404; # managed by Certbot
}
------------------------------------------------------------------------------------------
Verificar que la configuración de Nginx sea correcta:
sudo nginx -t

Reiniciar los Servicios
sudo systemctl reload nginx
sudo systemctl restart php8.X-fpm

Acceder a la Página de Prueba
https://dominio.dev/info.php

Eliminar el Archivo de Prueba Después de Usarlo
sudo rm -r /var/www/dominio.dev/*
-----------------------------------------------------------------------------------------------------------------------------
Configurar subdominios en Nginx
Configurar el DNS
En el servidor de DNS, crear un registro A para el subdominio y que apunte a la dirección IP pública de tu servidor.

Crear el Directorio de Raíz para el Subdominio:
Crea el directorio donde estarán los archivos del subdominio:
sudo mkdir -p /var/www/blog.dominio.dev

Copiar los archivos del proyecto al servidor Web en la carpeta blog
Ejecutar la terminal como Administrador
scp -r $HOME/Desktop/Carpeta/* jperez@158.10.11.12:/var/www/blog.dominio.dev

Configurar los permisos
sudo chown -R www-data:www-data /var/www/blog.dominio.dev
sudo chmod -R 770 /var/www/blog.dominio.dev
sudo ls -l /var/www/blog.dominio.dev

Crear el Archivo de Configuración para el Subdominio:
sudo vim /etc/nginx/sites-available/blog.dominio.dev.conf
-------------------------------------------------------------------------------------------
server {
        listen 80;
        listen [::]:80;

        root /var/www/blog.dominio.dev;

        index index.php index.html index.htm;

        server_name blog.dominio.dev;

        location / {
                try_files $uri $uri/ =404;
        }
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.X-fpm.sock;
}

location ~ /\.ht {
deny all;
}
}
----------------------------------------------------------------------------------------
Crear un Enlace Simbólico para habilitar la configuración del subdominio:
sudo ln -s /etc/nginx/sites-available/blog.dominio.dev.conf /etc/nginx/sites-enabled/

Probar la Configuración de Nginx:
sudo nginx -t

Reiniciar los Servicios
sudo systemctl reload nginx
sudo systemctl restart php8.X-fpm

Agregar el Certificado para el Subdominio:
sudo certbot --nginx -d blog.dominio.dev

Verificar el Certificado SSL:
curl -I https://blog.dominio.dev

Acceder al Subdominio:
https://blog.dominio.dev
-----------------------------------------------------------------------------------------------------------------------------



viernes, 1 de noviembre de 2024

Instalar diferentes versiones de MySQL en Arch Linux con Homebrew

Instalar diferentes versiones de MySQL en Arch Linux con Homebrew
======================================================
Instalación de Homebrew en Arch Linux
Instalar las dependencias básicas:
sudo pacman -S gcc make curl file git

Ejecutar el script de instalación de Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Configurar el entorno:
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
source ~/.bashrc  ó   source ~/.zshrc

Instalar el compilador de GNU
brew install gcc

Listar versiones disponibles en el repositorio de Homebrew

brew search mysql

Instalación de diferentes versiones de PHP con Homebrew
brew install mysql@8.0
brew install mysql@5.7

Iniciar MySQL
brew services start mysql@8.0

Encuentra la ruta de MySQL:
brew --prefix mysql

Editar tu archivo de configuración del shell
vim ~/.bashrc
export PATH="/home/linuxbrew/.linuxbrew/opt/mysql@8.0/bin:$PATH"
source ~/.bashrc  ó  source ~/.zshrc

Verificar la versión actual de MySQL:

mysql --version

Cambiar entre versiones:
brew unlink mysql@8.0
brew link mysql@5.7

Asegurar la instalación de MySQL
$> mysql_secure_installation
Would you like to setup VALIDATE PASSWORD component?   N

Cambiar contraseña de usuario root de mysql
$> mysql -u root -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'P#123';
mysql> flush privileges;

Instalar MySQL Workbench
$> sudo pacman -S mysql-workbench

Cambiar el tema del Editor de codigo de MySQL Workbench
Ingresa al repositorio: https://github.com/mleandrojr/mysql-workbench-dark-theme/
Copia todo el código y pégalo en el archivo code_editor.xml

sudo vim /usr/share/mysql-workbench/data/code_editor.xml
:%d  ->borra todo el contenido
















Instalar MySQL en Arch Linux

Instalar MySQL en Arch Linux
=========================
Instala MySQL Server:
$> sudo pacman -Syu
$> sudo pacman -S git gnome-keyring
$> cd $HOME/Descargas
$> git clone https://aur.archlinux.org/mysql.git
$> cd mysql
$> makepkg -si --skippgpcheck
$> sudo pacman -S mysql
Repositorio extra
1)mariadb 2)mariadb-lts 3)percona-server
Ingrese un numero:  3

Verificar instalacion de mysql
$> mysqld --version

Inicializar la base de datos:
sudo mkdir -p /var/lib/mysql
sudo chown -R mysql:mysql /var/lib/mysql
sudo touch /var/log/mysqld.log
sudo chown mysql:mysql /var/log/mysqld.log
sudo chmod 755 /var/log
sudo chmod 644 /var/log/mysqld.log
sudo mysqld --initialize --user=mysql --datadir=/var/lib/mysql

Iniciar MySQL
$> sudo systemctl start mysqld

Habilitar MySQL
$> sudo systemctl enable mysqld

Ver clave generada por MYSQL
$> sudo grep -i password /var/log/mysqld.log

Asegurar la instalación de MySQL
$> mysql_secure_installation
Enter password for user root: ClaveGenerada
New password: NuevaClave
Re-enter new password: NuevaClave
Change the password for root? [Y/n]  YN
Do you wish to continue with the password provided?  Y
Remove anonymous users? [Y/n]    Y
Disallow root login remotely? [Y/n]  Y
Remove test database and access to it? [Y/n]  Y
Reload privilege tables now? [Y/n]  Y

Instalar MySQL Workbench
$> sudo pacman -S mysql-workbench


























Instalar Postman en Arch Linux

Instalar Postman en Arch Linux
=========================
sudo pacman -Syu
yay -s postman-bin
















Instalar OnlyOffice en Arch Linux

Instalar OnlyOffice en Arch Linux
============================
sudo pacman -Syu
yay -S onlyoffice-bin









Instalar Visual Studio Code en Arch Linux

Instalar Visual Studio Code en Arch Linux
=================================
sudo pacman -Syu
yay -s visual-studio-code-bi
n













jueves, 31 de octubre de 2024

Instalar Zapzap (WhatsApp) en Arch Linux

Instalar Zapzap (WhatsApp) en Arch Linux
===================================
sudo pacman -Syu
sudo pacman -S zapzap













Instalar Flameshot en Arch Linux (Gnome)

Instalar Flameshot en Arch Linux (Gnome)
==================================
$> sudo pacman -S flameshot

$> mkdir -p ~/.local/bin
$> vim ~/.local/bin/flameshot-wayland.sh
#!/bin/bash
QT_QPA_PLATFORM=wayland flameshot gui

$> chmod +x ~/.local/bin/flameshot-wayland.sh

Crear un nuevo atajo:
Nombre:Flameshot
Comando: /home/juan/.local/bin/flameshot-wayland.sh
Atajo: PrtSc
------------------------------------------------------------------------------------------------------------------
Opción 2
$> sudo pacman -S flameshot

$> sudo vim /usr/share/applications/org.flameshot.Flameshot.desktop
Edita la línea que comienza con Exec= para que incluya la variable de entorno:
67:  Exec=env QT_QPA_PLATFORM=wayland flameshot config
84:  Exec=env QT_QPA_PLATFORM=wayland flameshot gui --delay 500
94:  Exec=env QT_QPA_PLATFORM=wayland flameshot launcher

Permitir que las aplicaciones tomen capturas de pantalla
$> QT_QPA_PLATFORM=wayland flameshot gui
Permitir

Abrir flameshot desde las Aplicaciones





miércoles, 30 de octubre de 2024

Arch Linux Personalizacion

Arch Linux Personalización
===========================
Configuración del sistema
Ir a Mostrar aplicaciones > buscar Configuración
Sonido    > Sonido de alerta: Ninguna
Energia > Apagar la pantalla: Nunca 
Multitarea -> Desactivar esquina activa y Activar bordes de la pantalla
Apariencia -> Seleccionar Oscuro color: Azul
Aplicaciones > Aplicaciones predeterminadas > Fotos: Visor de imágenes
Notificaciones > Notificaciones de la pantalla de bloqueo: Desactivar
Teclado -> Ver y personalizar atajos > Lanzadores > Buscar > alt + space
                                                        > Lanzadores > Carpeta personal > windows+E
                                                 > Navegacion > Ocultar todas las ventanas normales: Windows+D
Privacidad y seguridad  
> Bloqueo de pantalla > Notificaciones de la pantalla de Bloqueo: Desactivar
                                     > Historico de archivos > Activar Eliminar los archivos temporales automáticamente
Sistema > Fecha y Hora > Activar Día de la semana

---------------------------------------------------------------------------------------------------------------------
Instalar tema de iconos de macOs
cd $HOME/Descargas
git clone https://github.com/vinceliuice/WhiteSur-icon-theme.git
cd WhiteSur-icon-theme/
ls
./install.sh -a -b
---------------------------------------------------------------------------------------------------------------------
Configuración de Retoques
$> sudo pacman -S gnome-themes-extra
Ir a Mostrar aplicaciones y buscar Retoques
Apariencia -> Iconos -> Seleccionar WhiteSur-Dark
                     Aplicaciones Heredadas > Adwaita-dark
Ventanas -> Activar Maximizar y Minimizar
                   Activar Centrar ventanas nuevas
---------------------------------------------------------------------------------------------------------------------
Instalar Extensiones
Instalar el Gestor de extensiones:
yay -S chrome-gnome-shell

Buscar la extension, Seleccionar versión de la Shell Gnome e instalar:

https://extensions.gnome.org/extension/6580/open-bar/
https://extensions.gnome.org/extension/307/dash-to-dock/
https://extensions.gnome.org/extension/3740/compiz-alike-magic-lamp-effect/
https://extensions.gnome.org/extension/6433/app-menu-is-back/
https://extensions.gnome.org/extension/615/appindicator-support/

Ir a Mostrar aplicaciones y buscar Extensiones
Activar Open Bar -> configuración ->
Top Bar Properties > Bar Height: 26
                                 Bar Magins: 0
Bar Foreground  > Panel Font: Cantarell Bold 11pt
Bar Border         > Corner Radius: 0
                         > Desactivar Neon Glow
                            Width: 0
Bar Background > Bar BG Alpha > 0.75
                            Tri/Islands Alpha: 0

Activar Dash to Dock -> configuración ->
Ir a Lanzadores > Mostrar Icono de Aplicaciones Mover al inicio del Dock: Activar
Comportamiento > Accion al pulsar: Minimizar
Ir a apariencia > Encoger el tablero: Activar
                          Personalizar los contadores de ventanas: Puntos
                          Personalizar opacidad: Dinámico
Tamaño Iconos: 48px
---------------------------------------------------------------------------------------------------------------------







martes, 29 de octubre de 2024

Instalar LibreOffice en Arch Linux

Instalar fuentes Principales de Microsoft
yay -S ttf-ms-fonts

Instalar las fuentes Adicionales
Link -->   http://bit.ly/4fkY6UI
Descomprimir el archivo ZIP
cd $HOME/Descargas
unzip wps-fonts.zip

Crear un directorio de fuentes
mkdir -p /usr/share/fonts
cp $HOME/Descargas/wps-fonts/*.ttf /usr/share/fonts

Actualizar la caché de fuentes:
sudo fc-cache -f -v

Instalar LibreOffice en Arch Linux

sudo pacman -S libreoffice-fresh

Instalar el paquete de idioma español (opcional)
sudo pacman -S libreoffice-fresh-es

Cambiar el Tema de iconos
Abrir LibreOffice Writer > Herramientas > Opciones > Ver
Seleccionar el Tema: Sukapura(dark)
































Instalar WPS Office en Arch Linux

Instalar WPS Office en Arch Linux
==============================
Instalar yay (gestor de paquetes)
cd $HOME/Descargas
sudo pacman -S git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

Instalar fuentes Principales de Microsoft

yay -S ttf-ms-fonts

Instalar las fuentes Adicionales
Link -->   http://bit.ly/4fkY6UI
Descomprimir el archivo ZIP
cd $HOME/Descargas
unzip wps-fonts.zip

Crear un directorio de fuentes
mkdir -p $HOME/.local/share/fonts
cp $HOME/Descargas/wps-fonts/*.ttf $HOME/.local/share/fonts

Actualizar la caché de fuentes:
fc-cache -fv

Instalar WPS Office
yay -S wps-office

Instalar el paquete de idioma español
yay -S wps-office-mui-es-mx












Instalar la terminal ptyxis en Arch Linux

Instalar la terminal ptyxis en Arch Linux
=================================
Instalar yay (gestor de paquetes)
cd $HOME/Descargas
sudo pacman -S git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

Instalar la terminal ptyxis
yay -S ptyxis

Configurar Ptyxis como terminal predeterminada:
gsettings set org.gnome.desktop.default-applications.terminal exec 'ptyxis'

Verificar la terminal predeterminada:
gsettings get org.gnome.desktop.default-applications.terminal exec

Desinstalar gnome-console
Abrir la terminal ptyxis y ejecutar:
sudo pacman -Rns gnome-console
sudo pacman -Sc

Instalar las fuentes de JetBrainsMono y CaskaydiaMono
sudo pacman -S ttf-cascadia-code-nerd
sudo pacman -S ttf-jetbrains-mono-nerd

Configurar la terminal
Ir a preferencias > Apariencia > Paleta: VS Code
                              Tipografia: CaskaydiaCove Nerd Font SemiBold
                              Tamaño: 13
Ir a preferencias > Comportamiento > Desactivar Restaurar la sesión
                              Desactivar restaurar el tamaño de la ventana 
                              Columnas: 102
                              Filas: 23

Configurar Nautilus para usa la terminal ptyxis
Instalar nautilus-open-any-terminal 
yay -S nautilus-open-any-terminal

Configurar la extensión para usar Ptyxis:
gsettings set com.github.stunkymonkey.nautilus-open-any-terminal terminal 'ptyxis'

Reiniciar Nautilus
nautilus -q

Cambiar el texto del menú contextual por: "Abrir en una terminal"
sudo vim /usr/share/nautilus-python/extensions/nautilus_open_any_terminal.py
:91      "terminal",
:293     LOCAL_LABEL = _("Abrir en una {}")
:296     LOCAL_LABEL = _("Abrir en una {}")

Reiniciar Nautilus
nautilus -q

Configurar Atajo de teclado para la terminal Ptyxsis
Ir a configuración > Teclado > Ver y personalizar atajos
                                > Atajo personalizado > añadir > Nombre: terminal
                                                                                   Comando: ptyxis
                   Atajo: Ctrl+Alt+T























Instalar Fuentes principales de Microsoft en Arch Linux

Instalar fuentes Principales de Microsoft en Arch Linux 
============================================
Instalar yay (gestor de paquetes)
cd $HOME/Descargas
sudo pacman -S git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

Instalar fuentes Principales de Microsoft
yay -S ttf-ms-fonts

Actualizar la caché de fuentes:
fc-cache -fv







lunes, 28 de octubre de 2024

Instalar Zsh y Oh My Zsh en Arch Linux

Instalar Zsh y Oh My Zsh en Arch Linux
=================================
Instalar las fuentes de JetBrainsMono y CaskaydiaMono
sudo pacman -S ttf-cascadia-code-nerd
sudo pacman -S ttf-jetbrains-mono-nerd

Instalar Zsh
sudo pacman -S zsh

Instalar Oh My Zsh:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Instalar el autocompletado y el resaltado de sintaxis:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

Instalar el resaltado de sintaxis:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Configurar Zsh como shell predeterminado:
chsh -s $(which zsh)

Verificar tu shell predeterminado:
echo $SHELL

Abrir el archivo de configuración de Zsh:
vim ~/.zshrc
Busca la línea 73 que dice plugins=(git) y añádele los siguientes complementos para mejorar el autocompletado y el resaltado de sintaxis:
:73  plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

Aplicar los cambios:
source ~/.zshrc
---------------------------------------------------------------------------------------------------------------
Editar el archivo:
vim $HOME/.oh-my-zsh/themes/robbyrussell.zsh-theme
PROMPT="%(?:%{$fg_bold[green]%}%1{➜%} :%{$fg_bold[red]%}%1{➜%} )%{$fg[cyan]%}%c%{$reset_color%}"
PROMPT+=' $(git_prompt_info)'

ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}git:(%{$(printf '\033[38;2;227;100;100m')%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}%1{✗%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"

Para Cambiar el tema:
Abrir el archivo de configuración de Zsh:
vim ~/.zshrc
Busca la línea que comienza con ZSH_THEME y configúrala así:
ZSH_THEME="robbyrussell"

Aplicar los cambios:
source ~/.zshrc

Ruta de los themes de Oh-my-zsh:
$HOME/.oh-my-zsh/themes





domingo, 27 de octubre de 2024

Activar efi en Vmware Workstation

Activar efi en Vmware Workstation

Crear máquina virtual.
Abrir el fichero .VMX de tu máquina virtual con un editor de texto y añadir la siguiente linea: 
firmware="efi"

Guardar el .VMX

Instalación manual de Arch Linux

Instalación manual de Arch Linux
===========================
Establecer una distribución de teclado español
# loadkeys es
Establecer una distribución de teclado español latinoamericano
# loadkeys la-latin1
# timedatectl set-timezone America/Lima

Conectarse a internet por red Wifi
# iwctl
    [iwd]# device list
    [iwd]# station DEVICE scan
    [iwd]# station DEVICE get-networks
    [iwd]# station DEVICE connect [SSID]
    [iwd]# exit

# timedatectl set-ntp true
Verificar la fecha y hora actual
# date

Particionar el Disco
# fdisk -l
(elegimos el disco de 80GB)
# fdisk /dev/sdX
Command (m for help): g
Command (m for help): n
Partition number(1-128): 1
First Sector: Enter
Last Sector: +512M
Command (m for help): t
Partition type or alias(m for help): uefi
Command (m for help): n
Partition number(2-128): 2
First Sector: Enter
Last Sector: +60G
Command (m for help): n
Partition number (3-128): 3
First Sector: Enter
Last Sector: Enter(Todo espacio disponible)
Command (m for help): w

Formatear las particiones
# fdisk -l
# mkfs.vfat /dev/sda1
# mkfs.ext4 /dev/sda2
# mkfs.ext4 /dev/sda3
# lsblk -f

Montar las particiones
# mkdir -p /mnt/boot
# mkdir -p /mnt/datos
# mount /dev/sda1   /mnt/boot
# mount /dev/sda2   /mnt
# mount /dev/sda3   /mnt/datos
# df -h

Instalación de paquetes básicos
# pacstrap /mnt base linux linux-firmware linux-headers vim grub networkmanager sudo efibootmgr plasma dolphin konsole spectacle

Configuración del sistema
Generar un archivo fstab con las configuraciones de montaje de las particiones del sistema
# genfstab -U /mnt   >>  /mnt/etc/fstab
# cat /mnt/etc/fstab

Cambiar el entorno raíz al sistema montado en /mnt
# arch-chroot /mnt

Habilitar el servicio NetworkManager
# systemctl enable NetworkManager

Habilitar el servicio de Bluetooth
# systemctl enable bluetooth

Habilitar el gestor de inicio de sesión sddm
# systemctl enable sddm

Crear un usuario y agregarlo al grupo wheel
# useradd -m -G wheel juan
# passwd juan
# visudo  (descomentar la linea del #wheel)

Configurar la zona horaria
# ln -sf /usr/share/zoneinfo/America/Lima  /etc/localtime
# hwclock --systohc

Configuración de teclado
# echo "KEYMAP=la-latin1" > /etc/vconsole.conf

Configurar Idioma del sistema
# vim /etc/locale.gen  (descomentar #es_PE.UTF-8 UTF-8)
# locale-gen

Configurar nombre de equipo (archlinux)
# vim /etc/hostname  (ponemos el nombre del equipo o hostname)

Configuracion del gestor de arranque grub
# grub-install --target=x86_64-efi   --efi-directory=/boot   --bootloader-id=GRUB
# grub-mkconfig -o /boot/grub/grub.cfg
# exit
# reboot

Una vez arranque kde plasma
Establecer la resolución de pantalla settings -> display
Cambiar la distribución de teclado settings -> keyboard














sábado, 26 de octubre de 2024

Instalar diferentes versiones de PHP en Arch Linux con Homebrew

Instalación de Homebrew en Arch Linux
===============================
Instalar las dependencias básicas:
sudo pacman -S gcc make curl file git

Ejecutar el script de instalación de Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Configurar el entorno:
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
source ~/.bashrc
source ~/.zshrc

Instalar el compilador de GNU
brew install gcc

Listar versiones disponibles en el repositorio de Homebrew
brew search php

Instalación de diferentes versiones de PHP con Homebrew
brew install php@8.3
brew install php@8.2
brew install php@8.1

Ruta del arhivo ini.php
/home/linuxbrew/.linuxbrew/etc/php/8.3/php.ini

Verificar la versión actual de PHP:
php --version

Cambiar entre versiones de PHP:
brew unlink php@8.3
brew link php@8. 1

Listar todas las versiones instaladas en tu sistema
brew list | grep php

Actualizar la lista de versiones de PHP
brew update
brew search php
---------------------------------------------------------------------------------------------------------------
Para versiones antiguas de PHP (php5 y php7)
Agregar el repositorio de shivammathur:
brew tap shivammathur/php

Instalar PHP 7.4 desde este repositorio:
brew install shivammathur/php/php@7.4

Cambiar a PHP 7.4 como la versión activa:
brew unlink php@8.1
brew link php@7.4
----------------------------------------------------------------------------------------------------
Instalar los módulos para SQL Server

Instalar dependencias para compilar los módulos:
sudo pacman -S unixodbc gcc

# Instalar Driver ODBC de SQL Server
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release 
brew update 
brew install msodbcsql17

# Instalar los módulos de MSSQL
pecl install sqlsrv
pecl install pdo_sqlsrv

# Comprobar las extensiones habilitadas
php -m

Habilitar los módulos en el archivo php.ini (No es necesario)
echo -e "extension=sqlsrv.so\nextension=pdo_sqlsrv.so" >> /home/linuxbrew/.linuxbrew/etc/php/8.3/php.ini

Desinstalar el controlador ODBC de SQL Server 17 
brew uninstall msodbcsql17
odbcinst -u -d -n "ODBC Driver 17 for SQL Server"








Instalar Microsoft Edge en Arch Linux

Instalar Microsoft Edge en Arch Linux
===============================
Instalar yay (gestor de paquetes)
cd $HOME/Descargas
sudo pacman -S git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

Instalar Microsoft Edge

yay -S microsoft-edge-stable-bin






Instalar Arch Linux usando el script archinstall

Instalar Arch Linux
=================
$> loadkeys es

Configurar Wifi
$> iwctl
[iwd]# device list
[iwd]#station [wlan0] scan
[iwd]#station wlan0 get-networks
[iwd]#station wlan0 connect [nombre de red]
coloco contraseña de red y compruebo que se conecte
[iwd]#station wlan0 show
debe aparecer conectado, en caso de que salga en off
[iwd]#adapter phy0 set-property Powered on
[iwd]#exit

Particionar el Disco
# fdisk -l
(elegimos el disco de 80GB)
# fdisk /dev/sdX
Command (m for help): g
Command (m for help): n
Partition number(1-128): 1
First Sector: Enter
Last Sector: +512M
Command (m for help):   t
Partition type or alias(m for help): uefi
Command (m for help):   n
Partition number(2-128):   2
First Sector: Enter
Last Sector: +60G
Command (m for help):   n
Partition number (3-128):  3
First Sector: Enter
Last Sector: Enter(Todo espacio disponible)
Command (m for help):   w

Formatear las particiones
# fdisk -l
# mkfs.vfat /dev/sda1
# mkfs.ext4 /dev/sda2
# mkfs.ext4 /dev/sda3
# lsblk -f

Instalar Arch
$>archinstall
Archinstall language > Spanish
Mirrors                       > Colombia
Locales                       > Teclado: la-latin1  |  Idioma: es_PE.UTF-8
Disk configuration    > Predeterminado
Bootloader                 > Grub
Swap                          > yes
Root password          > ****
User account             > nombreUsuario
Profile                        > Type > Desktop > KDE Plasma
                                      Graphics driver > Nvidia(propietary)
      Greeter > sddm
Audio                        > PipeWire
Paquetes Adicionales > wpa_supplicant wireless_tools networkmanager firefox
Configuracion de la red > Copiar la configuración de red ISO a la instalación
Timezone                    > America/Lima
NTP                             > True
Optional repositories > multilib
Instalar

Actualizar el sistema
# pacman -Syu

Habilitar el servicio NetworkManager
# systemctl enable NetworkManager

Habilitar el servicio de Bluetooth
# systemctl enable bluetooth
# exit
# reboot

---------------------------------------------------------------------------------------------------------------
Eliminar Aplicaciones preinstaladas (GNOME)
# sudo pacman -Rns epiphany gnome-music gnome-weather gnome-maps gnome-tour gnome-contacts gnome-connections htop
sudo pacman -Sc

---------------------------------------------------------------------------------------------------------------
Desinstalar Paquetes (Opcional para KDE Plasma)
# sudo pacman -Rdd krdp
# sudo pacman -Rdd hwloc
# sudo pacman -Rdd kmenuedit
# sudo pacman -Rdd kate
# sudo pacman -Rdd htop

Instalación y Configuración de un DNS Público en Debian 12

Configuración de un DNS Público en Debian 12 ===================================== Registrar un dominio público en Goddady, Namecheap  ó pun...