Installation sysPass : Différence entre versions
m |
(Aucune différence)
|
Version actuelle en date du 27 avril 2020 à 17:35
Cet article présente l'installation de sysPass
sur une machine Ubuntu
et en mode autonome.
Sommaire
Votre avis
Nobody voted on this yet
|
|
Configuration MySql
Mise en place instance
Pré requis
L'installation d'sysPass s'effectue uniquement en déployant le paquet officiel et l'exposer sous un serveur Web comme Apache. Des modules php sont requis.
- mcrypt
- mysql
- curl
- gd
- json
Ceux-ci sont installés à l'aide de la commande suivante.
#sudo apt-get install php-mcrypt php-mysql php-curl php-gd php-json
Initialisation
L'application va être installée sous /var/opt/
avec une organisation qui doit permettre de faciliter les montées de version. Un répertoire commun est mis en place /var/opt/syspass
dans lequel les binaires sont installés.
#sudo mkdir -p /var/opt/syspass #sudo chown www-data:www-data /var/opt/syspass #sudo chmod 700 /var/opt/syspass
Téléchargement
L'application est téléchargée, en version 1.2.0.18, dans le répertoire /var/opt/syspass
.
#sudo wget -P /var/opt/syspass https://github.com/nuxsmin/sysPass/archive/1.2.0.18.tar.gz
Installation
L'application va être installée sous /var/opt/syspass
, avec modification de l'emplacement racine pour être 1.2.0.18
.
#sudo tar --transform 's/^sysPass-1.2.0.18/1.2.0.18/' -C /var/opt/syspass -xzvf /var/opt/syspass/1.2.0.18.tar.gz
Puis le lien /var/opt/syspass/installed
est mis en place pour référencer la version active. Ainsi, il sera facile de préparer les mises à jours, il suffira de modifier le lien.
#sudo ln -s /var/opt/syspass/1.2.0.18 /var/opt/syspass/installed #sudo chown -h www-data:www-data /var/opt/syspass/installed
Le fichier téléchargé peut être supprimé
#sudo rm /var/opt/syspass/1.2.0.18.tar.gz
Propriétaire fichiers
L'installation a été réalisée avec le compte root
. Il est préférable de donner la propriété au compte de démarrage du serveur web, soit www-data
dans le cadre de cette installation.
#sudo chown -R www-data:www-data /var/opt/syspass
Sécurisation
Les droits mis en place seront uniquement pour le compte d'exécution du serveur Web, soit www-data
dans le cadre de cette installation.
#sudo chmod -R go-rwx /var/opt/syspass/1.2.0.18
Attention depuis la version 2.0.0.17021302, les configurations sont au format XML, dans le répertoire config
. Or ceci implique qu'elles sont disponibles par simple URL. Il serait donc possible d'accéder aux configurations de l'application, comme le compte MySQL par exemple.
Ce point est abordé sur la documentation officielle afin d'interdire l'accès. Dans le cadre de cette installation, un fichier .htaccess
a été mis en place dans le répertoire config
avec le contenu suivant.
# line below if for Apache 2.4
<ifModule mod_authz_core.c>
Require all denied
</ifModule>
# line below if for Apache 2.2
<ifModule !mod_authz_core.c>
deny from all
</ifModule>
# section for Apache 2.2 and 2.4
IndexIgnore *
Publication sous Apache
Initialisation
Personnalisation configuration
Afin de facilité les montées de version, le fichier de configuration stocké dans le répertoire config
de l'instance, soit /var/opt/syspass/installed/config
dans le cadre de cette installation, est externalisé. Ainsi, il suffira de créer le lien vers celui-ci.
Pour cet article, les fichiers communs seront placés dans le répetoire /var/opt/syspass/common
, tout en respectant la structure hierarchique source. Pour le répertoire de configuration, les commandes suivantes sont exécutées.
#sudo mkdir -p /var/opt/syspass/common/config #sudo chmod -R 700 /var/opt/syspass/common #sudo chown -R www-data:www-data /var/opt/syspass/common/config #sudo cp -p /var/opt/syspass/installed/config/* /var/opt/syspass/common/config
Puis un lien est créé dans l'instance vers cette externalisation.
#sudo rm -rf /var/opt/syspass/installed/config #sudo ln -s /var/opt/syspass/common/config /var/opt/syspass/installed/config #sudo chown -h www-data:www-data /var/opt/syspass/installed/config
Attention, un message d'erreur a été constaté lors de la mise à jour de la version 2.1.16.18061901.
Les permissions sur le répertoire doivent être 750
, or cétait 700
dans le cadre de cette installation. Il est alors nécessaire de les modifier.
#sudo chmod 750 /var/opt/syspass/common/config
Mais les permissions des fichiers dans le répertoire ne sont pas modifiées.
Permissions compte base de données
Une fois l'installation terminée, il ne faut pas oublier de diminuer les droits du compte sur la base de données, comme explicité lors de la création du compte. Les commandes suivantes sont exécutées.
mysql> REVOKE ALL ON syspass.* FROM 'syspass'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON syspass.* TO 'syspass'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
Plugins
A partir de la version 2.1.13.17083101, la prise en compte de plugins a été introduite pour des modifications futures. Ces plugins devront être déposés dans le répertoire inc/Plugins
.
Les plugins sont externalisées afin de ne pas avoir à les recopier dans le répertoire de l'instance à chaque montée de version, comme décrit dans l'article d'ajout de plugins.
L'environnement est construit dans un répertoire common
.
#sudo mkdir -p /var/opt/syspass/common/plugins-available #sudo mkdir -p /var/opt/syspass/common/plugins-enabled #sudo chown www-data:www-data /var/opt/syspass/common/plugins-available #sudo chown www-data:www-data /var/opt/syspass/common/plugins-enabled #sudo chmod 700 /var/opt/syspass/common/plugins-available #sudo chmod 700 /var/opt/syspass/common/plugins-enabled
Le répertoire plugins-available
sera utilisé pour installer les plugins. Ils seront activés en plaçant un lien sous plugins-enabled
, pour lequel un lien est créé dans le répertoire d'installation de l'instance, comme décrit dans le paragraphe d'activation des plugins.
#sudo mkdir -p /var/opt/syspass/common/inc #sudo chown www-data:www-data /var/opt/syspass/common/inc #sudo chmod 700 /var/opt/syspass/common/inc #sudo ln -s /var/opt/syspass/common/plugins-enabled /var/opt/syspass/common/inc/Plugins #sudo chown -h www-data:www-data /var/opt/syspass/common/inc/Plugins
Update
Bug
php 7
php 7.2
Voir aussi
Documentation officielle: http://wiki.syspass.org/en/start