Ceci est une ancienne révision du document !
Post-installation d'un serveur Debian 10
Pour plus de simplicité vous pouvez rapatrier le script d'installation qui vous guidera pendant l'installation :
sudo wget https://raw.githubusercontent.com/MedShake/MedShakeEHR-base/master/installer/debian-bash-installer.sh -P /tmp &&sudo chmod +x /tmp/debian-bash-installer.sh && sudo /tmp/debian-bash-installer.sh
Laissez vous guider. Compatible Debian 9 et 10 uniquement
Procédure qui fonctionne également pour Debian 9, Ubuntu 18.04 et 20.04. Cf Configuration PHP.
Si votre utilisateur n'est pas sudo, remplacez utilisateur
par votre nom d'utilisateur :
adduser utilisateur sudo
Installer les paquets
sudo apt install -y apache2 php mariadb-server ghostscript imagemagick pdftk git curl composer php-gd php-intl php-curl php-zip php-xml php-imagick php-imap php-soap php-mysql php-yaml php-gnupg ntp
Configuration de MariaDB
Sécurisez l'installation de la base de données :
sudo mysql_secure_installation
Créez l'utilisateur admin pour MedShakeEHR, remplacez admin
par le nom que vous souhaitez et mot_de_passe_admin
par un mot de passe fort :
sudo mysql GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'mot_de_passe_admin' WITH GRANT OPTION; QUIT;
Création des dossiers MedShakeEHR
Créez le répertoire avec les bons droits + téléchargez l'installeur :
sudo mkdir /home/ehr sudo mkdir /home/ehr/public_html/ sudo wget https://raw.githubusercontent.com/MedShake/MedShakeEHR-base/master/installer/self-installer.php -P /home/ehr/public_html sudo chmod -R 775 /home/ehr sudo chown -R www-data:www-data /home/ehr
Configuration PHP
Modifiez le fichier php.ini
avec les bonnes valeurs :
sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 20M/' /etc/php/7.3/apache2/php.ini sudo sed -i 's/post_max_size = 8M/post_max_size = 20M/' /etc/php/7.3/apache2/php.ini sudo sed -i 's/max_input_vars = 1000/max_input_vars = 10000/' /etc/php/7.3/apache2/php.ini
L'arborescence /etc/php/7.3/apache2.php.ini
peut changer en fonction de la version de votre OS. Remplacez le 7.3
en fonction :
- pour Debian 9
7.0
, - pour Ubuntu 18.04
7.2
, - pour Ubuntu 20.04
7.4
.
Configuration du certificat SSL
Mise en place certificat ssl :
domaine=msehr.local sudo mkdir /etc/ssl/$domaine cd /etc/ssl/$domaine sudo openssl genrsa -out $domaine.key 2048 sudo openssl req -new -key $domaine.key -out $domaine.csr
La commande vous demande de répondre aux questions suivantes :
- Country Name (2 letter code) : FR
- State or Province Name : «<Votre Département ou Région »> , par exemple Grand Est
- Locality Name : «<Votre ville»>, par exemple Metz
- Organization Name : «<Votre Raison Sociale»> , par exemple Cabinet Dr Strange
- Organization Unit Name :«<Votre unit»> , par exemple Direction, ou rien
- Common Name (e.g. server FQDN or your name) : msehr.local
- Email Address : «<adresse mail du webmaster»>
- A challenge password : «<Mot de passe Certificat»>
- An optional company name : Ne rien saisir
Générez votre certificat pour 10 ans
sudo openssl x509 -req -days 3650 -in $domaine.csr -signkey $domaine.key -out $domaine.crt
Configuration d'Apache
Pointez le serveur apache sur le bon dossier http :
sudo echo -e "<VirtualHost *:80>\n\tServerName msehr.local\n\tServerAlias msehr ehr medshakeehr MedShakeEHR msehr.local\n\tDocumentRoot "/home/ehr/public_html"\n\t<Directory "/home/ehr/public_html">\n\t\tOptions FollowSymLinks\n\t\tAllowOverride all\n\t\tRequire all granted\n\t</Directory>\n\tErrorLog /var/log/apache2/error.msehr.local.log\n\tCustomLog /var/log/apache2/access.msehr.local.log combined\n</VirtualHost>" | sudo tee -a /etc/apache2/sites-available/msehr.local-ssl.conf
Pointez le serveur apache sur le bon dossier https :
sudo echo -e "<VirtualHost *:443>\n\tServerName msehr.local\n\tServerAlias msehr ehr medshakeehr MedShakeEHR msehr.local\n\tDocumentRoot "/home/ehr/public_html"\n\tSSLCertificateFile /etc/ssl/msehr.local/msehr.local.crt\n\tSSLCertificateKeyFile /etc/ssl/msehr.local/msehr.local.key\n\t<Directory "/home/ehr/public_html">\n\t\tOptions FollowSymLinks\n\t\tAllowOverride all\n\t\tRequire all granted\n\t</Directory>\n\tErrorLog /var/log/apache2/error.msehr.local.log\n\tCustomLog /var/log/apache2/access.msehr.local.log combined\n</VirtualHost>" | sudo tee -a /etc/apache2/sites-available/msehr.local-ssl.conf
Désactivation du site par défaut :
sudo a2dissite 000-default.conf default-ssl.conf
Activation des sites
sudo a2ensite msehr.local msehr.local-ssl
Activation de modules apache
sudo a2enmod rewrite headers ssl
Redémarrage du serveur apache
sudo service apache2 restart
Configuration de MedShakeEHR
Pour accéder à l'installateur, vous devez connaître L’IP sur lequel il est installé.
ip -4 addr
Notez la valeur inet de la forme : 192.168.0.XX
Rendez-vous dans le fichier hosts
de votre ordinateur client (varie suivant les systèmes d'exploitation.)
Rajoutez une ligne
192.168.0.XX msehr.local
Rendez-vous dans votre navigateur à l'adresse suivante : https://msehr.local/self-installer.php, acceptez l'exception de sécurité du certificat autosigné.
Si vous n'arrivez pas à accéder à la page d'installation, retentez avec cette adresse http://msehr.local/self-installer.php. Si cela fonctionne, il y a visiblement une erreur avec https. Si cela ne fonctionne toujours pas, il y a une erreur dans la configuration d'apache.
Modifier le chemin
/opt/MedShakeEHR
par
/home/ehr
et appuyez sur Suivant
Attendez quelques minutes la fin du chargement puis appuyez sur Suivant
.
Ne touchez à rien sauf aux cases Nom utilisateur root MySQL
, Mot de passe utilisateur root MySQL
correspondant respectivement à admin
et mot_de_passe_admin
que vous avez choisis tout à l'heure. Remplissez également les champs Nom d'utilisateur de la base à créer
et Mot de passe utilisateur à créer
, comme vous le désirez mais avec un mot de passe fort. Cliquez sur Validez
.
Dernière étape de l'installation, créez le premier compte utilisateur du logiciel.
Si c'est votre première installation vous devriez lire la page Sécurité