Adaptar les mv's perquè puguin ser compatibles amb vagrant
1) Preparar l’entorn: què necessites
VirtualBox — crearà les VM.
Vagrant — gestiona boxes i provisioning.
Ubuntu i Debian
Instal·lar VirtualBox i Vagrant a Ubuntu / Debian (Terminal)
Obre terminal.
Actualitza i instal·la VirtualBox i Vagrant amb les següents comandes
sudo apt update
sudo apt upgrade -y
sudo apt install -y virtualbox vagrant Comprovem:
virtualbox --help
vagrant --version Ubuntu
Debian
Rocky Linux
Instal·lació Virtual Box
Actualitza
sudo dnf update -y
Afegir manualment la clau i el repositori d’Oracle
Després crea el fitxer del repositori manualment:
sudo nano /etc/yum.repos.d/virtualbox.repo
Desa i tanca (Ctrl + O, Enter, Ctrl + X), i després:
sudo wget https://www.virtualbox.org/download/oracle_vbox.asc -O /etc/pki/rpm-gpg/RPM-GPG-KEY-Oracle Neteja i actualitza la memòria cau:
sudo dnf clean all
sudo dnf makecache
Instal·la VirtualBox
sudo dnf install -y VirtualBox-7.0 ERROR
Desactivar la verificació del repo metadata
sudo nano /etc/yum.repos.d/virtualbox.repo Canvia aquesta línia: repo_gpgcheck=1 per repo_gpgcheck=0
i ara:
sudo dnf clean all
sudo dnf makecache
sudo dnf install -y VirtualBox-7.0
Instal·lació de Vagrant
Ves a la pàgina oficial de descàrrega de Vagrant
Per exemple, a la terminal:
curl -O https://releases.hashicorp.com/vagrant/2.4.1/vagrant_2.4.1_x86_64.rpm
Instal·la el paquet amb DNF
sudo dnf install -y ./vagrant_2.4.1_x86_64.rpm Comprovació
vagrant --version
W10
Instal·lació Vagrant i VirtualBox a Windows 10 i Windows 2019
Instal·lació de VirtualBox
Es va descarregar la versió per Windows des de https://www.virtualbox.org/wiki/Downloads
Es va executar l’instal·lador.
Error trobat a la màquina w10:
Needs the Microsoft Visual C++ 2019 Redistributable package being installed first Explicació:
VirtualBox necessita el Microsoft Visual C++ 2019 Redistributable per funcionar correctament. Sense aquest paquet, la instal·lació no es pot completar.
Solució:
Instal·lar Microsoft Visual C++ 2019 Redistributable
Es va descarregar des de la pàgina oficial: https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
S’han executat els fitxers:
vc_redist.x64.exe(per a sistemes de 64 bits)vc_redist.x86.exe(opcional)
Es va acceptar el contracte de llicència i es va completar la instal·lació.
S’ha reiniciat el Windows per completar la instal·lació.
Comprovació de l’instalació de Microsoft Visual C++ 2019 Redistributable:
Al Control Panel → Programs → Programs and Features, apareix
Microsoft Visual C++ 2019 Redistributable (x64).
Instal·lació de VirtualBox
Passos:
Obre el navegador i ves a la pàgina oficial:
https://www.virtualbox.org/wiki/Downloads- Descarrega l’instal·lador per Windows hosts.
- Completa la instal·lació i obre VirtualBox per comprovar que funciona
W10
Instal·lació de Vagrant
Passos:
Descarrega la versió per Windows.
Executa l’instal·lador amb les opcions per defecte.
Un cop instal·lat, obre un terminal (PowerShell o CMD) i comprova la instal·lació:
vagrant --version
w10
w2019
Instal·lació de Vagrant a Windows Server 2019
Intent de descàrrega des del navegador
Durant la instal·lació, s’ha intentat accedir a la pàgina oficial de Vagrant (https://www.vagrantup.com/downloads
Error mostrat:
Content from the website listed is being blocked by the Internet Explorer Enhanced Security Configuration.
Aquest error apareix perquè Internet Explorer Enhanced Security Configuration (IE ESC) està activat per defecte a Windows Server 2019.
Aquesta configuració bloqueja la descàrrega de fitxers des de webs externes per motius de seguretat, i per tant impedeix descarregar l’instal·lador de Vagrant.
Solució: descàrrega amb PowerShell
Per evitar el bloqueig del navegador, s’ha optat per descarregar el fitxer d’instal·lació directament amb PowerShell, sense necessitat de desactivar la seguretat del servidor.
Passos seguits:
Obrir PowerShell com a administrador.
Executar l’ordre següent per descarregar Vagrant:
Invoke-WebRequest -Uri "https://releases.hashicorp.com/vagrant/2.4.1/vagrant_2.4.1_windows_amd64.msi" -OutFile "C:\vagrant.msi"
Durant el procés, PowerShell mostra el missatge;
Aquest missatge no és un error, sinó un indicador de progrés mentre es descarrega el fitxer
Writing web request stream... Number of bytes written: ...
Un cop completada la descàrrega, comprovar que el fitxer existeix
→ Si retorna True, la descàrrega s’ha fet correctament.
Test-Path C:\vagrant.msi Instal·lar el programa:
Start-Process "C:\vagrant.msi" -Wait
Comprovar la instal·lació:
vagrant --version
Resum del següent pas
Crear usuari
vagranti afegir-lo a sudo.Donar permisos sudo sense contrasenya.
Configurar SSH amb la clau pública oficial.
Comprovar
sshdi permisos.(Opcional) muntar
/vagrant.
Ubuntu
Crear l’usuari i donar permisos
Crea l’usuari vagrant, afegeix-lo al grup sudo i permet que pugui fer ordres sudo sense contrasenya.
sudo adduser vagrant
sudo usermod -aG sudo vagrant
echo "vagrant ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/vagrant
COMPROVACIÓ
id vagrant
sudo -l -U vagrant
Configurar l’accés SSH
Prepara el directori .ssh i afegeix la clau pública oficial de Vagrant per permetre l’accés automàtic.
sudo mkdir -p /home/vagrant/.ssh
curl -L https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub \
| sudo tee /home/vagrant/.ssh/authorized_keys
sudo chmod 600 /home/vagrant/.ssh/authorized_keys
sudo chmod 700 /home/vagrant/.ssh
sudo chown -R vagrant:vagrant /home/vagrant/.ssh
COMPROVACIÓ
ls -ld /home/vagrant/.ssh
ls -l /home/vagrant/.ssh/authorized_keys
Rocky Linux
Crear l’usuari vagrant i afegir-lo al grup d’administradors
sudo useradd -m -s /bin/bash vagrant
echo "vagrant:vagrant" | sudo chpasswd
sudo usermod -aG wheel vagrant
COMPROVACIÓ
id vagrant
groups vagrant
Configurar SSH per l’usuari vagrant
sudo mkdir -p /home/vagrant/.ssh
sudo chmod 700 /home/vagrant/.ssh
cd /home/vagrant/.ssh
sudo wget https://raw.githubusercontent.com/hashicorp/vagrant/main/keys/vagrant.pub -O authorized_keys
sudo chmod 600 authorized_keys
sudo chown -R vagrant:vagrant /home/vagrant/.ssh
COMPROVACIÓ
ls -ld /home/vagrant/.ssh
ls -l /home/vagrant/.ssh/authorized_keys
cat /home/vagrant/.ssh/authorized_keys
connexió SSH sense contrasenya
ssh vagrant@localhost
w10
Crear un usuari local “vagrant
net user vagrant vagrant /add
net localgroup Administrators vagrant /add COMPROVACIÓ
net user vagrant
Comprovar que l’usuari és administrador
net localgroup Administrators
Configurar SSH
mkdir C:\Users\vagrant\.ssh Comprovar que la carpeta .ssh existeix
Test-Path C:\Users\vagrant\.ssh
Descarrega la clau pública de Vagrant:
Invoke-WebRequest -Uri https://raw.githubusercontent.com/hashicorp/vagrant/main/keys/vagrant.pub -OutFile C:\Users\vagrant\.ssh\authorized_keys Assigna permisos correctes:
icacls C:\Users\vagrant\.ssh\authorized_keys /inheritance:r
icacls C:\Users\vagrant\.ssh\authorized_keys /grant:vagrant:(R)
Provar connexió SSH local
ssh vagrant@localhost
w2k19
Crear usuari local
vagrant
Obre PowerShell com a administrador i executa:
New-LocalUser -Name "vagrant" -Password (ConvertTo-SecureString "vagrant" -AsPlainText -Force) -FullName "Vagrant User" -Description "Usuari creat per Vagrant"
if (Get-LocalUser -Name "vagrant" -ErrorAction SilentlyContinue) { Write-Host "Usuari vagrant creat/existeix" } COMPROVACIÓ
Get-LocalUser -Name "vagrant" | Format-List Name,Enabled
2. Donar rol com administrador
Add-LocalGroupMember -Group "Administrators" -Member "vagrant" COMPROVACIÓ
3. Evitar canvi obligatori de contrasenya / que caduqui
Set-LocalUser -Name "vagrant" -PasswordNeverExpires $true COMPROVACIÓ
Get-LocalUser -Name "vagrant" | Select-Object Name,PasswordNeverExpires
Habilitar WinRM (Windows Remote Management
Configura WinRM bàsic:
winrm quickconfig -q
Permet connexions sense xifrar (només per entorns de prova):
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
Activa autenticació bàsica:
winrm set winrm/config/service/auth '@{Basic="true"}'
Configura el servei WinRM perquè s’iniciï automàticament:
Set-Service winrm -StartMode Auto
Obre el tallafoc per permetre WinRM:
netsh advfirewall firewall set rule group="Windows Remote Management" new enable=yes
Verificació final
Test-WSMan localhost
Debian
Crear l’usuari vagrant amb permisos sudo
sudo useradd -m -s /bin/bash vagrant
echo "vagrant:vagrant" | sudo chpasswd
sudo usermod -aG sudo vagrant crea un nou usuari.
canvia la contrasenya de l’usuari.
afegeix l’usuari al grup sudo sense eliminar grups existents.
Comprovació
id vagrant
groups vagrant
Hauries de veure que l’usuari vagrant existeix i forma part del grup sudo.
Configurar SSH per a Vagrant
Crear el directori .ssh per l’usuari vagrant
sudo mkdir -p /home/vagrant/.ssh Assignar permisos correctes al directori .ssh
sudo chmod 700 /home/vagrant/.ssh
Entrar al dircetori .ssh
cd /home/vagrant/.ssh
Descarregar la clau pública oficial de Vagrant
sudo wget https://raw.githubusercontent.com/hashicorp/vagrant/main/keys/vagrant.pub -O authorized_keys
Assignar permisos al fitxer authorized_keys
sudo chmod 600 authorized_keys
Assignar propietat de .ssh i contingut a l’usuari vagrant
sudo chown -R vagrant:vagrant /home/vagrant/.ssh
Comprovacions
ls -la /home/vagrant/.ssh
Hauries de veure:
.ssh→ drwx—— (700)authorized_keys→ -rw——- (600)
Provar connexió SSH local
sudo -u vagrant ssh -i /home/vagrant/.ssh/authorized_keys vagrant@localhost
Fer compatibles les MVs de VirtualBox amb Vagrant:
Llistar les MVs existents
VBoxManage list vms
Convertir la MV en un fitxer .box
vagrant package --base "Nom_VM" --output nom_box.box
A cadascuna de les màquines de VirtualBox:
vagrant package --base "Nom_VM" --output nom_box.box
Com ocupen massa espai els fitxers, em pujat els .box al Drive comú
Creeu una carpeta compartida (ex.
Boxes_Vagrant_Grup).Pugeu-hi tots els
.box.Poseu noms clars als fitxers (ex.
rocky.box,ubuntu_mate.box,debian.box).
Cada membre pot baixar el .box que necessiti
Afegir la box a Vagrant
Ara cada membre pot baixar el .box que necessiti
Quan algú vulgui usar una màquina concreta, la descarga del Drive i afegeix la box a Vagrant:
vagrant box add nom_box1 nom_box2.box exemple:
vagrant box add ubuntu ubuntu_mate.box
És normal que la comanda tardi bastant, sobretot si la MV és gran (té molts GB de disc o snapshots).
Crear el projecte de Vagrant
Anem al directori on tenim les boxes.
cd ~/Documents/Boxes Creem la carpeta per la nostra box i un cop dins:
mkdir box_ubuntu
cd ~/Documents/Boxes/box_ubuntu Inicialitzar el Vagrantfile per cada projecte
vagrant init ubuntu
Executar fitxer
vagrant up