-==<XTBA>==-

Windows ne demande jamais à Chuck Norris d'envoyer le rapport d'erreur. Bill Gates vient le chercher lui même, avec toutes ses excuses.
Nous sommes le dim. 21 avr. 2024, 14:09

Heures au format UTC+03:00




Poster un nouveau sujet  Répondre au sujet  [ 11 messages ] 
Auteur Message
MessagePosté : lun. 4 janv. 2016, 16:47 
Hors ligne
Administrateur
Administrateur
Avatar de l’utilisateur

Enregistré le : ven. 3 oct. 2008, 20:21
Messages : 17419
Pseudo Boinc : [XTBA>TSA] IvanleFou
Localisation : Grenoble (38)
:hello:

Je viens partager avec vous un script qui se charge d'installer tout seul tout ce dont j'ai besoin sur ma machine Ubuntu. En fait j'ai pas mal bidouillé des VM ces derniers temps et j'en avais marre de tout refaire a la main. Donc j'ai mis tout ca dans un script. Alors faut pas chercher un script intelligent vu qui l'a ecrit [:king] C'est juste qu'il se tape tous les lignes de commande a ma place. L'installation se faite donc toute seule sauf par moment ou certains appli demande des infos a l'utilisateur donc faut intervenir ponctuellement comme spécifier le password pour MySQL. L'install complete prend 15-20mins chez moi, apres ca depend de sa connexion car pas loin de 500Mo a DL je pense entre les maj et les appli.
C'est donc tres specifique a ma configuration mais bon si ca peut servir a d'autres personnes tant mieux :) J'ai volontairement pas integré la mise a jour des fichiers de config un peu "critique" (comme le fstab, passwd, group, mdadm.conf, etc). Je prefere le faire a la main a la fin ca me prend 10 mins de plus mais au moins je flingue pas l'install [:rideau] Cela dit j'ai qd meme fait affiché au script ces config, ca me sert de rappel de ce que je dois faire.

Le script installe les appli et fait les configurations suivantes:
  • Install Samba
  • Install Mdadm
  • Install Owncloud
  • Install Apache + Mysql
  • Securisation de Mysql avec mysql_secure_installation
  • Config de Mysql pour Owncloud (au lieu de SqlLite par defaut)
  • Config de apache pour Owncloud
  • Install de Emby Server
  • Install de ddclient (mise a jour de dyndns)
  • Install de TvHeadEnd
  • Install de conky + sensors + hddtemp
  • Config de nano pour qu'il affiche les numeros de lignes
  • Préparation des repertoires pour le montage des raids
Donc faut adapter et virer ce qui ne vous interesse pas. C'est simple c'est tout commenté.


