Installer weewx sur Orange PI zero

Installer weewx sur Orange PI zero

21 janvier 2018 0 Par Benoit

1) Préparation de la carte avec Armbian

Télécharger l’image pour l’Orange Pi Zero sur le  site Web d’Armbian .

Utiliser Win32DiskImager pour le mettre sur la carte µsd.

Insérer votre carte micro SD imagé avec Armbian dans la fente micro SD sur le Orange Pi Zero et démarrer votre Orange Pi Zero.

Se connecter au Orange Pi Zero en SSH (avec PuTTY) par exemple.

Par défaut le login est root et le mot de passe 1234 ( il faudra le changer à la première connexion et créer un autre compte avec moins de privilège)

Nous allons d’abord mettre à jour Armbian

sudo apt-get update
sudo apt-get upgrade

Pour regler Armbian utiliser la commande

sudo armbian-config

Pour l’installation de Weewx, la version 3 de python ne dois pas être installer. On peut donc vérifier notre version de Python avec la commande

python -V

Vous devriez être en version Python 2.7

 

2) Installation des paquets nécessaires à weewx

Entrons de le vif du sujet, nous allons commencer par installer les prérequis pour l’installation de Weewx, il suffit de taper ces lignes (installations de paquets) et de répondre « Y » quand on nous le demande

# packages requis: 
sudo apt-get install -y python-configobj python-cheetah python-imaging 

# requis si branchement en USB: 
sudo apt-get install -y python-usb 

# Requis si utilisation de MySQL: 
sudo apt-get install -y mysql-client python-mysqldb 

# Requis si utilisation du FTP : 
sudo apt-get install ftp 

# Optionel pour les informations étendues de l'alamana: 
sudo apt-get install -y python-dev python-pip 
sudo apt-get install -y python-setuptools
sudo pip install pyephem

(Source : http://www.weewx.com/docs/setup.htm)

 

3) Installation de weewx

Dites à apt où trouver les versions weeWX. Cela ne doit être fait qu’une seule fois – la première fois que vous installez weeWX.

wget -qO - http://weewx.com/keys.html | sudo apt-key add -
wget -qO - http://weewx.com/apt/weewx.list | sudo tee /etc/apt/sources.list.d/weewx.list

Utilisez apt-get pour installer weeWX. L’installateur vous demandera l’emplacement, la latitude / longitude, l’altitude, le type de station et les paramètres spécifiques au matériel de votre station.

sudo apt-get update
sudo apt-get install -y weewx

4) Installation des paquets pour l’hébergement web.

Comme je veux héberger mon site ici je vais installer apache, php mysql et phpmyadmin

a) Installation d’Apache

Tout d’abord il va falloir installer le package « Apache ».

Apache est le serveur web le plus utilisé dans le monde, très documenté visant son installation, son utilisation et sa sécurisation. Apache va nous permettre d’héberger des fichiers au format HTML afin qu’un navigateur web puisse les lire.

Afin d’installer Apache nous devons posséder les droits administrateurs, soit en vous connectant en root (vous pouvez retrouver comment activer cet utilisateur ici), soit par la commande sudo.

Pour commencer, écrivez la commande suivante afin d’installer le serveur Apache.

sudo apt-get install -y apache2

A présent apache est installé. Nous pouvons vérifier qu’Apache fonctionne correctement en vous connectant sur votre navigateur web et en entrant l’adresse IP locale du raspberry .

Vous devriez arriver sur une page qui montre bien que le serveur fonctionne correctement.

en cas d’erreur 403 :

C’est surement que vos fichiers publics sont la propriété de root.  Apache ne peut pas y accéder. Changez la propriété pour qu’elle appartienne à www-data.

Pour restaurer la propriété des fichiers dans vos répertoires publics, exécutez :

chown -R www-data /var/www
chgrp -R www-data /var/www

chown -R www-data /usr/lib/cgi-bin
chgrp -R www-data /usr/lib/cgi-bin

b) Installation de PHP7.0

PHP : Hypertext Preprocessor, connu sous le sigle PHP est à la fois un langage de programmation principalement utilisé pour produire des pages web dynamiques via un serveur http et est aussi un interpréteur.

Afin que notre serveur puisse interpréter le langage PHP il va nous falloir l’installer via la commande suivante :

sudo apt install -y php php-mbstring

Nous allons à présent vérifier le bon fonctionnement de PHP : créez un fichier «phpinfo.php » contenant la fonction phpinfo :

echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

Retournez dans votre navigateur à l’adresse de votre raspberry en ajoutant /phpinfo.php . Vous devriez avoir une page de ce type :

Vérification de fonctionnement de PHP sur le navigateur web

Vérification de fonctionnement de PHP sur le navigateur web

