Outils pour utilisateurs

Outils du site


linux:memo_admin

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
linux:memo_admin [02/08/2007 18:53] – ajouts paquets daniellinux:memo_admin [24/08/2018 16:41] (Version actuelle) – [Réparations] daniel
Ligne 1: Ligne 1:
 ====== Administration serveur ====== ====== Administration serveur ======
 +
 +
  
 ===== Quelques procedures d'install ===== ===== Quelques procedures d'install =====
-[[tomcat|tomcat_install]]+  * [[tomcat|tomcat_install]] 
 +  * [[qmail|postfix]]
  
 ===== Quelques opérations classiques ===== ===== Quelques opérations classiques =====
Ligne 39: Ligne 42:
  
 Les fichier de conf sont tous dans ''/etc/pure-ftpd/conf/''. Pour les méthodes d'authentification, il s'agit de liens de ''/etc/pure-ftpd/auth/'' vers certains /etc/pure-ftpd/conf/fichiers. Chaque fichier du rep de conf contient une valeur et a le nom du paramètre. pure-ftpd-wrapper (fournit par debian) lit ces fichiers de conf pour lancer pure-ftpd avec les bons params. Les fichier de conf sont tous dans ''/etc/pure-ftpd/conf/''. Pour les méthodes d'authentification, il s'agit de liens de ''/etc/pure-ftpd/auth/'' vers certains /etc/pure-ftpd/conf/fichiers. Chaque fichier du rep de conf contient une valeur et a le nom du paramètre. pure-ftpd-wrapper (fournit par debian) lit ces fichiers de conf pour lancer pure-ftpd avec les bons params.
 +
 +
 +===== Apache =====
 +
 +==== Auth by group ====
 +Pour gérer les accès par groupe, dans la conf du vhost
 +<code>
 +<Directory /path/2/dir/>
 +  AuthType Basic
 +  AuthName "Le libellé de la demande d'authentification"
 +  AuthUserFile /path/2/fichier.users.passwd
 +  AuthGroupFile /path/2/fichier.groups.users
 +  Require group group1 group2
 +</Directory>
 +</code>
 +Le fichier /path/2/fichier.users.passwd se remplit avec le classique ''htpasswd /path/2/fichier.users.passwd utilisateur_a_ajouter'', et le fichier /path/2/fichier.groups.users a la syntaxe
 +<code>
 +group1: user1 user2
 +group2: user1 user3
 +# etc.
 +</code>
  
 ===== ssh ===== ===== ssh =====
Ligne 51: Ligne 75:
     * sous linux, ssh-keygen met automatiquement (lors de la génération) la clé privée dans $HOME/.ssh/id_dsa et la clé publique dans $HOME/.ssh/id_dsa.pub (id_rsa si on utilise rsa au lieu de dsa pour crypter).     * sous linux, ssh-keygen met automatiquement (lors de la génération) la clé privée dans $HOME/.ssh/id_dsa et la clé publique dans $HOME/.ssh/id_dsa.pub (id_rsa si on utilise rsa au lieu de dsa pour crypter).
     * sous windows, dans putty, créer une session où on précise session/host_name, (cocher ssh), Connection/auto-login username, Connection/SSH/Preferred SSH protocol version => 2, Connection/SSH/Auth/Private key file for authentification ; et enregiostrer cette session.     * sous windows, dans putty, créer une session où on précise session/host_name, (cocher ssh), Connection/auto-login username, Connection/SSH/Preferred SSH protocol version => 2, Connection/SSH/Auth/Private key file for authentification ; et enregiostrer cette session.
 +
  
 ===== LVM ===== ===== LVM =====
 LVM (pour Logical Volume Manager) permet le resize de partition sans les effacer, (permet aussi d'avoir une même partition sur plusieurs disques physiques, de faire des snapshots de partition à chaud, etc...) LVM (pour Logical Volume Manager) permet le resize de partition sans les effacer, (permet aussi d'avoir une même partition sur plusieurs disques physiques, de faire des snapshots de partition à chaud, etc...)
   * lvm howto http://www.ibiblio.org/pub/Linux/docs/HOWTO/translations/fr/html-1page/LVM-HOWTO.html   * lvm howto http://www.ibiblio.org/pub/Linux/docs/HOWTO/translations/fr/html-1page/LVM-HOWTO.html
-  * http://lea-linux.org/cached/index/Leapro-pro_sys-lvm.html+  * http://www.lea-linux.org/documentations/index.php/Leapro-pro_sys-lvm
   * http://sluce.developpez.com/lvm/#L4.1.1   * http://sluce.developpez.com/lvm/#L4.1.1
 +
 +Pour manipuler les partitions, utiliser parted en GiB et le laisser aligner (en octets on doit tomber sur des multiples de 2MiB, donc commencer la partition 1 à 2097152B, soit 512x4096 B = 2 MiB), pour préciser que la partition n°2 sera en lvm, c'est ''(parted) set 2 lvm on''
  
 ==== creation ==== ==== creation ====
