vendredi 16 décembre 2016

Ouverture de phpPgAdmin à un accès depuis le réseau local

Dans cet article, nous allons voir comment installer et ouvrir l'accès à phpPgAdmin pour une machine sur le réseau local.

Nous partons du principe que ls base de données PostgreSQL est déjà installée.L'installation de phpPgAdmin vise à gérer une base de données PostgreSQL par le navigateur. Cette installation est très simple:

1) Mettre à jour:
sudo aptitude update
2) Installer phpPgAdmin:
 sudo aptitude install phppgadmin
 Ce fut bref, n'est-ce pas?

Pour le moment, phpPgAdmin n'est atteignable que par le localhost. Sur un serveur qui n'a pas d'écran, ce n'est pas très partique... Il faut donc ouvrir un accès pour les machines sur le réseau. Pour ce faire, il faut modifier le fichier de configuration de phpPgAdmin:
sudo nano /etc/apache2/conf-available/phppgadmin.conf
Il faut alors le modifier comme suit:
order deny,allow
#deny from all
allow from 127.0.0.0/255.0.0.0 ::1/128
#allow from all
Il faut ensuite  redémarrer de serveur apache:
sudo /etc/init.d/apache2 restart
Pour rétablir le blocage une fois le boulot voulu effectué, il suffit de décommenter "deny from all" et à nouveau de redémarrer le serveur apache. Il est possible de vérouiller l'accès par un couple utilisateur/mot de passe, mais pour une utilisation ponctuelle de phpPgAdmin, je trouve plus simple de faire ces manipulations simples manuellement à chaque fois...

Sources:
- https://stackoverflow.com/questions/29970054/phppgadmin-forbidden-you-dont-have-permission-to-access-phppgadmin-on-this-s

mercredi 2 novembre 2016

Installation ODK Aggregate sur Ubuntu Server

Dans cet article, nous allons installer ODK Aggregate sur une base Ubuntu server. ODK Aggregate, libre et open source, permet de réaliser, centraliser et gérer des saisies avec des formulaires remplis sur smartphone/tablette par des personnes sur le terrain grâce aux applications android ODK Collect ou GeoODK. ODK Aggregate est une solution fiable utilisée par exemple par de nombreux organismes non gouvernementaux liés à l'ONU.
Ce tuto part du principe que l'installation sera effectuée sur une installation fraiche d'Ubuntu server. Si vous suivez l'installation sur un matériel qui héberge déjà d'autres services, vous devrez éventuellement faire les modifications qui s'imposent...

1) Installer Ubuntu server en veillant à sélectionner au minimum les paquets pour un serveur OpenSSH, LAMP et la base de donnée PostgreSQL. Ajouter d'autres paquets à volonté en fonction de vos besoins. Éviter simplement d'installer le serveur tomcat car nous installerons manuellement la version 6 plus tard.


2) Se connecter en SSH à la machine et prendre les droits d'administration de root.

3) OPTIONNEL: désinstaller MySQL, personnellement je ne vais pas l'utiliser sur ce serveur. Les commandes suivantes le permettent:
service mysql stop
killall -KILL mysql mysqld_safe mysqld
apt-get --yes purge mysql-server mysql-client
apt-get --yes autoremove --purge
apt-get autoclean
deluser --remove-home mysql
delgroup mysql
rm -rf /etc/apparmor.d/abstractions/mysql /etc/apparmor.d/cache/usr.sbin.mysqld /etc/mysql /var/lib/mysql /var/log/mysql* /var/log/upstart/mysql.log* /var/run/mysqld
updatedb
4) OPTIONNEL: désinstaller le serveur Tomcat 7 si présent. ODK Aggregate ne tourne que sur Tomcat 6. Premièrement il faut identifier les paquets liés à Tomcat 7:
dpkg -l|grep tomcat
Puis il faut supprimer manuellement chaque paquet listé avec la commande précédente:
dpkg -P <nom du paquet à supprimer>
 5) Installer Tomcat 6 grâce à la commande suivante:
