Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
|
vagrant [2026/09/15 19:20] enric_mieza_sanchez [Exercici 7: Cluster Proxmox] |
vagrant [2026/10/13 18:29] (actual) enric_mieza_sanchez [Exercici 1.6: Wordpress] |
||
|---|---|---|---|
| Línia 53: | Línia 53: | ||
| A partir d' | A partir d' | ||
| - | Sembla | + | Sembla que l'usuari |
| + | <code ruby> | ||
| + | Vagrant.configure(" | ||
| + | config.vm.box = " | ||
| + | config.vm.provision " | ||
| + | chsh -s /bin/bash vagrant | ||
| + | SHELL | ||
| + | end | ||
| + | </ | ||
| </ | </ | ||
| Línia 104: | Línia 112: | ||
| ===== Exercicis ===== | ===== Exercicis ===== | ||
| - | ==== Exercici 1 ==== | + | ==== Exercici |
| <WRAP todo> | <WRAP todo> | ||
| Investiga com utilitzar aquestes comandes bàsiques: | Investiga com utilitzar aquestes comandes bàsiques: | ||
| Línia 113: | Línia 121: | ||
| </ | </ | ||
| - | ==== Exercici 2 ==== | + | ==== Exercici |
| <WRAP todo> | <WRAP todo> | ||
| Cerca informació per configurar: | Cerca informació per configurar: | ||
| Línia 122: | Línia 130: | ||
| </ | </ | ||
| - | ==== Exercici 3 ==== | + | ==== Exercici |
| <WRAP todo> | <WRAP todo> | ||
| Cerca informació del // | Cerca informació del // | ||
| Línia 131: | Línia 139: | ||
| </ | </ | ||
| - | ==== Exercici 4 ==== | + | ==== Exercici |
| <WRAP todo> | <WRAP todo> | ||
| Configura una VM: | Configura una VM: | ||
| Línia 137: | Línia 145: | ||
| - Amb una pàgina de benvinguda personalitzada senzilla, que mostri:< | - Amb una pàgina de benvinguda personalitzada senzilla, que mostri:< | ||
| < | < | ||
| - | - Que mostri la web als ports 80 i 8080 | + | - Que mostri la web als ports 80 i 8080 de la VM |
| + | - Que mostri la info de php a la pàgina ''/ | ||
| </ | </ | ||
| - | ==== Exercici 5: Apache, PHP i userdir ==== | + | ==== Exercici |
| <WRAP todo> | <WRAP todo> | ||
| Fes un Vagrantfile que crei una màquina amb les següents característiques: | Fes un Vagrantfile que crei una màquina amb les següents característiques: | ||
| Línia 153: | Línia 162: | ||
| </ | </ | ||
| - | ==== Exercici 6: Wordpress ==== | + | ==== Exercici |
| <WRAP todo> | <WRAP todo> | ||
| Volem fer proves amb Wordpress i automatitzarem la configuració del servei en una VM amb Vagrant. | Volem fer proves amb Wordpress i automatitzarem la configuració del servei en una VM amb Vagrant. | ||
| Línia 182: | Línia 191: | ||
| * Utilitzar l' | * Utilitzar l' | ||
| * Enviar el formulari. Les dades que necessitem les tenim davant nostre a la URL. | * Enviar el formulari. Les dades que necessitem les tenim davant nostre a la URL. | ||
| - | * Elaborar la comanda curl amb -X POST i -d " | + | * Elaborar la comanda curl per crear les taules. |
| + | * Ha de ser amb el mètode //post//, apuntant a '' | ||
| + | * Separeu les dades del formulari de la URL i les afegiu amb '' | ||
| ...et voilà! | ...et voilà! | ||
| Línia 211: | Línia 222: | ||
| \\ | \\ | ||
| - | ==== Loops Ruby ==== | + | ==== Loops en Ruby ==== |
| - | Els //loops// en Ruby (ens caldran pels scripts Vagrant) es poden fer de moltes formes, de les quals la més típica podria | + | Els //loops// en Ruby (ens caldran pels scripts Vagrant) es poden fer de moltes formes, de les quals les més típiques podrien |
| + | |||
| + | <file ruby loops.rb> | ||
| + | # un bucle indexat | ||
| - | <file ruby loop.rb> | ||
| (1..5).each do |n| | (1..5).each do |n| | ||
| puts "volta #{n}" | puts "volta #{n}" | ||
| + | end | ||
| + | |||
| + | |||
| + | # iterar un array | ||
| + | |||
| + | nodes = [ " | ||
| + | nodes.each_with_index do |name, i| | ||
| + | puts "VM num #{i} : # | ||
| + | end | ||
| + | |||
| + | |||
| + | # iterar un diccionari | ||
| + | |||
| + | nodes = { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | |||
| + | nodes.each do |name, opts| | ||
| + | puts "VM # | ||
| + | puts " | ||
| + | puts " | ||
| + | puts " | ||
| end | end | ||
| </ | </ | ||
| Línia 223: | Línia 260: | ||
| \\ | \\ | ||
| - | ==== Exercici | + | ==== Crear diverses VMs en un arxiu Vagrant ==== |
| + | Per crear diverses VMs en un arxiu es fa mitjançant la crida '' | ||
| + | |||
| + | <file ruby Vagrantfile> | ||
| + | Vagrant.configure(" | ||
| + | config.vm.box = " | ||
| + | |||
| + | config.vm.define " | ||
| + | web.vm.hostname = " | ||
| + | web.vm.network " | ||
| + | end | ||
| + | |||
| + | config.vm.define " | ||
| + | db.vm.hostname = " | ||
| + | db.vm.network " | ||
| + | end | ||
| + | end | ||
| + | </ | ||
| + | |||
| + | I si ho volem fer amb un loop: | ||
| + | |||
| + | <file ruby Vagrantfile> | ||
| + | Vagrant.configure(" | ||
| + | config.vm.box = " | ||
| + | |||
| + | nodes = { | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | |||
| + | nodes.each do |name, ip| | ||
| + | config.vm.define name do |node| | ||
| + | node.vm.hostname = name | ||
| + | node.vm.network " | ||
| + | end | ||
| + | end | ||
| + | end | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ===== Mes exercicis ===== | ||
| + | |||
| + | ==== Exercici | ||
| + | <WRAP todo> | ||
| + | |||
| + | Crea una simulació d'un aulari: | ||
| + | * 3 aules, amb 3 VMs cadascuna. | ||
| + | * Cada aula té una xarxa separada | ||
| + | * Cada VM té 512 MB de RAM | ||
| + | * Crea un node **master** que vegi totes les aules. | ||
| + | * Configura les màquines perquè la master pugui entrar per SSH a qualsevol de les VMs. | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ==== Exercici 2.2: Cluster Proxmox ==== | ||
| <WRAP todo> | <WRAP todo> | ||
| Línia 251: | Línia 344: | ||
| EOF | EOF | ||
| </ | </ | ||
| - | |||
| </ | </ | ||