Sous Windows, pour savoir quel processus utilise un port, lancez la commande Get-Process
dans Powershell :
Exemple pour le port 5433
:
Get-Process -Id (Get-NetTCPConnection -LocalPort 5433).OwningProcess
Publié le :
Sous Windows, pour savoir quel processus utilise un port, lancez la commande Get-Process
dans Powershell :
Exemple pour le port 5433
:
Get-Process -Id (Get-NetTCPConnection -LocalPort 5433).OwningProcess
Publié le :
Sous Linux, l’utilitaire ncdu (pour NCurses Disk Usage) permet de trouver quel fichier ou répertoire vous bouffe tout votre espace disque.
Il est disponible sur les dépôts officiels Debian et Ubuntu et donc facile à installer.
sudo apt install ncdu
ncdu
Note : ncdu a été réécrit dans une v2 encore récente. Selon la version des dépôts, c’est peut-être la v1 qui sera installée.
Publié le :
Lorsque docker crée des réseaux virtuels entre ses conteneurs, il utilise des plages IP.
En général pas de problème, il utilise des plages non couramment utilisées.
Par contre, si ses plages habituelles ne sont pas disponibles (ou pour d'autres raisons ?),
il est possible qu'il en utilise une autre, par exemple 192.168.x.x
.
Cela peut alors être problématique, surtout si vous utilisez un VPN ou des ressources réseaux en parallèle,
car cette plage est classiquement utilisée.
On peut alors avoir un conflit d'adressage et les ressources réseaux ou du VPN peuvent ne plus être accessibles.
Pour corriger ça, une première approche consiste à killer le réseau (créé par docker) qui pose problème puis à le recréer.
Pour cela :
# Listage des réseaux créés par docker
docker network list
# Identifiez le réseau correspondant au conteneur qui a causé le problème (copiez son ID)
# Pour vérifier la plage IP qu'il utilise :
docker network inspect <ID>
# Suppression du réseau qui pose problème
docker network rm <ID>
Si cela ne suffit pas, essayez la suite de la procédure proposée ici.
Modifié le :
Publié le :
Pendant le lancement du système, des services sont démarrés.
L'ordre de lancement a une importance, car beaucoup de services ont besoin d'autres services pour fonctionner.
Sous linux il y a donc la notion de runlevel (cf. wikipédia). Les runlevels (niveau d'exécution) vont de 0 à 6 et se font un à un dans l'ordre croissant.
Il arrive qu'une erreur se produise lors du lancement d'un service à un certain runlevel, bloquant ainsi le démarrage.
Il est possible de forcer le passage au niveau suivant, même si tout n'est pas encore terminé.
Pour cela appuyez sur les touches suivantes durant l'initialisation : CTRL
+ ALT
+ F<NIVEAU>
Avec <NIVEAU>
le niveau de runlevel vers lesquels passer (ex: CTRL
+ ALT
+ F4
pour passer au niveau 4).
Modifié le :
Publié le :
Pour supprimer tous les conteneurs docker :
docker rm $(docker ps -a -q)
Pour supprimer toutes les images docker :
docker rmi $(docker images -q)
Pour supprimer tous les volumes docker :
docker volume prune
Modifié le :
Publié le :
Sous Linux, vous pouvez utiliser la commande suivante pour savoir quel processus utilise un port :
# Pour le port 80
netstat -tlnp | grep 80
Cela retournera par exemple :
tcp6 0 0 :::80 :::* LISTEN 32198/apache2
L'ID du processus étant ici 32198
.
Remarque :
Pour voir tous les processus, il sera peut-être nécessaire de lancer la commande en tant que root
(ou avec sudo
).
Modifié le :
Publié le :
Si vous voulez accéder à votre application via un contexte spécifique, il faut ajouter cette ligne dans votre virtual host apache :
Alias /mon-contexte /chemin/vers/mon_appli/web
Si votre virtual host répond au nom de domaine www.mon-site.com
par exemple,
votre site sera maintenant accessible via l'URL www.mon-site.com/mon-contexte
.
Modifié le :
Publié le :
Par défaut, les dépôts de Debian 8 propose d'installer PHP 5.6. Si vous voulez la version 7, procédez ainsi.
apt
, en tant que super administrateur :echo 'deb http://packages.dotdeb.org jessie all' > /etc/apt/sources.list.d/dotdeb.list
wget -O- https://www.dotdeb.org/dotdeb.gpg | apt-key add -
apt update
gd
, mcrypt
, php-pear
, intl
:apt-get -y install php7.0 libapache2-mod-php7.0 php-pear php7.0-gd php7.0-mcrypt php7.0-intl
Globalement, les paquets portent le même nom que ceux pour PHP 5.6.
Modifié le :
Publié le :
Pour installer la version de PHP disponible par défaut sur le dépôt (PHP 5.6 pour Debian 8), procédez comme suit. Pour installer PHP 7, suivez cet article à la place.
sudo apt-get install libapache2-mod-php5
gd
, mcrypt
, php-pear
, intl
:sudo apt-get install php5-gd php5-mcrypt php-pear php5-intl
Pour curl
, il s'agit du paquet php5-curl
.
/etc/php5/apache2/php.ini
.
À la fin de la section [Miscellaneaous]
, ajoutez la ligne suivante pour spécifier la locale à utiliser :date.timezone = "Europe/Paris"
sudo service apache2 restart
index.html
de votre site (ex : /var/www/mon-site/index.html) et
créez le fichier index.php
à la place :<?php
phpinfo();
?>
Si vous avez besoin de Composer, installez-le via ces commandes :
sudo apt-get install curl
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
# Vérification
composer --version
Modifié le :
Publié le :
Remarque :
Si vous préférez MySQL, vous pouvez suivre ce tutoriel à la place.
Il vous faudra peut-être également ajouter la ligne suivante au fichier /etc/apache2/apache2.conf
puis redémarrer Apache :
Include /etc/phpmyadmin/apache.conf
sudo apt-get install postgresql postgresql-client postgresql-doc
ls /etc/postgresql/
sudo pg_dropcluster --stop 9.4 main
sudo pg_createcluster --start -e UTF-8 9.4 main
Par défaut, PostgreSQL n'est pas accessible à distance (ex: avec votre IDE sur votre poste de dev).
Pour l'autoriser, modifiez le fichier le fichier de configuration /etc/postgresql/<version>/main/pg_hba.conf
,
en remplaçant la ligne suivante par celle du dessous :
#local all all peer
local all all trust
Redémarrez le service postgresql
:
sudo /etc/init.d/postgresql reload
Quand on utilise MySQL, on le couple souvent avec PHPMyAdmin, pour pouvoir l'administrer via une interface web. Côté PostgreSQL, il n'y a pas d'outil aussi abouti.
Adminer ne s'en tire tout de même pas si mal. D'ailleurs, il permet aussi de se connecter à plein d'autres SGBD, dont MySQL.
Pour l'installer, suivez les commandes suivantes :
sudo mkdir /var/www/adminer
sudo cd /var/www/adminer
sudo wget https://www.adminer.org/latest.php
sudo mv latest.php index.php
sudo chown -R phpuser:phpuser .
Ensuite si vous utilisez les virtual host pour votre site, ajoutez-en un pour adminer.
Pour cela créez par exemple le fichier /etc/sites-available/adminer.conf
:
<VirtualHost *:80>
ServerName db.adminer.dev
ServerAdmin webmaster@localhost
DocumentRoot /var/www/adminer
ErrorLog ${APACHE_LOG_DIR}/adminer.error.log
CustomLog ${APACHE_LOG_DIR}/adminer.access.log combined
</VirtualHost>
Remarques :
db.adminer.dev
.hosts
de votre poste de
dev pour pouvoir l'utiliser.Activez maintenant ce virtual host et redémarrez Apache :
sudo a2ensite adminer
sudo service apache2 reload
Par défaut, la base de données postgres
a été créée. Son propriétaire s'appelle aussi postgres
.
Un nouvel utilisateur système postgres
a lui aussi été créé.
sudo su - postgres
createuser --interactive mypguser
Avec les options suivantes :
Non
Oui
Non
Modifiez son mot de passe :
psql
> ALTER USER mypguser WITH PASSWORD 'new_password';
createdb -O mypguser mypgdatabase
psql mypgdatabase
> ALTER SCHEMA public OWNER TO mypguser;
sudo /etc/init.d/postgresql reload
Connectez-vous à la base avec le nouvel utilisateur :
psql -d mypgdatabase -U mypguser
Si vous n'avez pas d'erreur, alors c'est prêt (\q
pour quitter la console postgreSQL).