Installation d'un serveur dédie

Debian 6

  1. changez le password :
    passwd root
  2. mise à jour :
    apt-get update
    apt-get upgrade
  3. Serveur synchro horloge atomique :
    apt-get install ntp ntpdate
  4. éditez /etc/ntp.conf et /etc/default/ntpdate pour vérifier la configuration et éventuellement modifier les adresses des serveurs.
  5. redémarrez les services :
    /etc/init.d/ntp restart
  6. installez divers outils:
    apt-get install zip unzip gcc libc6-dev linux-kernel-headers diff wget bzip2 make
  7. pour un prompt en couleur, éditez
    nano .bashrc

    et mettre la ligne :

    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\](\033[01;32m\]\u@\h\033[01;31m\])\[\033[01;36m\] (\w) \$ \[\033[00m\]'

    enregistrez et :

    source .bashrc

    pour prendre en compte les modif.

  8. configuration de base réseau
    nano /etc/hostname

    et inscrire : gondor.me

    nano /etc/hosts

    et inscrire l'ip suivi de

    gondor.me gondor

    redémarrer le service :

    /etc/init.d/networking restart
  9. installation de apache2
    apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert

    Tous les fichiers de configuration Apache sont stockés dans /etc/apache2/ : Configuration générale (ancien httpd.conf)

    apache2.conf

    Modules disponibles

    mods-available/

    Modules activés

    mods-enabled/

    Sites disponibles (contient default pour le site hébergé par défaut)

    sites-available/

    Sites activés

    sites-enabled/

    Afin d'activer les modules, utilisez a2enmod (Apache 2 Enable Module) suivi du nom du module. Ici activons mod_rewrite pour permettre la réécriture des URLs.

    a2enmod rewrite

    Afin d'activer un site dont la configuration est stockée dans sites-available, utilisez a2ensite (Apache 2 Enable Site) :

    a2ensite

    Pour désactiver un site, utilisez a2dissite. Pour désactiver un module, utilisez a2dismod.

  10. Installation de PHP
    apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
  11. Installation de MySQL
    apt-get install mysql-server mysql-client libmysqlclient15-dev mysql-common
  12. Installation de PHPMyAdmin
    apt-get install phpmyadmin
  13. Installation de Webmin
    wget http://prdownloads.sourceforge.net/webadmin/webmin_1.570_all.deb  ( http://www.webmin.com/download.html pour les futures update )
    dpkg --install webmin_1.570_all.deb
    apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl
    apt-get install libnet-ssleay-perl libauthen-pam-perl libio-pty-perl apt-show-versions
    apt-get install -f
  14. Firewall IPTABLEScréer un fichier : nano /etc/init.d/firewall, après avoir saisie les règles
    chmod +x /etc/init.d/firewall
    update-rc.d firewall defaults
  15. Fail2ban & rkhunter & logwatch
    apt-get install fail2ban
    nano /etc/fail2ban/fail2ban.conf
    apt-get install rkhunter
    apt-get install logwatch
  16. Postfix
    apt-get install postfix libsasl2 sasl2-bin libsasl2-modules libdb3-util procmail
  17. install de SFTP
  18. rtorrent + rtgui
    • installation des essentiels
      aptitude install -y htop rar zip build-essential pkg-config libcurl4-openssl-dev libsigc++-2.0-dev libncurses5-dev  screen subversion libterm-readline-gnu-perl php5-cgi apache2-utils libcurl3 curl php5-curl php5-cli dtach unzip unrar
      apt-get install apache2.2-common apache2-utils apg autoconf automake autotools-dev binutils build-essential bzip2 ca-certificates comerr-dev cpp cpp-4.1 dpkg-dev file g++ g++-4.1 gawk gcc gcc-4.1 libapache2-mod-php5 libapr1 libaprutil1 libc6-dev libcurl3 libcurl3-openssl-dev libexpat1 libidn11 libidn11-dev libkadm55 libkrb5-dev libmagic1 libncurses5-dev libneon26 libpcre3 libpq5 libsigc++-2.0-dev libsqlite0 libsqlite3-0 libssl-dev libssp0-dev libstdc++6-4.1-dev libsvn1 libtool libxml2 lighttpd linux-kernel-headers lynx m4 make mime-support ntp ntpdate openssl patch perl perl-modules php5 php5-cgi php5-common php5-sqlite unzip pkg-config screen sqlite subversion ucf zlib1g-dev
    • Installation de libtorrent 0.12.9 (vérifier les dernières mises à jour ici) : http://libtorrent.rakshasa.no/downloads/
      cd /tmp
      wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.9.tar.gz
      tar zxfv libtorrent-0.12.9.tar.gz
      cd libtorrent-0.12.9
      ./configure
      make
      make install
    • Installation de XML RPC par le SVN :
      cd /tmp
      svn checkout http://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable xmlrpc-c
      cd xmlrpc-c/
      ./configure
      make
      make install
    • Installation de rTorrent 0.8.9 (vérifier les dernières mises à jour ici) : http://libtorrent.rakshasa.no/downloads/
      cd /tmp
      wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.8.9.tar.gz
      tar zxfv rtorrent-0.8.9.tar.gz
      cd rtorrent-0.8.9
      ./configure --with-xmlrpc-c
      make
      make install
    • créer un fichier .rtorrent.rc dans le home avec pour contneu le fichier .rtorrent.rc sur le site de rtorrent et modifier les valeurs avec celles qu'on souhaite.
    • Création d'un script de démarrage de rTorrent :
      nano /etc/init.d/rtorrentd
    • Ajouter le fichier de conf
    • On rend le script exécutable :
      chmod +x /etc/init.d/rtorrentd
    • On l'ajoute au démarrage du serveur :
      update-rc.d rtorrentd defaults
    • Ajout du modul scgi pour apache
      apt-get install libapache2-mod-scgi
      a2enmod scgi
    • et dans apache2.conf ajouter la ligne :
      SCGIMount /RPC2 127.0.0.1:5000
  19. ares
    wget http://c-ares.haxx.se/c-ares-1.6.0.tar.gz
    tar -zxvf c-ares-1.6.0.tar.gz
    cd c-ares-1.6.0
    ./configure
    make
    make install
  20. curl
    wget http://curl.haxx.se/download/curl-7.19.5.tar.gz
    tar -zxvf curl-7.19.5.tar.gz
    cd curl-7.19.5
    ./configure --enable-ares
    make
    make install
  21. libtorrent and rtorrent
    wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.5.tar.gz
    wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.8.5.tar.gz
    
    tar -zxvf libtorrent-0.12.5.tar.gz
    cd libtorrent-0.12.5.tar.gz
    ./configure
    make
    make install
    
    tar -zxvf rtorrent-0.8.5.tar.gz
    cd rtorrent-0.8.5
    ./configure --with-xmlrpc-c
    make
    make install
  22. Les commandes à savoir pour mettre à jour la seedbox

Pour redémarrer rTorrent :

service <username>-rtorrent restart

Pour mettre à jour rutorrent via le dépôt github : attention des conflits peuvent apparaître

cd /var/www/rutorrent/
git pull origin master

Pour mettre à jour les paquets (à faire de temps en temps)

aptitude update
aptitude safe-upgrade