Installation de apache, php, mysql et phpmyadmin sur un serveur dédié

configurer apache php mysql

Dans ce tutoriel vidéo consacré aux serveurs dédiés (sommaire des tutos), nous allons voir ce qu’il est nécessaire d’installer pour avoir son site en ligne. Nous allons donc installer et configurer : Un serveur web apache2 PHP pour avoir des pages dynamiques Une base de données Mysql L’application Web phpmyadmin…

55 commentaires ont été ajoutés, ajoutez le vôtre.

Vous pouvez laisser un commentaire, cependant je ne peux pas vous garantir qu'il sera modéré rapidement ou qu'il aura une réponse, faute de temps pour m'occuper du site.

  1. Jean-François

    Bonjour Alexis,
    j’ai suivi ton tutoriel, tout fonctionne très bien. Et puis, aujourd’hui, je viens de faire une mise à jour de phpmyadmin avec le script upgrade_pma.sh :
    http://www.nicolasvannier.fr/2012/05/10/mettre-a-jour-phpmyadmin-avec-un-script/

    La mise à jour s’est faite automatiquement.
    Mais j’ai maintenant ces 3 messages d’erreur sur la page d’accueil de phpmyadmin :
    $cfg[‘Servers’][$i][‘recent’] … en erreur [ Documentation ]
    Tables récemment utilisées (persistantes): Désactivé

    $cfg[‘Servers’][$i][‘table_uiprefs’] … en erreur [ Documentation ]
    Préférences d’interface de tables (persistantes): Désactivé

    $cfg[‘Servers’][$i][‘userconfig’] … en erreur [ Documentation ]
    Préférences de l’utilisateur: Désactivé

    Comment puis-je apporter les corrections pour répondre à ces messages ?

    Amicalement,
    Jean-François

    • Madrzejewski Alexis

      Bonjour Jean-François,

      Malheureusement je ne sais pas comment régler ces erreurs de tête comme ça. Cependant, je sais que ça vient du fichier de phpmyadmin qui est incomplet et normalement la documentation de phpmyadmin répond à ces questions. Dans votre cas, je m’intéresserai particulièrement aux fichiers « config.inc.php, config-db.php ». Par exemple, voici ce que j’ai dans le /etc/phpmyadmin/config.inc.php d’un de mes serveurs : http://pastebin.com/ayujm94R (si ça peut aider).

  2. cayenne

    Re,
    Le problème est réglé.
    Merci beaucoup gros merci.
    +1

  3. cayenne

    Re,
    j’ai étais faire un tour dans « /etc/mysql/my.cnf » et j’ai trouver ligne 61:

    « bind-address = 127.0.0.1 »

    à quois ça sert, ça veux dire quois. je me demande si ce n’est pas ça qui bloque ?
    j’y touche pas pour le moment, j’ai peur que ça marche plus ci j’y touche.
    j’attend ta réponse mais je pense que c’est ça.

  4. cayenne

    Re,
    Au niveau de accès j’ai tous ça :

    Utilisateurs ayant accès à « mysql » Utilisateur Serveur Type Privilèges «Grant » Action

    debian-sys-maint localhost global ALL PRIVILEGES Oui Changer les privilèges
    root % global ALL PRIVILEGES Oui Changer les privilèges
    root 127.0.0.1 global ALL PRIVILEGES Oui Changer les privilèges
    root localhost global ALL PRIVILEGES Oui Changer les privilèges

    La 2nd ligne le %, j’ai vu que sur des tuto, ça veux dire any qui accepte toutes les ips.
    Donc j’ai ajouter cette ligne j’ai fais « service mysql restart » pour restart mysql.
    Puis ça marche pas :(.
    je sais vraiment pas d’où il viens le problème.

    • Madrzejewski Alexis

      Désolé, la j’avoue que je sèche aussi pour le coup. Si t’as le « bind » de bien configuré dans le fichier de conf de MySQL, pas de parefeu qui bloque les ports et les utilisateurs autorisés, ça devrait le faire. En tout cas j’avais réussi comme ça personnellement (bon c’était du windows server mais le principe reste identique).

      Peut-être un problème côté client, avec une box internet qui bloque les connexions du port SQL ou un parefeu interne à l’ordi client mais je n’y crois pas du tout.

  5. cayenne

    Re,
    merci pour ta réponse, /etc/init.d/mysql start… est réglé.
    Avant de déposer mon commentaire, j’avais regardé sur google. Je n’est pas réussi à régler mon problème. Je n’est pas de firewall puis j’ai autorisé les connexions entrantes. Pour navicat lite, c’est bien un client mysql. Du coup j’arrive pas à régler le problème.
    Merci de ta réponse.

    • Madrzejewski Alexis

      Ok, alors un truc plus vicieux, regarde si tes utilisateurs dans MySQL ont le droit de se connecter à distance.
      Dans phpmyadmin, lorsqu’on créé un utilisateur, il peut être en « localhost » ou « any host ». Je me demande si par défaut c’est pas localhost et dans ce cas ça pose problème pour les connexions à distances.
      Voici à quoi ça ressemble chez moi : https://www.tutoriels-video.fr/wp-content/uploads/2012/11/sql.jpg

  6. cayenne

    Bonjour à tous, merci pour tous tes tutos, ils sont super bien faits.
    Donc là j’ai un gros problème avec mysql. Php marche correctement sans aucun souci. Mais mysql, je ne peux pas le start. Quand je fais /etc/init.d/mysql start, stop, restart, reload, ça me met : »Rather than invoking init scripts through /etc/init.d, use the service(8)
    utility, e.g. service mysql restart

    Since the script you are attempting to invoke has been converted to an
    Upstart job, you may also use the stop(8) and then start(8) utilities,
    e.g. stop mysql ; start mysql. The restart(8) utility is also available.
    mysql stop/waiting
    mysql start/running, process 5499
    « .
    Puis donc j’ai en même temps essayé de me connecter sur navicat. Pour ça je ne suis pas débutant. Puis il me met erreur 2003 Can’t connect to mysql server on (ip ex: XXX.XXX.XXX.XXX) 10061.
    Puis-je avoir de l’aide SVP ?
    Merci pour la réponse.

    • Madrzejewski Alexis

      Bonjour cayenne,

      La ligne « Rather than invoking init scripts through /etc/init.d, use the service(8) » (et la suite) indique seulement que plutôt que de fare /etc/init.d/service, il serait plus judicieux d’utiliser la commande service (service nomService start|stop). C’est typique des systèmes sous Ubuntu, mais les 2 méthodes reviennent au même.

      Je commencerais par faire un /etc/init.d/mysql status pour voir si MySQL est bien lancé. En cas de soucis, il faut regarder les fichiers de log sql situé dans /var/log.

      Sinon, je ne connais pas Navicat, mais ça à l’air d’être un logiciel s’installant sur un PC client pour naviguer dans une base de données distante. Dans ce cas, il faut configurer MySQL pour autoriser les connexions distantes. Une petite recherche google vous indiquera comment faire (de mémoire 1-2 lignes à changer dans le fichier de conf et le firewall à modifier éventuellement).

  7. Alpa

    Merci encore pour ces tutos :)). Très bien expliqué. Je recommanderai ce site à d’autres.

  8. omaze

    en fait en faisant comme cela;. cela me sort un SERVER API apache 2.0 handler

    Quelqu’un aurait alune idée ou un bon tutoril à partir de e qui a été fait ici pour passer en fastcgi ??

    merci d’avance

  9. DoxYs

    Bonjour,

    Pour l’ajout de sécurité (ServerTokens, …), pas besoin de le rajouter dans apache2.conf, en effet, un fichier est déjà créé pour ça.
    Ce fichier se situe dans /etc/apache2/conf.d/security

    Cordialement,

    • Madrzejewski Alexis

      Bonjour DoXys,

      Merci pour la précision, j’ai découvert le fichier « security » longtemps après avoir fait le tutoriel 🙂

  10. mamadou

    bonsoir je trouve ton site interessant ,et je te félécite bcoup
    mais j’ai un petit soucis je n’arrive pas à redemarrer mysql avec /etc/init.d/mysql restart

    j’ai cette erreur chak fois

    [email protected]:/var/run/mysqld# /etc/init.d/mysql restart
    Rather than invoking init scripts through /etc/init.d, use the service(8)
    utility, e.g. service mysql restart

    Since the script you are attempting to invoke has been converted to an
    Upstart job, you may also use the stop(8) and then start(8) utilities,
    e.g. stop mysql ; start mysql. The restart(8) utility is also available.
    start: Job failed to start

    aide moi un peu peut etre c’est au niveau de config de phpmyadmin ?