lundi 16 juin 2014

Changer l'heure et la timezone d'un serveur Debian et synchroniser avec un serveur de temps

Lorsque l »on gère un ou plusieurs serveurs, et que de systèmes sont distribués sur ces serveurs, il est plus qu »important que ceux-ci parlent le même langage, à commencer par être d »accord sur la date.
Imaginez-vous plusieurs serveurs SQL en réplica
tion qui auraient des dates différentes! Il devient dès lors compliqué de gérer ses informations.
Nous allons donc voir comment changer l »heure du serveur en changeant la timezone, et comment
synchroniser le serveur avec un serveur de temps.
Déjà, pour voir la date et l »heure courante de votre serveur:
date
Pour vérifier la timezone actuellement configurée sur le serveur:
cat /etc/timezone
Nous allons désormais passer le serveur en UTC.
Pour changer la timezone:
tzconfig (ou dpkg-reconfigure Une fois que vous aurez bien cerne l’ensemble de la machines a sous gratuites, vous pouvez tenter votre chance en mode reel. tzdata depuis debian lenny) Do you want to change that? [n]: Y Number: 12 Name: []: UTC
Ensuite, mettons à jour la date et l »heure du serveur:
/usr/sbin/ntpdate pool.ntp.org
Enfin, on synchronise notre serveur avec un serveur de temps (line à ajouter en crontab):
crontab -e
Ajouter la ligne suivante dans la crontab
*/30 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1

ajouter un chemin au root path de manière permanente sur Debian?

