Avant de lancer le script, il y'a quelques étapes :
apt-get install git- corriger le problème de locale d'Ubuntu 13.04 si vous voyez des warning suite à la commande précédente
modifier /etc/default/locale avec le contenu :
# File generated by update-locale
LANGUAGE=en_US:en
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_ALL=en_US.UTF-8
Puis se relogguer.
- générer la clé SSH de root (
ssh-keygen -t rsa), et l'ajouter aux "Deploy keys" de myclabs/Inventory
Une fois fait, on peut exécuter le script.
Après l'exécution du script, créer les utilisateurs avec adduser, groupadd admin (admin est un groupe automatiquement autorisé à faire sudo),
usermod -a -G admin someuser, sudo usermod -a -G deployers someuser puis ajouter dans /etc/sudoers:
# Allow jenkins to deploy
jenkins ALL = NOPASSWD: /usr/local/bin/deploy
Créer l'utilisateur jenkins (adduser jenkins) et permettre son login via clé SSH en ajoutant la clé publique à /home/jenkins/.ssh/authorized_keys.
Puis lui ajouter le groupe deployers pour qu'il ait le droit de déployer: sudo usermod -a -G deployers jenkins.
Puis désactiver le login SSH root et changer le port SSH pour 4269 (/etc/ssh/sshd_config).
Pour configurer l'heure : sudo dpkg-reconfigure tzdata puis ajouter dans la crontab root (sudo crontab -e) :
@hourly /etc/network/if-up.d/ntpdate ntp.ubuntu.com
Il se peut que phpMyAdmin s'affiche mal, dans ce cas :
dpkg-reconfigure phpmyadmin
Pour l'envoi de mail :
sudo apt-get install exim4
Configuration dans /etc/exim4/update-exim4.conf.conf :
dc_eximconfig_configtype='internet'
Puis redémarrer Exim 4: sudo /etc/init.d/exim4 restart.
Pour éviter d'avoir dans New Relic les stats de phpMyAdmin,
il faut modifier le fichier /etc/apache2/conf.d/phpmyadmin.conf et ajouter dans <IfModule mod_php5.c> :
# Disable New Relic monitor
php_flag newrelic.enabled off
Puis redémarrer Apache qui va redémarrer le démon :
sudo apachectl restart
Installer de la swap : https://www.digitalocean.com/community/articles/how-to-add-swap-on-ubuntu-12-04
- Ubuntu 13.04
- Apache
- MySQL
- PHP 5.5 + OpCache + APCu
- phpMyAdmin
- Supervisor : gestion des processus démons (workers, …)
- RabbitMQ : serveur de file de messages, utilisé pour les workers
- remote_syslog : envoie les logs à PaperTrail, notre outil de lecture des logs
- New Relic : statistiques sur les serveurs et applications
$ ./install.sh <SERVER_NAME> <MYSQL_ROOT_PASSWORD> <PASSWORD>SERVER_NAME: par ex.dev.myc-sense.comMYSQL_ROOT_PASSWORD: mot de passerootmysqlPASSWORD: mot de passemyc-sensemysql et RabbitMQ
Attention : le script demandera à un moment de s'identifier pour GitHub (pour cloner myclabs/deploy).
Utiliser ses propres identifiants : ils ne sont pas sauvegardés.
Installer en tant que root!
$ ssh root@monserver
$ git clone https://github.com/myclabs/servers.git
$ cd servers/
$ ./install.sh ...Pour démarrer la machine virtuelle et lancer l'installation :
$ vagrant up
$ vagrant ssh
$ cd /vagrant
$ sudo ./install.sh ...$ ./create_project.sh <NAME> <ENV> <SHORT_ENV> <PASSWORD> <BASE_URL>NAME: par ex.inventory1oubolloreENV: environnement complet :developpement,production…SHORT_ENV: environnement cours (pour le nom du serveur) :dev,prod…PASSWORD: mot de passemyc-sensemysql et RabbitMQBASE_URL: url de l'application (sans/à la fin), par exemplehttp://test.myc-sense.com/inventory1