Cela montre que PHP fonctionne correctement Si vous avez une page blanche installer ceci.

sudo apt-get install libapache2-mod-php7.0

c) Installation de MySQL

Tout serveur fonctionne avec des bases de données pour stocker les informations de votre site web ou de votre application. Nous allons donc installer un SGBD (Système de Gestion de Bases de Données) qui est MySQL. La SQL n’est pas un langage de programmation mais est bien plus ! C’est un outil incontournable permettant de vous aider considérablement dans le traitement de données.

Nous allons installer « mysql-server » et « php-mysql » qui permet de faire le lien entre php et mysql.

sudo apt install -y mysql-server php-mysql

A présent nous pouvons vérifier que MySQL fonctionne correctement. Lançons maintenant MySQL:

sudo mysql --user=root

Nous allons maintenant supprimer l’utilisateur root et créer un nouvel utilisateur root, car celui par défaut n’est utilisable que par le compte administrateur du système, et n’est donc pas accessible aux script PHP du serveur.

Pour cela, une fois connecté à MySQL, lancez les commandes suivantes (remplacez password par le mot de passe de votre choix) :

DROP USER 'root'@'localhost';
CREATE USER 'root'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';

Nous allons maintenant créer un utilisateur weewx avec les privilèges de connexion (CREATE USER ‘NomUtilisateur’@’localhost’ IDENTIFIED BY ‘password’;)  :

CREATE USER 'weewx'@'localhost' IDENTIFIED BY 'weewx';
GRANT ALL PRIVILEGES ON weewx.* TO weewx@localhost;
exit;

Pour passer weewx en base MySQL,  dans le fichier de configuration weeWX weewx.cfg :

Modifier la section [[wx_binding]] en changeant la ligne database = archive_sqlite en database = archive_mysql

Relancer le servive weewx pour apliquer les modifications :

sudo /etc/init.d/weewx restart

d) Installation de PHPMyAdmin

PHPMyAdmin est une application web qui fournit une interface graphique simplifiée pour MySQL. Grâce à cette application vous pouvez lire, modifier, manipuler toutes vos bases de données.

sudo apt-get install -y phpmyadmin

Une fenêtre vous demandant de faire un choix entre deux serveurs web va s’afficher.

Il vous faut cocher « apache2 » en appuyant sur la barre espace. Une étoile (*) va s’afficher à côté de votre choix vous montrant qu’il a bien été pris en compte.

Comme nous avons déjà configurez la base de données, choisissez no à la question concernant l’utilisation de dbconfig-common. Pour le mot de passe root, il s’agit de celui que vous aviez utilisé pour MySQL.

Vous pouvez vous rendre sur votre navigateur web, et écrire l’adresse suivante XXX.XXX.X.XX/phpmyadmin (où XXX.XXX.X.XX est l’adresse locale de votre raspberry).

Entrez « root » comme nom d’utilisateur et le mot de passe que vous avez enregistré lors de l’installation de MySQL ou le nom d’utilisateur et le mot de passe créer après.

5) Ajouter un accès FTP au OrangePi

Ce n’est pas très compliqué, ouvrez votre terminal (vous pouvez aussi le faire en SSH) et rentrez ceci :

sudo apt-get install vsftpd

Appuyez sur [y] si on vous le demande.

Voilà, le serveur est installé, maintenant, nous allons le configurer.

Depuis votre terminal, entrez

sudo nano /etc/vsftpd.conf

Un fichier de configuration s’ouvre.

changez la ligne

Anonymous_enabled=YES

en

Anonymous_enabled=NO

Maintenant, enlevez le # devant les lignes suivantes :

Local_enable = YES
local_unmask=022
Write_enabled=YES
Ascii_upload_enabled=YES
Ascii_download_enabled=YES

Puis faites [ctrl] + [x] puis [y] puis [Entrée]

5) Donner des droits aux dossiers susceptibles d’êtres modifiés

Les dossiers en questions sont  :

– Le repertoir d’installation de weewx

/etc/weewx

– Le répertoire des pages web

/var/www

Pour cela utiliser à bon escient les commandes : (-R = récursif)
– Modification du propriétaire (remplacer user par le nom d’utilisateur voulu)

sudo chown -R user /etc/weewx
sudo chown -R user /var/www

– Modification des droits de lecture/écriture :

sudo chmod 766 -R /etc/weewx
sudo chmod 766 -R /var/www

6) Commande utiles pour gérer weewx

Pour vous assurer que tout fonctionne correctement, recherchez dans le journal système les messages de weeWX.

sudo tail -f /var/log/syslog

Pour démarrer, arrêter ou redémarrer weewx :

sudo /etc/init.d/weewx start
sudo /etc/init.d/weewx stop
sudo /etc/init.d/weewx restart