InstDedi

Bon, ma dedibox n'aura jamais connue de vie sous un OS made in Online. Bon fini les conneries et les tutos à la noix sur internet. Pour info, mon installe de base met 194 packets contre 335 celle d'Online. Voici l'installation minimale suprème, la bonne base de l'admin-sys. Mis à jour pour Jessie y'a pas si longtemps. Bisou

Note chez Online

Si vous essayez d'acceder a la console Java depuis Ilo 4 avec un OS non standard, l'URL de l'applet est la suivante: /html/java_irc.html?lang=en

Prérequis

  • Gérer un minimum Debian ( <3 )
  • Redémarrer en mode secours chez Online

Configuration des partitions, en mode rescue

  1. On se connecte en root sur la machine de rescue:
    sudo -s
  2. On fait un schéma de partition propre avec cfdisk, les plus con utiliseront fdisk:
                          cfdisk (util-linux 2.20.1)
    
                             Disk Drive: /dev/sda
                      Size: 999653638144 bytes, 999.6 GB
            Heads: 255   Sectors per Track: 63   Cylinders: 121534
    
       Name       Flags    Part Type FS Type        [Label]      Size (MB)
     --------------------------------------------------------------------
       sda1                 Primary  Linux                          197,41
       sda2                 Primary  Linux                       999456,2*
    
        [ Bootable ]  [  Delete  ]  [   Help   ]  [ Maximize ]
        [  Print   ]  [   Quit   ]  [   Type   ]  [  Units   ]
        [  Write   ]
    
  3. Une fois qu'on à fait ça, on reboot le serveur, car cet idiot d'Ubuntu ne reconnais pas les nouvelles partitions. Partprobe n'a pas fonctionné non plus. Vous devriez avoir ça au final:
    root@rescue:~# ll /dev/sd*
    brw-rw---- 1 root disk 8, 0 févr. 26 02:16 /dev/sda
    brw-rw---- 1 root disk 8, 1 févr. 26 02:15 /dev/sda1
    brw-rw---- 1 root disk 8, 2 févr. 26 02:15 /dev/sda2
    
  4. Pour la suite, on aura peut-être besoin d'installer des packets sur la distrib de rescue. Pour cela:
    apt-get update
    
  5. On configure LVM. Pour le commun des mortels, les seules partitions réellement nécessaire sont /, /boot et /home, mais vu que je suis un immortel j'ai choisi un truc un peu plus sécurisé. On peut surtout le changer à postériori et lui rajouter de l'espace disque là où il en manque:
    pvcreate -ff /dev/sda2
    vgcreate system /dev/sda2
    lvcreate -n sys_root -L1G system
    lvcreate -n sys_var -L 500M system
    lvcreate -n sys_var_log -L 500M system
    lvcreate -n sys_swap -L 1G system
    lvcreate -n sys_tmp -L 100M system
    lvcreate -n sys_home -L 100M system
    lvcreate -n sys_usr -L 400M system
    
  6. On créer les FS, pas de chichis, on met de l'ext4 partout:
    # La partition de boot
    mkfs.ext4 /dev/sda1 
    
    # Les partitions LVM
    mkfs.ext4 /dev/mapper/system-sys_root
    mkfs.ext4 /dev/mapper/system-sys_home
    mkfs.ext4 /dev/mapper/system-sys_tmp
    mkfs.ext4 /dev/mapper/system-sys_usr
    mkfs.ext4 /dev/mapper/system-sys_var
    mkfs.ext4 /dev/mapper/system-sys_var_log
    
    # Et enfin le swap
    mkswap /dev/mapper/system-sys_swap 
    
  7. On tune les FS, sur la partition de boot et le slash seulement:
    root@rescue:~# tune2fs -c 0 -i 0 /dev/sda1 
    tune2fs 1.42 (29-Nov-2011)
    Définition du nombre maximal de montages à -1
    Définition de l'intervalle de vérification à 0 secondes
    root@rescue:~# tune2fs -c 0 -i 0 /dev/mapper/system-sys_root 
    tune2fs 1.42 (29-Nov-2011)
    Définition du nombre maximal de montages à -1
    Définition de l'intervalle de vérification à 0 secondes
  8. On va supprimer les 5% d'espace disque réservés à root sur les partitions non critiques:
    tune2fs -m 0 /dev/mapper/system-sys_home
    tune2fs -m 1 /dev/mapper/system-sys_tmp
    tune2fs -m 0 /dev/mapper/system-sys_usr
    tune2fs -m 1 /dev/mapper/system-sys_var
    tune2fs -m 1 /dev/mapper/system-sys_var_log
    
  9. Et voila, j'ai un schéma de partition assez serré, mais sécurisé:
    root@rescue:~# lsblk -i
    NAME                          MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda                             8:0    0   931G  0 disk 
    |-sda1                          8:1    0 188,2M  0 part 
    `-sda2                          8:2    0 930,8G  0 part 
      |-system-sys_root (dm-0)    252:0    0     1G  0 lvm  
      |-system-sys_var (dm-1)     252:1    0   500M  0 lvm  
      |-system-sys_var_log (dm-2) 252:2    0   500M  0 lvm  
      |-system-sys_swap (dm-3)    252:3    0     1G  0 lvm  
      |-system-sys_tmp (dm-4)     252:4    0   100M  0 lvm  
      |-system-sys_home (dm-5)    252:5    0   100M  0 lvm  
      `-system-sys_usr (dm-6)     252:6    0   400M  0 lvm  
    

