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

vendredi 20 décembre 2013

Tuto : installer un serveur VPN (PPTP) sur une Debian 7 ou Ubuntu Desktop 12.04 (testé sur Kimsufi KS 2G et KS 4G)

Tuto : installer un serveur VPN (PPTP) sur une Debian 7 ou Ubuntu Desktop 12.04 (testé sur Kimsufi KS 2G et KS 4G)


# apt-get install pptpd
 
# vi /etc/ppp/chap-secrets
    pseudo        pptpd        motdepasse    *(ou IP)
 
# vi /etc/pptpd.conf
    localip IP_DU_SERVER (l’ip internet, pas réseau)
    remoteip 192.168.0.100-105 (pour allouer 6 IP, donc 6 connexions simultanées possibles)
 
# vi /etc/sysctl.conf
    enlever le # devant la ligne net.ipv4.ip_forward=1
 
# sysctl -p
 
# vi /etc/ppp/pptpd-options
modifier les DNS comme ça (dé-commenter les 2 lignes + modif IP) :
    ms-dns 208.67.222.222
    ms-dns 208.67.220.220
 
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 
# iptables -o eth0 -A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 800:1536 -j TCPMSS --clamp-mss-to-pmtu
 
# mknod /dev/ppp c 108 0
 
# /etc/init.d/pptpd restart

Voilà, votre serveur VPN est dès à présent utilisable ! N’oubliez pas de gérer la partie sauvegarde iptables sinon au reboot de votre machine (qui ne devrait jamais rebooter, mais on sait jamais) cette partie sera perdue.
Si vous ne savez pas comment faire pour vous connecter à votre serveur VPN, cherchez sur Google … la toile regorge de tuto sur ça et ce n’est pas bien compliqué.

lundi 28 octobre 2013

