Tutos geek

Tutoriaux linux, debian, android et autres

Catchall avec Postfix

13/08/2017 - Aucun commentaire

Pour recevoir tous les emails qu'on enverrai sur votre nom de domaine il faut définir une adresse "catchall".
Je vais montrer ici un exemple avec un utilisateur "legit" qui aura sa propre boite email et un autre qui recevra tout le reste.

Créer 2 nouveaux utilisateurs.
adduser catchall
adduser autre_utilisateur

Créez ou modifiez le fichier postfix virtual.
vi /etc/postfix/virtual
@domain.ch catchall
autre_utilisateur@domain.ch autre_utilisateur

Poussez les données dans postfix.
postmap /etc/postfix/virtual

Vérifiez que vous avez la ligne suivante dans /etc/postfix/main.cf
vi /etc/postfix/main.cf
virtual_alias_maps = hash:/etc/postfix/virtual

Si vous avez du l'ajouter, redémarrez le service
service postfix reload


Sources
https://www.cyberciti.biz/faq/howto-setup-postfix-catch-all-email-accounts/
https://tecadmin.net/setup-catch-all-email-account-in-postfix/


Versions
Debian : 6.0.10 (squeeze)

Connexion VPN entre un client Windows et un serveur Linux

10/08/2016 - Aucun commentaire

Il va falloir installer OpenVPN sur votre serveur Linux et générer les certificats puis installer le client OpenVPN sur votre machine Windows.

Sur Linux (serveur)

Mon debian se fait vieux et les nouvelles versions des programmes ne sont plus forcément supportées.
J'ai trouvé un version d'OpenVPN sur le repository suivant

Repository

vi /etc/apt/sources.list
deb http://archive.debian.org/debian squeeze main
deb http://archive.debian.org/debian squeeze-lts main

vi /etc/apt/apt.conf
Acquire::Check-Valid-Until false;

apt-get upgrade
apt-get update

Installation d'OpenVPN

apt-get install openvpn
apt-get install network-manager-openvpn-gnome

Génération des certificats d'OpenVPN

mkdir /etc/openvpn/easy-rsa/
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa
#passer en root
su -
cd /etc/openvpn/easy-rsa
. ./vars
./clean-all
./build-ca
./build-key-server server
./build-key client1
./build-dh
exit

cp /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn
cp /etc/openvpn/easy-rsa/keys/dh1024.pem /etc/openvpn
cp /etc/openvpn/easy-rsa/keys/server.crt /etc/openvpn
cp /etc/openvpn/easy-rsa/keys/server.key /etc/openvpn

Configuration

vi /etc/openvpn/tun0.conf
Fichier complet

Paramètres importants :
dev tap
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
push "redirect-gateway def1 bypass-dhcp" # pour rerouter tout le trafic internet
push "dhcp-option DNS 10.8.0.1"

Lancer le VPN

openvpn --config /etc/openvpn/tun0.conf --verb 6

Rerouter tout le trafic internet

Pour l'instant il ne sera possible que de communiquer entre le client et le serveur.
Pour rerouter tout le trafic internet il faut le spécifier via une règle IPTable.
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
10.8.0.0 est le sous-réseau créé précédemment et eth0 le nom de la carte réseau de votre serveur par lequel passe le trafic internet.

Si vous voulez voir les règles nat existantes :
iptables -t nat -L -n -v

Sur Windows (client)

Copier les fichiers ca.crt, client1.crt et client1.key sur la machine locale dans le répertoire [OpenVPN]\config\
Modifier le nom de l'interface réseau "Local Area Connection X" en "tap0" dans "Control Panel\Network and Internet\Network Connections"
Modifier l'interface réseau en désactivant l'IPv6 (sinon ça va saturer de warning, notre version d'OpenVPN ne gérant pas encore l'IPv6)

Configuration

Créer un fichier .ovpn dans [OpenVPN]\config\
Fichier complet

Paramètres importants :
client
dev tap
dev-node "tap0"
ca ca.crt
cert client1.crt
key client1.key
Lancer le client OpenVPN et se connecter


Source : OpenVPN


Version
Windows 7 x64 - SP1
Debian : 6.0.10 (squeeze)

Faire une sauvegarde de toute la base de donnée MySQL

01/03/2015 - Aucun commentaire

mysqldump -u root -p --all-databases --add-drop-table --add-drop-database > mysql_full_dump_`date +%F`.sql
Il est possible de n'exporter qu'une seule table ou de spécifier tout un tas d'options utile.


Source : http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html


Debian version : 6.0.10
MySQL version : 14.14 Distrib 5.1.73, for debian-linux-gnu (x86_64) using readline 6.1

Créer un fichier avec la date du jour

27/02/2015 - 3 commentaires

Si vous souhaitez créer un fichier dont le nom contient la date du jour :
touch mon_fichier_`date +%F`.txt
Notez l'utilisation des deux "apostrophes inversée" que vous pouvez écrire avec ALT+96.
Résultat : mon_fichier_2015-02-27.txt

Pour avoir l'heure en plus :
touch mon_fichier_`date +%F_%T`.txt
Résultat : mon_fichier_2015-02-27_16:00:00.txt


Source : http://www.linuxquestions.org/questions/linux-newbie-8/howto-create-a-file-based-on-date-in-bash-179045/


Debian version : 6.0.10

TeamSpeak 3

25/02/2015 - 11 commentaires

Installation

