====== Open clinica sur Raspberry pi ====== ===== Installation ===== ==== Caractéristiques de la machine ==== * 768 Mo de RAM minimum (1 Go ou plus recommandé) * 4 Go de disque minimum (16 Go recommandés) ==== Installez le serveur ==== Installez : * le serveur Tomcat * le serveur PostgreSQL Installation des paquetages : * sudo apt-get update sudo apt-get dist-upgrade sudo apt-get install postgresql tomcatv tomcatv-admin pwgen libpg-java openjdk-v-jdk remplacez **v** par le numéro de version (s'aider de l'auto-complétion avec Tab) ==== Configurez Tomcat ==== * php.java.servlet.ContextLoaderListener PhpJavaServletphp.java.servlet.PhpJavaServlet PhpCGIServletphp.java.servlet.fastcgi.FastCGIServlet prefer_system_php_execOn php_include_javaOff PhpJavaServlet*.phpjavabridge PhpCGIServlet*.php ===== Installation ===== Installez java, postgresql (aidez-vous de l’auto-complétion par la touche Tab pour les versions) : * sudo apt-get update sudo apt-get upgrade sudo apt-get install openjdk-vx-jdk postgresql phppgadmin -y ===== Téléchargement ===== Téléchargez Tomcat sur [[http://tomcat.apache.org/download-70.cgi]] {{logiciel:internet:tomcat:tomcat-01.png|}} Dans **Binary Distributions**/**Core**, choisir le lien **tar.gz**. Le placer, par exemple, dans le dossier **/home/$USER/Téléchargements**. Pour l'installer sur un Raspberry, le copier via scp vers un répertoire du Raspberry Pi : * scp ~/Téléchargements/apache-tomcat-[version].tar.gz pi@framboise:/home/pi Téléchargez le logiciel de OpenClinica sur le site : [[https://community.openclinica.com/project/openclinica]]. Pour télécharger le logiciel, vous devez avoir un compte utilisateur de la communauté de OpenClinica, à créer gratuitement. Vous devrez vous connecter au compte pour télécharger le logiciel de OpenClinica Dé-compressez le fichier **OpenClinica-v.x.y.z.zip** téléchargé -> un répertoire **OpenClinica-v.x.y.z** apparaît. ===== Installez java ===== Créez le lien symbolique : * sudo ln -s /usr/lib/jvm/jdk* /usr/local/java Vous pouvez vérifier par : * ll /usr/local Le lien doit apparaître. ===== Installez Tomcat ===== Allez dans le répertoire de téléchargement et décompressez l’archive téléchargée : * cd /home/$USER/Téléchargements sudo tar -zxvf apache-tomcat-v.x.y.tar.gz Un répertoire **apache-tomcat-v.x.y/** apparaît. Déplacez ce répertoire vers **/usr/local/** et créez le lien **tomcat** : * sudo mv apache-tomcat-v.x.y/ /usr/local/ sudo ln -s /usr/local/apache-tomcat-v.x.y /usr/local/tomcat Créez l'utilisateur **tomcat** avec le mot de passe **tomcat** : * sudo adduser tomcat {{logiciel:internet:tomcat:tomcat-user_tomcat.png|}} Et rendez-le propriétaire des répertoires de tomcat : * cd /usr/local/tomcat sudo chown -R tomcat:tomcat . sudo chmod -R 6770 . Pour pouvoir intervenir sans être root, rendre l'utilisateur **$USER** membre du groupe **tomcat** : * sudo usermod -aG tomcat $USER Attention à mettre le **-a** : sinon, $USER changera de groupe au lieu d'ajouter tomcat Pour définir le mot de passe de l'utilisateur **tomcat**, ouvrez le fichier **/usr/local/tomcat/conf/tomcat-users.xml** en ajoutant ces lignes (entre les balises tomcat-users): ... ... L'utilisateur est **tomcat**, son mot de passe est **tomcat**, ses rôles sont **tomcat**, **admin-gui** et **manager-gui**. Démarrez le serveur Tomcat: * sudo /usr/local/tomcat/bin/startup.sh Ouvrez dans un navigateur l'adresse * en local : [[http://localhost:8080]] * sur internet : [[http://:8080]] La page de tomcat doit s'afficher : {{logiciel:internet:tomcat:tomcat-02.png|}} Pour que tomcat se lance automatiquement à chaque démarrage, recopiez le fichier **~/Téléchargements/OpenClinica-v.x.y.z/install-docs/linux/tomcat** : * cd /etc/init.d/ sudo cp ~/Téléchargements/OpenClinica-v.x.y.z/install-docs/linux/tomcat . Rendez-le exécutable et ajoutez-le à la liste des programmes au démarrage : * sudo chmod a+x /etc/init.d/tomcat sudo update-rc.d tomcat defaults ===== Installez postgresql et phppgadmin ===== Un utilisateur système postgres a été créé à l'installation. Il n'a pas de mot de passe : c'est un utilisateur bloqué et le mieux est qu'il le reste. **__utilisateur postgres__** Au départ, toutes les opérations d'administration se font donc avec l'utilisateur **postgres** qui seul peut se connecter. Pour vous connecter en tant qu'utilisateur **postgres**, utilisez la commande sudo : * sudo -i -u postgres L'invite de commande mentionne que vous êtes actif en tant que postgres : {{logiciel:sql:postgresql:postgresql-2.png|}} A la fin de cette session d'administration dans PostgreSQL, il suffira de taper * exit pour reprendre la main en tant qu'utilisateur du système. On peut aussi lancer une commande (ici **psql**) en tant que postgres : * sudo -u postgres psql Dès que cette commande se termine, on se retrouve avec l'utilisateur habituel. ==== Création d'un nouvel utilisateur pour gérer postgresql ==== Nous allons créer l'utilisateur qui nous permettra de gérer postgresql. Pour cela, lancez l'outil d'administration de PostgreSQL en tant qu'utilisateur **postgres** : * sudo -u postgres psql {{logiciel:sql:postgresql:postgresql-3.png|}} Vous êtes dans une interface en ligne de commande, en tant que **root** (**#** en bout de ligne). Pour créer un environnement plus sûr, créez un rôle pour l'administration, avec toutes les autorisations sauf l'héritage des droits : * CREATE ROLE LOGIN ENCRYPTED PASSWORD '' SUPERUSER NOINHERIT CREATEDB CREATEROLE; ; : nom d'utilisateur ; : mot de passe N'oubliez pas le point-virgule en fin de ligne ! Quittez l'environnement psql : * \q Vérifiez en essayant de vous connecter avec l'utilisateur que vous venez de créer : * sudo -i -u postgres ==== Installation de l'interface web PhpPgAdmin ==== Installons maintenant l'interface web **PhpPgAdmin** pour PostgreSQL qui simplifie grandement la mise en place et l'administration. [[tutoriel:mini-tutoriels:ficedit#Modifier un fichier avec les droits d'administration|Ouvrez avec les droits d'administration]] le fichier **/etc/lighttpd/lighttpd.conf** et ajoutez la ligne suivante à la fin du fichier : ... alias.url += ( "/phppgadmin" => "/usr/share/phppgadmin/") L'adresse [[http://monsite.tld/phppgadmin]] pointe maintenant sur le bon répertoire interne. Dans le fichier **/etc/lighttpd/lighttpd.conf**, assurez-vous que le module **mod_alias** est dé-commenté (donc activé) et activez les modules **mod_fastcgi** et **mod_cgi** : * sudo lighty-enable-mod fastcgi cgi Redémarrez le serveur : * sudo service lighttpd restart Allez à la page de phpPgAdmin : [[http://monsite.tld/phppgadmin]] Cliquez sur **PostgreSQL** sur le côté gauche. Dans la fenêtre de connexion, entrez le nom et le mot de passe de l'utilisateur créé plus haut pour gérer postgresql. Cela devrait vous connecter {{logiciel:sql:postgresql:postgresql-phppgadmin-1.png|}} Pour ajouter un rôle (utilisateur) Cliquez sur **rôles** dans la zone du milieu en haut de la page Cliquez sur **Créer Rôle** Créer nom d'utilisateur / mot de passe et donner toutes les autorisations autres que **privilèges Inherits**. Ignorer les autres options dans les cases à cocher Cliquez sur **Créer**