Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/07/2022, à 01:24

kholo

[tuto]Installation Apache MariaDB PHP => LAMPP (+ vidéo) - 2022 07

Comme, je le fais chaque fois, commencer par le début : la doc de LAMP
mais j'ai aussi regardé de ce côté là
d'ailleurs, j'ai plus suivi le second, sans doute plus directif...
mais, du coup, j'ai conservé dans la vidéo de mes tests les paquets avec le numéro de version ainsi que le nombre de plugins plus important que la doc.
j'en ai donc fait une vidéo
et une seconde plus propre tel qu'est ce tuto à ce jour
L'installation complète me prend une demi heure...

NB : à faire et refaire des installations en faisant évoluer ce tutoriel, je vois encore plus à quel point il est simple de trop en mettre ou de ne pas assez en mettre car certaines dépendances peuvent s'ajouter seules au détour d'un ajout apt... et rien ne dit qu'une mise à jour future de Ubuntu ne rendra pas ma procédure incomplète... donc, je laisse le maximum d'informations en espérant que cela serve si il devait manquer une dépendance. Il va de soi qu'on cherchera toujours à mettre le minimum de dépendances et d'éviter d'en mettre des inutiles de façon à réduire les angles d'attaques si on ouvre le serveur à internet.

Pour faire complet, j'ai laisser le plus d'infos possible ; tout ce qui est dans les cadres blancs n'est pas à faire mais sert juste d'information

NB a écrit :

IP fixe pour plus tard
Il serait bon de commencer par mettre une IP fixe, mais j'ai décidé de faire simple et ouvert...
ça pourra être fait plus tard...

Choix du dossier
NB : par défaut je reste dans /var/www/html/. Rien n’empêchera plus tard, de remplacer ce dossier par un lien vers un autre endroit ; que ce soit un dossier ou un point de montage vers une autre partition.

Ce que dit la doc a écrit :

la doc fait un tire groupé de l'installation

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

puis

sudo apt install php-curl php-gd php-intl php-json php-mbstring php-xml php-zip

mais je préfère une installation point par point et bien montrer les étapes...
installation d'apache2

sudo apt install -y apache2 apache2-utils

et on peut tout de suite vérifier que Apache2 fonctionne dans Firefox
http://localhost/
ou
http://127.0.0.1/

installation de php
je parlais avant de mettre le minimum, voilà qui doit suffire

sudo apt install php libapache2-mod-php
INUTILE a écrit :

je met la version que j'ai suivi dans la vidéo avec les fichiers versionnés
avec Ubuntu, il y a des méta paquets ou des génériques
suite à rectification de Bruno,
pour la démonstration, je me contenterais du minimum requis
mais on peut mettre tout ou partie de cette ligne

sudo apt install php libapache2-mod-php php-mysql php-common php-cli php-common php-json php-opcache php-readline

pour ajouter à php

sudo apt install php-curl php-gd php-intl php-json php-mbstring php-xml php-zip
OPTION ? a écrit :

NB : je me rend compte que j'ai pu faire fonctionner DokuWiki sans php-mysql, mais on peut éventuellement l'installer

sudo apt install php-mysql

installation de mariadb

sudo apt install mariadb-server mariadb-client

puis, à refaire souvent... donner www-data propriétaire et groupe de tout ce qui se trouve dans /var/www/htlm

sudo chown www-data:www-data /var/www/html/ -R
INUTILE a écrit :

on peut changer la configuration de mariadb avec
NON, je l'ai mis dans la vidéo, mais c'est mieux sans
explications ici

sudo mysql_secure_installation

et mettre des mots de passe celui de root n'est pas obligatoire...

en vérification, je me connecte :
sudo mariadb -u root voir ce post un peu plus loin

DEMONSTRATION a écrit :

comme l'explique Bruno, si je me connecte sans avoir touché à la configuration de mariadb

