web-dev-qa-db-fra.com

Comment installer le serveur LAMP sur Ubuntu

Je viens d’installer Ubuntu sur mon ordinateur en tant que débutant et j’ai découvert qu’aucun serveur LAMP n’était disponible dans le centre logiciel. Je ne sais pas trop comment installer le serveur LAMP sur mon Ubuntu, car il n’existe pas de site Web particulier pour le faire.

S'il vous plaît, où sont les sources où je peux installer le serveur LAMP sur mon ordinateur et les processus que je suivrai pour le faire fonctionner.

Merci.

7
Adetona77

Je vous recommande d'installer tous les composants de L.A.M.P séparément. Mais cela prend du temps et de la patience. Si vous recherchez " Installation en un clic ", de nombreux packages de ce type sont disponibles. Ce qui suit explique l’installation de Bitnami LAMPstack .

  • Téléchargez le programme d'installation recommandé à partir d'ici: https://bitnami.com/stack/lamp/installer
  • Accordez une autorisation d'exécution au fichier *.run que vous avez téléchargé

    chmod +x bitnami-lampstack-xxx-xxx-xxx.run

  • Exécuter. (Double-cliquez dessus ou exécutez depuis le terminal: ./binnami-xxx.run)

  • Le processus d'installation est explicite.

enter image description here

enter image description here

enter image description here

Manière recommandée: installer tous les composants séparément

Source: tutoriel digitalocean

Étape 1: Installer Apache et Autoriser dans le pare-feu

Sudo apt-get update
Sudo apt-get install Apache2

Ensuite, en supposant que vous ayez suivi les instructions de configuration initiale du serveur pour activer le pare-feu UFW, assurez-vous que votre pare-feu autorise le trafic HTTP et HTTPS. Vous pouvez vous assurer que UFW a un profil d'application pour Apache comme suit:

Sudo ufw app list

Output:
Available applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

Si vous regardez le profil complet d'Apache, il devrait montrer qu'il active le trafic vers les ports 80 et 443:

Sudo ufw app info "Apache Full"

Output
Profile: Apache Full
Title: Web Server (HTTP,HTTPS)
Description: Apache v2 is the next generation of the omnipresent Apache web
server.

Ports:
  80,443/tcp

Autoriser le trafic entrant pour ce profil:

Sudo ufw allow in "Apache Full"

Vous pouvez immédiatement effectuer une vérification ponctuelle pour vérifier que tout s'est passé comme prévu en visitant l'adresse IP publique de votre serveur dans votre navigateur Web (voir la note sous le titre suivant pour savoir quelle est votre adresse IP publique si vous ne disposez pas de ces informations.) déjà):

http://your_server_IP_address (ou tapez simplement localhost dans la barre d'adresse)

Vous verrez la page Web par défaut Ubuntu 16.04 Apache, qui est là à des fins d’information et de test. Ça devrait ressembler a quelque chose comme ca:

enter image description here

Si vous voyez cette page, votre serveur Web est maintenant correctement installé et accessible via votre pare-feu. Comment trouver l'adresse IP publique de votre serveur

Étape 2: Installez MySQL

Exécutez la commande:

Sudo apt-get install mysql-server

Lors de l'installation, votre serveur vous demandera de sélectionner et de confirmer un mot de passe pour l'utilisateur MySQL " root ". C'est un compte administratif dans MySQL qui a augmenté ses privilèges. Considérez-le comme similaire au compte racine du serveur lui-même (celui que vous configurez maintenant est un compte spécifique à MySQL, cependant). Assurez-vous qu'il s'agit d'un mot de passe fort et unique et ne le laissez pas vide .

Une fois l’installation terminée, nous souhaitons exécuter un script de sécurité simple permettant de supprimer certaines valeurs par défaut dangereuses et de verrouiller légèrement l’accès à notre système de base de données. Démarrez le script interactif en exécutant:

Sudo mysql_secure_installation

Il vous sera demandé de saisir le mot de passe que vous avez défini pour le compte racine MySQL. Ensuite, il vous sera demandé si vous souhaitez configurer VALIDATE PASSWORD PLUGIN.

Avertissement: L'activation de cette fonctionnalité est une sorte de jugement. Si activé, les mots de passe qui ne correspondent pas aux critères spécifiés seront rejetés par MySQL avec une erreur. Cela posera des problèmes si vous utilisez un mot de passe faible avec un logiciel qui configure automatiquement les informations d'identification de l'utilisateur MySQL, telles que les paquets Ubuntu pour phpMyAdmin. Il est prudent de laisser la validation désactivée, mais vous devez toujours utiliser des mots de passe forts et uniques pour les informations d'identification de la base de données.

Répondez y pour oui, ou toute autre chose pour continuer sans permettre.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Appuyez sur y | Y pour Oui, toute autre touche pour Non:

Vous serez invité à sélectionner un niveau de validation du mot de passe. Gardez à l'esprit que si vous entrez 2, pour le niveau le plus fort, vous recevrez des erreurs lorsque vous tenterez de définir un mot de passe ne contenant pas de chiffres, de lettres majuscules et minuscules et de caractères spéciaux, ou reposant sur des mots du dictionnaire courants.

Il existe trois niveaux de stratégie de validation de mot de passe:

L

OW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

Si vous avez activé la validation du mot de passe, le niveau de mot de passe du mot de passe root existant vous sera indiqué. Vous serez alors invité à changer le mot de passe. Si vous êtes satisfait de votre mot de passe actuel, entrez n pour "non" à l'invite:

Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n

Pour le reste des questions, vous devez appuyer sur Y et appuyer sur la touche Entrée à chaque invite. Cela supprimera certains utilisateurs anonymes et la base de données de test, désactivera les connexions root à distance et chargera ces nouvelles règles afin que MySQL respecte immédiatement les modifications que nous avons apportées.

À ce stade, votre système de base de données est maintenant configuré et nous pouvons continuer.

Étape 3: Installez PHP

Exécutez la commande:

Sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql

Cela devrait installer PHP sans aucun problème. Nous allons tester cela dans un instant.

Dans la plupart des cas, nous voudrons modifier la façon dont Apache sert les fichiers lorsqu'un répertoire est demandé. Actuellement, si un utilisateur demande un répertoire au serveur, Apache recherchera d'abord un fichier appelé index.html. Nous voulons dire à notre serveur Web de préférer les fichiers PHP. Nous allons donc demander à Apache de rechercher un fichier index.php.

Pour ce faire, tapez cette commande pour ouvrir le fichier dir.conf dans un éditeur de texte doté des privilèges root:

Sudo nano /etc/Apache2/mods-enabled/dir.conf

Il ressemblera à ceci:

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

Nous voulons déplacer le fichier d'index PHP mis en évidence ci-dessus à la première position après la spécification DirectoryIndex, comme suit:

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

Lorsque vous avez terminé, enregistrez et fermez le fichier en appuyant sur Ctrl-X. Vous devrez confirmer la sauvegarde en tapant Y puis appuyer sur Entrée pour confirmer l'emplacement de sauvegarde du fichier.

Après cela, nous devons redémarrer le serveur Web Apache pour que nos modifications soient reconnues. Vous pouvez le faire en tapant ceci:

Sudo systemctl restart Apache2

Nous pouvons également vérifier le statut du service Apache2 en utilisant systemctl:

Sudo systemctl status Apache2

Sample Output
● Apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/Apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/Apache2.service.d
           └─Apache2-systemd.conf
   Active: active (running) since Wed 2016-04-13 14:28:43 EDT; 45s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 13581 ExecStop=/etc/init.d/Apache2 stop (code=exited, status=0/SUCCESS)
  Process: 13605 ExecStart=/etc/init.d/Apache2 start (code=exited, status=0/SUCCESS)
    Tasks: 6 (limit: 512)
   CGroup: /system.slice/Apache2.service
           ├─13623 /usr/sbin/Apache2 -k start
           ├─13626 /usr/sbin/Apache2 -k start
           ├─13627 /usr/sbin/Apache2 -k start
           ├─13628 /usr/sbin/Apache2 -k start
           ├─13629 /usr/sbin/Apache2 -k start
           └─13630 /usr/sbin/Apache2 -k start

Apr 13 14:28:42 ubuntu-16-lamp systemd[1]: Stopped LSB: Apache2 web server.
Apr 13 14:28:42 ubuntu-16-lamp systemd[1]: Starting LSB: Apache2 web server...
Apr 13 14:28:42 ubuntu-16-lamp Apache2[13605]:  * Starting Apache httpd web server Apache2
Apr 13 14:28:42 ubuntu-16-lamp Apache2[13605]: AH00558: Apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerNam
Apr 13 14:28:43 ubuntu-16-lamp Apache2[13605]:  *
Apr 13 14:28:43 ubuntu-16-lamp systemd[1]: Started LSB: Apache2 web server.

