-==<XTBA>==- https://forum.setiaddicted.com/ |
|
[Linux] Script pour automatiser installation https://forum.setiaddicted.com/viewtopic.php?f=4&t=2005 |
Page 1 sur 1 |
Auteur : | IvanleFou [ lun. 4 janv. 2016, 16:47 ] |
Sujet du message : | [Linux] Script pour automatiser installation |
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 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 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:
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 ). 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:
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; |
Auteur : | poulpito [ lun. 4 janv. 2016, 17:11 ] |
Sujet du message : | Re: [Linux] Script pour automatiser installation |
Cool ca permet toujours de garder tu temps ce genre de choses hop Favoris |
Auteur : | IvanleFou [ lun. 4 janv. 2016, 17:56 ] |
Sujet du message : | Re: [Linux] Script pour automatiser installation |
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" |
Auteur : | Dodo29 [ lun. 4 janv. 2016, 18:57 ] |
Sujet du message : | Re: [Linux] Script pour automatiser installation |
Je pense l'utiliser aussi et l'adapter un peu Comme je fait pas mal de nouvelles VM, c'est bien pratique ^^ |
Auteur : | poulpito [ lun. 4 janv. 2016, 21:35 ] |
Sujet du message : | Re: [Linux] Script pour automatiser installation |
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) |
Auteur : | Dodo29 [ lun. 4 janv. 2016, 22:13 ] |
Sujet du message : | Re: [Linux] Script pour automatiser installation |
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 ) 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 Je connaissais pas du tout ce genre de produits. Après au boulot on utilise LanDesk (Si y'en a qui connaissent ... ils comprendront ) qui fait un peu pareil mais beaucoup plus lourd (Et plus cher) |
Auteur : | Biour [ lun. 4 janv. 2016, 22:47 ] |
Sujet du message : | Re: [Linux] Script pour automatiser installation |
ah oui LanDesk management, Déploiement etc ... |
Auteur : | poulpito [ lun. 4 janv. 2016, 22:56 ] |
Sujet du message : | Re: [Linux] Script pour automatiser installation |
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) |
Auteur : | Dodo29 [ mar. 5 janv. 2016, 01:18 ] |
Sujet du message : | Re: [Linux] Script pour automatiser installation |
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 , 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 ! |
Auteur : | poulpito [ mar. 5 janv. 2016, 01:24 ] |
Sujet du message : | Re: [Linux] Script pour automatiser installation |
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/ |
Auteur : | Dodo29 [ mar. 5 janv. 2016, 01:28 ] |
Sujet du message : | Re: [Linux] Script pour automatiser installation |
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 ( ) ne stocker rien. Gain assez important niveau backup je trouve. En gros c'est un "mega" perso avec un peu plus de tweak |
Page 1 sur 1 | Heures au format UTC+03:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |