Created
September 5, 2013 11:35
-
-
Save matyo91/6449009 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Introduction | |
Dans cet article, nous allons installer un environnement de développement LAMP sur OSX en utilisant VirtualBox. | |
# Télécharger | |
VirtualBox : http://www.virtualbox.org/wiki/Downloads | |
Ubuntu Server (LTS 32bis) : http://www.ubuntu.com/server/get-ubuntu/download | |
# Création de la machine virtuelle | |
On va créer une machine virtuelle de type Linux/Ubuntu 32bits avec 512 Mo de mémoire et 64Go de stockage. | |
# Installation Ubuntu Server | |
Avant toute chose, on met à jour le système. | |
$ sudo apt-get update | |
$ sudo apt-get upgrade | |
# Configuration du Réseau | |
On va créer une nouvelle interface réseau pour notre VM. | |
Cette interface sera de type *Réseau Privé hôte* alors que la principale est de type *NAT* | |
Pourquoi une configuration avec 2 interfaces ? | |
La première interface (NAT) est sur le DHCP autrement dit, la configuration réseau est susceptible de changer (Renouvellement du bail, changement de réseau wifi), ce qui peut être dérangeant pour développer et accéder à la machine. De plus comme l'interface est NATer les services ne sont pas directement accessible, il faudrait forwarder des ports... | |
La seconde interface aura quant à elle, une IP fixe et sera directement accessible depuis l'hôte, mais aussi depuis d'autres VM (Windows par exemple pour faire des tests avec IE6) | |
Pour cette seconde interface nous allons utiliser comme subnet 10.1.1.0/24 | |
La machine hôte aura l'IP : 10.1.1.1 | |
La machine virtuelle aura l'IP : 10.1.1.2 | |
Avant toute chose il faut arrêter la machine virtuelle : | |
$ sudo poweroff | |
# VirtualBox | |
On modifie la configuration réseau de VirtualBox | |
VirtualBox > Preferences... > Network | |
Puis, on modifie la configuration de la machine virtuelle pour créer la deuxième interface réseau : | |
# Ubuntu | |
Editer la configuration réseau | |
$ sudo nano /etc/network/interfaces | |
# The loopback network interface | |
auto lo | |
iface lo inet loopback | |
# The primary network interface | |
auto eth0 | |
iface eth0 inet dhcp | |
auto eth1 | |
iface eth1 inet static | |
address 10.1.1.2 | |
netmask 255.255.255.0 | |
On relance les interfaces | |
$ sudo /etc/init.d/networking restart | |
On verifie que tout fonctionne depuis le Mac : | |
$ ping 10.1.1.2 | |
PING 10.1.1.2 (10.1.1.2): 56 data bytes | |
64 bytes from 10.1.1.2: icmp_seq=0 ttl=64 time=0.295 ms | |
64 bytes from 10.1.1.2: icmp_seq=1 ttl=64 time=0.363 ms | |
64 bytes from 10.1.1.2: icmp_seq=2 ttl=64 time=0.357 ms | |
^C | |
--- 10.1.1.2 ping statistics --- | |
3 packets transmitted, 3 packets received, 0.0% packet loss | |
round-trip min/avg/max/stddev = 0.295/0.338/0.363/0.031 ms | |
# Connection en ssh sur la VM | |
L'idée ici est de se passer totalement de la machine virtuelle, en montant les fichiers sur le bureau par SSHFS puis en utilisant le terminal pour se connecter à distance via ssh à la VM. | |
Nous allons configurer la connection ssh via un système de clef privée / clef publique afin d'éviter d'avoir à taper le mot de passe à chaque connection. | |
Sur le terminal MacOS X, on va tout d'abord lier l'IP de la VM au nom 'lamp' | |
$ sudo nano /etc/hosts | |
10.1.1.2 lamp | |
Puis on cree pour l'utilisateur courant le couple de clef privée / clef publique | |
# create dsa key into ~/.ssh/id_dsa | |
$ ssh-keygen -t dsa | |
Copie de la clef publique sur le serveur Ubuntu | |
$ cat ~/.ssh/id_dsa.pub | ssh by@lamp "cat >> .ssh/authorized_keys" | |
Maintenant on peut tout simplement se connecter sans mot de passe au serveur Ubuntu par la commande | |
$ ssh by@lamp | |
# Monter le disque dur de la VM sur le Mac | |
Sur Ubuntu, modifier le groupe de l'utilisateur courrant pour qu'il soit le même que celui d'apache : | |
# modify usergroup by as www-data | |
$ sudo usermod -g www-data by | |
# modify the folder /var/www/ as (user, user-group) = (by, www-data) | |
$ sudo chown by /var/www/ | |
$ sudo chgrp www-data /var/www/ | |
Sur Mac, il faut installer *sshfs* avec *MacPorts* : | |
1. Télécharger et installer Xcode | |
2. Ouvrir xCode | |
Xcode -> Open Developer Tool -> More Developer Tool ... | |
3. Téléchager et installer Command Line Tools | |
4. Valider avec le terminal la licence xCode | |
$ xcodebuild -license | |
5. Installer MacPorts : http://www.macports.org/install.php | |
6. Installer sshfs | |
$ sudo port install fuse4x sshfs | |
7. Monter le disque via sshfs | |
$ mkdir /Volumes/lamp | |
$ sshfs by@lamp:/var/www /Volumes/lamp -o volname=by@lamp | |
Le disque est monté via sshfs, il sera alors vu comme un serveur connecté sur MacOS X | |
# Installer Guest Additions de VirtualBox sur Ubuntu | |
Monter le CD Guest Additions | |
menu -> Devices -> Install Guest Additions ... | |
$ sudo mount /dev/cdrom /media/cdrom | |
Installer les outils de compilation et headers linux | |
$ sudo apt-get install dkms | |
$ sudo apt-get install build-essential | |
$ sudo apt-get install linux-headers-generic | |
$ sudo apt-get install linux-headers-$(uname -r) | |
Installer les Guest Additions : | |
$ sudo /media/cdrom/VBoxLinuxAdditions.run | |
# Configuration standard du serveur Ubuntu | |
Ici, on configure une fois pour toute une installation standard de PHP | |
$ sudo apt-get install php-apc | |
$ sudo apt-get install php5-intl | |
$ sudo apt-get install php5-curl | |
$ sudo apt-get install php5-gd | |
$ sudo apt-get install php5-mcrypt | |
$ sudo apt-get install php5-sqlite | |
$ sudo apt-get install php5-xdebug | |
$ sudo apt-get install php-pear | |
$ sudo nano /etc/php5/apache2/php.ini | |
date.timezone = Europe/Paris | |
short_open_tag = Off | |
magic_quotes_gpc = Off | |
register_globals = Off | |
session.autostart = Off | |
$ sudo service apache2 reload | |
Installer Git, SVN | |
$ sudo apt-get install git-core | |
$ sudo apt-get install subversion | |
Installer Composer | |
$ cd /tmp | |
$ curl -s https://getcomposer.org/installer | php | |
# make composer as default command line | |
$ sudo mv composer.phar /usr/local/bin/composer | |
Installer les outils de gestion avancée des droits | |
$ sudo apt-get install acl |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment