Installer Apache, PHP et MySQL sous Ubuntu : stack LAMP complète

Installer Apache, PHP et MySQL sous Ubuntu permet de créer une stack LAMP complète : Linux, Apache, MySQL ou MariaDB, et PHP. C’est la base classique pour héberger un site PHP, tester WordPress en local, développer une application web ou préparer un serveur de préproduction.

À l’époque, on pouvait résumer l’installation à une seule commande. Cela fonctionne encore pour un test rapide. Mais une installation propre demande quelques étapes supplémentaires : pare-feu, VirtualHost, droits de fichiers, test PHP, connexion à la base de données et vérification des logs.

Voici une méthode moderne pour installer un environnement LAMP sous Ubuntu, sans transformer votre serveur en buffet libre pour erreurs 403 et fichiers mal placés.

Distingo, le livret à 2%

LAMP, cela veut dire quoi ?

LAMP désigne une pile logicielle composée de quatre briques :

  • Linux : le système d’exploitation, ici Ubuntu ;
  • Apache : le serveur web qui répond aux requêtes HTTP ;
  • MySQL ou MariaDB : le serveur de base de données ;
  • PHP : le langage exécuté côté serveur.

Cette stack reste très utilisée pour WordPress, de nombreux CMS, des applications PHP maison, des outils internes et des environnements de développement.

Pour un serveur de production très performant, on peut préférer Apache avec PHP-FPM, ou Nginx avec PHP-FPM. Mais pour une installation simple, locale ou pédagogique, Apache avec le module PHP reste parfaitement valable.

MySQL ou MariaDB : que choisir ?

Ubuntu propose généralement MySQL dans ses dépôts. MariaDB est une alternative très courante, compatible avec beaucoup d’applications prévues pour MySQL.

Base de donnéesÀ privilégier si…
MySQLVous voulez rester sur l’écosystème MySQL officiel, ou votre application le demande explicitement.
MariaDBVous voulez une alternative libre très utilisée, souvent disponible facilement dans les dépôts Linux.

Pour WordPress, les deux conviennent généralement. Dans ce guide, je donne les commandes pour MySQL, puis l’alternative MariaDB quand elle est pertinente.

Avant de commencer

Ce guide suppose que vous utilisez une version récente d’Ubuntu, avec un compte disposant de droits sudo.

Commencez par mettre à jour la liste des paquets :

sudo apt update

Puis installez les mises à jour disponibles :

sudo apt upgrade

Si vous êtes sur un serveur distant, vérifiez aussi que votre accès SSH fonctionne correctement avant de modifier le pare-feu. C’est bête à dire, mais beaucoup de grandes solitudes administrateur commencent par un ufw enable un peu trop enthousiaste.

Installer Apache

Installez Apache avec APT :

sudo apt install apache2

Vérifiez que le service tourne :

systemctl status apache2 --no-pager

Vous pouvez aussi tester dans le navigateur :

http://localhostCode language: JavaScript (javascript)

Sur un serveur distant, utilisez l’adresse IP du serveur :

http://ADRESSE_IP_DU_SERVEURCode language: JavaScript (javascript)

Si la page par défaut Apache apparaît, le serveur web répond correctement.

Distingo, le livret à 2%

Autoriser Apache dans le pare-feu UFW

Si UFW est actif, autorisez le trafic HTTP et HTTPS :

sudo ufw allow "Apache Full"Code language: JavaScript (javascript)

Vérifiez les règles :

sudo ufw status

Pour un serveur distant, gardez aussi SSH autorisé :

sudo ufw allow OpenSSH

Ensuite seulement, activez UFW si nécessaire :

sudo ufw enable

Installer MySQL

Installez MySQL Server depuis les dépôts Ubuntu :

sudo apt install mysql-server

Vérifiez que le service fonctionne :

systemctl status mysql --no-pager

Lancez ensuite l’assistant de sécurisation si disponible :

sudo mysql_secure_installation

Selon la version et la configuration, l’utilisateur root MySQL peut utiliser l’authentification par socket Unix. Cela signifie que vous vous connectez à MySQL avec sudo mysql, sans mot de passe MySQL séparé pour root.

Testez l’accès :

sudo mysql

Puis quittez :

exit;Code language: PHP (php)

Alternative : installer MariaDB

Si vous préférez MariaDB, installez plutôt :

sudo apt install mariadb-server

Vérifiez le service :

systemctl status mariadb --no-pager

Lancez l’assistant de sécurisation :

sudo mariadb-secure-installation

Sur certaines versions, la commande historique suivante peut aussi être disponible :

sudo mysql_secure_installation

Ne mélangez pas MySQL et MariaDB sur le même serveur sans raison claire. Choisissez une base et gardez une ligne propre. Les serveurs SQL n’aiment pas les colocations improvisées.

Installer PHP pour Apache

Pour une stack LAMP simple, installez PHP, le module Apache et l’extension MySQL pour PHP :

sudo apt install php libapache2-mod-php php-mysql

Installez aussi quelques extensions PHP courantes, utiles pour WordPress et beaucoup d’applications PHP :

sudo apt install php-cli php-curl php-gd php-intl php-mbstring php-xml php-zip php-bcmath php-imagick

Vérifiez la version de PHP :

php -v

Redémarrez Apache :

sudo systemctl restart apache2

Cette méthode utilise PHP via le module Apache. Pour un serveur de production avec plusieurs sites, plusieurs versions PHP ou une meilleure séparation, PHP-FPM sera souvent préférable. Mais pour un LAMP simple, cette approche reste rapide et claire.

Tester PHP dans Apache

Créez un fichier de test :

echo '<?php phpinfo();' | sudo tee /var/www/html/info.phpCode language: PHP (php)

Ouvrez ensuite :

http://localhost/info.phpCode language: JavaScript (javascript)

Sur un serveur distant :

http://ADRESSE_IP_DU_SERVEUR/info.phpCode language: JavaScript (javascript)

Si la page PHP Info apparaît, Apache exécute bien PHP.

Supprimez ensuite ce fichier. Il expose trop d’informations sur votre environnement :

sudo rm /var/www/html/info.phpCode language: JavaScript (javascript)

Créer un VirtualHost Apache propre

Évitez de travailler directement dans /var/www/html. Créez plutôt un VirtualHost dédié. C’est plus propre, plus proche d’un vrai serveur et beaucoup plus simple à maintenir quand vous avez plusieurs sites.

Créez un dossier pour le site :

sudo mkdir -p /var/www/lamp-test/publicCode language: PHP (php)

Attribuez le dossier à votre utilisateur :

sudo chown -R "$USER":www-data /var/www/lamp-testCode language: JavaScript (javascript)

Définissez des permissions raisonnables :

find /var/www/lamp-test -type d -exec chmod 755 {} \;
find /var/www/lamp-test -type f -exec chmod 644 {} \;Code language: JavaScript (javascript)

Créez une page PHP simple :

cat > /var/www/lamp-test/public/index.php <<'PHP'
<?php
declare(strict_types=1);

echo 'LAMP fonctionne.';
PHPCode language: PHP (php)

Créez ensuite le fichier VirtualHost :

sudo nano /etc/apache2/sites-available/lamp-test.conf

Ajoutez cette configuration :

<VirtualHost *:80>
    ServerName lamp-test.local
    DocumentRoot /var/www/lamp-test/public

    <Directory /var/www/lamp-test/public>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/lamp-test-error.log
    CustomLog ${APACHE_LOG_DIR}/lamp-test-access.log combined
</VirtualHost>Code language: PHP (php)

Activez le site :

sudo a2ensite lamp-test.confCode language: CSS (css)

Activez aussi rewrite, utile pour WordPress et beaucoup d’applications PHP :

sudo a2enmod rewrite

Vérifiez la configuration Apache :

sudo apache2ctl configtest

Rechargez Apache :

sudo systemctl reload apache2

Tester le domaine local

Sur une machine locale, ajoutez le domaine dans /etc/hosts :

sudo nano /etc/hosts

Ajoutez :

127.0.0.1 lamp-test.localCode language: CSS (css)

Ouvrez ensuite :

http://lamp-test.localCode language: JavaScript (javascript)

Vous devez voir :

LAMP fonctionne.

Sur un serveur distant, remplacez lamp-test.local par un vrai domaine ou un sous-domaine pointant vers l’adresse IP du serveur.

Créer une base de données et un utilisateur

Pour une application PHP ou un WordPress, ne travaillez pas avec l’utilisateur root MySQL. Créez une base et un utilisateur dédiés.

Connectez-vous à MySQL :

sudo mysql

Créez une base :

CREATE DATABASE lamp_test CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Créez un utilisateur dédié :

CREATE USER 'lamp_user'@'localhost' IDENTIFIED BY 'mot_de_passe_long_et_unique';Code language: JavaScript (javascript)

Accordez les droits sur cette base uniquement :

GRANT ALL PRIVILEGES ON lamp_test.* TO 'lamp_user'@'localhost';Code language: JavaScript (javascript)

Rechargez les privilèges et quittez :

FLUSH PRIVILEGES;
EXIT;Code language: PHP (php)

Testez l’utilisateur :

mysql -u lamp_user -p lamp_test

Si la connexion fonctionne, votre base est prête.

Tester la connexion MySQL depuis PHP

Créez un fichier temporaire de test :

nano /var/www/lamp-test/public/db-test.phpCode language: PHP (php)

Ajoutez :

<?php
declare(strict_types=1);

$host = 'localhost';
$dbname = 'lamp_test';
$username = 'lamp_user';
$password = 'mot_de_passe_long_et_unique';

try {
    $pdo = new PDO(
        sprintf('mysql:host=%s;dbname=%s;charset=utf8mb4', $host, $dbname),
        $username,
        $password,
        [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        ]
    );

    echo 'Connexion MySQL OK.';
} catch (PDOException $exception) {
    http_response_code(500);
    echo 'Erreur de connexion à la base de données.';
}Code language: HTML, XML (xml)

Ouvrez :

http://lamp-test.local/db-test.phpCode language: JavaScript (javascript)

Si tout va bien, vous verrez :

Connexion MySQL OK.

Supprimez ensuite le fichier de test, car il contient des identifiants en clair :

rm /var/www/lamp-test/public/db-test.phpCode language: PHP (php)

Où sont les fichiers de configuration ?

Voici les emplacements importants à connaître :

ÉlémentChemin
Configuration principale Apache/etc/apache2/apache2.conf
Sites disponibles/etc/apache2/sites-available/
Sites activés/etc/apache2/sites-enabled/
Modules disponibles/etc/apache2/mods-available/
Modules activés/etc/apache2/mods-enabled/
Racine web par défaut/var/www/html
Logs Apache/var/log/apache2/
Configuration PHP Apache/etc/php/*/apache2/php.ini
Configuration PHP CLI/etc/php/*/cli/php.ini

Le caractère * dépend de la version PHP installée. Par exemple : /etc/php/8.3/apache2/php.ini.

Commandes Apache utiles

Voici les commandes à garder sous la main :

# Vérifier l'état d'Apache
systemctl status apache2 --no-pager

# Démarrer Apache
sudo systemctl start apache2

# Arrêter Apache
sudo systemctl stop apache2

# Redémarrer Apache
sudo systemctl restart apache2

# Recharger la configuration sans couper brutalement le service
sudo systemctl reload apache2

# Tester la configuration
sudo apache2ctl configtest

# Lister les VirtualHosts actifs
sudo apache2ctl -S

# Activer un site
sudo a2ensite nom-du-site.conf

# Désactiver un site
sudo a2dissite nom-du-site.conf

# Activer un module
sudo a2enmod rewrite

# Désactiver un module
sudo a2dismod nom_moduleCode language: PHP (php)

Commandes MySQL utiles

Quelques commandes pratiques pour administrer MySQL ou MariaDB :

# Se connecter en administrateur local
sudo mysql

# Vérifier l'état du service MySQL
systemctl status mysql --no-pager

# Vérifier l'état du service MariaDB
systemctl status mariadb --no-pager

# Lister les bases
SHOW DATABASES;

# Lister les utilisateurs
SELECT user, host FROM mysql.user;

# Voir les droits d'un utilisateur
SHOW GRANTS FOR 'lamp_user'@'localhost';Code language: PHP (php)

Régler PHP pour le développement

En local, vous pouvez afficher les erreurs PHP pour faciliter le développement. En production, il faut les journaliser sans les afficher aux visiteurs.

Ouvrez le fichier PHP d’Apache :

php --ini

Repérez le fichier chargé pour Apache, puis éditez par exemple :

sudo nano /etc/php/8.3/apache2/php.ini

Pour un environnement local :

display_errors = On
display_startup_errors = On
error_reporting = E_ALL
log_errors = On

Pour un serveur public :

display_errors = Off
display_startup_errors = Off
error_reporting = E_ALL
log_errors = On

Après modification, redémarrez Apache :

sudo systemctl restart apache2

PHP-FPM ou libapache2-mod-php ?

Ce guide utilise libapache2-mod-php, car c’est la méthode LAMP simple et rapide.

Mais pour un serveur de production, surtout avec plusieurs sites, PHP-FPM présente souvent des avantages :

  • meilleure séparation entre sites ;
  • pools PHP configurables ;
  • meilleure gestion des ressources ;
  • possibilité de faire tourner plusieurs versions PHP ;
  • configuration plus proche des stacks modernes Apache/Nginx.

Si votre objectif est d’héberger des sites clients, une boutique WooCommerce ou un serveur multi-sites, partez plutôt sur PHP-FPM. Si votre objectif est d’apprendre LAMP ou de créer un environnement local simple, ce guide suffit largement.

Installer phpMyAdmin ? Pas obligatoire

phpMyAdmin peut être pratique, mais il n’est pas obligatoire. Sur un serveur public, il ajoute aussi une surface d’attaque souvent ciblée par les bots.

Pour un environnement local, vous pouvez l’installer si vous préférez une interface graphique. Pour un serveur public, je préfère souvent administrer MySQL en ligne de commande ou via un accès temporaire mieux contrôlé.

Si vous l’installez, protégez-le correctement : URL non évidente, authentification forte, accès restreint par IP si possible, HTTPS obligatoire et mises à jour régulières.

Installer HTTPS avec Let’s Encrypt

Sur un serveur accessible publiquement avec un vrai nom de domaine, ajoutez HTTPS avec Let’s Encrypt. Pour Apache, l’outil le plus courant reste Certbot.

Installez Certbot et le plugin Apache :

sudo apt install certbot python3-certbot-apache

Demandez un certificat :

sudo certbot --apache -d example.com -d www.example.comCode language: CSS (css)

Testez le renouvellement automatique :

sudo certbot renew --dry-run

Remplacez example.com par votre domaine. Le domaine doit pointer vers le serveur avant la demande du certificat.

Droits de fichiers : éviter les mauvais réflexes

Ne mettez pas tout en 777. Jamais. Ce n’est pas une solution, c’est un abandon.

Pour un site simple dans /var/www/lamp-test, commencez avec :

sudo chown -R "$USER":www-data /var/www/lamp-test
find /var/www/lamp-test -type d -exec chmod 755 {} \;
find /var/www/lamp-test -type f -exec chmod 644 {} \;Code language: JavaScript (javascript)

Pour WordPress, certains dossiers doivent être inscriptibles par PHP, notamment wp-content/uploads. Mais ne donnez pas des permissions larges à tout le site sans comprendre pourquoi.

Logs utiles pour dépanner LAMP

Quand quelque chose casse, regardez les logs avant de modifier dix réglages au hasard. Apache parle. Il faut juste l’écouter avant de lui jeter un redémarrage dessus.

Logs Apache globaux :

sudo tail -f /var/log/apache2/error.logCode language: JavaScript (javascript)

Logs du VirtualHost créé plus haut :

sudo tail -f /var/log/apache2/lamp-test-error.log
sudo tail -f /var/log/apache2/lamp-test-access.logCode language: JavaScript (javascript)

Logs système du service Apache :

journalctl -u apache2 -n 100 --no-pager

Logs MySQL :

journalctl -u mysql -n 100 --no-pager

Pour MariaDB :

journalctl -u mariadb -n 100 --no-pager

Dépannage : Apache affiche la page par défaut au lieu de mon site

Vérifiez les VirtualHosts actifs :

sudo apache2ctl -S

Vérifiez que votre site est activé :

ls -l /etc/apache2/sites-enabled/

Si nécessaire, désactivez le site par défaut :

sudo a2dissite 000-default.conf
sudo systemctl reload apache2Code language: JavaScript (javascript)

Vérifiez aussi que le ServerName correspond bien au domaine appelé dans le navigateur.

Dépannage : PHP s’affiche en texte au lieu de s’exécuter

Si le navigateur affiche le code PHP, Apache n’exécute pas PHP. Vérifiez que le module PHP est installé :

dpkg -l | grep libapache2-mod-php

Réinstallez si besoin :

sudo apt install libapache2-mod-php
sudo systemctl restart apache2

Vérifiez aussi que votre fichier se termine bien en .php, et non en .html.

Dépannage : erreur 403 Forbidden

Une erreur 403 vient souvent d’un problème de permissions ou de directive Apache.

Vérifiez les permissions :

namei -l /var/www/lamp-test/public/index.phpCode language: PHP (php)

Vérifiez aussi le bloc <Directory> du VirtualHost :

<Directory /var/www/lamp-test/public>
    Options -Indexes +FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>Code language: PHP (php)

Puis testez et rechargez Apache :

sudo apache2ctl configtest
sudo systemctl reload apache2

Dépannage : MySQL refuse la connexion PHP

Commencez par tester la connexion en ligne de commande :

mysql -u lamp_user -p lamp_test

Si cela échoue, le problème vient de l’utilisateur, du mot de passe, de l’hôte ou des droits MySQL.

Connectez-vous en administrateur :

sudo mysql

Vérifiez les droits :

SHOW GRANTS FOR 'lamp_user'@'localhost';Code language: JavaScript (javascript)

Si l’utilisateur n’existe pas ou n’a pas les droits, recréez-le proprement.

Dépannage : la réécriture d’URL ne fonctionne pas

Pour WordPress ou un framework PHP, les URLs propres dépendent souvent de mod_rewrite et de .htaccess.

Activez le module :

sudo a2enmod rewrite

Vérifiez que le VirtualHost autorise les fichiers .htaccess :

AllowOverride All

Rechargez Apache :

sudo systemctl reload apache2

Installation rapide en une commande

Pour un environnement local très simple, vous pouvez installer les paquets principaux en une seule commande :

sudo apt update
sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql

Ou avec MariaDB :

sudo apt update
sudo apt install apache2 mariadb-server php libapache2-mod-php php-mysql

C’est suffisant pour voir LAMP tourner rapidement. Pour un vrai projet, prenez le temps de créer un VirtualHost, une base dédiée, un utilisateur SQL dédié et une configuration propre.

LAMP pour WordPress : extensions PHP utiles

Pour WordPress, installez au minimum les extensions courantes :

sudo apt install php-curl php-gd php-imagick php-intl php-mbstring php-mysql php-xml php-zip

Selon les plugins, vous aurez parfois besoin d’autres extensions. WooCommerce, les constructeurs de pages, les plugins d’images et les intégrations API peuvent ajouter leurs propres besoins.

Pour un site WordPress public, pensez aussi à HTTPS, cache, sauvegardes, mises à jour automatiques contrôlées, permissions correctes et surveillance des logs. Installer LAMP n’est que la première brique. Le vrai sujet, c’est de le maintenir proprement.

Besoin d’un environnement WordPress ou WooCommerce fiable ?

Je peux vous aider à installer, auditer ou optimiser un environnement WordPress, WooCommerce ou serveur Linux : Apache, Nginx, PHP-FPM, MySQL/MariaDB, Redis, cache, SSL, sauvegardes, sécurité et performances.

L’objectif n’est pas seulement d’installer Apache et PHP. Il faut une stack stable, rapide, sécurisée et facile à maintenir. Surtout si le site génère du trafic ou du chiffre d’affaires.

  • Installation serveur Ubuntu pour WordPress ou WooCommerce.
  • Configuration Apache, Nginx ou PHP-FPM.
  • Optimisation MySQL/MariaDB.
  • HTTPS, sécurité, pare-feu et durcissement.
  • Migration, sauvegarde et restauration.
  • Diagnostic performance et Core Web Vitals.

Si vous voulez une stack propre pour héberger un site WordPress ou WooCommerce, contactez-moi. On peut faire mieux qu’un serveur “installé vite fait”.

Méthode recommandée aujourd’hui

Pour installer LAMP proprement sous Ubuntu, je recommande cette séquence :

  1. mettre Ubuntu à jour ;
  2. installer Apache ;
  3. autoriser Apache dans UFW ;
  4. installer MySQL ou MariaDB ;
  5. sécuriser le serveur de base de données ;
  6. installer PHP et les extensions nécessaires ;
  7. créer un VirtualHost ;
  8. tester PHP ;
  9. créer une base et un utilisateur SQL dédiés ;
  10. vérifier les logs et les permissions.

Cette méthode est plus longue qu’une commande magique, mais elle produit un environnement propre. Et un environnement propre, c’est moins de jurons plus tard.

Checklist rapide

  • Installer apache2.
  • Autoriser Apache Full dans UFW.
  • Installer mysql-server ou mariadb-server.
  • Lancer mysql_secure_installation ou mariadb-secure-installation.
  • Installer php, libapache2-mod-php et php-mysql.
  • Activer mod_rewrite.
  • Créer un VirtualHost dans /etc/apache2/sites-available/.
  • Tester la configuration avec apache2ctl configtest.
  • Créer une base et un utilisateur SQL dédiés.
  • Supprimer les fichiers de test comme info.php.

À retenir

Installer Apache, PHP et MySQL sous Ubuntu reste simple, mais une stack LAMP propre ne se résume pas à installer trois paquets. Il faut aussi configurer le pare-feu, créer un VirtualHost, tester PHP, créer un utilisateur SQL dédié et surveiller les logs.

Pour un environnement local ou un serveur de test, Apache avec libapache2-mod-php reste rapide et pratique. Pour un serveur de production, surtout avec WordPress ou WooCommerce, PHP-FPM, HTTPS, cache, sauvegardes et supervision deviennent rapidement indispensables.

La bonne méthode : installer simple, configurer propre, tester immédiatement. Le serveur web vous remerciera. Pas verbalement, bien sûr. Mais par une absence délicieuse d’erreurs 500.

FAQ : installer Apache, PHP et MySQL sous Ubuntu

Quelle commande installe un serveur LAMP sous Ubuntu ?

La commande minimale est sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql. Pour un vrai projet, ajoutez un VirtualHost, une base dédiée et les extensions PHP nécessaires.

Faut-il choisir MySQL ou MariaDB ?

Les deux conviennent pour beaucoup d’applications PHP. Choisissez MySQL si votre application ou votre hébergeur le demande explicitement. Choisissez MariaDB si vous préférez cette alternative, très courante sur Linux.

Pourquoi PHP ne s’exécute pas dans Apache ?

Le module PHP Apache manque peut-être. Installez libapache2-mod-php, redémarrez Apache et vérifiez que le fichier se termine bien par .php.

Dois-je installer phpMyAdmin ?

Pas forcément. phpMyAdmin est pratique en local, mais pas indispensable. Sur un serveur public, il faut le protéger soigneusement ou préférer la ligne de commande.

PHP-FPM est-il meilleur que libapache2-mod-php ?

Pour une stack simple, libapache2-mod-php suffit. Pour une production multi-sites, PHP-FPM est souvent préférable grâce à ses pools, sa séparation des processus et sa flexibilité.

Où placer les fichiers du site ?

Évitez de travailler directement dans /var/www/html. Créez plutôt un dossier dédié, par exemple /var/www/mon-site/public, puis configurez un VirtualHost Apache.

Articles liés

Sources

Demandez à l'IA son opinion
Gravatar for Matt Biscay

Je suis Matt Biscay, développeur WordPress & WooCommerce certifié chez Codeable, administrateur système et enseignant.

