Outils pour utilisateurs

Outils du site


serveur_lamp

Installer un server LAMP (Linux - Apache - MySQL - PHP)

Suivez la procédure décrite sur le forum Ubuntu. Attention, il y a toutefois des changements depuis la 13.10 !

Si vous êtes pressé, ci-dessous, voici toutes les commandes minimales :

Installation

  sudo apt-get install apache2 apache2-doc mysql-server php5 php5-gd libapache2-mod-php5 php5-mysql

Durant l'installation, 1 fenêtre de dialogue va s'ouvrir (elle est parfois cachée derrière une autre fenêtre !) pour demander le mot de passe principal de la base MySQL : après avoir introduit le mot de passe, pressez la touche <tab> pour aller sur le bouton “OK” et pressez <enter> ).


Vérification du bon fonctionnement d'Apache

Ouvrez votre navigateur internet et rendez-vous à l'URL : http://127.0.0.1 Le navigateur doit afficher une page d'accueil avec des commentaires techniques.


Changer le root du serveur web (/var/www) pour mettre votre propre répertoire

Editer le fichier de configuration

  • Ubuntu 13.10 & 14.04
  sudo gedit /etc/apache2/sites-available/000-default.conf
  • Ubuntu 13.04
  sudo gedit /etc/apache2/sites-available/default

Modifier la ligne 'DocumentRoot' : mettez votre répertoire à la place de /var/www

  DocumentRoot /home/votre_nom_de_user/website

Modifiez le bloc <Directory /> (ou ajoutez-le s'il n'existe pas)

  <Directory />
      Options FollowSymLinks
      AllowOverride None
      Order allow,deny
      allow from all
      Require all granted
  </Directory>

Remarque : si vous souhaitez faire de l'url-rewriting, mettez “AllowOverride All” à la place de “AllowOverride None”

Relancer le serveur web

  /etc/init.d/apache2 restart

Rebooter si cela ne marche pas.


Afficher les erreurs en PHP

Si vous développez en PHP, il est utile de voir les erreurs de syntaxe, qui, par défaut, ne sont pas affichées.

Pour les visualiser, éditer le fichier /etc/php5/apache2/php.ini

   sudo gedit /etc/php5/apache2/php.ini

Chercher l'option display_errors et mettez-là à “on”.

  display_errors = On

Ici aussi il faut relancer le server web.

   /etc/init.d/apache2 restart

Configurer l'url rewriting (si vous en avez besoin)

Activer mod_rewrite

Ouvrir un terminal et taper :

  sudo a2enmod rewrite

(Ouvrez un fichier avec phpinfo() : si le mod_rewrite est activé, il sera mentionné.)

Configurer Apache

Si vous ne l'avez pas fait lors de l'étape de changement de répertoire : ouvrir le fichier de configuration

  • Ubuntu 13.10
  sudo gedit /etc/apache2/sites-available/000-default.conf
  • Ubuntu 13.04
  sudo gedit /etc/apache2/sites-available/default

Dans le bloc <Directory />, mettre AllowOverride All à la place de AllowOverride None

  <Directory />
      Options FollowSymLinks
      AllowOverride All
      Order allow,deny
      allow from all
      Require all granted
  </Directory>

Véfifier si l'url rewriting fonctionne bien :