Installation de Debian minimale

  1. Installation par debootstrap
    1. On prépare l'environnement, tout sera mis dans /mnt:
      mount /dev/mapper/system-sys_root /mnt/
      
      # On créer les points de montage (niveau 1)
      mkdir  -p /mnt/{boot,home,var,tmp,usr}
      
      # On monte toutes les partitions dans les bon dossiers (niveau 1)
      mount /dev/sda1 /mnt/boot
      mount /dev/mapper/system-sys_var /mnt/var
      mount /dev/mapper/system-sys_home /mnt/home
      mount /dev/mapper/system-sys_tmp /mnt/tmp
      mount /dev/mapper/system-sys_usr /mnt/usr
      
      # On créer les points de montage (niveau 2)
      mkdir  -p /mnt/var/log
      
      # On monte toutes les partitions dans les bon dossiers  (niveau 2)
      mount /dev/mapper/system-sys_var_log /mnt/var/log
      
      # J'aime pas les lost+found, alors je les tue
      find /mnt/ -name 'lost+found' -delete
      
  2. On vérifie qu'on a bien un point de montage dans chacun de ces dossiers, c'est histoire d'en avoir oublié aucun:
    /mnt/
    |-- boot
    |-- home
    |-- tmp
    |-- usr
    `-- var
        `-- log
    
    1. On met à jour le rescue CD, et on installe l'outil qu'il nous faut:
      apt-get install debootstrap
    2. On installe Debian:
      debootstrap --verbose --arch amd64 --variant minbase  jessie /mnt http://mir1.ovh.net/debian
  3. Configuration de Debian
    1. On définis son nom dans une variable:
      MY_SERVER='jezhyp'
    2. On définis son nom:
      echo "${MY_SERVER}" > /mnt/etc/hostname
    3. On fait le fichier hosts:
      echo -ne "127.0.0.1\tlocalhost\tlocalhost.localdomain\t${MY_SERVER}\n" > /mnt/etc/hosts
  4. Préparation du chroot
    1. Montages systèmes:
      mount -t proc none /mnt/proc
      mount -obind /dev /mnt/dev
      mount -obind /sys /mnt/sys
      
    2. Toc toc toc, on entre sur votre nouveau serveur:
      chroot /mnt/
      
  5. Installation des packets minimal
    1. On fait quelque petites retouches (faire fonctionner df) et on vire un lien cassé (Debian Bug):
      ln -s /proc/mounts /etc/mtab
      rm /etc/nologin 
    2. On active tous les dépots et on met à jour apt:
      echo 'deb http://mir1.ovh.net/debian jessie main contrib non-free' > /etc/apt/sources.list
      apt-get update; apt-get upgrade
    3. On installe et on configure les locales:
      apt-get install dialog locales
      
      # On configure les locales, moi j'aime bien mettre en_US.UTF-8 par defaut et Français ensuite
      dpkg-reconfigure locales
      
      # Puis on les source (le nombre de conneries qu'on lit à ce sujet sur internet d'ailleurs ... )
      . ./etc/default/locale
      
    4. On installe les outils minimum:
      apt-get install vim bash-completion htop screen less psmisc tree net-tools mutt man info postfix
      • Notes:
        • On pourrait aussi prendre iproute2 à la place de net-tools
        • Pour postfix, on choisit site internet, jezhyp, on verra sa config plus tard
    5. On configure le réseau. Chez Online.net, on ne fait pas de statique, mais du DHCP:
      apt-get install isc-dhcp-client
      mkdir /etc/network/interfaces.d
      Puis:
      cat <<EOF > /etc/network/interfaces.d/lo
      auto lo
      iface lo inet loopback
      EOF
      
      cat <<EOF > /etc/network/interfaces.d/eth0
      # The primary network interface
      allow-hotplug eth0
      iface eth0 inet dhcp
      EOF
      
      cat <<EOF > /etc/network/interfaces.d/eth1
      # The internal network interface
      allow-hotplug eth1
      iface eth1 inet dhcp
      EOF
      
    6. On génère le fstab, grace à cette commande un peu magique. Si elle marche pas, il faudra vous le coltiner à la main:
      mount | grep '^/' | sed -r 's/[()]|type|on//g'  | sed 's/rw.*/auto,rw,nodev,nosuid,noexec\t0\t2/' | sed 's/ /\t/g' > /etc/fstab
      
      Il faut tout de même mettre les bon attributs, rajouter le swap et faire quelques modifs, mais le gros est fait. Vérifiez bien les options de montage! :
      # <file system>                         <mount point>   <type>  <options>                       <dump>  <pass>
      /dev/mapper/system-sys_root             /               ext4    auto,rw                         0       2
      /dev/sda1                               /boot           ext4    auto,rw,nodev,nosuid            0       2
      /dev/mapper/system-sys_var              /var            ext4    auto,rw,nodev,nosuid,noexec     0       2
      /dev/mapper/system-sys_home             /home           ext4    auto,rw,nodev,nosuid            0       2
      /dev/mapper/system-sys_tmp              /tmp            ext4    auto,rw,nodev,nosuid,noexec     0       2
      /dev/mapper/system-sys_usr              /usr            ext4    auto,rw,nodev                   0       2
      /dev/mapper/system-sys_var_log          /var/log        ext4    auto,rw,nodev,nosuid,noexec     0       2
      /dev/mapper/system-sys-swap             none            swap    sw                              0       0
      
    7. On installe les services minimum:
      apt-get install rsyslog openssh-server
    8. On installe la gestion du LVM:
      apt-get install lvm2
  6. Installation du boot
    1. On installe les packets nécéssaires:
      apt-get install linux-image-3.16.0-4-amd64 grub2
    • Note:
      • On choisit /dev/sda pour installer grub
      • Il faudra également installer les fimware manquant, si apt vous le demande. En ce qui me concerne, je me fait pas chier, j'installe firmware-linux-nonfree
    1. Si la config du grub a foiré, on le fait à la mano:
      grub-mkdevicemap 
      grub-install /dev/sda
      update-grub2
  7. Touches finales
    1. On définis le nouveau mot de passe pour root:
      passwd
    2. On nettoie notre passage:
      apt-get autoremove
      apt-get clean
      rm -rf /var/log/*
  8. Redémarrage
    1. On sort du chroot:
      exit
    2. On démonte tous les FS. pour savoir lesquel démonter, vous pouvez utiliser cette commande qui vous indiquera quels FS sont à démonter:
      mount | grep '/mnt/' | awk '{print "umount -l " $3}' | tac
:
umount -l /mnt/boot
umount -l /mnt/home
umount -l /mnt/tmp
umount -l /mnt/usr
umount -l /mnt/var/log
umount -l /mnt/var
umount -l /mnt/proc
umount -l /mnt/dev
umount -l /mnt/sys
  1. On redémarre et go:
    reboot

Premier démarrage

  1. On se connecte en ssh sur la machine avec root et l'IP qui va bien:
    ssh root@x.x.x.x
  2. On a désormais the perfect system :-)
    • Processus: pstree:
      init-+-cron
           |-dhclient
           |-6*[getty]
           |-2*[logsave]
           |-master-+-anvil
           |        |-pickup
           |        |-proxymap
           |        |-qmgr
           |        |-smtpd
           |        `-tlsmgr
           |-rsyslogd---3*[{rsyslogd}]
           |-sshd---sshd---bash---pstree
           `-udevd---2*[udevd]
      
    • Partitions: lsblk -i:
      NAME                          MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
      sda                             8:0    0   931G  0 disk 
      |-sda1                          8:1    0 188.2M  0 part /boot
      `-sda2                          8:2    0 930.8G  0 part 
        |-system-sys_root (dm-0)    254:0    0     1G  0 lvm  /
        |-system-sys_var (dm-1)     254:1    0   500M  0 lvm  /var
        |-system-sys_var_log (dm-2) 254:2    0   500M  0 lvm  /var/log
        |-system-sys_swap (dm-3)    254:3    0     1G  0 lvm  [SWAP]
        |-system-sys_tmp (dm-4)     254:4    0   100M  0 lvm  /tmp
        |-system-sys_home (dm-5)    254:5    0   100M  0 lvm  /home
        `-system-sys_usr (dm-6)     254:6    0   400M  0 lvm  /usr
      /
    • Montages: mount:
      sysfs	on	/sys	type	sysfs	(rw,nosuid,nodev,noexec,relatime)
      proc	on	/proc	type	proc	(rw,nosuid,nodev,noexec,relatime)
      udev	on	/dev	type	devtmpfs	(rw,relatime,size=10240k,nr_inodes=2053815,mode=755)
      devpts	on	/dev/pts	type	devpts	(rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
      tmpfs	on	/run	type	tmpfs	(rw,nosuid,noexec,relatime,size=1644316k,mode=755)
      /dev/mapper/system-sys_root	on	/	type	ext4	(rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered)
      tmpfs	on	/run/lock	type	tmpfs	(rw,nosuid,nodev,noexec,relatime,size=5120k)
      tmpfs	on	/run/shm	type	tmpfs	(rw,nosuid,nodev,noexec,relatime,size=3288620k)
      /dev/sda1	on	/boot	type	ext4	(rw,nosuid,nodev,noexec,relatime,user_xattr,barrier=1,data=ordered)
      /dev/mapper/system-sys_var	on	/var	type	ext4	(rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered)
      /dev/mapper/system-sys_home	on	/home	type	ext4	(rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered)
      /dev/mapper/system-sys_tmp	on	/tmp	type	ext4	(rw,nodev,relatime,user_xattr,barrier=1,data=ordered)
      /dev/mapper/system-sys_usr	on	/usr	type	ext4	(rw,nodev,relatime,user_xattr,barrier=1,data=ordered)
      /dev/mapper/system-sys_var_log	on	/var/log	type	ext4	(rw,nosuid,nodev,noexec,relatime,user_xattr,barrier=1,data=ordered)
      
  3. Hey, au fait, n'oubliez pas de sécuriser vote machine. Vous n'avez qu'un seul compte (root), un port SSH sur le 22 et un postfix en écoute sur le port 25 ... Vous n'allez pas laisser ça comme ça quand même! Allez, bisou !

La conf OVH

La conf réseau par défaut:
domain online.net
search online.net
nameserver 62.210.16.6
nameserver 62.210.16.7
Le fichier /etc/hosts:
127.0.0.1	localhost
127.0.1.1	sd-xxx.dedibox.fr jeztest
Le fichier /etc/network/interfaces:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
Liste des packets installés par défaut par l'install d'OVH
acpi						install
acpi-support-base				install
acpid						install
adduser						install
apt						install
apt-listchanges					install
apt-utils					install
aptitude					install
aptitude-common					install
aspell						install
aspell-fr					install
at						install
base-files					install
base-passwd					install
bash						install
bash-completion					install
bc						install
bind9						install
bind9-host					install
bind9utils					install
binutils					install
bsd-mailx					install
bsdmainutils					install
bsdutils					install
build-essential					install
busybox						install
bzip2						install
ca-certificates					install
console-setup					install
console-setup-linux				install
coreutils					install
cpio						install
cpp						install
cpp-4.7						install
cron						install
dash						install
db5.1-util					install
dc						install
debconf						install
debconf-i18n					install
debian-archive-keyring				install
debian-faq					install
debian-policy					install
debianutils					install
developers-reference-fr				install
dictionaries-common				install
diffutils					install
discover					install
discover-data					install
dmidecode					install
dmsetup						install
dnsutils					install
doc-debian					install
doc-debian-fr					install
doc-linux-fr-text				install
dpkg						install
dpkg-dev					install
e2fslibs:amd64					install
e2fsprogs					install
exim4						install
exim4-base					install
exim4-config					install
exim4-daemon-light				install
fakeroot					install
file						install
findutils					install
ftp						install
g++						install
g++-4.7						install
gcc						install
gcc-4.7						install
gcc-4.7-base:amd64				install
geoip-database					install
gettext-base					install
gnupg						install
gpgv						install
grep						install
groff-base					install
grub-common					install
grub-pc						install
grub-pc-bin					install
grub2-common					install
gzip						install
host						install
hostname					install
htop						install
ifrench-gut					install
ifupdown					install
info						install
initramfs-tools					install
initscripts					install
insserv						install
install-info					install
installation-report				install
iproute						install
iptables					install
iputils-ping					install
isc-dhcp-client					install
isc-dhcp-common					install
iso-codes					install
ispell						install
kbd						install
keyboard-configuration				install
klibc-utils					install
kmod						install
krb5-locales					install
laptop-detect					install
less						install
libacl1:amd64					install
libalgorithm-diff-perl				install
libalgorithm-diff-xs-perl			install
libalgorithm-merge-perl				install
libapt-inst1.5:amd64				install
libapt-pkg4.12:amd64				install
libaspell15					install
libasprintf0c2:amd64				install
libattr1:amd64					install
libbind9-80					install
libblkid1:amd64					install
libboost-iostreams1.49.0			install
libbsd0:amd64					install
libbz2-1.0:amd64				install
libc-bin					install
libc-dev-bin					install
libc6:amd64					install
libc6-dev:amd64					install
libcap2:amd64					install
libclass-isa-perl				install
libcomerr2:amd64				install
libcwidget3					install
libdb5.1:amd64					install
libdevmapper1.02.1:amd64			install
libdiscover2					install
libdns88					install
libdpkg-perl					install
libedit2:amd64					install
libept1.4.12					install
libevent-2.0-5:amd64				install
libexpat1:amd64					install
libfile-fcntllock-perl				install
libfreetype6:amd64				install
libfuse2:amd64					install
libgc1c2					install
libgcc1:amd64					install
libgcrypt11:amd64				install
libgdbm3:amd64					install
libgeoip1					install
libgmp10:amd64					install
libgnutls26:amd64				install
libgomp1:amd64					install
libgpg-error0:amd64				install
libgpgme11					install
libgpm2:amd64					install
libgssapi-krb5-2:amd64				install
libgssglue1:amd64				install
libidn11:amd64					install
libisc84					install
libisccc80					install
libisccfg82					install
libitm1:amd64					install
libk5crypto3:amd64				install
libkeyutils1:amd64				install
libklibc					install
libkmod2:amd64					install
libkrb5-3:amd64					install
libkrb5support0:amd64				install
libldap-2.4-2:amd64				install
liblocale-gettext-perl				install
liblockfile-bin					install
liblockfile1:amd64				install
liblwres80					install
liblzma5:amd64					install
libmagic1:amd64					install
libmount1					install
libmpc2:amd64					install
libmpfr4:amd64					install
libncurses5:amd64				install
libncursesw5:amd64				install
libnewt0.52					install
libnfnetlink0					install
libnfsidmap2:amd64				install
libp11-kit0:amd64				install
libpam-modules:amd64				install
libpam-modules-bin				install
libpam-runtime					install
libpam0g:amd64					install
libpci3:amd64					install
libpcre3:amd64					install
libpipeline1:amd64				install
libpopt0:amd64					install
libprocps0:amd64				install
libpth20					install
libquadmath0:amd64				install
libreadline6:amd64				install
libsasl2-2:amd64				install
libsasl2-modules:amd64				install
libselinux1:amd64				install
libsemanage-common				install
libsemanage1:amd64				install
libsepol1:amd64					install
libsigc++-2.0-0c2a:amd64			install
libslang2:amd64					install
libsqlite3-0:amd64				install
libss2:amd64					install
libssl1.0.0:amd64				install
libstdc++6:amd64				install
libstdc++6-4.7-dev				install
libswitch-perl					install
libtasn1-3:amd64				install
libtext-charwidth-perl				install
libtext-iconv-perl				install
libtext-wrapi18n-perl				install
libtimedate-perl				install
libtinfo5:amd64					install
libtirpc1:amd64					install
libtokyocabinet9:amd64				install
libudev0:amd64					install
libusb-0.1-4:amd64				install
libusb-1.0-0:amd64				install
libustr-1.0-1:amd64				install
libuuid-perl					install
libuuid1:amd64					install
libwrap0:amd64					install
libx11-6:amd64					install
libx11-data					install
libxapian22					install
libxau6:amd64					install
libxcb1:amd64					install
libxdmcp6:amd64					install
libxext6:amd64					install
libxml2:amd64					install
libxmuu1:amd64					install
linux-base					install
linux-image-3.2.0-4-amd64			install
linux-image-amd64				install
linux-libc-dev:amd64				install
locales						install
login						install
logrotate					install
lsb-base					install
lsb-release					install
lsof						install
m4						install
maint-guide-fr					install
make						install
man-db						install
manpages					install
manpages-dev					install
manpages-fr					install
manpages-fr-extra				install
mawk						install
mime-support					install
mlocate						install
module-init-tools				install
mount						install
multiarch-support				install
mutt						install
nano						install
ncurses-base					install
ncurses-bin					install
ncurses-term					install
net-tools					install
netbase						install
netcat-traditional				install
nfs-common					install
openntpd					install
openssh-blacklist				install
openssh-blacklist-extra				install
openssh-client					install
openssh-server					install
openssl						install
os-prober					install
passwd						install
patch						install
pciutils					install
perl						install
perl-base					install
perl-modules					install
procmail					install
procps						install
psmisc						install
python						install
python-apt					install
python-apt-common				install
python-chardet					install
python-debian					install
python-debianbts				install
python-fpconst					install
python-minimal					install
python-reportbug				install
python-soappy					install
python-support					install
python2.6					install
python2.6-minimal				install
python2.7					install
python2.7-minimal				install
readline-common					install
reportbug					install
rpcbind						install
rsyslog						install
sed						install
sensible-utils					install
sgml-base					install
sysv-rc						install
sysvinit					install
sysvinit-utils					install
tar						install
task-french					install
task-ssh-server					install
tasksel						install
tasksel-data					install
tcpd						install
telnet						install
texinfo						install
time						install
traceroute					install
tzdata						install
ucf						install
udev						install
usbutils					install
util-linux					install
util-linux-locales				install
vim-common					install
vim-tiny					install
w3m						install
wamerican					install
wfrench						install
wget						install
whiptail					install
whois						install
xauth						install
xkb-data					install
xml-core					install
xz-utils					install
zlib1g:amd64					install
Page last modified on March 25, 2016, at 05:02 PM EST