venerdì 7 novembre 2014

Vagrant on port 80 (Mac OS X Yosemite, Mavericks and older)

On Mac OS X, you know, it's not possible to start Vagrant on 80 port.

In this article I will explain how to forward 80 port connections to 8080 port and configure a startup script to start this rule together with the Vagrant virtual machine.

Yosemite (10.10) and earlier

First, open your terminal and create a new packet filter anchor file:

~$ sudo nano /etc/pf.anchors/com.vagrant

Insert your password, if requested, then paste this line:
--
rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080
--

Save with CTRL+O, Enter, CTRL+X.

Now edit the packet filter configuration:

~$ sudo nano /etc/pf-vagrant.conf

Insert your password, if requested,  then paste these 3 lines:
--
rdr-anchor "com.vagrant"
load anchor "com.vagrant" from "/etc/pf.anchors/com.vagrant"

--
Note: put empty newline in the bottom of the file, or it won't work

Save with CTRL+O, Enter, CTRL+X.

To reload your rules, launch this command:

~$ sudo pfctl -ef /etc/pf-vagrant.conf

To merge port forwarding and vagrant start, we can create a simple script.

~$ sudo nano /usr/local/bin/vgup.sh

Insert your password, if requested,  then paste these 3 lines:
--
#!/bin/sh
sudo pfctl -ef /etc/pf-vagrant.conf
vagrant up
--

Save with CTRL+O, Enter, CTRL+X.

Add executing permission to the script:

~$ sudo chmod +x /usr/local/bin/vgup.sh

Now you can start your Vagrant machine with this command:

~$ vgup.sh

Mavericks (10.9) and older

On Mac OS X Mavericks and older versions activating a port forwarding is really simple!

~$ sudo ipfw add 100 fwd 127.0.0.1,8080 tcp from any to any 80 in

As with Yosemite case, to merge port forwarding and vagrant start, we can create a simple script.

~$ sudo nano /usr/local/bin/vgup.sh

Insert your password, if requested,  then paste these 3 lines:
--
#!/bin/sh
sudo ipfw add 100 fwd 127.0.0.1,8080 tcp from any to any 80 in
vagrant up
--

Save with CTRL+O, Enter, CTRL+X.

Add executing permission to the script:

~$ sudo chmod +x /usr/local/bin/vgup.sh

Now you can start your Vagrant machine with this command:

~$ vgup.sh

Sources:
http://www.abetobing.com/blog/port-forwarding-mac-osx-mavericks-port-80-8080-and-443-8443-79.html
http://www.abetobing.com/node/81

giovedì 16 ottobre 2014

[HOW TO] Avviare la partizione BOOT CAMP da Virtualbox

Per noi utenti Mac può far comodo avere una macchina virtuale Windows sempre a disposizione. Per i più esigenti la virtualizzazione non basta e si preferisce utilizzare Boot Camp per dedicare una partizione al sistema operativo Microsoft.

Dover riavviare il proprio Mac per utilizzare Windows risulta, a volte, estremamente scomodo. Esistono alcune soluzioni commerciali per utilizzare la partizione Boot Camp anche in modo virtuale (Parallels Desktop, ad esempio) ma è possibile avviare la propria partizione Boot Camp anche dal sistema di virtualizzazione gratuito Virtualbox.

In questa guida spiegherò come configurare una macchina virtuale capace di eseguire un sistema operativo installato su una partizione fisica. Questa guida è stata testata con successo su Windows 7 e Windows 8.1.

Tempo necessario:
  • 30 minuti

Software necessario:

Creare il link Virtualbox


Per prima cosa creiamo un disco in formato VMDK collegato alla nostra partizione Boot Camp.

1) Innanzitutto apriamo il Terminale

2) Digitiamo il comando diskutil list
01Maximo:~ simonelai$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *320.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            239.7 GB   disk0s2
   3:       Microsoft Basic Data BOOTCAMP                80.0 GB    disk0s3
