2009-04-23 10 views
3

Pour un projet d'école, j'ai installé MediaWiki sur ma machine locale et je dois avoir une connexion à la base de données MySQL locale avec SSL. Je ne sais pas comment connecter tous les points. Voici ce que j'ai fait jusqu'à présent:Nécessite SSL pour la connexion à la base de données pour MediaWiki/Apache/PHP/MySQL avec OpenSSL

  1. J'ai installé OpenSSL, et créé un certificat auto-signé, et les clés associées. Phpinfo() montre OpenSSL comme étant activé.
  2. J'ai inclus cela dans la section [mysqld] de my.ini:

ssl-key = "C: /newcerts/server-key.pem" ssl-cert = "C:/newcerts /server-cert.pem » ssl-ca = "C: /newcerts/ca-cert.pem"

  1. Exécuter MySQL ligne de commande me demande le mot de passe root, et en y entrant, j'obtiens Erreur 1045: Accès refusé, etc.

  2. Exécution mysql -u racine -p ssl-ca = "C: /newcerts/ca-cert.p em "du répertoire bin et en entrant le mot de passe réussit, et me donne une invite mysql. L'état d'exécution indique SSL: Le chiffrement utilisé est DHE-RSA-AES256-SHA.

Voici où je suis confus. Que faut-il faire d'autre (comme par l'intermédiaire d'Apache ou d'un fichier de configuration PHP ou d'un fichier MediaWiki) pour exiger que les connexions à la base de données utilisent SSL?

Répondre

5

Vous allez vouloir utiliser l'extension mysqli car l'extension native php/mysql ne supporte pas SSL. Voir la fonction associée SSL mysqli:

http://us.php.net/manual/en/mysqli.ssl-set.php

Cela étant dit, la classe DB MediaWiki est extrait, mais au mieux de ma connaissance, les implemenation existant utilise le php/mysql régulière, pas Mysqli donc je pense que tu vas écrire ton propre adaptateur mysqli, ou peut-être que quelqu'un l'a déjà fait.

De toute façon, vous aurez besoin de MediaWiki pour utiliser un adaptateur mysqli.