Préparer la base de donnée MySQL
mysql -u root -p
CREATE USER ts3_user IDENTIFIED BY 'UN_BON_PASSWORD';
CREATE DATABASE teamspeak3;
GRANT ALL on teamspeak3.* to ts3_user;
FLUSH PRIVILEGES;

Créer un utilisateur dédié
su -
adduser teamspeak
su teamspeak
cd /home/teamspeak

Télécharger et deployer
cd /home/teamspeak
wget http://dl.4players.de/ts/releases/3.0.10.3/teamspeak3-server_linux-amd64-3.0.10.3.tar.gz
tar -xvzf teamspeak3-server_linux-amd64-3.0.10.3.tar.gz
mv teamspeak3-server_linux-amd64 teamspeak3
cd teamspeak3

Configurer
vi ts3db_mysql.ini
[config]
host=localhost
port=3308
username=ts3_user
password=UN_BON_PASSWORD
database=teamspeak3
socket=

vi ts3server.ini
machine_id=176.31.190.70
default_voice_port=9987
voice_ip=0.0.0.0
liscensepath=
filetransfer_port=30033
filetransfer_ip=0.0.0.0
query_port=10021
query_ip=0.0.0.0
dbplugin=ts3db_mysql
dbpluginparameter=ts3db_mysql.ini
dbsqlpath=sql/
dbsqlcreatepath=create_mysql/
logpath=logs
logquerycommands=1

Rendre debian squeeze (6.x) compatible avec libmysqlclient15off (source)
wget http://archive.debian.org/debian/pool/main/m/mysql-dfsg-5.0/libmysqlclient15off_5.0.51a-24+lenny5_amd64.deb
mv libmysqlclient15off_5.0.51a-24+lenny5_amd64.deb libmysqlclient15off.deb
dpkg --install libmysqlclient15off.deb

1er démarrage
./ts3server_minimal_runscript.sh inifile=ts3server.ini

Notez bien le token et le password qui vous est donné dans la console.
Ce code vous sera demandé la 1ère fois que vous vous connecterez à votre serveur via un client TeamSpeak.

Si jamais vous le perdez vous pourrez le retrouver dans la base de donnée.
mysql -u ts3_user -p
select value from server_properties where ident='virtualserver_autogenerated_privilegekey';

Script de démarrage
vi /etc/init.d/teamspeak3
#!/bin/bash

TS_DIR="/home/teamspeak/teamspeak3"
TS_USER="teamspeak"
RUN_SCRIPT="ts3server_startscript.sh"
INI_FILE="ts3server.ini"

start_ts() {
		echo "Lancement du server TeamSpeak"
		sudo -u $TS_USER $TS_DIR/$RUN_SCRIPT start inifile=$TS_DIR/$INI_FILE > /dev/null &
}

stop_ts() {
		echo "Arrêt du serveur TeamSpeak"
		sudo -u $TS_USER $TS_DIR/$RUN_SCRIPT stop
}

case "$1" in
	start)
		start_ts
	;;
	stop)
		stop_ts
	;;
	restart)
		stop_ts
		sleep 2
		start_ts
	;;
	*)
		echo "Usage du script : $0 {start|stop|restart}"
	;;
esac

Lancement automatique au démarrage de la machine
update-rc.d teamspeak3 start 99 2 .

Administration

Vous pouvez administrer votre teamspeak depuis la console Debian (voir la section Login telnet) mais pour plus de confort il existe une interface web qui répondra à la majorité de vos attentes.

cd /var/www
wget http://www.team-bielefeld.de/teamspeak_3/downloads/webinterface/ts3_webinterface_psychokiller_3.3.rar
unrar x ts3_webinterface_psychokiller_3.3.rar
mv ts3wi ts3webadmin
chown -R www-data:www-data ts3webadmin/

Licence

La version sans licence, gratuite, vous permet de créer 1 serveur et d'héberger 32 personnes au maximum.
Vous pouvez acheter différentes licences pour repousser ces limitations ou alors demander une licence NON-PROFIT.
Elle est accordée aux gens ne faisant pas d'argent avec leur site web et accueillant une communauté importante (plus de 32 personnes) régulièrement.
Pour être éligible il faut
  • Un nom de domaine
  • Un site web sur ce domaine montrant de l'activité communautaire (pour info mon simple forum phpbb hébergeant une soixantaine de personne m'a permi d'obtenir la licence)
  • Une adresse email associée à ce nom de domaine
  • Ne faire aucun profit d'aucune sorte. Même les boutons de donations vous excluent de l'offre.

Si votre demande est acceptée vous recevez la licence par email dans un fichier licensekey.dat.

Uploader ce fichier sur votre serveur puis :
sudo mv ./licensekey.dat /home/teamspeak/teamspeak3/
vi ts3server.ini
liscensepath=./licensekey.dat

/etc/init.d/teamspeak3 restart

Login telnet

Si vous voulez envoyer des commandes à teamspeak sans passer par l'interface web loggez vous avec telnet sur l'adresse ip de la machine et sur le port "query_port" défini dans ts3server.ini
telnet 176.31.190.70 10021
login serveradmin [PSW]


Sources :
Installation : http://blog.cp2i.com/post/2010/05/08/Installer-un-serveur-TeamSpeak-3-sous-Debian-Linux
Configuration : https://craym.eu/tutoriels/voip/installer_serveur_teamspeak3.html


Debian version : 6.0.10
Teamspeak version : 3.0.10.3 on Linux