Ligne 79: Ligne 106:
  
 ==== resize ==== ==== resize ====
 +
 +=== agrandissement ===
   - démontage (ici ''umount /dev/grosdisk/lv1'', utiliser -l si ça veut pas pour cause de "resource busy").   - démontage (ici ''umount /dev/grosdisk/lv1'', utiliser -l si ça veut pas pour cause de "resource busy").
   - ''lvextend -L+42G /dev/grosdisk/lv1'' (ajoute 42Go)   - ''lvextend -L+42G /dev/grosdisk/lv1'' (ajoute 42Go)
 +  - ''lvextend -l +300 /dev/grosdisk/lv1'' (ajoute 300 PE, ''vgdisplay'' pour savoir combien il en reste de dispo)
   - ''e2fsck -f /dev/grosdisk/lv1'' pour vérifier le filesystem   - ''e2fsck -f /dev/grosdisk/lv1'' pour vérifier le filesystem
   - ''resize2fs /dev/grosdisk/lv1'' pour resizer le filesystem (à la taille de la partition si pas de taille précisée)   - ''resize2fs /dev/grosdisk/lv1'' pour resizer le filesystem (à la taille de la partition si pas de taille précisée)
   - et on remonte ''mount /dev/grosdisk/lv1''.   - et on remonte ''mount /dev/grosdisk/lv1''.
  
 +
 +=== réduction ===
 +  - démontage (ici ''umount /dev/grosdisk/lv1'', utiliser -l si ça veut pas pour cause de "resource busy").
 +  - ''e2fsck -f /dev/grosdisk/lv1'' pour vérifier le filesystem
 +  - ''resize2fs /dev/grosdisk/lv1 50G'' pour resizer le filesystem à 50Go
 +  - ''lvreduce -L 50G /dev/grosdisk/lv1'' (fixe à 50Go)
 +  - et on remonte ''mount /dev/grosdisk/lv1''.
 +
 +==== Modifications ====
 +Pour modifier un LV (activer ou pas le mirror par ex), c'est lvconvert.
 +
 +**Attention**, pour avoir un mirror (raid1 sur au moins 2 PV donc), il faut au moins 3 PV (le 3e pour le log), sinon il répond qu'il y a pas assez de place (pour mettre son log, mais vu le message on comprend pas pourquoi il dit ça).
 +
 +exemples
 +<code bash>
 +# Passer backup en raid1, on a crée 2 partition avec fdisk, un sdb3 de 10Go et un sdb4 du reste
 +pvcreate /dev/sdb3
 +pvcreate /dev/sdb4
 +# on les ajoute au vg (vg2 ici)
 +vgextend vg2 /dev/sdb3
 +vgextend vg2 /dev/sdb4
 +# et on peut passer notre lv "backup" en mirroir (attention, ça prend qq heures)
 +lvconvert -m1 /dev/vg2/backup
 +# si vraiment on peut pas avoir un 3e PV, on peut s'en sortir avec un log en RAM, mais ça demandera à lvm de le reconstruire à chaque boot), ça donnerait
 +lvconvert -m1 --mirrorlog core /dev/vg2/backup
 +
 +# Pour supprimer le mirroir
 +lvconvert -m0 /dev/vg2/backup
 +# pour passer le log du disque en RAM (pour récupérer un PV par ex)
 +lvconvert --mirrorlog core /dev/vg2/backup
 +# et pour le remettre sur le disque
 +lvconvert --mirrorlog disk /dev/vg2/backup
 +
 +# pour passer de linear en stripped, pour faire du raid0 et doubler les perfs disques (au prix de la sécurité des datas)
 +lvconvert --stripes 2 --stripesize 256 /dev/vg2/video
 +</code>
 +
 +Cf qq méthodes pour déplacer un lv sur https://unix.stackexchange.com/questions/34820/move-a-logical-volume-from-one-volume-group-to-another
 +
 +==== Réparations ====
 +En cas de disque défaillant dans un vg avec des volumes en mirroir, on débranche physiquement le disque malade (ça évite à lvm de chercher à retrouver ses petits et de figer la machine et achever le disque), et on ajoute un nouveau disque avec une partition lvm assez grande pour récupérer les volumes en mirroir
 +<code bash>
 +# pvcreate pour la nouvelle partition (/dev/sdxN ici), puis on l'ajoute au vg 
 +vgextend vg /dev/sdxN
 +# On active les lv qui peuvent l’être dans notre vg cassé (il manque un disque), ça va activer les lv en mirroir et ceux qui n'étaient que sur le bon disque
 +vgchange -a y --partial vg
 +# et on repare le lv miroir1
 +lvconvert --repair /dev/vg/miroir1
 +</code>
 +
 +Pour déplacer tous les lv d'un pv (/dev/sdxA) vers un autre (/dev/sdxB), pour retirer le A du vg, c'est
 +  pvmove /dev/sdxA /dev/sdxB
 +et pour le retirer c'est
 +  vgreduce vg /dev/sdxA
  
 ===== Paquets utiles ===== ===== Paquets utiles =====
