Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

#6 Le 02/10/2022, à 17:13

cqfd93

Re : script d'installation : édition de fichiers de configuration GLPI

Modération

Bonjour,

Pour ajouter toi-même les balises code à ton message #5 :

  • Cliquer sur le lien « Modifier » en bas à droite du message

  • Sélectionner le texte

  • Cliquer sur le <> de l'éditeur de message
    1530289742.png


cqfd93

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. hmm


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

Bruno a écrit :

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.