Accéder à phpmyadmin après avoir installé lamp
Une fois lamp installé, quoi de plus normal, qu’essayer d’accéder à phpmyadmin pour éditer la base de données d’un site, quelle ne fut pas ma surprise quand je me suis rendu compte que par défaut, on ne peut pas y accéder sous linux. Le problème vient surement d’apache qui va chercher par défaut dans « /var/www/phpmyadmin », or sachant que l’installation s’est faite dans « /usr/share/phpmyadmin », il suffit de créer un lien symbolique, pour régler ce problème.
sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin
Attention depuis ubuntu 14.04 l’accès n’est plus /var/www mais : /var/www/html, il faudra donc crée le lien ainsi:
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
Ensuite, vous n’aurez plus aucun soucis !
Personnaliser sa page d’accueil
Par défaut sous Windows, il est possible de visualiser une arborescence de ces projets, or sous linux ce n’est pas le cas, on va régler cela simplement, pour ce faire on va éditer le fichier index.php présent par défaut (celui qui nous affiche ce magnifique « it works ». On va l’éditer y ajouter le code ci-dessous qui va permettre en php de lister les dossiers présents, on évite d’afficher le lien vers le dossier courant et précédent (à savoir « . » et « .. »).
<!DOCTYPE HTML> <html> <head> <link rel="stylesheet" href="main.css" /> <title>Index</title> </head> <body> <div id="index" class="clearfix"> <?php $dir = "./"; $exclude = array(".","..","main.css","index.php"); if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if (!in_array($file,$exclude)) { if($file == "phpmyadmin") echo "<a href='$file' class='important'>$file</a>"; else echo "<a href='$file'>$file</a>"; } } closedir($dh); } } ?> </div> </body> </html>
Maintenant, qu’on a listé les dossiers, on va appliquer un peu de css pour rendre cela plus lisible.
html, body { margin: 0; padding: 0; } body { background: #ECECEC; } #index { width: 600px; margin: auto; padding: 15px; height:60%; margin-top:15%; } #index a { margin: 5px; padding: 5px; width: 125px; min-height: 50px; line-height: 50px; background: #1785B8; color: white; text-align: center; text-decoration: none; float: left; } #index a.important {background: #DC2525; } #index a.important:hover { background: red; } #index a:hover { background: #2595C5; } .clearfix:before,.clearfix:after { content: "."; display: block; height: 0; overflow: hidden; } .clearfix:after { clear: both; } .clearfix { zoom: 1; }
Et voila le résultat final :
Configurer lamp pour envoyer des mails en local.
Si, vous voulez pouvoir tester la fonction mail de php en local, il vous faut installer un package, pour ma part, c’est sur le package ssmtp que je me suis rabattue. Le package va utiliser n’importe quel serveur smtp pour envoyer des mails. Pour l’installer il suffit de taper cette commande :
sudo apt-get install ssmtp
Une fois installé, il ne vous faudra plus que modifier le fichier ssmtp.conf présent dans le dossier /etc/ssmtp, il suffit de décommenter la ligne mailhub et d’ajouter les lignes suivantes (qui correspondent à la configuration pour un serveur smtp gmail).
mailhub=smtp.gmail.com:587 UseSTARTTLS=YES AuthUser=myadress@gmail.com AuthPass=mypassword
Vous pourrez trouver une liste de tout les serveurs smtp principaux sur le site de commentcamarche.net.
Maintenant, il faut modifier le fichier php.ini, sous linux il se trouve dans le dossier /etc/php5/apache2/, ensuite il faut configurer le paramètre sendmail_path et lui mettre ceci :
sendmail_path = /usr/sbin/sendmail -t
Enfin, on relance apache et c’est bon on est prêt à envoyer des mails en local !
sudo service apache2 restart