Questo comando stamperà a schermo le partizioni presenti sulla vostra macchina.
Nel mio caso la partizione Boot Camp è la partizione numero 3 del disco 0, accessibile con l'dentificativo disk0s3.

Memorizzate questo identificativo, è fondamentale per  prossimi passi.

3) Disattiviamo il volume BOOTCAMP, dando il comando diskutil unmount /dev/disk0s3
01Maximo:~ simonelai$ diskutil unmount /dev/disk0s3
Volume BOOTCAMP on disk0s3 unmounted
Se il volume era visibile sulla Scrivania, dopo aver dato questo comando non sarà più visibile. Ma non vi preoccupate, la partizione è stata soltanto temporaneamente disattivata, per poter permettere a Virtualbox di accedervi.

In caso di errore controllate che l'identificativo del volume sia corretto e che il volume non sia già stato disattivato (Potete controllare attraverso l'applicazione Utility Disco).

4) Rendiamo la partizione accessibile alla nostra utenza, inserendo la nostra password quando richiesto:
01Maximo:~ simonelai$ sudo chmod 777 /dev/disk0s3
Password:
5) Creiamo il disco virtuale collegato alla nostra partizione Boot Camp:

01Maximo:~ simonelai$ sudo VBoxManage internalcommands createrawvmdk -rawdisk /dev/disk0 -filename BOOTCAMP.vmdk -partitions 3
Password:
RAW host disk access VMDK file BOOTCAMP.vmdk created successfully.

Da notare che i parametri in rosso vanno cambiati in relazione all'identificativo del disco e al numero della partizione BOOTCAMP.

Se tutto è andato nel modo giusto dovreste aver creato un link virtuale di accesso alla vostra partizione BOOTCAMP. Nella vostra home directory dovrebbero essere presenti due nuovi files, BOOTCAMP.vmdk e BOOTCAMP-pt.vmdk.

6) Ora cambiamo i permessi di accesso a questo disco virtuale:
01Maximo:~ simonelai$ sudo chown simonelai:staff BOOTCAMP.vmdk
01Maximo:~ simonelai$ sudo chown simonelai:staff BOOTCAMP-pt.vmdk
Anche qui al posto del nome utente in rosso dovreste inserire il nome del vostro utente. Se anche questo passo si è concluso con successo, abbiamo completato la parte più complicata della configurazione.

7) Chiudiamo il terminale.

Creare la macchina virtuale


Ora apriamo Virtualbox e creiamo la nostra macchina virtuale.

  1. Selezioniamo dal menu Macchina => Nuova...
  2. Scegliamo come nome della nostra macchina virtuale BOOTCAMP e selezioniamo il tipo di sistema operativo (nel mio caso Windows 8.1)
  3. Allochiamo almeno 1 Gb di RAM
  4. Nella schermata "Disco" scegliamo "Usa un file di disco virtuale esistente" e scegliamo il disco nella home directory BOOTCAMP.vmdk
  5. Selezioniamo il bottone Crea

La procedura dovrebbe concludersi senza errori.

Ora dobbiamo configurare soltanto il controller del disco fisso.

  1. Selezioniamo la nuova macchina virtuale
  2. Selezioniamo dal menu Macchina => Impostazioni...
  3. Selezioniamo Archiviazione
  4. Rimuoviamo il controller SATA e il disco fisso collegato
  5. Aggiungiamo il disco BOOTCAMP.vmdk al Controller IDE
  6. Modifichiamo il tipo di controller in ICH6
  7. Selezionate OK



Bene. Ora potete avviare la vostra macchina virtuale. E' arrivato il momento di incrociare le dita!
Se la macchina virtuale parte correttamente, potete installare le Virtualbox Guest Additions per abilitare funzionalità avanzate quali:

  • shared folders
  • seamless mode
  • drag 'n' drop
  • shared clipboard

Inoltre potete configurare uno script di start per evitare di dover smontare la partizione e cambiare i permessi ad ogni avvio.

