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 :
sudo apt-get install apache2 apache2-doc mysql-server php7.4 php7.4-gd libapache2-mod-php7.4 php7.4-mysql php7.4-xml
L'installation ne demande plus le mot de passe principal de la base MySQL. Il va falloir suivre une procédure particulière (voir plus loin).
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.
Editer le fichier de configuration
sudo xed /etc/apache2/sites-available/000-default.conf
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.
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/php/7.4/apache2/php.ini
sudo xed /etc/php/7.4/apache2/php.ini
Chercher l'option display_errors et mettez-là à “on”.
display_errors = On
La fonction PHP date() pose parfois problème : PHP exige désormais que le TimeZone soit défini.
Pour ce faire :
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
Ici aussi il faut relancer le server web.
/etc/init.d/apache2 restart
Ouvrir un terminal et taper :
sudo a2enmod rewrite
(Ouvrez un fichier avec phpinfo() : si le mod_rewrite est activé, il sera mentionné.)
Si vous ne l'avez pas fait lors de l'étape de changement de répertoire : ouvrir le fichier de configuration
sudo xed /etc/apache2/sites-available/000-default.conf
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>
Pour vérifier si le module mod_rewrite d'Apache est activé, il vous suffit de suivre les points suivants :
<html><head><title>Test</title></head><body>OK !</body></html>
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
Ce code pose désormais problème : <? echo $_SERVER['REQUEST_URI'] ?>
Il a fallu le remplacer par <?php echo $_SERVER['REQUEST_URI'] ?>
sudo mysql_secure_installation
!!! Attention à la longueur du password ! 8 minimum par défaut !!!
Répondre comme suit :
Validate Password Plugin : y Level : 0 (LOW) (length min = 8) New Password for root : taper votre mot de passe Re-enter new password : retaper votre mot de passe Remove anonymous users : y Disallow root login remotely : n Remove test database : n Reload privileges tables : y
S'il y a encore un souci avec le mot de passe :
sudo mysql -u root -p
Taper ce qui suit pour modifier le mot de passe
mysql> FLUSH PRIVILEGES; mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'votre_mot_de_passe';
Si la modification du mot de passe est refusée, vérifier les critères de validation :
mysql> SHOW VARIABLES LIKE 'validate_password%';
Au besoin, modifier ces critères
mysql> SET GLOBAL validate_password.length = longueur minimale souhaitée; mysql> SET GLOBAL validate_password.number_count = 0; mysql> SET GLOBAL validate_password.policy=LOW;
Et remodifier le mot de masse
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'votre_mot_de_passe';
Nous n'installons plus PHPMyAdmin. AdMiner suffit pour ce qu'on a besoin de faire. Peut-être est-ce votre cas..
Adminer, (ne pas prendre celui des dépôts, périmés), est 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