kholo@SRV-HTML:~$ mariadb -u root
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
kholo@SRV-HTML:~$ mysql -u root
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
kholo@SRV-HTML:~$

... et donc :

sudo mysql

on arrive alors sur le prompt de Mariadb (sql)

kholo@SRV-HTML:~$ sudo mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 38
Server version: 10.3.34-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

et je sort avec

exit ;

ce qui donne ça :

MariaDB [(none)]> exit;
Bye

On va tester que php fonctionne
depuis le dossier html

cd /var/www/html

on se crée une page en php

echo "<?php phpinfo(); ?>" | sudo tee phpinfo.php

et on lui change de propriétaire et groupe

sudo chown www-data:www-data phpinfo.php

elle pourra éventuellement être déplacée avec d'autres pages dans un dossier à part avec un vhost spécifique plus tard

on pourra ajouter un index.html personnalisé, alors on garde ailleurs celui par défaut.

sudo mv index.html apache2_index.html

il pourra justement aller avec le phpinfo


on redémarre apache2

sudo systemctl restart apache2

ensuite, pour vérifier que tout va bien, j'ouvre avec Firefox
http://localhost/
http://localhost/apache2_index.html
http://localhost/phpinfo.php

Dernière modification par kholo (Le 12/07/2022, à 20:25)

Hors ligne

#2 Le 12/07/2022, à 01:29

kholo

Re : [tuto]Installation Apache MariaDB PHP => LAMPP (+ vidéo) - 2022 07

installation de dokuwiki
https://www.dokuwiki.org/install
https://www.dokuwiki.org/install:ubuntu

OPTION GÉNÉRALE : 1 SEUL SITE a écrit :

pas pour être suivi mais pour en garder une trace
allez directement en dessous à "OPTION POUR PLUSIEURS SITES"
juste pour n'avoir qu'un site à la racine : /var/www/dokuwiki
en croisement avec l'autre option on peut mieux comprendre comment fonctionne les vhosts
mais je préfère l'option 2 même pour un seul site

cd /var/www

on télécharge la dernière version de docuwiki

sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

on décompresse sur place

sudo tar xvf dokuwiki-stable.tgz

le dossier porte le numéro de la version alors on simplifie

sudo mv dokuwiki-*/ dokuwiki

on supprime le fichier compressé

sudo rm dokuwiki-stable.tgz

on donne les bons droits au dossier où se trouve docuwiki
sudo chown -R www-data:www-data /var/www/dokuwiki


ajouter dokuwiki aux sites reconnus

cd /etc/apache2/sites-available

on crée un nouveau fichier pour la  déclaration de notre site docuwiki

sudo touch apache2-dokuwiki.conf

on l'édite

sudo nano apache2-dokuwiki.conf

pour y mettre

<VirtualHost 127.0.0.1>
        DocumentRoot /var/www/dokuwiki
 	ServerName localhost
</VirtualHost>

on l'autorise

sudo a2ensite apache2-dokuwiki

puis le fichier config de apache2

sudo nano /etc/apache2/apache2.conf

dans le dossier /var/www/ remplacer

AllowOverride None

par

AllowOverride All

puis on redémarre le service apache2

sudo systemctl reload apache2

vérification dans Firefox
127.0.0.1/install.php

Paramétrer le site puis supprimer le fichier de configuration... ou le déplacer

sudo rm /var/www/dokuwiki/install.php

OPTION POUR PLUSIEURS SITES

on va dans le dossier ou mettre un nouveau site...
pour l'instant on va rester générique et garder html

cd /var/www/html/

on y télécharge la dernière version de docuwiki

sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

on décompresse sur place

sudo tar xvf dokuwiki-stable.tgz

le dossier porte le numéro de la version alors on change pour le reconnaître plus tard

sudo mv dokuwiki-*/ site001

j'ai pris site001 pour cet exemple
on change les droits pour www-data

sudo chown -R www-data:www-data /var/www/html/site001