Script di configurazione automatica


Vedremo ora come impostare uno script per attivare l'accesso Virtualbox alla partizione BOOTCAMP ed avviare la macchina virtuale quando necessario.

1) Apriamo il terminale
2) Digitiamo nano BOOTCAMP
3) Digitiamo questi comandi (sostituendo le parti in rosso con le proprie informazioni):

#!/bin/sh
diskutil unmount /dev/disk0s3
sudo chmod 777 /dev/disk0s3
Virtualbox startvm "BOOTCAMP"
4) Premiamo CTRL+X
5) Premiamo Y
6) Premiamo Invio
7) Ora diamo il comando chmod +x BOOTCAMP, per rendere lo script eseguibile
8) Installiamo lo script con il comando sudo mv BOOTCAMP /usr/local/bin/BOOTCAMP

Se tutto è andato nel modo giusto, d'ora in poi basterà invocare il comando BOOTCAMP da terminale per avviare la macchina virtuale collegata alla partizione di Boot Camp.

Fonte:

martedì 14 ottobre 2014

[HOW TO] Come installare Windows 8 o 8.1 su un Macbook Pro 2008 via Boot Camp

Anche se Mac OS X si presta perfettamente alla maggior parte degli usi comuni, alcune applicazioni (come ad esempio Visual Studio) e quasi tutti i videogiochi non sono ancora disponibili per il sistema operativo Apple. Come sapete è possibile far coesistere Windows e Mac OS X sulla stessa macchina attraverso il comodo Assistente Boot Camp.

Ecco il primo scoglio. Non tutte le versioni di Windows sono supportate ufficialmente su ogni piattaforma (http://support.apple.com/kb/HT5634?viewlocale=it_IT&locale=en_US). Ad esempio il mio vecchio ma perfettamente funzionante Macbook Pro unibody del 2008, da poco aggiornato con un bel disco SSD da 240 Gb e 8 Gb di RAM, non supporta Windows 8, nonostante l'hardware rientri pienamente nei requisiti.

In questa guida spiegherò come sia effettivamente possibile installare Windows 8 anche su un vecchio Mac, e come reperire tutti i drivers per far sì che si integri con Boot Camp.

La procedura per l'installazione potrebbe sembrarvi un po' macchinosa, ma tra tutte quelle che ho provato è stata l'unica a funzionare.

Tempo necessario:
  • Una giornata

Software necessario:

Installazione di Windows 7


Innanzitutto avviamo Assistente Boot Camp ed effettuiamo l'installazione di Windows 7 (l'unica supportata nativamente), seguendo la procedura guidata. Create una partizione di almeno 80 Gb per Windows (non sarà possibile modificarne la dimensione in un secondo momento!).

Nel caso non abbiate il lettore DVD, per l'installazione potete far riferimento a quest'articolo:
http://huguesval.com/blog/2012/02/installing-windows-7-on-a-mac-without-superdrive-with-virtualbox/
Se invece avete il DVD di Windows 7 e il vostro lettore funziona correttamente, potrete installare Windows 7 nel modo classico sul vostro Mac.

Una volta installato Windows 7 potete, se volete, installare i drivers bootcamp che avete provveduto ad installare su una chiavetta USB tramite l'assistente Boot Camp. Non è assolutamente obbligatorio in quanto questi drivers saranno sovrascritti da Windows 8.

Se tutto è andato a buon fine avrete Windows 7 correttamente installato sulla vostra partizione BOOTCAMP.

Download dei drivers Apple


Prima di tutto scaricate i drivers Boot Camp ver. 5.1.5621 per Windows 7/8/8.1 a 64 bit da

Installazione di Windows 8/8.1


A questo punto avviate Windows 7. Ora sarà possibile installare Windows 8/8.1 con il DVD di installazione o una chiavetta USB. Completate tutta la procedura di installazione, riavviando quando necessario. I dati e le applicazioni di Windows 7 saranno spostati nella directory c:\windows.old, e a fine installazione avrete un sistema Windows 8 pulito nella vostra partizione BOOTCAMP.