Ligne 90: Ligne 174:
 <code bash> <code bash>
 # serveur apache / php5 / mysql5 # serveur apache / php5 / mysql5
-mysql-server apache2 libapache2-mod-auth-plain openssl php5 +mysql-server openssl 
-php5-cli php5-curl php5-gd php5-imagick php5-mcrypt php5-ming php5-mysql php5-sqlite3 php5-tidy php5-xsl +apache2 libapache2-mod-auth-plain  
 +php5 php5-cli php5-curl php5-gd php5-imagick php5-mcrypt php5-ming php5-mysql php5-sqlite3 php5-tidy php5-xsl 
  
 # autres services # autres services
 pure-ftpd nfs-user-server libapache2-svn nfs-user-server pure-ftpd nfs-user-server libapache2-svn nfs-user-server
  
-# utilitaires  +# utilitaires de base 
-iftop findutils gcc hdparm htop lftp logrotate lynx make munin nfs-common ntpdate perl phpmyadmin python rsnapshot rsync ssmtp subversion tethereal whois zip apt-file+apt-file iftop joe findutils gcc hdparm htop lftp logrotate lynx make ntpdate perl python rsync screen sudo tethereal unzip whois zip 
 +# autres applis utiles 
 +munin phpmyadmin rsnapshot subversion 
 +# pour rsnapshot  
 +perl -MCPAN -e 'install qw(Lchown)'
  
 # pour un smtp minimal # pour un smtp minimal
Ligne 107: Ligne 196:
 # utilitaires annexes # utilitaires annexes
 imagemagick libfreetype6 lame imagemagick libfreetype6 lame
-# et pour les swftools, il faut aussi (enfin, pas vraiment car il refuse de compile avec la lbc6 de etch)+# et pour les swftools, il faut aussi (enfin, pas vraiment car il refuse de compiler avec la lbc6 de etch)
 libfreetype6-dev libungif-bin t1lib-bin libjpeg62-dev libt1-dev libungif4-dev libfreetype6-dev libungif-bin t1lib-bin libjpeg62-dev libt1-dev libungif4-dev
  
Ligne 113: Ligne 202:
 installwatch checkinstall installwatch checkinstall
 </code> </code>
 +
 +
 +
 +
 +
 +
 +===== Install basique =====
 +
 +Sur un nouveau sd, install de base
 +<code bash>
 +# à la 1re connexion root, on change le passwd et on installe sa clé ssh
 +# màj paquet
 +aptitude update && aptitude upgrade && aptitude dist-upgrade
 +# je commence par mon éditeur favori (remplacer joe par vim ou emacs pour les fans d'autres éditeurs)
 +aptitude install joe
 +# que l'on configure (-option en début de ligne pour l'activer, --option pour désactiver)
 +joe /etc/joe/joerc
 +# cf http://ll.lairdutemps.org/linux/aliases#joe
 +# on passe au .bashrc avec .bash_aliases et .bash_prompt
 +# on configure ses locales (en-GB.utf8 par défaut, en activant quand même fr.utf8 et iso-8859-1 pour en et fr)
 +dpkg-reconfigure locales
 +# on s'occupe de son hostname
 +echo #myhost.domaine.tld# > /etc/hostname
 +# scripts persos :
 +mkdir /home/bin
 +# un script pour envoyer un mail au reboot
 +joe /home/bin/mailAfterBoot.sh
 +chmod +x /home/bin/mailAfterBoot.sh
 +# que l'on ajoute au rc.local
 +joe /etc/rc.local
 +# on peut passer à l'install des paquets "basiques"
 +aptitude install apt-build apt-file iftop joe findutils gcc hdparm htop lftp logrotate lynx make ntpdate perl python rsync screen sudo tshark unzip whois zip
 +</code>
 +
 +Ensuite, reste à installer les services voulus...
 +
 +===== Réseau =====
 +Cf http://www.cyberciti.biz/tips/linux-investigate-sockets-network-connections.html pour les commandes ss (remplaçant de netstat), avec aussi les équivalences de https://dougvitale.wordpress.com/2011/12/21/deprecated-linux-networking-commands-and-their-replacements/
 +
linux/memo_admin.1186073610.txt.gz · Dernière modification : 05/10/2007 10:33 (modification externe)