Mac4Ever MacGameZone Gadget O'Mac Refurb-Store Mac-LAN : Jouez ! Forum : ...
icon
Lundi 08 Avril 2002

Compéments PHP/MySQL :

MacOS > Tutoriaux
Vous venez d'installer mysql et voulez en savoir plus ? Alors voici comment personnaliser votre base de données avec un nom et un mot de passe, installer phpMyAdmin, devenir possesseur de httpd.conf sans se servir du root, ou tout simplement rediriger directement vers votre dossier site les personnes qui tapent votre adresse ip.

PRECAUTIONS A PRENDRE


"ATTENTION : Ne faites jamais de copier coller des lignes de cet article dans le terminal, mais retappez le code. Ca peut être la cause de nombreux bugs !"

Protéger la base de données avec un nom et un mot de passe


Bien qu'avec la méthode énoncée dans 'installer mysql' votre base de donnée soit plutôt facile à utiliser, vous préfererez peut-être la protéger avec un nom d'utilisateur et un mot de passe, si c'est ce que vous désirez, rendez-vous à nouveau dans le terminal.

Nous allons tout d'abord créer l'utilisateur root de mysql (qui n'a à priori rien à voire avec le root de votre ordinateur), tappez donc cette ligne dans le terminal :
mysqladmin -u root password 'mot de passe de votre choix'

On se connecte ensuite à mysql avec cet utilisateur root :
mysql -u root -p mysql

Entrez le mot de passe que vous venez de choisir lorsque on vous le demande.
Vous allez maintenant créer un nouvel utilisateur que nous appellerons ici administrateur avec un mot de passe que vous choisirez et qui va être l'administrateur de vos bases de données (accès à toutes les bases de données etc...) La liste des utilisateurs est stockée dans une table appellée user contenant 17 champs, dont l'utilisateur, son mot de passe et une liste de 14 cases dans lesquelles ont met Y ou N pour donner des autorisations aux utilisateurs.
pour cela entrez la ligne suivante :

INSERT INTO user VALUES ('localhost','administrateur',PASSWORD('mot de passe'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
(n'oubliez pas le point virgule à la fin, sans quoi la ligne ne s'executerait pas)

Vous pouvez aussi créer un autre utilisateur qui n'aura accès qu'à une seule base de donnée, pour cela tappez les lignes suivantes :

INSERT INTO user VALUES ('localhost','nom_utilisateur',PASSWORD('mdp_de_lutilisateur','N','N','N','N','N','N','N','N','N','N','N','N','N','N');
Ceci cré l'utilsateur ayant pour nom : nom_utilisateur et pour mot de passe : mdp_de_lutilisateur.

CREATE DATABASE nom_utilisateur_db;
Ce qui va créer une base de donnée qui aura le même nom que l'utilisateur suivi de "_db" (facultatif mais vous permettra ici de faire la différence entre le nom de l'utilisateur et celui de sa base)

INSERT INTO db VALUES ('%','nom_utilisateur_db','nom_utilisateur','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
Enfin, cette ligne donnera les droits sur sa base de données à cet utilisateur.

Pour que toutes ces modifications prennent effet tout de suite, sans avoir besoin de relancer apache, validez les en tappant la ligne suivante :
FLUSH PRIVILEGES

sortez maintenant du moteur mysql en tappant :
exit

Dorénavant vous pourrez tappez vos lignes de commandes directement dans le terminal, simplement en tappant :
mysql -u administrateur -p mysql

Compéments PHP/MySQL :


Cet administrateur dispose des mêmes autorisations que le root créé au début (root que vous pouvez maintenant supprimer si cela vous chante).

Cependant, plutôt que de vous fatiguer à tapper vos lignes de commandes dans le terminal, je vous conseille de vous intéresser particulièrement à la suite de cet article qui va vous aider à installer phpmyadmin !

Installer phpmyadmin


Ce dont vous avez besoin :

Une version récente de phpmyadmin

Et maintenant, en à peine quelques lignes, l'installation !

Une fois le dossier téléchargé et décompressé, placez le dans votre dossier site (ou dans Library/WebServer/Documents).
Renommez le dossier 'phpMyAdmin-2.2.3' en 'phpmyadmin' (facultatif mais plus pratique).
Ouvrez le fichier config.inc.php et reperez les lignes suivantes :

$cfgServers[1]['host'] = ''; // MySQL hostname
$cfgServers[1]['port'] = ''; // MySQL port - leave blank for default port
$cfgServers[1]['socket'] = ''; // Path to the socket - leave blank for default socket
$cfgServers[1]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket')
$cfgServers[1]['stduser'] = ''; // MySQL standard user settings (this user must have read-only
$cfgServers[1]['stdpass'] = ''; // access to the "mysql/user" and "mysql/db" tables)
$cfgServers[1]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
$cfgServers[1]['user'] = 'root'; // MySQL user
$cfgServers[1]['password'] = ''; // MySQL password (only needed with 'config' auth)

Placez alors les informations suivantes où il convient :

$cfgServers[1]['host'] = 'localhost';
$cfgServers[1]['auth_type'] = 'http';
$cfgServers[1]['user'] = 'votre_pseudo_administrateur';
$cfgServers[1]['password'] = 'votre_mot_de_passe';

Repérez aussi la ligne suivante :

$cfgPmaAbsoluteUri = ';
Si vous avez placé phpmyadmin dans votre dossier site rempacez par :
$cfgPmaAbsoluteUri = 'http://127.0.0.1/~pseudo/phpMyAdmin';
Si vous l'avez plustôt placés dans library/webservers/documents remplacez par :
$cfgPmaAbsoluteUri = 'http://127.0.0.1/phpMyAdmin';

Bien entendu le pseudo administrateur est celui créé d'après les indications que je vous ai données plus haut, ou bien le root de mysql.

Pour la 2e ligne concernant le mode d'identification, vous pouvez aussi mettre cookie ou config, 'cookie' vous demanderait de vous identifier par un formulaire html pour mémoriser ensuite les informations dans des cookies, tandis que 'config' permettrait à nimporte quel utillisateur d'avoir accès à votre phpmyadmin sans s'identifier, puisqu'il se connecterait avec les infos données dans config.inc.php.
'http' est donc selon moi la meilleur méthode, vu qu'elle ouvre une fenêtre d'identification en vous permettant de mémoriser les pseudo et mot de passe dans votre trousseau de clef.

Compéments PHP/MySQL :


ATTENTION : Il est possible que ces informations varient quelque peu avec les prochaines versions de phpMyAdmin, les informations que je vous donnent font référence à la 2.2.3 (la plus récentes à l'heure où j'écris cet article).

Et voilà, vous avez déjà terminé ! Vous pouvez dès maintenant administrer votre base de données avec phpMyAdmin en tappant l'adresse suivante dans votre navigateur :
http://127.0.0.1/~votre_pseudo/phpmyadmin (ou ici : http://127.0.0.1/phpmyadmin si vous avez placé phpmyadmin dans Library/WebServer/Documents)

Devenir possesseur de httpd.conf


'httpd.conf' est le fichier de configuration d'appache que vous avez besoin d'éditer pour installer php, cependant il appartient au root et vous n'avez par se fait pas le droit d'enregistrer les modifications dans ce fichier sans être logué en root.
Cependant avec un peu d'astuce cela peut changer ;) Je propose même deux méthodes :

Une méthode toute simple :

J'ai découvert il y'a peu ce petit utilitaire fort pratique : BatChmod que vous pouvez télécharger ici.
Il permet de changer le possesseur d'un fichier, ou simplement de modifier les autorisations (nécessite bien sur un mot de passe administrateur). Bref vous n'avez qu'à ouvrir httpd.conf avec cet utilitaire pour vous donnez les autorisations d'écriture sur ce fichier ;)
Toutefois faites bien attention, sachez qu'avec cet utilitaire nimporte quel utilisateur sur votre ordinateur ayant un compte administrateur peut aller modifier vos fichiers... Et sachez aussi que son utilisation sur certains fichiers systèmes pourrait vous attirer de gros ennuis...

Une méthode un peu plus compliquée, si vraiment vous n'aimez pas voir trainer ce genre d'utilitaires sur votre ordinateur !

- Dans le finder, ouvrez le menu 'Aller' et sélectionnez l'article 'Aller au dossier...' .
- Tappez '/etc/httpd' .
- Placez une copie de ce fichier à un endroit dont vous vous souviendrez (la racine de votre disque-dur par exemple).
- Redémarrez sous Mac OS 9 .
- Lancez ResEdit (que vous pouvez trouver ici)
- Clickez sur 'annuler' dans la fenêtre qu'il ouvre à chaque lancement.
- Dans le menu 'File' sélectionnez l'article 'get file/folder infos' ouvrez ainsi le dossier invisible 'private' qui se trouve à la racine de votre disque dur.

Compéments PHP/MySQL :


- Décochez la case 'invisible', enregistrez les modifications (ne quittez pas ResEdit).

Compéments PHP/MySQL :


- Ouvrez le dossier 'private' dans le finder, puis dans celui-ci le dossier 'etc', et enfin le dossier 'httpd'.
- Remplacez le fichier httpd.conf par celui qui que vous avez copié depuis Mac OS X (et dont vout êtes donc le possesseur système).
- Dans ResEdit recochez la case 'invisible', enregistrez les modifications.
- Redémarrez sous Mac OS X, vous avez maintenant toutes les autorisations sur le fichier httpd.conf, manipulez le cependant avec précaution !

Ainsi avec un peu d'astuce on peut toujours se passer de l'utilisateur root. Je ne l'ai d'ailleurs jamais créé...

Compéments PHP/MySQL :


Rediriger votre adresse ip vers votre dossier site


Lorsque vous voulez accèder aux fichiers de votre dossier site vous devez toujours tapper : http:127.0.0.1/~votre-pseudo . (bien entendu l'adresse 127.0.0.1 peut être remplacée par votre adresse du réseau local ou internet), voici donc comment faire une redirection automatique :
- placez vous à la racine de votre disque dur, ouvrez le dossier 'Library', dans celui-ci ouvrez le dossier 'Webserver', puis le dossier 'Documents'
- virez alors tous les fichiers commancant par index.html (y'en a dans toutes les langues, et ils servent à rien...)
- créez un fichier html que vous nommerez index.html et que vous placerez dans ce dossier.
- Dans ce fichier tappez le code suivant :

Compéments PHP/MySQL :


- Enregistrez les modifications, tappez http://localhost ou http://127.0.0.1 et là, comme par magie vous êtes redirigés ;)

ATTENTION : N'essayez jamais de tapper du html dans TextEdit, contrairement à simple text il n'enregistre pas au format texte classique, mais rajoute un packet de tags etc... qui empecheraient le script de s'executer.

Il se peut d'ailleurs parfois qu'il ne veuille pas enregistrer les modifications en texte brut dans le fichier de configuration d'apache, si cela vous arrive abandonnez le pour BBEDIT (qui est gratuit en version lite et que vous trouverez sur versiontracker )

Problème courant


- Suite à certaines mises à jour de MAC OS (X.1 nottament) il arrive que php ne s'active pas correctement ou que le partage web ne veuille pas démarrer, si cela vous arrive, loguez vous en root, dans le menu 'aller' dans 'aller au dossier' tapper /etc/httpd supprimez le fichier httpd.conf dupliquez httpd.conf.default renommez le nouveau fichier en httpd.conf refaites les modifications, ca devrait marcher.

Par Grumff

Correction orthographique (sisi !) : Grouik

La recette !


Melle Maya (aka Grumff) étant à l'origine de toutes ces lignes de commandes, je n'ai pas pu m'empêcher de rajouter quelques desserts... au miel ! C'est tout simple à réaliser, et en plus.. c'est vraiment pas mauvais !

Compéments PHP/MySQL :
Pan Cakes

Rien de tel pour exhaler tous les arômes et parfums des miels et confitures Corses
Pour 8 à 10 pan cake

Ingrédients :

150 g. de farine, 1/2 cuillère à café de sel, 4 ?ufs, 300 ml. de lait, 1 paquet de levure, 1 cuillère à soupe de sucre, poêle de 12 cm de diamètre

Préparation :
Mélanger la farine, le sucre, la levure et le sel. Faire un puit. Mélanger progressivement les jaunes d??ufs, ajoutés un à un. Ajouter les blancs montés en neige. Faire cuire dans une poêle à blinis légèrement huilée (2-3 mn la première face jusqu?à apparition de bulles en surface ; 1-2 mn l?autre face). Les placer au fur et à mesure sur une assiette placée sur un bain marie afin de les garder chauds.

Compéments PHP/MySQL :
Gâteau au miel

Recette facile et vraiment délicieuse

Ingrédients :

100 g de beurre, 3 oeufs, 2 bonnes cuillerées à soupe de miel liquide AOC, 150g de farine, 90g de sucre, 1/2 d'un sachet de levure

Préparation :

Mélangez énergiquement le sucre et le beurre ramolli. Ajoutez le miel AOC, la farine, la levure puis les oeufs. Laissez cuire à thermostat 6 (180 °C) pendant 40 à 45 minutes.
Vous pouvez si vous le voulez incorporer des noisettes ou encore des noix environ 100 à 150g à la fin de la préparation (avant la cuisson).

Compéments PHP/MySQL :
Crêpe

Rien de tel pour exhaler tous les arômes et parfums des miels et confitures Corses
Pour 15 à 20 crêpes

Ingrédients :

250 g. de farine, 1/2 cuillère à café de sel, 4 ?ufs, 1/2 litre de lait, 100 g. de beurre

Préparation :

Mélanger la farine et le sel. Faire un puit. Mélanger progressivement une partie de la farine avec les ?ufs ajoutés un à un. Finir de délayer avec le lait. Ajouter le beurre fondu. Faire cuire à la crêpière. Les placer au fur et à mesure sur une assiette placée sur un bain marie afin de les garder chaudes.

Source

@ Grouik


Les réactions à cet article
Témoignages et avis....
  • Le 08/04/2002, 18:40@ NONInscrit : merci ;o)

    bon sujet, merci depuis le temps que j'attendai, car c sur c moin facile a comprendre en anglais ;o)))
    complet, clair precis, merci !!
    un truc qui pourrai être bien utile serai de decripter le fichier de config d'apache en fonction des technicitées de l'os x et ceux de phpmyadmin ;o)))
    a+
  • Le 08/04/2002, 19:28@ Jules : bzzzzz

    Enfin Maya qui propose une chtite recette :-D
  • Le 08/04/2002, 19:48@ Adrioun : Comme on dit, mieux vaut tard que jamais :)

    Merci les gars pour voir arriver encore un vrai dossier !! Depuis le temps, il pouvait etre que bien de toutes facons :)

    Merci encore, et bonne continuation
  • Le 08/04/2002, 22:38@ Grumff : en effet un peu en retard ;)

    >un truc qui pourrai être bien utile serai de decripter le fichier de config d'apache en fonction des technicitées de l'os x et ceux de phpmyadmin ))

    Oui, c'est sûr, mais d'abord faut que je comprenne tout moi même ;) Et puis l'autre problème est que phpMyAdmin est remis à jour très très régulièrement (3 versions depuis que j'ai commencé l'article), y'a peut-être meme une ligne à ajouter avec la dernière version... Donc c'est pas simple de tout détailler quand ca change souvent... :(
  • Le 08/04/2002, 23:44@ Grumff : Ben voila un webmaster actif !!!

    Merci grumff pour cette article et bonne continuation a mac4ever.
  • Le 09/04/2002, 00:27@ Adrioun : Atta je reve ... :)

    Eh je reve ou je vois Grumff qui se fais de l'auto satisfaction ? :/
  • Le 09/04/2002, 01:32@ Adrioun : Boudiou !

    y a un truc qui faudrais signaler a propos du terminal.....NE PAS FAIRE DE COPIER COLLER ! Je me retrouve now avec 'mot de passe de votre choix' comme mot de passe..je suis rester 1/2h a voir que ca venais de ca......vous connaisez la manip' pour changer le pass ??
  • Le 09/04/2002, 03:25@ Adrioun : Never mind

    je pige plus grand chose la !
    je me suis arrete a la fin de l'installation de phpmydmin..le reste ne m'interesse pas..pas maintenat au moins. Bref, je suis en version 2.2.2 et dans mon fichier config.inc.php je n'avais pas ca:
    $cfgServers[1]['auth_type'] = 'config';
    j'avais seulenet
    $cfgServers[1]['adv_auth'] = 'FALSE';
    j'ai donc supprimé ca et remplacer par la tienne. Bref, tout content d'avoir fini je m'en vais essayer a cette adresse:
    http://127.0.0.1/phpmyadmin

    mais echec de la connection !
    le 127.0.0.1 serais pas TON adresse IP ???? Je suis largué la !

    pis qd vous dites localhost, vous entendez koi ? Ca veut bien dire que je fais en fait mon site web offline et il est consultable 100% offline vrai ?
  • Le 09/04/2002, 09:59@ Grumff : que de pb :(

    Euh le truc posté avec mon pseudo ca doit etre un bug... Je m'amuse pas encore à me féliciter... !!!!!

    En effet le copier-coller c'est fortement déconseillé... On va tacher de le marquer qq part....

    127.0.0.1 ou localhost ca correspond à ton ip local, c'est à dire que si tu tappes ca sur n'importe quelle ordi, ca t'enverras bien sur les fichiers de l'ordi en question (donc consultables offline oui). Si ca marche pas vérifie que ton partage web est bien activé, ou relance le.

    Et puis télécharge une version plus récente de phpMyAdmin, on est en 2.2.6 maintenant ! SI c'est pas dans le fichier c'est que ca devait fonctionner autrement, y'avait pas besoin de remplir ce champ il me semble en 2.2.2 (puisqu'il n'existait pas).

    Pour changer le mot de passe ca dépend de c'que t'as fait, si tu sais pas quel mot de passe t'as mis c'est embetant, sinon tu te connecte à phpMyAdmin avec celui que t'as mis (du root ou d'un administrateur), et puis dans la table user tu fais modifier et tu retappes un autre mot de passe (en mettant bien sur une fonction password pour le cripter)
  • Le 09/04/2002, 10:22@ Grumff : changer mot de passe -> suite

    Pour éviter toute erreur (on sait jamais) la fonction password c'est en la sélectionnant dans le menu déroulant... Faut pas le tapper dans la case bien sur ;)
    Et puis si t'as d'autres problèmes hésite pas à m'envoyer un message icq, ca sera plus pratique qu'ici ;)
  • Le 22/08/2002, 16:46@ kts.ekc : phpMyAdmin sur mac os 9 ??

    une petite question de débutant..

    n'étant pas encore passé à mac os X pour des raison matérielles (présence de disque scsi, lenteur sur d'autre mac que les tous derniers G4..) et logicielles (tous les utilitaires ne sont pas encore dispo sur os X..), je cherche désespérément le moyen d'installer phpMyAdmin sur mac os 9.. est-ce possible ??? Sinon comment puis-je faire ?

    merci d'avance pour toute réponse ;)
  • Le 05/09/2002, 12:48@ NONInscrit : serveur mysql - commande pour le stopper

    Salut ;)
    Ben j'ai installé le serveur mysql, phpmyadmin sur jaguar.
    Tout marche, je suis bien content...
    Mais une question : quelle est la commande terminal magique pour stopper le serveur mysql ?
    Pour arrêter Apache, c facile, il suffit de stopper le partage web, mais pour le serveur mysql?
    Je n'ai pas installé mysql_startup item et pourtant il démarre automatiquement à l'ouverture de session (je le vois dans process viewer).
    Sinon un grand merci pour le travail effectué dans ce site ;)
  • Le 22/09/2002, 13:40@ NONInscrit : Mysql me fait devenir OUF !

    Comment fait on lorsque on ne sait plus quel mot de passe on a mis pour mysql (je sais je suis une truffe) mais j'ai oublié...
    C'est le mot de passe qu'on met après:
    mysqladmin -u root password 'mot de passe de votre choix'

    Alors quand je lance phpMyAdmin je suis "niquer" je peut pas voir ma base.
    Comment fait on pour recuperer le password, ou pour le changer?(je crois qu'il me demande l'ancien alors je peut rien faire)
    Quelqu'un peut il m'aider?
    Merci

    The Funkster
  • Le 14/10/2002, 22:50@ NONInscrit : Ca marche po...

    j'ai installé PHP 4.2.3 et MySQL 4.23.51
    et quand je rentre la commande :

    mysqladmin -u root password 'mot de passe de votre choix'

    ca me marque "command not found"

    qu'est ce qui va pas
  • Le 26/10/2002, 01:40@ NONInscrit : installation de mysql sur mac os x 10,1,2

    Bonjour,

    Je cherche à installer mysql sur mac os x 10,1,2 et n'y parvient pas.
    Ou plutot, j'y parvient mais je ne peux pas créer de base.
    j'obtient des message du genre

    localhost:~/install/mysql-3.23/bin] mysql% ./mysql -u root
    ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)

    Merci d'avance pour vos lumières
  • Le 19/11/2002, 10:30@ NONInscrit : Re çà marche pas

    Tout d'abord bonjour ! :-)
    Et merci pour ce site tres informatif (complet et précis)

    Alors voilà mon problème
    sur la commande

    mysqladmin -u root password 'yoyo'

    cela génère une erreur :
    mysqladmin: Command not found.

    Pourtant ce fichier existe bien dans le répertoire /bin/

    Meric d'avance pour une réponse ;-)
  • Le 24/11/2002, 16:26@ NONInscrit : Idem : utilisateur root mysql

    Impossible de créer l'utilisateur root de mysql :
    mysqladmin: Command not found.

    Ceci dit, un grand merci à tous les auteurs de ce site clair et efficace bref, indispensable.
    Merci les ptits gars et bonne continuation.
  • Le 06/04/2003, 13:10@ Coucou : Complete MySQL

    Merci pour ce beau Tuto !
    Juste une info : on trouve maintenant Complete MySQL4.0.12 ( gratuit bien sûr ) sur versiontracker qui s'installe tout seul sans aucun pb, est super simple ( y'a un pref.panes intégré qui permet de régler le mot de passe et de lancer/stopper MySQL ). Bon je sais pas ce que ça vaut niveau perf, mais en tout cas c'est simple.
  • Le 08/09/2003, 22:37@ madmike : terminal et mysql

    Bonjour, après avoir saisi les commandes suivantes dans le terminal (glanées dans le bouquin de micro-application 'Kit php4 & MySQL"), tout fonctionne sauf une chose : chaque fois que je redémarre mon mac, je dois retaper les lignes de commande d'installation MySQL (cd/usr/local/mysql

    sudo ./scripts/mysql_install_db

    mot de passe administrateur


    sudo chown -R mysql /usr/local/mysql/*

    sudo ./bin/safe_mysqld --user=mysql &)
    dans le terminal. Sinon, j'obtiens un message : Error MySQL said: Can't connect to local MySQL server through socket '/Private/tmp/mysql.sock' (2)

    Comment puis-je obtenir une connexion immédiate après avoir redémarré ?

    (iMac Mac OS 10.1.2)

    Merci pour vos conseils.
  • Le 08/09/2003, 22:49@ madmike : terminal et MySQL

    Je suis vraiment trop nul ! J'ai trouvé la réponse sur une autre page peu de temps après avoir posté ce message. Sorry !
  • Le 18/06/2005, 00:19@ ABDOU : ASTUCE DE DMARRAGE DIRECTEMENT

    JE VOUDAIS BIEN CHANGER MON MOT DE PASSE DE MON POSTE POUR DEMARRER SANS ME LE DEMANDER. C EST SIMPLE.
    MERCI
  • Le 18/06/2005, 00:20@ ABDOU : ASTUCE DE DMARRAGE DIRECTEMENT

    JE VOUDAIS BIEN CHANGER MON MOT DE PASSE DE MON POSTE POUR DEMARRER SANS ME LE DEMANDER. C EST SIMPLE.
    MERCI
Donnez votre avis
Réagissez à cet article...
 
Si vous cherchez de l'aide ou si vous avez une question à poser, ne réagissez pas ici ! Redirigez-vous vers le forum !
Pseudo/Nom : Email (sera protégé contre le Spam) :
Titre :
Réaction :
Recopiez le code de l'image ci-contre :
Rubriques
  • humeurcreationmateriel
  • logicielsjeuxmacos