#1 Le 02/10/2022, à 14:10
- arnaud_8854
script d'installation : édition de fichiers de configuration GLPI
Bonjour a tous et toutes,
Je dois faire un script d'installation d'un GLPI sur un server Ubuntu 22.04.
J'ai réussi a le faire par contre la ou j'ai des difficultés est au moment de modifier des paramètres de deux fichiers " apache2.conf " et php.ini
Comment je peux faire pour modifier ces deux fichiers sans perdre les données. Pour apache2 il faut rajouter 3 lignes a la fin du fichier et pour php il faut modifier certaines valeurs !!!
Est ce que la commande echo est adapté et quels sont les arguments ?
Voici le script :
#!/bin/sh
echo "Hello World, bienvenue sur l'installation d'un glpi en script"
# Mise a jour des dependencies
sudo apt update -y
#Mot de passe
glpi
sudo apt upgrade -y
# Installation mysql-server et de la base de données
sudo apt install mysql-server mysql-client
mysql -e create database glpi character set utf8 collate utf8_bin;
mysql -e create user 'glpi'@'%' identified by 'glpi';
mysql -e grant all privileges on glpi.* to 'glpi'@'%';
mysql -e flush privileges;
#installation apache2 et php avec ces dependances
sudo apt install apache2 php php-mysql libapache2-mod-php -y
sudo apt install php-json php-gd php-curl php-mbstring php-cas php-xml -y
sudo apt install php-cli php-imap php-ldap php-xmlrpc php-apcu -y
#réecriture du fichier apache2.conf
sudo a2enmod rewrite
sudo nano /etc/apache2.conf
#A la fin de ce fichier il faut rajouter les 3 lignes suivantes
<Directory /var/www/html>
AllowOverride All
</Directory>
#ré ecriture du fichier php.ini
sudo nano /etc/php/8.1/apache2/php.ini
#Quelle est la commande afin de changer les valeurs de ce fichiers sans toucher>
max_execution_time = 300
memory_limit = 256M
post_max_size =32M
max_input_vars = 4440
#relance service apache2
sudo service apache2 restart
#telechargement de glpi
cd /tmp
sudo wget [url]https://github.com/glpi-project/glpi/releases/download/10.0.3/glpi-10>[/url]
#Decompresser l'archive glpi
sudo tar -zxvf glpi-10.0.3.tgz
#Deplacement du dossier glpi
sudo mv glpi /var/www/html/
sudo chown www-data /var/www/html/glpi/* -r
#Creation du fichier d'installation de glpi.conf
sudo nano /etc/apache2/conf-available/glpi.conf
<Directory /var/www/html/glpi>
AllowOverride All
</Directory>
<Directory /var/www/html/glpi/config>
Options -Indexes
</Directory>
<Directory /var/www/html/glpi/files>
Options -Indexes
</Directory>
#Application du fichier creer
sudo a2enconfglpi
#restart systeme apache2
sudo systemctl restart apache2
#Adresse IP de la machine
ip a
echo" Merci d'avoir regarder cette installation"
Je vous remercie par avance de votre aide
Arnaud
Dernière modification par arnaud_8854 (Le 02/10/2022, à 22:55)
Hors ligne
#2 Le 02/10/2022, à 15:07
- Nuliel
Re : script d'installation : édition de fichiers de configuration GLPI
Bonjour,
J'ai rajouté des balises code histoire que ce soit plus lisible.
tee -a permet d'ajouter du contenu en fin de fichier, (sinon >> le permet aussi, mais peut-être pas adapté pour des fichiers appartenant à root).
Tu peux faire un truc dans ce genre
echo "<Directory /var/www/html>
AllowOverride All
</Directory>" | sudo tee -a tonfichier
nano a pas trop sa place dans un script je pense, appliquer la même astuce serait intéressant.
Pour changer des valeurs, je te conseille d'utiliser sed. Tu peux passer un truc du genre
sed -i '/max_execution_time/c\max_execution_time = 300' tonfichier
Hors ligne
#3 Le 02/10/2022, à 15:56
- bruno
Re : script d'installation : édition de fichiers de configuration GLPI
Bonjour,
Il ne faut pas modifier le fichier apache2.conf. Les configurations se font dans les hôtes virtuels ou dans /etc/apacche2/conf-available pour les celles communes à tous les sites web.
De même pour le fichier php.ini il vaut mieux mettre les configurations dans des fichiers spécifques (.htaccces dans ton cas)
Pour créer ou modifier un fichier en bash le plus simple est d'utiliser heredoc, exemple :
cat /etc/apache2/conf-available/glpi.conf << FIN
<Directory /var/www/html/glpi>
AllowOverride All
Options -Indexes
</Directory>
FIN
Autre exemple pour éviter de modifier le fichier de configuration global php.ini et mettre les directives dans le fichier .htaccess de GPLI :
cat /var/www/html/glpi/.htaccess << FIN
php_value max_execution_time 300
FIN
Pas du sudo dans un script ! Si le script doit être exécuté par root il faut l'indiquer au départ.
Il y a d'autres erreurs dans ton script que visiblement tu n'as pas testé…
Dernière modification par bruno (Le 02/10/2022, à 16:02)
#4 Le 02/10/2022, à 16:35
- arnaud_8854
Re : script d'installation : édition de fichiers de configuration GLPI
C'est génial !!!
Merci de vos réponses rapide.
Bruno : Je pense être novice par rapport a toi, je connais Ubuntu que depuis 10 mois mais je n'ai pas trop explorer l'architecture.
Le htacces est bien un fichier de configuration apache ?
il faut le creer comme le glpi.conf ?
Je n'ai pas tester mon scripts car je suis seulement en train de le creer ( ps c'est mon premier script) quelles sont mes erreurs ?
Hors ligne
#5 Le 02/10/2022, à 17:07
- arnaud_8854
Re : script d'installation : édition de fichiers de configuration GLPI
voici un le script en reprenant tes informations
Sont-elles exacts ?
#!/bin/sh
echo "Hello World, bienvenue sur l'installation d'un glpi en script"
# Mise a jour des dependencies
apt update -y
apt upgrade -y
# Installation mysql-server et de la base de données
apt install mysql-server mysql-client -y
mysql -e create database glpi character set utf8 collate utf8_bin;
mysql -e create user 'glpi'@'%' identified by 'glpi';
mysql -e grant all privileges on glpi.* to 'glpi'@'%';
mysql -e flush privileges;
#installation apache2 et php avec ces dependances
apt install apache2 php php-mysql libapache2-mod-php -y
apt install php-json php-gd php-curl php-mbstring php-cas php-xml -y
apt install php-cli php-imap php-ldap php-xmlrpc php-apcu -y
#telechargement de glpi
cd /tmp
wget https://github.com/glpi-project/glpi/re … 3/glpi-10>
#Decompresser l'archive glpi
tar -zxvf glpi-10.0.3.tgz
#Deplacement du dossier glpi
mv glpi /var/www/html/
chown www-data /var/www/html/glpi/* -r
cat /etc/apache2/conf-available/glpi.conf << FIN
<Directory /var/www/html/glpi>
AllowOverride All
Options -Indexes
</Directory>
<Directory /var/www/html/glpi/config>
Options -Indexes
</Directory>
<Directory /var/www/html/glpi/files>
Options -Indexes
</Directory>
FIN
#ajout des valeurs PHP
cat /var/www/html/glpi/.htaccess << FIN
php_value max_execution_time 300
php_value memory_limit 256M
php_value post_max_size 32M
php_value max_input_vars 4440
FIN
#Application du fichier creer
a2enconfglpi
#restart systeme apache2
systemctl restart apache2
#Adresse IP de la machine
ip a
echo" Merci d'avoir regarder cette installation"
Hors ligne
#7 Le 02/10/2022, à 19:46
- Watael
Re : script d'installation : édition de fichiers de configuration GLPI
il faut adapter le titre de ton sujet en éditant le premier message : "script d'installation : édition de fichiers de configuration"
parce que "script bash", c'est un sujet très vague.
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#8 Le 02/10/2022, à 22:56
- arnaud_8854
Re : script d'installation : édition de fichiers de configuration GLPI
Bonsoir,
Je viens de changer le titre !!!
Au plaisir...
Hors ligne
#9 Le 03/10/2022, à 05:34
- xubu1957
Re : script d'installation : édition de fichiers de configuration GLPI
Bonjour,
Lecture conseillée > memento des balises code.
Pour les aidants :
#!/bin/sh
echo "Hello World, bienvenue sur l'installation d'un glpi en script"
# Mise a jour des dependencies
apt update -y
apt upgrade -y
# Installation mysql-server et de la base de données
apt install mysql-server mysql-client -y
mysql -e create database glpi character set utf8 collate utf8_bin;
mysql -e create user 'glpi'@'%' identified by 'glpi';
mysql -e grant all privileges on glpi.* to 'glpi'@'%';
mysql -e flush privileges;
#installation apache2 et php avec ces dependances
apt install apache2 php php-mysql libapache2-mod-php -y
apt install php-json php-gd php-curl php-mbstring php-cas php-xml -y
apt install php-cli php-imap php-ldap php-xmlrpc php-apcu -y
#telechargement de glpi
cd /tmp
wget https://github.com/glpi-project/glpi/re … 3/glpi-10>
#Decompresser l'archive glpi
tar -zxvf glpi-10.0.3.tgz
#Deplacement du dossier glpi
mv glpi /var/www/html/
chown www-data /var/www/html/glpi/* -r
cat /etc/apache2/conf-available/glpi.conf << FIN
<Directory /var/www/html/glpi>
AllowOverride All
Options -Indexes
</Directory>
<Directory /var/www/html/glpi/config>
Options -Indexes
</Directory>
<Directory /var/www/html/glpi/files>
Options -Indexes
</Directory>
FIN
#ajout des valeurs PHP
cat /var/www/html/glpi/.htaccess << FIN
php_value max_execution_time 300
php_value memory_limit 256M
php_value post_max_size 32M
php_value max_input_vars 4440
FIN
#Application du fichier creer
a2enconfglpi
#restart systeme apache2
systemctl restart apache2
#Adresse IP de la machine
ip a
echo" Merci d'avoir regarder cette installation"
Dernière modification par xubu1957 (Le 03/10/2022, à 12:20)
Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Réso|u] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci. Membre de Linux-Azur
Hors ligne
#10 Le 03/10/2022, à 11:56
- bruno
Re : script d'installation : édition de fichiers de configuration GLPI
Il faut aussi lire la documentation Apache : ce qui est appliqué sur un répertoire avec Directory l'est également au sous répertoires, inutile de multiplier les directives…
Es-tu sûr qu'il soit bien sécurisé de créer un utilisateur MySQL ayant pour nom glpi , pour mot de passe glpi et autorisé à se connecter depuis n'importe quelle machine (%) ?
De manière générale un tel script devrait avoir pour objectif d'être réutilisable pour déployer GLPI dans diverses circonstances. Que se passe-til si apache, mysql, etc sont déjà installée ? Sil exitse déjà une base de données du même nom ?
Dernière modification par bruno (Le 03/10/2022, à 12:17)
#11 Le 03/10/2022, à 12:16
- MicP
Re : script d'installation : édition de fichiers de configuration GLPI
… Aïe ! surtout pas cela en récursif : …
Ok, par prudence j'ai préféré supprimer mon précédent message.
Hors ligne
#12 Le 03/10/2022, à 12:18
- bruno
Re : script d'installation : édition de fichiers de configuration GLPI
J'ai modifié ma réponse, mais c'est dommage, à par cette commande tout le reste était pertinent.