Le script consiste en 2 fichiers: install_VM_v1.sh et install_tvheadend.sh
Le 1er fait le gros du boulot et il faut l'ouvrir avec un editeur de teste pour configurer les quelques variables du debut. Notamment votre nom de user sur la machine et les nom des depots pour Owncloud et Emby qui dependent de la distribution et de la version que vous avez installé (pour cela il faut voir directement sur les site web des 2 softs). Dans la version que je propose c'est pour une Xubuntu 15.04.
Le 2eme se charge de l'installation de TvHeadEnd qui se fait sous un autre utilisateur et j'ai fais comme ca car je ne savais pas faire autrement (vous ai dit que c'est con :o ). Du coup rien a toucher dans celui-la
A noter que le script crée un repertoire "Install" dans votre home qui est supprimé a la fin de l'execution. Sur une install neuve il n'y a pas de soucis car il n'existe pas.

Donc le fonctionnement est tres simple:
  • Installation de Ubuntu/Xubuntu/Mint (Pas tester avec Mint mais cela devrait fonctionner aussi)
  • Une fois l'OS installé je me log et j'install le server ssh pour l'acces distant, c'est plus pratique: sudo apt-get install openssh-server. Eventuellement je change aussi le port pour ne pas avoir le 22 par defaut
  • Je connecte en SSH sur la machine avec le soft MobaXterm (sorte de couteau Suisse de connexions à distance) et j'upload dans mon home les 2 fichiers de script
  • Je donne les droits d'execution au fichier principal: chmod u+x install_VM_v1.sh
  • Je lance le script depuis mon home: ./install_VM_v1.sh
Voila maintenant plus qu'a le laisser faire et intervenir quand il le demande

install_VM_v1.sh
Citation :
#!/bin/bash
#Install script

# The following repositories must be changed according to your Linux distribution
OWNCLOUD_REP="https://download.owncloud.org/download/repositories/stable/Ubuntu_15.04"
EMBY_REP="http://download.opensuse.org/repositories/home:emby/xUbuntu_15.04"

# Replace the following by your username you use to log onto the PC
USERNAME="username"

cd ~/
mkdir install

echo "************************************************"
echo "* Update Xubuntu"
echo "************************************************"
echo " "
sudo apt-get update
sudo apt-get -y dist-upgrade
sudo apt-get -y install htop build-essential git pkg-config libssl-dev bzip2 wget
sudo aptitude install libavahi-client-dev zlib1g-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavresample-dev

# Install Mdadm
echo "************************************************"
echo "* Install Mdadm"
echo "************************************************"
echo " "
sudo apt-get -y install mdadm

# Install Samba
echo "************************************************"
echo "* Install Samba"
echo "************************************************"
echo " "
sudo apt-get -y install samba


# Install Owncloud
echo "************************************************"
echo "* Install Owncloud"
echo "************************************************"
echo " "
cd ~/install/
wget -nv $OWNCLOUD_REP/Release.key -O Release.key
sudo apt-key add - < Release.key
sudo sh -c "echo 'deb $OWNCLOUD_REP/ /' >> /etc/apt/sources.list.d/owncloud.list"
sudo apt-get update
sudo apt-get -y install owncloud
sudo service apache2 reload
rm ~/install/Release.key
echo "Visit http://IP_ADDRESS/owncloud";

# Install SQL for owncloud
echo "************************************************"
echo "* Install MySQL"
echo "************************************************"
echo " "
sudo apt-get -y install mysql-server
#(alternative: sudo apt-get install mariadb-server)
sudo mysql_install_db
sudo mysql_secure_installation
echo "************************************************"
echo "* Config MySQL for Owncloud"
echo "************************************************"
echo "CREATE DATABASE owncloud;"
echo "GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'XXXX_PASSWORD_XXXX';"
echo "exit;"
read -p "Type the 3 previous lines in mysql. Don't forget to modify XXXX_PASSWORD_XXXX by your actual password"
mysql -u root -p

# Config Apache for Owncloud
echo "************************************************"
echo "* Config Apache for Owncloud"
echo "************************************************"
echo " "
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo a2enmod rewrite
sudo service apache2 restart

# Install Emby
echo "************************************************"
echo "* Install Emby server"
echo "************************************************"
echo " "
cd ~/install/
wget -qO - $EMBY_REP/Release.key | sudo apt-key add -
sudo sh -c "echo 'deb $EMBY_REP/ /' >> /etc/apt/sources.list.d/emby-server.list"
sudo apt-get update
sudo apt-get -y install emby-server
sudo service emby-server start
rm ~/install/Release.key
echo "http://IP_ADDRESS:8096";

# Install ddclient
echo "************************************************"
echo "* Install ddclient (Dynhost)"
echo "************************************************"
echo "Copy config file ddclient.conf dans /etc"
sudo apt-get -y install ddclient
#read -p "Copy config file ddclient.conf dans /etc"

# Install tvheadend
echo "************************************************"
echo "* Install TvHeadEnd"
echo "************************************************"
echo "Creating user hts"
sudo addgroup hts
sudo adduser --home /home/hts --ingroup hts hts
sudo cp /home/ivan/install_tvheadend.sh /home/hts/
sudo chmod 777 /home/hts/install_tvheadend.sh
echo "Switching to user hts"
echo "After logging with hts user, run the following command: /home/hts/install_tvheadend.sh"
su hts
#cd ~/
#git clone https://github.com/tvheadend/tvheadend.git
#cd tvheadend
#./configure
#make
#./build.linux/tvheadend
#echo "Visit http://IP_ADDRESS:9981";
#exit;

# Install Conky
echo "************************************************"
echo "* Install Conky"
echo "************************************************"
echo " "
sudo apt-get -y install conky-all

# Install Sensors
echo "************************************************"
echo "* Install Sensors"
echo "************************************************"
echo " "
sudo apt-get -y install lm-sensors hddtemp

# Config nano
echo "************************************************"
echo "* Config Nano"
echo "************************************************"
echo "Creating config file for nano to display line numbers"
echo ""
touch ~/.nanorc
echo "set const">~/.nanorc


# Config Samba
echo "************************************************"
echo "* Config Samba"
echo "************************************************"
echo "Copy config file smb.conf dans /etc/samba/"
echo ""
#read -p "Copy config file smb.conf dans /etc/samba/"

# Config Mdadm
echo "************************************************"
echo "* Config Mdadm"
echo "************************************************"
echo "Copy config file mdadm.conf dans /etc/mdadm"
echo ""
#read -p "Update /etc/fstab"

# Config raids
echo "************************************************"
echo "* Config Raid arrays"
echo "************************************************"
echo "Creating mount folders for the arrays"
echo " "
sudo mkdir -p /mnt/raid2/files
sudo mkdir -p /mnt/raid3/files
cd /mnt
sudo chown -Rf $USERNAME:$USERNAME ./raid*
cd /mnt/raid3/files
sudo chown -Rf www-data:www-data ./owncloud

# Config Owncloud
echo "************************************************"
echo "* Config Owncloud"
echo "************************************************"
echo "Edit config file"
echo " "
sudo cp /var/www/owncloud/config/config.php /var/www/owncloud/config/config.old.php
#sudo nano /var/www/owncloud/config/config.php

# Config tvheadend
echo "************************************************"
echo "* Config tvheadend"
echo "************************************************"
echo "Copy config files"
echo " "

# Config Sensors
echo "************************************************"
echo "* Config Sensors"
echo "************************************************"
echo "Copy Harmattan skin files & Conky source file in Home dir"
echo " "
sudo chmod u+s /usr/sbin/hddtemp
sudo sensors-detect
sensors



cd ~/
rm -Rf install


install_tvheadend.sh
Citation :
#!/bin/bash
#Install script

# Install tvheadend
echo "************************************************"
echo "* Install TvHeadEnd"
echo "************************************************"
echo " "
cd ~/
git clone https://github.com/tvheadend/tvheadend.git
cd tvheadend
./configure
make
read -p "Run TvHeadEnd for the first one with temp user. Visit http://IP_ADDRESS:9981 and create a new user. Press ENTER to continue"
./build.linux/tvheadend -C
#echo "Visit http://IP_ADDRESS:9981";
exit;

_________________
Image
V8 farmer [benou_miam.gif]


Haut
   
MessagePosté : lun. 4 janv. 2016, 17:11 
Hors ligne
La chose a Biour
La chose a Biour
Avatar de l’utilisateur

Enregistré le : sam. 4 oct. 2008, 00:47
Messages : 17319
Pseudo Boinc : [XTBA>TSA] Poulpito
Localisation : Grenoble (38)
Cool ca permet toujours de garder tu temps ce genre de choses :)
hop Favoris