Installez PHP Modules

Pour améliorer les fonctionnalités de PHP, nous pouvons éventuellement installer des modules supplémentaires.

Pour voir les options disponibles pour les modules et les bibliothèques PHP, vous pouvez diriger les résultats de la recherche d'apt-cache vers less, un pager qui vous permet de faire défiler le résultat d'autres commandes:

apt-cache search php- | less

Utilisez les touches fléchées pour faire défiler et q pour quitter.

Les résultats sont tous des composants facultatifs que vous pouvez installer. Il vous donnera une brève description pour chacun:

libnet-libidn-Perl - Perl bindings for GNU Libidn
php-all-dev - package depending on all supported PHP development packages
php-cgi - server-side, HTML-embedded scripting language (CGI binary) (default)
php-cli - command-line interpreter for the PHP scripting language (default)
php-common - Common files for PHP packages
php-curl - CURL module for PHP [default]
php-dev - Files for PHP module development (default)
php-Gd - Gd module for PHP [default]
php-gmp - GMP module for PHP [default]
…
:

Pour obtenir plus d'informations sur le fonctionnement de chaque module, vous pouvez effectuer une recherche sur Internet ou consulter la description longue du paquet en tapant:

apt-cache show package_name

Il y aura beaucoup de sorties, avec un champ appelé Description-en qui expliquera plus longuement les fonctionnalités fournies par le module.

Par exemple, pour savoir ce que fait le module php-cli, nous pourrions taper ceci:

apt-cache show php-cli

En plus d'une grande quantité d'informations, vous trouverez quelque chose qui ressemble à ceci:

Output
…
Description-en: command-line interpreter for the PHP scripting language (default)
 This package provides the /usr/bin/php command interpreter, useful for
 testing PHP scripts from a Shell or performing general Shell scripting tasks.
 .
 PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used
 open source general-purpose scripting language that is especially suited
 for web development and can be embedded into HTML.
 .
 This package is a dependency package, which depends on Debian's default
 PHP version (currently 7.0).
…

Si, après avoir effectué des recherches, vous décidez d'installer un paquet, vous pouvez le faire en utilisant la commande apt-get install, comme nous l'avons fait pour nos autres logiciels.

Si nous avions décidé que php-cli était une chose dont nous avions besoin, nous pourrions taper:

Sudo apt-get install php-cli

Étape 4: testez PHP le traitement sur votre serveur Web

Afin de vérifier que notre système est correctement configuré pour PHP, nous pouvons créer un script très basique PHP.

Nous appellerons ce script info.php. Pour qu'Apache trouve le fichier et le serve correctement, il doit être enregistré dans un répertoire très spécifique, appelé "racine Web".

Dans Ubuntu 14.04, ce répertoire est situé à /var/www/html/. Nous pouvons créer le fichier à cet emplacement en tapant:

Sudo nano /var/www/html/info.php

Cela ouvrira un fichier vierge. Nous voulons mettre le texte suivant, qui est valide PHP code, dans le fichier:

<?php
phpinfo();
?>

Lorsque vous avez terminé, enregistrez et fermez le fichier.

Nous pouvons maintenant vérifier si notre serveur Web peut afficher correctement le contenu généré par un script PHP. Pour essayer ceci, il suffit de visiter cette page dans notre navigateur Web. Vous aurez à nouveau besoin de l'adresse IP publique de votre serveur.

L'adresse que vous souhaitez visiter sera:

http://your_server_IP_address/info.php (ou localhost/info.php)

La page à laquelle vous venez devrait ressembler à ceci:

enter image description here

Cette page vous fournit essentiellement des informations sur votre serveur du point de vue de PHP. C'est utile pour le débogage et pour vous assurer que vos paramètres sont appliqués correctement.

Si cela réussit, votre PHP fonctionne comme prévu.

Vous voudrez probablement supprimer ce fichier après ce test car il pourrait en fait fournir des informations sur votre serveur à des utilisateurs non autorisés. Pour ce faire, vous pouvez taper ceci:

Sudo rm /var/www/html/info.php

Vous pouvez toujours recréer cette page si vous devez accéder aux informations ultérieurement.

Pour une explication plus détaillée: https://www.digitalocean.com/community/tutorials/how-to-install-linux-Apache-mysql-php-lamp-stack- sur ubuntu-16-04

2
Severus Tux