ajouter site001 aux sites reconnus
en créant un fichier spécifique à ce site

cd /etc/apache2/sites-available
sudo touch site001-dokuwiki.conf

on édite le nouveau fichier pour la  déclaration de notre site docuwiki site001

sudo nano site001-dokuwiki.conf

ce site pourra être appelé depuis LOCAL/site001

<VirtualHost 127.0.0.1/site001>
        DocumentRoot /var/www/html/site001
        ServerName localhost/site001
</VirtualHost>

on l'autorise

sudo a2ensite site001-dokuwiki
pas de raisons de le changer pour le moment a écrit :

faire des essaies sans cette partie pour le moment mais je pourrait peut être y revenir plus tard
et je le met puisque je l'ai fait dans la vidéo mais j'ai refait une installation sans et tout fonctionne bien
modifier le fichier config de apache2

sudo nano /etc/apache2/apache2.conf

à ajouter

<Directory /var/www/html/site001>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

puis on redémarre le service apache2

sudo systemctl reload apache2

on va sur le fichier d'installation du wiki depuis Firefox
127.0.0.1/site001/install.php

Il faudra paramétrer le site, commencer par mettre cette page en français (c'est mieux) => l'option est en haut à droite
puis

  • créer un super utilisateur

  • lui mettre un mot de passe fort de préférence

  • limiter ou non l'accès aux utilisateurs (wiki publique ou privé)

  • et le type de licence par défaut des documents que l'on compte y mettre

on retourne ensuite dans le terminal pour supprimer le fichier de configuration... ou le déplacer

sudo rm /var/www/html/site001/install.php

et on aura accès à notre site depuis sa racine
127.0.0.1/site001/

il faudra ensuite voir les droits de certains dossiers du site pour le sécuriser un peu plus.
un peu de lecture voir "Web Access Security"

Dernière modification par kholo (Le 12/07/2022, à 18:25)

Hors ligne

#3 Le 12/07/2022, à 02:21

krodelabestiole

Re : [tuto]Installation Apache MariaDB PHP => LAMPP (+ vidéo) - 2022 07

ou alors on peut lancer un container dokuwiki en une ligne de commande wink

docker run -d \
  --name=dokuwiki \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Europe/Paris \
  -p 80:80 \
  -v ./config:/config \
  --restart unless-stopped \
  lscr.io/linuxserver/dokuwiki:latest

Hors ligne

#4 Le 12/07/2022, à 07:20

bruno

Re : [tuto]Installation Apache MariaDB PHP => LAMPP (+ vidéo) - 2022 07

Nous avons déjà expliqué pourquoi il ne fallait pas installer les paquets PHP avec leur numéro de version.
Ceci est suffisant (les dépendances suivront) :

sudo apt install php libapache2-mod-php

@krodelabestiole : oui cela vaut le coup d'apprendre à utiliser docker pour déployer rapidement des applications mais je ne conseille pas aux débutants. Surtout que tonb exemple ne va pas fonctionner sur une machine ou lamp est déjà installé wink

Dernière modification par bruno (Le 12/07/2022, à 07:46)

Hors ligne

#5 Le 12/07/2022, à 12:23

kholo

Re : [tuto]Installation Apache MariaDB PHP => LAMPP (+ vidéo) - 2022 07

bruno a écrit :

Nous avons déjà expliqué pourquoi il ne fallait pas installer les paquets PHP avec leur numéro de version.
Ceci est suffisant (les dépendances suivront) :

sudo apt install php libapache2-mod-php

@krodelabestiole : oui cela vaut le coup d'apprendre à utiliser docker pour déployer rapidement des applications mais je ne conseille pas aux débutants. Surtout que tonb exemple ne va pas fonctionner sur une machine ou lamp est déjà installé wink

oui, merci de ton suivi Bruno, c'est corrigé... ainsi que des ajouts et quelques corrections de coquilles...

en parlant de cela, j'ai laissé :

sudo a2enmod php7.4

mais je vois que c'est fait par défaut :

kholo@SRV-HTML:~$ sudo a2enmod php
ERROR: Module php does not exist!
kholo@SRV-HTML:~$ sudo a2enmod php7.4
Considering dependency mpm_prefork for php7.4:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php7.4:
Module php7.4 already enabled

Hors ligne

#6 Le 12/07/2022, à 14:37

bruno

Re : [tuto]Installation Apache MariaDB PHP => LAMPP (+ vidéo) - 2022 07

L'activation du module php est inutile sur une nouvelle installation si on a explicitement installé libapache2-mod-php.

De même, et surtout avec mariadb, cette commande :

sudo mysql_secure_installation

est inutile et risque de provoquer plus d'erreurs de la part d'un débutant qu'autre chose. Et je déconseille fortement d'attribuer un mot de passe à l'utilisateur root de mysql (cf la doc mysql. On accède à l’administration des bases de données (shell mysql) avec juste :

sudo mysql

ou si l'on a quand me mis un mot de passe au compte root de mysql :

mysql -u root

mais pas avec sudo devant.

Hors ligne

#7 Le 12/07/2022, à 14:45

kholo

Re : [tuto]Installation Apache MariaDB PHP => LAMPP (+ vidéo) - 2022 07

bruno a écrit :

L'activation du module php est inutile sur une nouvelle installation si on a explicitement installé libapache2-mod-php.

ok...
pas de méta paquet qui fait la totale alors !?

bruno a écrit :

De même, et surtout avec mariadb, cette commande :

sudo mysql_secure_installation

est inutile et risque de provoquer plus d'erreurs de la part d'un débutant qu'autre chose. Et je déconseille fortement d'attribuer un mot de passe à l'utilisateur root de mysql (cf la doc mysql. On accède à l’administration des bases de données (shell mysql) avec juste :

sudo mysql

d'accord... et, je suppose qu'il faut garder dans un coin

sudo mysql_secure_installation

en cas de perte ou pour le renouvellement du mot de passe de mariadb

bruno a écrit :

ou si l'on a quand me mis un mot de passe au compte root de mysql :

mysql -u root

mais pas avec sudo devant.

ah ! fromage ou dessert alors !

je vais reprendre ces points et améliorer mon Fécomsa
hum... pas évident, quand on manque de connaissances ou de pratique de savoir qui fait quoi...

Hors ligne

#8 Le 12/07/2022, à 14:47

krodelabestiole

Re : [tuto]Installation Apache MariaDB PHP => LAMPP (+ vidéo) - 2022 07

bruno a écrit :

@krodelabestiole : oui cela vaut le coup d'apprendre à utiliser docker pour déployer rapidement des applications mais je ne conseille pas aux débutants. Surtout que tonb exemple ne va pas fonctionner sur une machine ou lamp est déjà installé wink

oui c'était un peu du second degrés, une ligne de commande c'est joli, mais niveau éducatif on est proche de zéro.
ceci dit je pense que ça vaut le coup de mieux documenter docker sur le wiki, j'ai retrouvé un vieux brouillon.
depuis j'ai découvert traefik et je m'en sers allègrement :
https://gitlab.com/ubuntu-fr/code/ufr-d … ompose.yml

dès que j'ai 5 min je m'occupe de ça.

Hors ligne

#9 Le 12/07/2022, à 14:53

bruno

Re : [tuto]Installation Apache MariaDB PHP => LAMPP (+ vidéo) - 2022 07

en cas de perte ou pour le renouvellement du mot de passe de mariadb

Relis la doc mysql. Il n'y a justement pas besoin de mot de passe administrateur (root) avec l'identification par compte UNIX (auth_socket aveec MySQL ou unix_socket avec Mariadb). C'est extrêmement pratique pour les tâches de maintenance et cela augmente la sécurité.

Hors ligne

#10 Le 12/07/2022, à 15:16

krodelabestiole

Re : [tuto]Installation Apache MariaDB PHP => LAMPP (+ vidéo) - 2022 07

Hors ligne

#11 Le 12/07/2022, à 15:22

krodelabestiole

Re : [tuto]Installation Apache MariaDB PHP => LAMPP (+ vidéo) - 2022 07

pour m'auto-quote :

bibi a écrit :

non. pas mot de passe pour root depuis ubuntu 16.04 pour MariaDB et 18.04 pour MySQL.
c'est le plugin auth_socket / unix_socket qui gère l'authentification, en se basant sur l'utilisateur unix qui execute le client MySQL.

un peu de lecture :
https://doc.ubuntu-fr.org/mysql#authentification
https://doc.ubuntu-fr.org/mariadb#auth_ … us_mariadb

MariaDB utilise unix_socket depuis Xenial.
Logiquement mysql_secure_installation ne permet donc pas de définir un mot de passe pour root ni sur Bionic, ni sur Xenial.
D'après les questions posées lors de son execution, mysql_secure_installation permettrait en plus de supprimer une base de donnée test et un utilisateur anonyme, et d'empêcher la connexion à distance pour root.
Hors il n'existe ni bbd test ni utilisateur anonyme lors de l'install de MariaDB, ou de MySLQ par défaut, et on ne peut déjà pas se connecter à distance avec root...
Donc je me pose sérieusement la question de l'intérêt de ce script. Je ne sais pas si il a été utile un jour mais il ne sert absolument à rien sur les dernières versions d'ubuntu.

Pour se connecter avec l'utilisateur root que ce soit avec MariaDB ou MySQL, maintenant on tape simplement :

sudo mysql

https://forum.ubuntu-fr.org/viewtopic.php?id=2032106

Hors ligne

#12 Le 12/07/2022, à 16:25

jfcm

Re : [tuto]Installation Apache MariaDB PHP => LAMPP (+ vidéo) - 2022 07

@kholo
Waou!!!
Je vais tenter de digérer ce tuto !!!

Pour ce qui me concerne par ailleurs :

1. j'ai installé un Synology pour voir, et tenté de mettre mon Qnap en accès (sous Ubuntu) mais j'ai des problèmes wifi/câbles/PCL (vu la config de la maison) qui me rendent les choses assez pénibles. Nous sommes en période estivale : j'aurai un peu d'aide hard locale d'ici la fin du mois, puis suis en déplacement jusqu'à mi-aout. J'ai un support débit en cours chez orange et nordnet. Je repasse en ADSL quand je veux que les pages web s'affichent en moins de 30 sec. Je suis véritablement le proto du michu-perdu dans sa cambrousse numérique. (proximité Nord de Montpellier).

2. jai discuté avec Orange et je devrais passer au niveau "pro" qu'ils ne m'avaient, en fait, pas attribué : le prix reste quasi le même (l'adresse IP est inclue) et le traffic théoriquement plus élevé et plus stable. Mais avec une nouvelle Livebox Pro que je n'aurai que dans "quelques jours".

3. Avec Bouygues un dialogue intéressant est peut-être engagé, qu'il faudrait compléter/soutenir côté Libre, c'est celui de ce que j'appelle le "neb" (ou VGN; virtual glocal network) c'est à dire le nébulaire à sécuriser des CPU sous maîtrise de l'utilisateur (utilisation) et autorisés à accéder ou à s'interconnecter entre eux (les portables, PCportables, VPS, NAS, superviseur, imprimantes + lac des messages reçus/envoyés + wiki de présentation + intégration d'un système mail+ comme bluemind, + etc.) : les constituants de l'outil de survie/travail d'une personne dépendante de ses solutions numériques.

4. Question : j'ai toujours entendu qu'il ne valait mieux pas installer LAMP en production ?

MERCI à vous tous !

Dernière modification par jfcm (Le 12/07/2022, à 16:26)


jfcm

Hors ligne