Ceci est une ancienne révision du document !
Post-installation d'un serveur Debian 10
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 ufw ntp unattended-upgrades
Mettre en place le pare-feu
Autorisez les ports http et https
sudo ufw allow 'WWW Full'
Activez le pare-feu :
sudo ufw enable
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, créez le premier compte utilisateur du logiciel.