Installer HLstatsX:CE


  • Téléchargement et Installation de HLstatsX:CE

  • Création d'une base de données 

  • Configuration de HLstatsX:CE

  • Administration de HLstatsX:CE

  • Lancement de HLstatsX:CE

  • Annexe HeatMaps

  • Annexe ImportBans

    HLstatsX:CE est une interface détaillé de statistiques tout comme psychostats. Certains préfèrent HLstatsx pour le détail des stats données. Via le jeu vous pouvez taper rank, etc. vous pouvez également gagné des points par rapport a différentes actions effectuées sur la partie.
    HLstatsX:CE est cindé en deux parties, la partie web qui affiche les stats, gère les inscriptions, etc... et la partie interne qui va lire ces stats et les insérer dans une base.
    La manipulation consiste à télécharger l'archive HLXCE-1.6.19-FULL.zip puis décompresser et supprimer l'archive.
    Nous allons nous déplacer dans le dossier « ../hlds » (~/hlds) et télécharger la dernière version de HLstatsX:CE. puis nous décompressons l'archive.
    cd ~/hlds
    wget https://bitbucket.org/psychonic/hlstatsxce/downloads/HLXCE-1.6.19-FULL.zip

    puis nous décompressons l'archive et nous supprimons l'archive, ensuite nous pouvons renommer le répertoire en « ../hlxce » tout court.
    unzip HLXCE-1.6.19-FULL.zip
    rm HLXCE-1.6.19-FULL.zip
    mv hlxce-1.6.19 hlxce

    Notre dossier est découpée en deux morceaux, d’un coté le code PHP/HTML qui sera utilisé pour l’affichage des stats. De l’autre, un script PERL qui s’occupera d’analyser les stats du serveur pour générer les pages.
    Copions le contenue du dossier « ../web » vers le dossier « ../hlxce » que nous allons créer dans le dossier du serveur web (ex : ~/www/ligfy.net).
    mkdir ~/www/ligfy.net/hlxce
    cd ~/hlds/hlxce
    cp -R web/* ~/www/ligfy.net/hlxce/

    Nous allons maintenant crée une base de données SQL avec phpMyAdmin pour l’utilisation de HLstatsX:CE.
    http://localhost/phpmyadmin // localhost = IP du serveur web

    Maintenant nous allons éditer le fichier « hlstats.conf » qui se trouve dans le dossier « ../scripts » (../hlds/hlxce/scripts).
    nano ~/hlds/hlxce/scripts/hlstats.conf
    Nous allons modifier cette partie (modifions les infos par celles de notre base de donnée précédemment créée) :
    # DBHost - Database server "address" or "address : port". Address can be an IP or
    # a hostname. The default MySQL port is 3306 (tcp).
    DBHost "
    localhost"
    # DBUsername - User to connect to the database as.
    DBUsername "
    user base de donnée"
    # DBPassword - Password for the database user.
    DBPassword "
    mot de passe"
    # DBName - Name of the database to use.
    DBName "
    nom de la base de donnée"
    Nous allons maintenant dans le dossier « ../GeoLiteCity » qui se trouve dans le dossier « ../scripts » (../hlds/hlxce/scripts) et nous éditons les fichiers « GeoLite_Import.sh » et « geoip.py ».
    nano ~/hlds/hlxce/scripts/GeoLiteCity/GeoLite_Import.sh
    nano ~/hlds/hlxce/scripts/GeoLiteCity/geoip.py
    Dans « GeoLite_Import.sh » et « geoip.py » nous cherchons et modifions les lignes suivantes :
    DBHOST="localhost"
    DBNAME="
    nom de la base de donnée"
    DBUSER="
    user de la base de donnée"
    DBPASS="
    mot de passe"
    Maintenant nous allons importer le fichier « install.sql » (../hlds/hlxce/sql/install.sql) a notre base de donnée.
    Exemple :
    mysql -uuser de la base de donnée -p nom de la base de donnée < install.sql
    cd ~/hlds/hlxce/sql
    mysql -umic -p hlxce < install.sql

    Le dernier fichier a configurer avec notre nouvelle base de donnée, se trouve dans le dossier « ../hlxce » de notre serveur web (ex : ~/www/ligfy.net). Nous éditons le fichier « config.php ».
    nano ~/www/ligfy.net/hlxce/config.php
    remplaçons les infos par celle de notre base de donnée :
    define("DB_ADDR", "localhost");
    // DB_USER - The username to connect to the database as
    define("DB_USER", "
    user de la base de donnée");
    // DB_PASS - The password for DB_USER
    define("DB_PASS", "
    mot de passe");
    // DB_NAME - The name of the database
    define("DB_NAME", "
    nom de la base de donnée");
    Nous allons configurer HLstatsX:CE en manipulent divers fichiers.
    Nous allons maintenant changer les permissions d'accès de certains fichiers (chmod 777) du dossier « ../scripts » (../hlds/hlxce/scripts).
    cd scripts
    chmod 777 hlstats-awards.pl hlstats-resolve.pl hlstats.pl proxy-daemon.pl run_hlstats
    chmod 777 HLStatsFTP/hlstats-ftp.pl ImportBans/importbans.pl

    Une fois ceci terminé voyons maintenant le dossier « ../sourcemod » (../hlds/hlxce/sourcemod).
    Copions le contenue du dossier « ../sourcemod » vers le dossier « ../sourcemod » de notre serveur de jeu (ex : ../cstrike/addons/sourcemod).
    cd ..
    cp -R sourcemod/* ~/hlds/srcds/css/cstrike/addons/sourcemod

    Nous allons ensuite éditer notre fichier « server.cfg » de notre serveur de jeu (../cstrike/cfg).
    Puis nous ajoutons ceci :
    log on
    logaddress_add ip_de_votre_machine:27500

    Plaçons l'ip de notre serveur de jeu avec le port par défaut 27500. Ne modifiez pas le port 27500, c'est le port pour faire dialoguer notre serveur de jeux avec HLstatsX:CE.
    Maintenant nous allons exécuter plusieurs programmes du dossier « ../GeoLiteCity » (../scripts/GeoLiteCity) qui ont pour but d'importer la géo-localisation, que nous pouvons voir sur notre page de site HLstatsX:CE avec Google. Si vous ne procédez pas a cette installation, vous ne pourrez voir la provenance des joueurs qui se connecte sur votre serveur de jeux.
    cd ~/hlds/hlxce/scripts/GeoLiteCity
    sh install_binary.sh
    sh GeoLite_Import.sh
    python geoip.py

    Si il y a des problème dans les logs (../hlxce/logs) concernant Geo::IP::PurePerl, il faut Taper ceci :
    perl -MCPAN -e 'install Geo::IP::PurePerl'
    Nous allons configurer notre panel d'admin HLstatsX:CE.
    Tout d'abord nous allons supprimer le dossier « ../updater » qui se trouve dans le dossier « ../hlxce » de notre serveur web (ex : ~/www/ligfy.net)
    cd ~/www/ligfy.net/hlxce
    rm -rf updater

    http://www.ligfy.net/installer-hlstatsx-ce 

dimanche 25 août 2013

Debian : Installer un serveur Counter-Strike : Global Offensive



Installation des librairies nécessaires
Pour installer un dedicated server steam, les librairies ia32-libs sont nécessaires. Celles-ci concernent uniquement les serveurs Linux qui tournent avec un noyau 64-bit.

apt-get install ia32-libs

Installation serveur csgo :

cd /var/steamcmd

wget http://blog.counter-strike.net/wp-content/uploads/2012/04/steamcmd.tar.gz

tar xvzf steamcmd.tar.gz

steamcmd +login anonymous +force_install_dir ../csgo_ds +app_update 740 validate +quit

login anonymous

force_install_dir ./cs_go/

app_update 740 validate

app_update 740

quit 


Lancement du serveur csgo:

cd /var/steamcmd/cstrike

screen -A -m -d -S serv1 ./srcds_run -game csgo -console -usercon -maxplayers_override 16 +game_type 0 +game_mode 0 +map awp_india_csgo -port 27015 +ip monip -tickrate 66


Les paramètres game_type et game_mode

La combinaison de ces deux paramètres permet de définir le type de jeu qui tournera sur le serveur. Voici une grille permettant d’avoir une idée de ce que vous démarrerez.

game_typegame_mode
00Classic Casual
01Classic Competitive
10Arms Race
11Demolition

samedi 24 août 2013

Serveur vpn PPTP avec debian en MS-CHAPv2

Bonjour,

Ayant besoin d’un VPN en pptp pour contrer le filtrage de free sur les sites de videos youtube vimeo ect.., j’ai installer une serveur pptp sur un de mes serveur dédié.
Donc pour tous ceux qui ont des dedibox, kimsufi et autre serveur ovh et qui veulent un serveur vpn plus simple à mettre en place que openvpn et moins sécurisé ce tuto est pour vous !



Je vais donc vous prouver aujourd’hui que n’importe quel novice peut être capable de monter son propre réseau VPN sous debian et le tout enquelques minutes !

Etape 1 : Installer PPTPD

PPTPD est en réalité un simple soft sous linux qui va tout simplement vous permettre de créer un VPN utilisant le protocole PopTop.
Pour l’installer il vous suffit de vous rendre dans un terminal avec les droits root et de taper la ligne suivante :

Installation du serveur pptpd :

# apt-get install pptpd

Configuration du serveur :


# nano /etc/pptpd.conf

Il faut décommenter les 2 lignes localip et remonteip. Vous indiqué l’ip du votre serveur et ensuite la plage d’adresse d’ip locale que vous voulez attribué au pc qui se connecteront au VPN

localip IP.DE.VOTRE.SERVEUR
remoteip 192.168.0.234-238,192.168.0.245


A présent nous allons configurer la méthode d’authentification. Nous allons utiliser le MS-CHAPv2. Mais les autres protocole que ce soit pap ou chap sont aussi possible c’est a vous de le configurer.


# nano /etc/ppp/options

Il faut rajouter ces lignes a la fin du fichier :


refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp

Maintenant il reste a créer les utilisateurs.


# nano /etc/ppp/chap-secrets

Cela se présente ainsi :

artiflo pptpd artiflopassword "*"



* est pour signifier que les utilisateurs peuvent se connecter de n’importe quel ip. Dans le cas contraire spécifié l’ip.

Et enfin, pour ce concerne le firewall il faut en premier que vous autoriser le port 1723 et le protocole GRE ainsi :


# iptables -A INPUT -p tcp –-dport 1723 -j ACCEPT
# iptables -A INPUT -p gre -j ACCEPT

Et ensuite il faut configurer le routage en spécifiant que toutes les adresse locale que vous avez définis toutes a l’heure doivent être rediriger sur l’adresse de la carte eth0. Et en activant l’ip forwarding.


# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to IP.DE.VOTRE.SERVEUR
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

Redémarrer pptp et cela doit fonctionner


# /etc/init.d/pptpd restart