Haut
   
MessagePosté : lun. 4 janv. 2016, 17:56 
Hors ligne
Administrateur
Administrateur
Avatar de l’utilisateur

Enregistré le : ven. 3 oct. 2008, 20:21
Messages : 17419
Pseudo Boinc : [XTBA>TSA] IvanleFou
Localisation : Grenoble (38)
Quand tu as le systeme de VM comme toi tu as vite restauré ton systeme. Mais pour moi ce genre de script est pratique :)

edit: je l'ai ajouté dans le topic "Liste des tutoriaux et topics d'interets"

_________________
Image
V8 farmer [benou_miam.gif]


Haut
   
MessagePosté : lun. 4 janv. 2016, 18:57 
Hors ligne
VIP
VIP
Avatar de l’utilisateur

Enregistré le : mar. 7 oct. 2008, 19:02
Messages : 3596
Pseudo Boinc : [XTBA>XTC] Dodo29
Localisation : Entre le bar VIP et la scène principale
Je pense l'utiliser aussi et l'adapter un peu :)

Comme je fait pas mal de nouvelles VM, c'est bien pratique ^^


Haut
   
MessagePosté : lun. 4 janv. 2016, 21:35 
Hors ligne
La chose a Biour
La chose a Biour
Avatar de l’utilisateur

Enregistré le : sam. 4 oct. 2008, 00:47
Messages : 17319
Pseudo Boinc : [XTBA>TSA] Poulpito
Localisation : Grenoble (38)
après si tu fais beaucoup dodo tu as regardé du côté puppet ansible et cie ?
sinon avant j'avais debian + un autoinstall mais depuis que je suis repassé à ubuntu j'ai pas regardé

il faut que je me refasse une install auto (et pas juste un clone/template de VM)


Haut
   
MessagePosté : lun. 4 janv. 2016, 22:13 
Hors ligne
VIP
VIP
Avatar de l’utilisateur

Enregistré le : mar. 7 oct. 2008, 19:02
Messages : 3596
Pseudo Boinc : [XTBA>XTC] Dodo29
Localisation : Entre le bar VIP et la scène principale
Ben pour du perso à chaque nouveau service web => Une nouvelle VM
Au moins si je bidouille ou si un problème arrive, j'ai juste à m'occuper de cette vm et tout le reste est clean.
Ce que je fais :
- Création d'un dir sur la VMFS avec le nom de la nouvelle VM
- Copie des fichiers conf vmx + DD flat (Avec le fichier flat) d'une VM existante (Qu'il faut éteindre avant [:king] ) dans le précédent directory
- Renommage du fichier vmx et clic droit => Ajouter à l'inventaire
Ca c'est la partie fast & easy
- après c'est ajout de l'@ mac dans pfsense pour lui attribuer une IP via DHCP
- login sur la bécane avec sa nouvelle IP et modifs /etc/hosts, /etc/hostname, eth1 si besoin d'une IP publique, etc ...
- nettoyage des services qui servent à rien + directories dont j'ai plus besoin
- installation des nouveaux services
=> Ca fait un peu de manips