Installazione dei drivers Apple


Ora passiamo alla parte più complicata, l'installazione dei drivers. A seconda del modello del vostro Mac alcuni drivers potrebbero mancare. Per il mio Macbook Pro del 2008 ho dovuto scaricare in più soltanto i drivers del coprocessore (ne parlerò in seguito).

Decomprimete quindi l'archivio di con i drivers di Boot Camp per Windows 8. Provate ad avviare il programma setup.exe nella directory BootCamp. Se siete fortunati la procedura d'installazione partirà, installando i drivers, e potrete saltare questo capitolo. In caso negativo invece vi troverete davanti ad un errore di questo tipo:


Niente panico, un altro po' di pazienza e potremo superare anche questo problema!

Entrate nella directory BootCamp\Drivers\Apple. Come vedete qui è presente un file di installazione chiamato BootCamp.msi. Il problema è che cercando di avviarlo ci viene detto di utilizzare setup.exe.


La soluzione al nostro problema è creare un nuovo profilo di lancio per i files .msi ad elevati privilegi. 

  1. Premiamo <F3> (Tasto per avviare la ricerca)
  2. Scriviamo "regedit"
  3. Selezioniamo l'applicazione appena trovata, che ci servirà per modificare il registro di sistema 
  4. Rispondiamo "Si" quando ci viene chiesto di autorizzare l'applicazione
  5. Apriamo il percorso HKEY_CURRENT_ROOT\Msi.Package\shell
  6. Selezioniamo Modifica -> Nuovo -> Chiave
  7. Chiamiamola "runas"
  8. Facciamo doppio click su (Predefinito) e inseriamo il valore Install &as...
  9. Selezioniamo Modifica -> Nuovo -> Chiave
  10. Stavolta la chiameremo "command"
  11. Facciamo doppio click su (Predefinito) e inseriamo il valore msiexec /i "%1"
  12. Chiudiamo regedit

Se abbiamo seguito correttamente le istruzioni, cliccando con il pulsante destro del mouse su BootCamp.msi, ora potremo selezionare "Esegui come amministratore". Questo vi permetterà di eseguire la procedura di installazione e di integrare il vostro Windows 8 con Boot Camp.

Altri drivers


Una volta completata l'installazione potreste avere ancora qualche dispositivo non funzionante. Per verificarlo:

  1. Aprite il Pannello di controllo
  2. Selezionate Sistema e sicurezza
  3. Selezionate Gestione dispositivi sotto Sistema
  4. Verificate che non vi siano dispositivi con il punto esclamativo giallo

Se non riscontrate errori, complimenti! Potete saltare al prossimo capitolo sulla ripulitura del disco. 

Nel mio caso, invece, il sistema non riusciva a trovare il driver del Coprocessore. E' bastato cercare un po' su internet per trovare un driver funzionante rilasciato da Dell nel pacchetto R273039 (http://www.dell.com/support/home/us/en/19/Drivers/DriversDetails?driverId=R273039).

Per l'installazione:

  1. Decomprimete l'archivio nella directory C:\dell\R273039
  2. Chiudete l'installer
  3. Aprite il pannello "Gestione dispositivi"
  4. Selezionate la periferica non funzionante dall'elenco e cliccate su "Aggiorna driver..."
  5. Cercate manualmente nella directory C:\dell\R273039

Ripulire il sistema


Se tutto è andato a buon fine, non vi resta che ripulire il sistema dai files inutili. Per questo, non conosco nessun programma migliore di CCleaner, gratuito e veloce. Esso vi permetterà di rimuovere la vecchia installazione di Windows 7 dal vostro prezioso disco.

Fonti:

http://www.videograndpa.com/?p=2628
http://www.windowsnetworking.com/kbase/WindowsTips/WindowsXP/RegistryTips/Security/InstallingMSIPackageswithElevatedPrivileges.html