apt-get install tomcat6
 A ce stade il faut vérifier que le serveur fonctionne correctement. Il faut alors visiter l'adresse ip du serveur en sollicitant le port 8080:

http://<adresse ip du serveur>:8080
Vous devriez avoir un message qui spécifie que le serveur fonctionne.


 6) Télécharger ODK Aggregate, lancer et suivre le processus sur son propre ordinateur. Le processus n'installe rien sur l'ordinateur, il créé simplement un fichier "ODKAggregate.war" et un script "create_db_and_user.sql" qui mettra en place la base de donnée PostgreSQL. Ces deux fichiers doivent être placés sur le serveur, cela sera détaillé dans ce tuto.

7) Utiliser SCP pour transférer les deux fichiers créés à l'étape précédent sur le serveur. Pour ce faire, nous allons créer un dossier dans le dossier home et y placer les fichiers.
cd /home/<nom d'utilisateur>
mkdir odkagg
cd odkagg
scp -r <utilisateur>@<ip ordinateur>:<chemin vers le dossier de l'étape 6> .

 8) Lancer le script de mise en place de la base de données. Si vous suivez ce tuto, vous êtes déjà dans le bon dossier, sinon cd dans le dossier contenant le fichier "create_db_and_user.sql". Si vous êtes toujours root, quittez ces privilèges en tappant "exit".Puis il faut lancer ce script grâce à la suite de commandes suivantes:
sudo -i -u postgres
psql
\i create_db_and_user.sql
\q
exit

9) Copier le fichier "ODKAggregate.war" dans le dossier "webapps" de Tomcat 6:
cp ODKAggregate /var/lib/tomcat6/webapps

L'installation est terminée, il ne reste qu'à visiter http://<ip du serveur>:8080/ODKAggregate et se logger avec le nom d'utilisateur créé à l'étape 6, mot de passe "aggregate" et changer le mot de passe. Bon terrain et bonne récolte de données!

samedi 9 janvier 2016

Raspberry Pi 2: monitorage de serveur

Dans ce tout petit tuto (il s'agit surtout d'une traduction du site du script), nous allons voire comment obtenir un rapport global de notre serveur owncloud ou autre. Nous allons obtenir cela:


Pour ce faire, nous allons utiliser un script nommé "eZ Server Monitor". Notez qu'il existe une version pour afficher cela tout beau dans le navigateur, mais personnellement ça ne m'intéresse pas, je veux juste jeter un œil de temps en temps quand je suis sur mon réseau local et connecté en ssh.
Bref, c'est tout kiss...

0) Mettre à jour et installer hddtemp. Je pars du principe que ce tuto est réalisé sur un raspberry pi, si vous avec une autre machine, vous pourriez vouloir aussi installer Im-sensors.
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt-get install hddtemp
1) Se rendre dans un répertoire (moi j'ai choisi mnt car il est vide et c'est presque une abréviation de "monitor"):
cd /mnt
2) Créer un dossier pour y placer le script et s'y rendre:
sudo mkdir monitor
cd monito
3) Télécharger la dernière version du script (il s'agit de la version 2.2 au moment de la rédaction de ce petit tuto):
sudo wget --content-disposition http://www.ezservermonitor.com/esm-sh/downloads/version/2.2
4) Décompresser l'archive:
sudo unzip ezservermonitor-sh_v2.2.zip
5) Supprimer l'archive:
sudo rm ezservermonitor-sh_v2.2.zip
6) Attribuer les droits:
sudo  chmod u+x eZServerMonitor.sh
7) Éditer le script pour afficher les températures:
sudo nano eZServerMonitor.sh
8) Au début du fichier se trouvent les options de configuration.
Trouver la ligne
# Temperatures blocks (true for enable)
TEMP_ENABLED=false

Et changer la valeur à "true".

9) Lancer le script:
./eZServerMonitor.sh -Ca
Et voilà! Bon monitorage à vous!