C'est sur que Ansible a l'air de se rapprocher de ce que je recherche d'après ce que je lis, je vais creuser la chose :D

Je connaissais pas du tout ce genre de produits.
Après au boulot on utilise LanDesk (Si y'en a qui connaissent ... ils comprendront :sweat: ) qui fait un peu pareil mais beaucoup plus lourd (Et plus cher)


Haut
   
MessagePosté : lun. 4 janv. 2016, 22:47 
Hors ligne
Avatar de l’utilisateur

Enregistré le : ven. 3 oct. 2008, 20:11
Messages : 19455
Pseudo Boinc : [XTBA>TSA] Biour
Localisation : Grenoble
ah oui LanDesk management, Déploiement etc ...

_________________
Forever Qlimax Addict!
Image
Image

Hardcore Will Never DIe.


Haut
   
MessagePosté : lun. 4 janv. 2016, 22:56 
Hors ligne
La chose a Biour
La chose a Biour
Avatar de l’utilisateur

Enregistré le : sam. 4 oct. 2008, 00:47
Messages : 17319
Pseudo Boinc : [XTBA>TSA] Poulpito
Localisation : Grenoble (38)
ouai un vieux bouzin

clairement dodo ce que tu fais c'est quasiment du provisionning cloud :)
donc ouai ansible puppet et cie !
pour mutualisé des services web comme ca pourquoi tu pars pas plutot sur du docker ?
ce serait plus light que des vm qui consomment (moi je suis comme toi mais par rôle une vm web, une mail, une owncloud etc etc)


Haut
   
MessagePosté : mar. 5 janv. 2016, 01:18 
Hors ligne
VIP
VIP
Avatar de l’utilisateur

Enregistré le : mar. 7 oct. 2008, 19:02
Messages : 3596
Pseudo Boinc : [XTBA>XTC] Dodo29
Localisation : Entre le bar VIP et la scène principale
Docker j'en entends de plus en plus parler, ouai !
J'ai même commencé à mettre un peu les mains dans le cambouis avec l'appliance AeroFS (https://www.aerofs.com/pricing/ pour ceux qui connaissent pas) mais le truc c'est que ça change pas mal de ce que je connais, donc faut un peu de temps pour réapprendre, et en ce moment c'est tendu niveau temps :/

Après j'ai commencé comme ça : Une VM par rôle, sauf pour le web.
Le docker peut être une bonne alternative aussi, mais faut que je voie si ça me prends pas trop de temps à comprendre parfaitement la chose avant de me lancer (Ouai j'aime bien comprendre très bien les choses avant le "mode bourrin" :/ )

Pour commencer : https://docs.docker.com/engine/introduc ... ng-docker/

Mais en attendant Ansible me tente quand même beaucoup :D , simple léger, pas de service qui tourne (D'après ce que j'ai pu lire), c'est une idée qui me plait !


Haut
   
MessagePosté : mar. 5 janv. 2016, 01:24 
Hors ligne
La chose a Biour
La chose a Biour
Avatar de l’utilisateur

Enregistré le : sam. 4 oct. 2008, 00:47
Messages : 17319
Pseudo Boinc : [XTBA>TSA] Poulpito
Localisation : Grenoble (38)
connait pas aerofs ^^ je t'avoue que owncloud + gitlab j'ai quasi tout ^^ mais je vais quand même regarder ce que ca peut donner \o/


Haut
   
MessagePosté : mar. 5 janv. 2016, 01:28 
Hors ligne
VIP
VIP
Avatar de l’utilisateur

Enregistré le : mar. 7 oct. 2008, 19:02
Messages : 3596
Pseudo Boinc : [XTBA>XTC] Dodo29
Localisation : Entre le bar VIP et la scène principale
Aerofs c'est âchement moins open que Owncloud ^^
Y a pas le côté plugins, configurable à bloc d'Owncloud

J'ai tenté complètement par hasard, et ce que j'ai adoré : le côté "non centralisé" tout est stocké sur les clients (Ou les team servers) sur lesquelq l'agent est installé et le compte lié.
La machine "aerofs" donc sur un docker ( :D ) ne stocker rien. Gain assez important niveau backup je trouve.
En gros c'est un "mega" perso avec un peu plus de tweak :)


Haut
   
Afficher les messages postés depuis :  Trier par  
Poster un nouveau sujet  Répondre au sujet  [ 11 messages ] 

Heures au format UTC+03:00


Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas modifier vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher :
Aller à :  
cron
Développé par phpBB® Forum Software © phpBB Limited
Traduit par phpBB-fr.com