dbarzin / mercator

Mapping the information system / Cartographie du système d'information
GNU General Public License v3.0
246 stars 40 forks source link

SSL prérequis ? #840

Closed lacourseauxpoints closed 1 week ago

lacourseauxpoints commented 2 weeks ago

Bonjour je n'arrive pas a faire fonctionner l'application a cause du certificat SSL, j'ai essayé de créer un certificat sur debian avec un CA-root et une clef public et privée. J'arrive a redémarrer apache mais je tombe sur une 404 en passant par le protocole https. Pouvez-vous me dire les exigences : depuis la création du ca key et cert qu'elle type de chiffrement? Merci d'avance.

lacourseauxpoints commented 2 weeks ago

NB : j'ai rajouté le dossier html pour la directive : DocumentRoot /var/www/html/mercator/public

dbarzin commented 2 weeks ago

As-tu bien positionné cette variable dans le fichier .env ?

APP_ENV=production

Comme indiqué dans la documentation : https://github.com/dbarzin/mercator/blob/master/INSTALL.md#https

lacourseauxpoints commented 2 weeks ago

Bonjour, oui j'ai mis la bonne valeur dans la variable

.env file

DB_CONNECTION=mysql

DB_CONNECTION=pgsql.env

DB_HOST=127.0.0.1 DB_PORT=3306

Comment DB_PORT for pgsql

DB_DATABASE=mercator DB_USERNAME=mercator_user DB_PASSWORD=s3cr3t APP_KEY=base64:###################################

Several possible types: AD, OpenLDAP, FreeIPA, DirectoryServer

LDAP_TYPE="AD"

If true, LDAP's actions will be log into

LDAP_LOGGING=true

LDAP_CONNECTION=default

LDAP_HOST=127.0.0.1

Identifiants de l'utilisateur qui se connectera au LDAP afin d'effectuer les requêtes

LDAP_USERNAME="cn=user,dc=hopitauxduleman,dc=local"

LDAP_PASSWORD=

LDAP_PORT=389

LDAP_BASE_DN="dc=###########,dc=local"

LDAP_TIMEOUT=5

LDAP_SSL=false

LDAP_TLS=false

Permet de restreindre l'accès à une arborescence

LDAP_SCOPE="ou=Accounting,ou=Groups,dc=##########,dc=com"

Permet de restreindre l'accès à des groupes

LDAP_GROUPS="Delivering,Help Desk"

keycloak

KEYCLOAK = enable

KEYCLOAK_CLIENT_ID= # Client Name (on Keycloak)

KEYCLOAK_CLIENT_SECRET= # Client Secret

KEYCLOAK_REDIRECT_URI=/login/keycloak/callback

KEYCLOAK_BASE_URL=

KEYCLOAK_REALM= # RealM Name

APP_ENV=production

Mais malgré cela je suis toujours redirigé vers https://IP/login avec une erreur 404

dbarzin commented 2 weeks ago

Ca me semble être un problème de configuration Apache.

As-tu bien créé un fichier de configuration Apache pour Mercator ?

As-tu bien désactivé le site par défaut et activé le site Mercator :

  sudo a2dissite 000-default.conf
  sudo a2ensite mercator.conf

As-tu redémarré Apache

sudo systemctl restart apache2

C'est décrit ici : https://github.com/dbarzin/mercator/blob/master/INSTALL.md#apache

lacourseauxpoints commented 2 weeks ago

Bonjour dbarzin, oui j'ai fais toute ses étapes, j'ai mis mon virtualhost sur le port 80 et je réactive a2ensite 000-default.conf cela marche par contre le formulaire semble forcer après l'authentification vers du https. Peut être du à APP_ENV=production. Par contre toute tentative sur 443 abouti a une redirection vers https://127.0.0.1/login avec erreur 404. Je suis sur debian 12 / apache 2 / mariadb / php8.3 / git / artisan / composer. Mode rewrite activé - header ... J'ai JIRA / openproject / wordpress / magento d'installer aucun soucis avec ses applications web. Cette debian est dans DC basé sur Windows Server 2022 et les applications web sont accessible sur n'importe quel machine du parc informatique. Normalement j'utilise un pki de mon autorité de certification pour les certificats SSL mais je l'ai généré via openssl avec un CA sans rapport au DC. J'ai consulté les logs d'apache dans /var/log/apache2 idem pour php aucune exception pertinente en lien avec mon erreur.