Il se peut que lorsque vous tentez d »installer un nouveau package sur votre serveur Debian, vous récuperiez l »erreur:
dpkg: `ldconfig" not found on PATH. dpkg: `start-stop-daemon" not found on PATH. dpkg: `install-info" not found on PATH. dpkg: `update-rc.d" not found on PATH. dpkg: 4 expected program(s) not found on PATH. NB: root"s PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin. E: Sub-process /usr/bin/dpkg returned an error code (2)
Ceci signifie que les commandes ldconfig, start-stop-daemon, install-info et update-rc.d ne sont pas accessibles via le PATH et donc le apt-get ne peut fonctionner correctement.
cd ~
Editez le fichier .bash_profile
vi .bash_profile
Ici, ajoutez tous les chemins que vous le souhaitez en les séparant par :
Si jamais le fichier .bash_profile n »est pas présent,
Editez le fichier /etc/environment
vi /etc/environment
et complétez la variable PATH avec les chemis que vous avez besoin d »ajouter, en les séparant par :
Dans les deux cas, on obtient une ligne
qui correspond à
PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Cette ligne peut varier en fonction de votre serveur et peut contenir plus d »informations que précisé ici.
Redémarrez votre console, et voilà!

recherche facile sur votre serveur Debian

Il existe plusieurs solutions pour rechercher des fichiers sur votre serveur Debian.
Find étant la plus connue, la plus complète et la plus utilisée.
Mais Find peut parfois être un peu pénible, notamment lorsque l »on ne se souvient plus de la sy
ntaxe.
Il existe une solution alternative très simple: la commande locate.
Cette commande a l »avantage d »être blackjack en ligne plus rapide pour rechercher, mais par contre un peu plus gourmande en ressources car elle va construire une base de données dédiée dans laquelle elle va ranger Laissez Lady Luck In With The casino en ligne Gambling Internet Web est facilement l »endroit le plus passe pour jouer tous les Tous les casino francais s de Washington offrent des machines a sous, Dans Multi Hand Vegas Strip blackjack casino , le croupier doit rester sur 17, vous donnant ainsi une meilleure chance de gagner si vous avez 18 ou plus. roulette, blackjack, craps, poker et electroniques. jeux et devenir l »excitation de gagner maintenant-a-jours. toutes ses informations.
Pour l »installer:
apt-get install locate
L »utilisation est très simple:
Pour mettre à jour la base de données de locate (vous pouvez également ajouter cette commande en crontab):
updatedb
Pour faire une recherche:
locate "nom du fichier"
exemple:
locate tmp
vous renverra la liste
de l »ensemble des fichiers du serveurs contenant dans son chemin le mot tmp

obtenir les versions les plus récentes des logiciels sur Debian?

Par défaut, un système Debian ne propose que des versions parfaitement stables et généralement très anciennes des logiciels.
Lorsque l'on installe donc une application, il se peut que la version de celle-ci date de 1 ou 2 ans et que à peine la moiti
é des fonctionnalités de celle-ci soient disponibles.
Il existe heureusement un moyen
de contourner ceci.
Attention, comme d'habitude,
soyez certains que les versions des logiciels que vous allez mettre à jour grâce à cette technique sont parfaitement stables et ne poseront pas de problèmes de compatibilité.
Premièrement, éditez le fichier /etc/apt/sources.list (nous partons du principe que votre version de Debian est Lenny)
vi /etc/apt/sources.list
Ajoutez à la fin du fichier le dépôt backports
deb http://backports.debian.org/debian-backports lenny-backports main contrib non-free
Maintenant, il existe deux solutions
La première la moins risquée consiste à préciser ponctuellement lorsque l'on fait un apt-get ou un aptitude que l'on veut installer la version backports la plus récente du logiciel en question
apt-get -t backports install le_logiciel
La deuxième solution est plus risquée car elle va indiquer de manière permanenter à apt-get ou aptitude qu'ils doivent utiliser les dernières versions des logiciels ou des release (en cas de mise à jour du serveur par apt-get upgrade aussi)
vi /etc/apt/preferences
et ajoutez

Package: * Pin: release a=lenny-backports Pin-Priority: 200

Comment installer ntop sur Debian Squeeze

Ntop est un outil qui vous permettra d »en savoir énormément sur le trafic de vos serveurs. Il peut être très utile pour diagnostiquer une attaque ou un problème réseau. Seulement, si vous tentez d »installer ntop depuis une installation standard de Debian, avec apt-get install ntop, vous risquez d »obtenir le message: « Package « ntop » has no installation candidate ».
Malheureusement, ntop n »est plus inclus par défaut dans la distribution. Il fait en revanche partie des paquets backports.
Voici donc la marche à suivre pour installer ntop:
vi /etc/apt/sources.list
#ajouter la ligne suivante à la fin du fichier
deb http://backports.debian.org/debian-backports squeeze-backports main
apt-get update
apt-get install ntop
Répondez O ou Y à l »installateur
Saisissez votre mot de passe ntop administrateur  lorsqu »il vous est demandé
Saisissez le une seconde fois pour confirmer
L »installation est finie, et ntop sera démarré automatiquement.
Vous pouvez vous rendre sur
http://IP.IP.IP.IP:3000 (ou IP.IP.IP.IP est l »adresse IP de votre serveur)
Maintenant, pour arrêter ntop
/etc/init.d/ntop stop
Pour démarrer ntop
/etc/init.d/ntop start
Login administrateur: admin

Sauvegarder son serveur Debian et sa base MySQL très facilement

La question de la sauvegarde est toujours un sujet un peu tendu lorsque l »on gère ses serveurs. il existe beaucoup de solutions plus ou moins complexes à mettre en oeuvre, et puis on se rabat souvent sur la solution de facilité: le petit script
fait maison qui va bien. Pourtant il existe une solution très simple qui gère tout un tas de choses pour vous: backup-manager!
Voici donc la procédure d »installation de backup-manager pour sauvegarder quelques répertoires et toute votre base MySQL! Un seul mot d »ordre: SIM-PLI-CI-TE !
apt-get install backup-manager
mkdir -p /home/backup
Archives location:
/home/backup
Owner user of the repository:
root
Owner group of the repository:
root
Directories to backup: (listez ici, séparés par un espace, l"ensemble des répertoires que vous souhaitez sauvegarder)
/etc /home/web /var/www
Par défaut backup-manager ne fait qu »une sauvegarde en local
Nous allons éditer le fichier de config pour que backup-manager fasse tous les jours une sauvegarde complète par FTP
vi /etc/backup-manager.conf
Nous faisons le choix de sauvegarder les fichiers sous forme d »archives tarball, et se sauvegarder également le mysql
BM_ARCHIVE_METHOD="tarball mysql"
Changez le nombre d »archives que vous souhaitez garder (ici 10 jours, par défaut 5)
BM_ARCHIVE_TTL=10
Si vous voulez exclure des répertoires (des logs par exemple), editez la variable
BM_TARBALL_BLACKLIST="/var/archives"
Définissez les login/pass de l »utilisateur mysql qui vous permettra de faire la sauvegarde (Créez un utilisateur dédié)
BM_MYSQL_ADMINLOGIN="backup"
BM_MYSQL_ADMINPASS="backuppassword"

Maintenant les modifications pour envoyez les archives
par FTP:
BM_UPLOAD_METHOD="ftp"
BM_UPLOAD_HOSTS="ftp.domaine.com"
BM_UPLOAD_DESTINATION="/"
BM_UPLOAD_FTP_USER="ftpuser"
BM_UPLOAD_FTP_USER="ftppassword"
BM_UPLOAD_FTP_HOSTS="ftp.domaine.com"

On crée ensuite uns script qui va vérifier le backup après le process pour être sur que tout est ok (vous recevrez un petit mail de confirmation à chaque backup)
BM_POST_BACKUP_COMMAND="/etc/backup-manager-post"
On sauvegarde le fichier puis on crée le script post-backup
vi /etc/backup-manager-post
Et on met dedans:
#!/usr/bin/php
<?php
$dest = array("VOTRE@EMAIL.COM");
$archives = "/home/backup";
$host = trim(file_get_contents("/etc/hostname"));
clearstatcache();
$dir = opendir($archives);
if($dir) {
while(false !== ($filename = readdir($dir))) {
if($filename[0]!="." && preg_match("/".date("Ymd")."/",$filename)) {
$thefile = $archives."/".$filename;
$size = exec("ls -l "".$thefile."" | awk "{print $5}"");
if($size>0) {
$pagetext.= $filename." (".round($size/1000000000,2)." Go)n";
} else {
$pagetext.= $filename." (? Go)n";
}
$totalsize = $size;
}
}
$pagetext .= "nTotal : ".round($totalsize/1000000000,2)." Gon";
}
foreach($dest as $d) {
mail($d,"[".$host."] Backup OK",$pagetext);
}

?>
 
Et voilà backup-manager va automatiquement tout sauvegarder tous les jours, et en plus vous envoyer un mail de
confirmation!

Comment connaître le nombre de processeurs d'une machine sous Linux?

Connaître le nombre de processeurs qui font tourner votre machine est important pour plusieurs choses:
- être sûr que le vendeur ne vous a pas vendu une daube à la place de votre super quad code duo pro machin chose
- optimiser certains de vos soft
s en répartissant mieux la charge sur les différents processeurs
Dans les systèmes sous Linux, tout est
fait sous forme de fichiers.
Et les informations qui nous intéressent se trouvent dans le fichier
/proc/cpuinfo
Afin d »afficher les lignes correspondantes aux processeurs:
cat /proc/cpuinfo | grep processor
Cette commande casino francais s sur Internet offrent ce service a des gens qui sont capables de jouer le jeu d'ensemble pour un montant specifique et quand la chance, ils sont en mesure de remporter le prix en argent. vous retournera, a minima:
processor : 0
Ceci signifie que vous avez un seul processeur, qui porte l »identifiant 0.
Si donc votre machine compte plusieurs processeurs, vous obtiendrez une liste du genre
processor : 0 processor : 1 processor : 2 processor : 3
Ce qui signifie que vous avez 4 processeurs.
Pour faire plus simple, on peut compter les lignes
cat /proc/cpuinfo | grep processor | wc -l
Vous obtiendrez ainsi le nombre de processeurs de votre machine

jeudi 20 mars 2014

Start / Stop / Restart Apache Web Server Via SSH

How do I start / stop or restart Apache web sever via SSH (secure shell) under Linux or UNIX operating systems?
Open a command-line terminal (select Applications > Accessories > Terminal), and then type the following command to login to remote server called server1.cyberciti.biz using the ssh client:
$ ssh user@server1.cyberciti.biz
Once logged in switch to the root user by typing su - and entering the root password, when prompted:
$ su -
To restart Apache 2 web server over the ssh, enter:
# /etc/init.d/apache2 restart
To stop Apache 2, enter:
# /etc/init.d/apache2 stop
To start Apache 2, enter:
# /etc/init.d/apache2 start
If you are using RHEL / CentOS / Fedora based server, enter:
# service httpd restart
To stop RHEL / CentOS / Fedora based Apache server, enter:
# service httpd stop
To start RHEL / CentOS / Fedora based Apache server, enter:
# service httpd start

HowTo: Restart SSH Service under Linux / UNIX

How do I restart SSH service under Linux or UNIX operating systems?

The command to restart ssh are as follows (you must login as root user):

CentOS / RHEL / Fedora / Redhat Linux Restart SSH

# /etc/init.d/sshd restart
OR
# service sshd restart

Debian / Ubuntu Linux Restart SSH

# /etc/init.d/ssh restart
OR
# service ssh restart

FreeBSD Restart SSH

# /etc/rc.d/sshd restart

UNIX Restart SSH

# kill -HUP `cat /var/run/sshd.pid`
Please note that the location of /var/run/sshd.pid may change. So just search a bit through /var/run/ directory.

dimanche 5 janvier 2014

Guide - Monter un serveur dédié Arma 3 Linux


Ce sujet est une bref introduction à la création de serveurs dédiés Arma 3 sur Linux.

1 - Avant l'installation


Il faut s'assurer que la machine est à jour, pour cela, passez les commandes suivantes :
Code:
/usr/bin/aptitude update
/usr/bin/aptitude safe-upgrade
Si jamais l'update ne passe pas, tentez avec le paramètre --ful-resolver

Installer les dépendances
Code: 
/usr/bin/aptitude install java7-jdk:i386 libstdc++6:i386 build-essential ia32-libs
Créer un utilisateur qui va prendre en charge le serveur et créer le répertoire qui va accueillir steam.
Code: 
/usr/sbin/adduser arma3_server
/bin/su arma3_server
cd /home/arma3_server/
/bin/mkdir steam
/bin/rm 

2 - Steam et Arma 3


Code: 
cd /home/arma3_server/steam
/usr/bin/wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
/bin/tar -xvzf steamcmd_linux.tar.gz
/bin/mkdir games
cd games
/bin/mkdir arma3
cd ../../
/bin/rm steamcmd_linux.tar.gz
./steamcmd.sh

La suite se passe sur SteamCMD et comme suit:
Code: 
login <steam username> <steampassword>
#Si vous avez Steamguard d'activé, le code vous sera demandé, comme d'habitude.
force_install_dir /home/arma3_server/steam/games/arma3
app_update 233780 validate
quit

3 - Arma 3


De ce côté là, c'est très similaire à Arma 3 windows server, le seul challenge réside dans le fait que le serveur ne doit pas être exécuter en root (sécurité oblige) et que les utilisateurs n'ont pas le chemin de la dépendance jvm. Donc, dans un premier temps, on créer la configuration du serveur , un banal server.cfg qui a toujours plus ou moins la même tête depuis bien des années, ensuite, on créé un tout petit script permettant de lancer le serveur tout en précisant où est la dépendance jvm.
Code: 
cd /home/arma3_server/steam/games/arma3/
echo #/bin/bash > run.sh
echo export LD_LIBRARY_PATH=/usr/lib/jvm/java-1.7.0-openjdk-i386/jre/lib/i386/server/ >> run.sh
echo ./arma3server -port=2302 -config=server.cfg -bepath=/home/arma3_server/steam/games/arma3/battleye/ >> run.sh
chmod +x run.sh

Maintenant, on test : ./run.sh
Si cela ne passe pas, mettez ici le contenu du retour ainsi que le résultat de la commande suivante et voyez ce qu'il manque :
Code: 
/usr/bin/ldd arma3server
#linux-gate.so.1 =>  (0xf7712000)
#libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf76e4000)
#librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xf76db000)
#libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf76d5000)
#libjvm.so => not found -> Ici, c'est normal, on défini la dépendance dans le run.sh
#libsteam_api.so => /home/_app/steamcmd/games/arma3/./libsteam_api.so (0xf76c5000)
#libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf75e0000)
#libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf75b4000)
#libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7595000)
#libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf73ec000)
#/lib/ld-linux.so.2 (0xf7713000)

4 - iptables


Autoriser le trafic sur les ports utilisés par Arma 3. Normalement, les règles suivantes devraient suffire à rendre le serveur parfaitement fonctionnel.
Code: Select all
/sbin/iptables -I INPUT -p udp --dport 2302 -j ACCEPT
/sbin/iptables -I INPUT -p udp --dport 2303 -j ACCEPT
/sbin/iptables -I INPUT -p udp --dport 2304 -j ACCEPT
/sbin/iptables -I INPUT -p udp --dport 2305 -j ACCEPT
service iptables save