Pour vérifier si le module mod_rewrite d'Apache est activé, il vous suffit de suivre les points suivants :

  • Créez un répertoire nommé test que vous placerez à la racine de votre site (il sera donc accessible via l'adresse 127.0.0.1/test
  • Dans ce répertoire, créez un fichier HTML nommé test.html (127.0.0.1/test/test.html) contenant uniquement les lignes suivantes :
  <html><head><title>Test</title></head><body>OK !</body></html>
  • Dans ce répertoire, créez un fichier nommé .htaccess contenant les lignes suivantes :
  Options +FollowSymlinks
  RewriteEngine on
  RewriteRule inconnu\.html$  /test/test.html [L]

Vous devriez voir “OK” apparaître dans votre navigateur.

Source : http://www.webrankinfo.com/dossiers/techniques/tutoriel-url-rewriting


PHPMyAdmin

Qui dit serveur LAMP dit souvent PHPMyAdmin. Toutefois, au fil des versions d'Ubuntu, l'installation de pHPMyAdmin devient de plus en plus compliquée.

Si vos besoins sont élémentaires (création de db, tables, utilisateurs), une alternative à tester est peut-être Adminer : voir au bas de cette page.

Sinon, PHPMyAdmin est dans les dépôts. Installez-le via la logithèque. Attention durant l'installation : une fenêtre de dialogue s'affiche à 2 reprises, (parfois derrière une fenêtre et on ne les voit pas !) pour demander avec quel server se configurer (Apache2) et enfin si vous souhaitez installer les bases d'exemples (chez moi, cela n'a jamais fonctionné).

  • Si votre root a été déplacé (et c'est le cas si vous avez suivi ce wiki jusqu'ici), il faut ensuite copier PHPMyAdmin dans le root de votre serveur Web. Pour cela, recherchez le répertoire nommé “PHPMyAdmin” qui contient un fichier index.php (il s'agit normalement de /usr/share/phpmyadmin) et copiez-le dans le root de votre web.
  • Il faut également copier /usr/share/php dans le root de votre web.

Modifier au besoin le mot de passe de MySQL (root, ...)

  • Ouvrez un terminal
  • Tapez la commande ci-dessous en remplaçant 'nom_du_user' et 'nouveau_mot_de_passe' par vos valeurs (attention, le mot de passe est entre quotes) :
  mysqladmin -u nom_du_user password 'nouveau_mot_de_passe'

Une autre technique pour le mot de passe (pro !)

Via le terminal :

  • aller dans /var/lib/mysql/nom_de_user.pid et voir le numéro de process
  • killer le process avec le n° lu ci-avant
  • Tapez dans le terminal :
  mysqld_safe --skip-grant-tables &
  mysqladmin -u root password 'nouveaumotdepasse'

Lancer PHPMyAdmin

Si en lançant PhpMyAdmin vous obtenez ce message :

Fatal error: require_once(): Failed opening required './libraries/php-gettext/gettext.inc' (include_path='.:/usr/share/php:/usr/share/pear') in votre_root/phpmyadmin/libraries/select_lang.lib.php on line 395

C'est que vous devez copier /usr/share/php dans le root de votre web.


Configuration minimale de PHPMyAdmin

Importez une de vos bases de données dans PHPMyAdmin. Ouvrez ensuite, dans PHPMyadmin, une de vos tables.

Erreur #1146

Si vous obtenez le message “# 1146 – Table ‘phpmyadmin.pma_table_uiprefs’ doesn’t exist“, vous devez installer une série de tables de configuration.

  • Ouvrez le fichier /usr/share/doc/phpmyadmin/examples/create_tables.sql.gz
  • Extrayez le fichier 'create_tables.sql', ouvrez le dans un éditeur de texte et copiez son contenu
  • Dans PHPMyAdmin, ouvrez une boîte de commande SQL et collez-y le code précédemment copié.
  • Exécutez le code

Réessayez ensuite d'ouvrir une table.

Si le message d'erreur persiste...

Dans certains dépôts (si j'ai bien capté), il y a des erreurs de noms de tables.

Il faut alors corriger ceci :

  • Ouvrez le fichier /etc/phpmyadmin/config.inc.php
  sudo gedit /etc/phpmyadmin/config.inc.php
  • Repérez et mettez la ligne $cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs'; en commentaire, en mettant /* devant et */ derrière.
  /* $cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs'; */
  • Ajoutez la ligne ci-dessous :
  $cfg['Servers'][$i]['pma__table_uiprefs'] = 'pma__table_uiprefs';
  • idem avec
  /* $cfg['Servers'][$i]['recent'] = 'pma_recent'; */
  $cfg['Servers'][$i]['recent'] = 'pma__recent';
  /* $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';*/
  $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
Si le message d'erreur persiste (désolé)...

Il faut peut-être créer l'utilisateur pma, avec pmapass comme mot de passe, sans aucun attributs ni privilèges.


Problèmes avec PHP

Surprise avec la 13.10 : certaines fonctions posent problème.

Problème avec la fonction date()

La fonction PHP date() pose problème : PHP exige que le TimeZone soit défini.

Pour ce faire :

  • Editez /etc/php5/apache2/php.ini
  sudo gedit /etc/php5/apache2/php.ini
  • Dans le bloc [Date], ajoutez votre TimeZone :
  date.timezone = "Europe/Brussels";

Vous trouverez ici les valeurs possibles pour ce paramètre : http://php.net/manual/en/timezones.php

Problème avec le tag PHP

Ce code prose désormais problème : <? echo $_SERVER['REQUEST_URI'] ?>

Il a fallu le remplacer par <?php echo $_SERVER['REQUEST_URI'] ?>


Bref.... Adminer ?

A chaque release de PhpMyAdmin, c'est de pire en pire…

Adminer, (ne pas prendre celui des dépôts, périmés), est peut-être une solution sans doute suffisante pour bon nombre d'utilisateurs.

Adminer (anciennement phpMinAdmin) est une application Web offrant une interface graphique pour le système de gestion de base de données MySQL, réalisée en PHP et distribuée sous licence Apache. Il se présente comme une alternative légère (plus léger que cela tu meurs) à phpMyAdmin et a pour particularité d'être entièrement contenu dans un seul fichier PHP.

Depuis la version 3.0.0, sortie le 15 octobre 2010, Adminer supporte également les bases de données MS SQL, SQLite, PostgreSQL et Oracle1.

Pour importer des fichiers de grandes tailles et contourner la limite de taille, mettre un .htaccess dans le répertoire adminer et y mettre :

  php_value upload_max_filesize 10M
  php_value post_max_size 20M
  php_value memory_limit 32M
serveur_lamp.txt · Dernière modification: 2015/10/10 12:05 (modification externe)

Outils de la page