dbarzin commented 2 weeks ago

Quel OS utilises-tu ? As-tu bien suivi la procédure d'installation ? As-tu rencontré des problèmes durant celle-ci ? Peux-tu poster une copie de ton fichier mercator.conf et du fichier .env ? Y a-t-il d'autres sites installés sur ce serveur Apache ?

lacourseauxpoints commented 2 weeks ago

Bonjour dbarzin, Désolé pour le temps de réponse, j'ai un peu lâché ce dev. Je n'ai pas rencontré de problème lors de l'installation tout était ok l'installation via artisan, composer c'est fait sans douleur. Mon problème a une lieu au niveau seulement de l'activation du fichier configure mercator.conf, au niveau de la tentative de connexion. Je poste mes infos

mercator.conf :

<VirtualHost *:443> ServerAdmin sra@hcl.local DocumentRoot /var/www/html/mercator/public/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt SSLCertificateKeyFile /etc/ssl/certs/apache-selfsigned.key <Directory /var/www/mercator/public> AllowOverride All </Directory> </VirtualHost>

Pour le fichier de config .env :

APP_NAME=Mercator APP_ENV=local APP_KEY=base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx APP_DEBUG=false APP_URL=https://127.0.0.1

LOG_CHANNEL=stack

DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=mercator DB_USERNAME=mercator_user DB_PASSWORD=s3cr3t

#################################################################

Uncomment to user LDAP authentication

#

Availables Types : OpenLDAP | AD | FreeIPA | DirectoryServer

LDAP_TYPE="AD"

LDAP_LOGGING=true

LDAP_CONNECTION=default

LDAP_HOST=127.0.0.1

LDAP_USERNAME="cn=user,dc=local,dc=com"

LDAP_PASSWORD=secret

LDAP_PORT=389

LDAP_BASE_DN="dc=local,dc=com"

LDAP_TIMEOUT=5

LDAP_SSL=false

LDAP_TLS=false

LDAP_SCOPE="ou=Accounting,ou=Groups,dc=planetexpress,dc=com"

LDAP_GROUPS="Delivering,Help Desk"

#################################################################

BROADCAST_DRIVER=log CACHE_DRIVER=file QUEUE_CONNECTION=sync SESSION_DRIVER=file SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379

MAIL_MAILER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=null MAIL_FROM_NAME="${APP_NAME}"

AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET=

PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

Uncomment this line if you want to use the Cartographers

#

Cartographers are attached to applications, and, when this enabled, only them (and admins) can modify their own apps

and what is attach to (under the application view). Documentation here :

CARTOGRAPHERS=true

##########################################################################

Uncomment to use KeyCloak

KEYCLOAK = disable # Make it enable

KEYCLOAK_CLIENT_ID= # Client Name (on Keycloak)

KEYCLOAK_CLIENT_SECRET= # Client Secret

KEYCLOAK_REDIRECT_URI=/login/keycloak/callback

KEYCLOAK_BASE_URL=

KEYCLOAK_REALM= # RealM Name

##########################################################################

Merci d'avance pour ton retour.

lacourseauxpoints commented 1 week ago

Bonjour dbarzin, merci de m'avoir demandé de vérifier mes deux fichiers en effet le problème était bien là : <VirtualHost *:443> ServerAdmin sra@hcl.local DocumentRoot /var/www/html/mercator/public/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt SSLCertificateKeyFile /etc/ssl/certs/apache-selfsigned.key <Directory **/var/www/mercator/public**> AllowOverride All </Directory> </VirtualHost> Les configurations debian pour apaches est : <VirtualHost *:443> ServerAdmin sra@hcl.local DocumentRoot /var/www/html/mercator/public/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt SSLCertificateKeyFile /etc/ssl/certs/apache-selfsigned.key <Directory /var/www/html/mercator/public> AllowOverride All </Directory> </VirtualHost>