J’aide les entreprises à créer, optimiser et fiabiliser leurs sites WordPress avec une approche technique propre : performance, sécurité, maintenance, développement sur mesure et résolution de problèmes complexes.

Sur Skyminds, je partage des tutoriels WordPress, WooCommerce, Linux et administration système, avec des solutions testées sur des cas réels et pensées pour durer.

Découvrez mes services WordPress et WooCommerce.

29 pensées sur “Installer Apache, PHP et MySQL sous Ubuntu : stack LAMP complète”

  1. Merci Matt !

    j’ai pas compris le

    cd /

    dans :

    sudo /etc/init.d/apache2 restart

    mais à part ça, excellent easy tutoriel.
    Et avec tous les windowsiens qui te lisent, tu risques toi aussi de faire basculer des voix !

    Reply
  2. Pour installer lamp, il y a plus simple dans synaptic
    Tu fais Édition-> Sélectionner des paquets par tâches
    Cocher l’option “serveur LAMP” et valider. (c’est un commentateur sur mon blog qui m’a donné la manip à suivre).
    J’ai déjà installé tout ça, je vais utilser ton bilet pour tout configurer. L’histoire des liens symbolique, ça va m’aider je sens, j’avais toujours des problèmes de droits sur les dossiers. Je faisais beaucoup usage du chmod …

    Reply
    • Bonjour,
      La ligne de commande suivante peut aider:
      sudo nautilus
      Cela ouvre le navigateur de fichiers en root tu peut modifier n’importe quel fichier ou dossier sans être ennuyé plus que ça.

      Reply
  3. @olmon : en fait, le

    cd /

    me permet de revenir à la racine pour lancer la commande suivante. C’est une habitude de windowsien je crois… Donc oui, on peut sûrement l’omettre.

    @agatzebluz : ah oui tiens, cela a l’air beaucoup plus simple ! Le lien symbolique me facilite beaucoup la tâche je trouve.

    Reply
  4. Bonjour!

    C’est sympa, mais
    Ta commande ne fonctionne pas:
    sudo etc/init.d/apache2 restart
    réponse: sudo: etc/init.d/apache2: command not found

    cd /etc/init.d
    sudo apache2
    —->apache2: bad user name ${APACHE_RUN_USER}

    Cordialement

    P.Broto

    Reply
  5. Bonjour Broto,

    Il ne faut pas oublier le premier slash avant etc :

    sudo /etc/init.d/apache2 restart

    Cela fonctionne bien chez moi :

    
     * Restarting web server apache2
     ... waiting apache2:                              [ OK ]
    Reply
  6. Ce n’est pas gênant comme message mais si tu veux le supprimer, il suffit d’ajouter le nom du serveur dans la configuration Apache – comme ceci :

    1- dans le terminal :

    sudo gedit /etc/apache2/apache2.conf

    2- après la ligne ServerRoot, ajouter :

    ServerName localhost

    3- sauvegarder le fichier et recharger la configuration Apache :

    sudo /etc/init.d/apache2 reload

    Et voilà ! :)

    Reply
  7. débutant en ce domaine j’ai suivi mot à mot la procédure afin d’installer apache… je voulais maintenant savoir comment procéder pour maintenant creer le serveur

    merci beaucoup

    Reply
  8. je me suis surement mal exprimé je voulais savoir où faire des modifications et où aller pour voir ces changements, a quelle adresse url ?

    merci

    Reply
  9. d’accord merci, juste une dernière petit question… :/ connais tu un site où il explique comment mettre en ligne des fichiers tout ca grace à ce logiciel. j’aimerais vraiment savoir faire et je n’ai pas trop de connaissances à ce sujet. après je pourrais donc apprendre

    merci beaucoup et j trouve ca super ton explication pour l’installation et la configg

    Reply
  10. Salut,

    @martin florent : tout dépend de ton serveur. S’il est hébergé sur ta propre machine, tu peux mettre les fichiers dans un répertoire comme indiqué dans le tutoriel (fin de l’étape configuration Apache). Si ton serveur est distant (hébergé sur un autre ordinateur que le tien), tu auras besoin d’un client FTP pour y déposer les fichiers (on présuppose qu’il y a un serveur FTP installé sur le serveur).

    Je t’en prie, je suis content que cela puisse aider.

    Reply
  11. Salut,
    Désolé, je suis un débutant à la matière, mais j’ai suivi à la lettre le tuto que Matt nous avait fait, chapeau bas pour lui, et ça marche à merveille, mais mon problème est le suivant:
    j’ai l’habitude de travailler sous windows en utilisant wamp (lamp en linux), cette fois j’ai migré mes bd de mysql sous windows vers mysql sous ubuntu: ok, même topo pour l’application php que j’ai mis dans /home/masite/appliphp/ et le lien de /var/www est fait.
    Quand je lance localhost, je vois info.php et le répertoire appliphp, et si je click sur appliphp rien ne marche alors que dans appliphp le fichier index.php existe (avant sous windows ok).
    Voila mon problème si personne pourrait m’aider, merci beaucoup.

    Reply
    • Salut,

      Quand tu écris :

      Quand je lance localhost, je vois info.php et le répertoire appliphp, et si je click sur appliphp rien ne marche alors que dans appliphp le fichier index.php existe (avant sous windows ok).

      tu veux dire que tu obtiens une page blanche? Si ton fichier index.php fait référence à d’autres fichiers (include etc), vérifie que les chemins sont corrects. Regarde aussi dans les logs d’erreur Apache, ils permettent souvent de trouver le problème.

      Reply
  12. Sous Ubuntu 10.10 j’avais phpmyadmin qui n’apparait pas. J’ai trouvé la solution ici LINK

    quand tu tapes localhost/phpmyadmin il va de base sous ubuntu sur /var/www/phpmyadmin
    mais phpmyadmin n’est pas dans /var/www il faut donc faire un lien :
    sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin

    Reply
  13. Bon je continue mes expériences. Mais pour le lien sympbolique je ne comprends pas …

    Commencez par créer votre répertoire. Pour l’exemple, je crée le répertoire /www dans /home/matt –> c’est fait en adaptant avec mon user

    Ensuite, il suffit de lancer cette commande. Cela crée un répertoire /skyminds à la racine du serveur qui pointe vers /home/matt/www –> Voilà ce que je tape sachant que mon dossier d’installation de WP s’appelle wordpress
    sudo ln -s /home/guillaume/www wordpress

    Et la réponse du f****ng terminal : ln: création d’un lien symbolique «wordpress/www»: Le fichier existe

    Je sèche …

    Reply
    • Wow, je réalise que j’ai écrit cela y’a un bout de temps… As-tu essayé de supprimer le lien puis de le recréer ?

      Ps : il faut se trouver dans le répertoire dans lequel on veut créer le lien avant de lancer la commande.

      Reply
  14. Je suis arrivé à en faire un mais par contre, je suis quand même obligé de me connecter en superutilisateur pour faire quoi que ce soit dans le dossier. Donc ma question est : quel est l’intérêt de faire ce lien ?

    Reply
  15. je tenais à remercier Matt d’avoir créer cette page car sans ça je serais sans doute encore en train de galérer !!
    j’arrivais à me connecter à mysql via la console mais je n’arrivais pas à me connecter avec ‘mysql_connect’ dans mes script ; pourtant j’avais bien décommenté la ligne ‘extension = mysql.so‘ dans le fichier php.ini et tout et tout mais rien à faire ! Et la solution était dans les 1ères ligne de cette page : dans la doc ils disent d’installer lamp avec la ligne de commande suivante : sudo apt-get install apache2 php5 mysql-server
    or c’est en installant en plus les paquets : libapache2-mod-php5 php5-mysql que ça a fonctionné ! Alléluhia !
    Quand même ils pourrait le préciser dans la doc ubuntu, je galère depuis hier!!!
    Enfin bref merci encore !!

    Reply
  16. sur ubuntu 12.04, j’ai dû remplacer

    sudo dpkg-reconfigure mysql-server-5.0

    par

    sudo dpkg-reconfigure mysql-server

    Mais sinon, tout impecc ! Merci à l’auteur du tuto

    Reply

Opinions