tutoriel - Journal d`un admin Linux
Transcription
tutoriel - Journal d`un admin Linux
tutoriel | configurer apache installer et varnish avec Article publiée le 23 Octobre 2013 Ayant beaucoup travaillé dans sur des environnements Web (LAMP) je me suis vite aperçu que soulager le plus possible les serveurs Web était ma principal préoccupation. J’entends de plus en plus parler d’un projet du nom de Varnish qui est un reverse Proxy HTTP. Grâce à ça vous pourrez faire de la mise en cache pour soulager vos serveurs Web. Voici un petit schéma explicatif: Ce qui m’a le plus attiré dans cette outil est sa simplicité d’installation et son efficacité. Les gens qui suivent mon blog ou me connaissent savent que je suis partisan des solution les plus simples à mettre en place. Ci-dessous un tuto sur l’installation et la configuration de Varnish. Votre environnement Lamp est déjà installé et configuré. Si vous avez besoin d’un tutoriel sur l’installation d’un tel environnement rendez vous ici: http://journaldunadminlinux.fr/tutoriel-installation-dun-envir onnement-lamp-apache-php-mysql/ Installation sur une Debian/Ubuntu Server: – Installez Varnish apt-get install varnish – Modifiez le port d’écoute de votre service apache vi /etc/apache2/ports.conf (Et remplacez la ligne NameVirtualHost *:80 et Listen 80 par NameVirtualHost *:8080 et Listen 8080) – Editez le fichier /etc/varnish/default.vcl et checker: backend default { .host = « 127.0.0.1 »; .port = « 8080 »; } – Editez le fichier de configuration /etc/default/varnish puis modifiez les lignes suivantes: DAEMON_OPTS= »-a :6081 \ -T localhost:6082 \ -f /etc/varnish/default.vcl \ -u varnish -g varnish \ -S /etc/varnish/secret \ -s file,/var/lib/varnish/varnish_storage.bin,1G » par DAEMON_OPTS= »-a :80 \ -T localhost:8000 \ -f /etc/varnish/default.vcl \ -u varnish -g varnish \ -S /etc/varnish/secret \ -s file,/var/lib/varnish/varnish_storage.bin,1G » (Situé au niveau du commentaire « Alternative 2 ») puis modifiez VARNISH_LISTEN_PORT=6081 par VARNISH_LISTEN_PORT=80 et VARNISH_ADMIN_LISTEN_PORT=6082 par VARNISH_ADMIN_LISTEN_PORT=8000 Installation sur une Centos/RedHat: – Installez Varnish yum install varnish – Modifiez le port d’écoute de votre service apache vi /etc/httpd/conf/httpd.conf (Et remplacez la ligne Listen 80 par Listen 8080) – Éditez le fichier /etc/varnish/default.vcl et checker: backend default { .host = « 127.0.0.1 »; .port = « 8080 »; } – Éditez le fichier de configuration /etc/sysconfig/varnish puis modifiez les lignes suivantes: DAEMON_OPTS= »-a :6081 \ -T localhost:6082 \ -f /etc/varnish/default.vcl \ -u varnish -g varnish \ -S /etc/varnish/secret \ -s file,/var/lib/varnish/varnish_storage.bin,1G » par DAEMON_OPTS= »-a :80 \ -T localhost:8000 \ -f /etc/varnish/default.vcl \ -u varnish -g varnish \ -S /etc/varnish/secret \ -s file,/var/lib/varnish/varnish_storage.bin,1G » (Situé au niveau du commentaire « Alternative 2 ») puis modifiez VARNISH_LISTEN_PORT=6081 par VARNISH_LISTEN_PORT=80 et VARNISH_ADMIN_LISTEN_PORT=6082 par VARNISH_ADMIN_LISTEN_PORT=8000 Enjoy Créer une interface virtuelle sous Debian et CentOS Article publiée le 22 Octobre 2013 Ce petit article vous explique la marche à suivre pour créer des interfaces virtuelles sous Linux. L’intérêt de cette procédure réside dans le fait que vous pouvez ajouter plusieurs IP sur une même interface. Sous RedHat/Centos: – Rendez vous dans le répertoire /etc/sysconfig/networkscripts cd /etc/sysconfig/network-scripts – Créez un nouveau fichier de configuration d’interface touch eth0:1 Le « 0 » avant le « : » correspond au numéro de l’interface physique sur laquelle votre interface virtuel va passer – Editez votre fichier de configuration et rajoutez les lignes suivantes GATEWAY=<adresse de votre passerelle> TYPE=Ethernet DEVICE=<nom de votre interface réseau> BOOTPROTO=none NETMASK=<votre masque de sous réseau> IPADDR=<votre adresse IP> USERCTL=no IPV6INIT=no ONPARENT=yes Exemple: – Activer votre interface réseau: ifup <nom de votre interface> Si vous obtenez ce message « RTNETLINK answers: File exists »: Redémarrez le service network service network restart (C’est ce que j’ai fais quand j’ai obtenus cette erreur) Sous Debian/Ubuntu Server – Editez le fichier /etc/network/interface – Rajoutez votre nouvelle interface virtuelle: auto eth0:1 iface eth0:1 inet static address <adresse ip> netmask <masque de sous réseau> gateway <votre passerelle> Le « 0 » avant le « : » correspond au numéro de l’interface physique sur laquelle votre interface virtuel va passer – Montez votre interface ifup <nom de votre interface> Réduire la taille du Swap Article publiée le 21 Octobre 2013 Il peut arriver qu’un jour vous vous soyez enflammer sur la taille du swap lors de la mise en place d’une de vos machine Ci dessous une petite astuce pour réduire la taille de celle ci (toutes ces opérations doivent-être effectuées en tant que root): – Tous d’abord checkez la taille de votre swap: free -m – Ensuite afficher la liste de vos lv pour avoir le nom de votre lv swap: lvdisplay – Désactiver votre swap (en vous assurant que votre machine ne soit pas en train de swaper): swapoff -a – Réduisez la taille du lv de votre swap: lvreduce -L <la nouvelle taille de votre swap> <le chemin de votre LV> Exemple: – Récréez votre swap mkswap <chemin du LV de votre Swap> – Et enfin réactivez votre Swap swapon -a – Checkez la nouvelle taille de votre swap free -m Afficher la liste des processus qui utilisent le SWAP Article publiée le 9 Octobre 2013 Il y a quelque jour j’ai eu un gros problème de SWAP sur une de mes machines Linux. Mon collègue a trouvé un script très utile qui permet d’afficher tous les processus utilisant le SWAP: #!/bin/bash # Get current swap usage for all running processes # Usage: ./getswap.sh | sort -n -k 5 # Erik Ljungstrom 27/05/2011 SUM=0 OVERALL=0 for DIR in `find /proc/ -maxdepth 1 -type d | egrep "^/proc/[0-9]"` ; do PID=`echo $DIR | cut -d / -f 3` PROGNAME=`ps -p $PID -o comm --no-headers` PROGPATH=`cat /proc/$PID/cmdline` for SWAP in `grep Swap $DIR/smaps 2>/dev/null| awk '{ print $2 }'` do let SUM=$SUM+$SWAP done echo "PID=$PID - Swap used: $SUM - ($PROGNAME - $PROGPATH)" let OVERALL=$OVERALL+$SUM SUM=0 done echo "Overall swap used: $OVERALL" Si vous voulez connaitre les processus qui SWAP le plus: ./getswap.sh | sort -n -k 5 Exemple de résultat du scripts.: Enjoy Ce script ne fonctionne que pour les distributions RedHat/Centos/Fedora. Une petite modif sera certainement nécessaire si vous êtes utilisateurs d’une autre distrib Activer ou désactiver SELinux Article publiée le 4 Octobre 2013 SELinux est un module permettant une gestion très fine de la sécurité de votre système d’exploitation. Il est installé et activé par défaut sur les distributions de la famille de RedHat. Ce module peut très vite vous causer des problèmes. Je conseille à tous de le désactiver dés que vous installer un nouveau serveur RedHat/Centos/etc… Pour cela éditez le fichier /etc/selinux/config vi /etc/selinux/config Puis modifier le champs « SELINUX=disabled » « SELINUX=enforcing » par Tutoriel | Installation d’un environnement LAMP (Apache, PHP, Mysql) Article publiée le 4 Octobre 2013 Mise à jour le 5 Octobre 2013 En parcourant une fois de plus les forums je me suis aperçus que beaucoup d’admins débutants avaient des difficultés pour installer un environnement LAMP (Apache, PHP, Mysql). Ci-dessous un tutoriel complet sur l’installation environnement LAMP avec quelques astuces en plus! d’un Ce tutoriel est adapté aussi bien pour les utilisateurs de Centos/RedHat que pour les utilisateurs de Debian/Ubuntu Server 1) Installation Apache Sous Debian: apt-get install apache2 Sous Redhat/Centos: yum install httpd service httpd start Attention sous RedHat/Centos, n’oubliez pas de désactiver le firewall ou de le paramétrer en conséquence. (service iptables stop && chkconfig iptables off) Vérifiez que les services apaches fonctionnement correctement en vous connectant via votre navigateur ) à l’ip ou le dns de votre machine. Cette page devrait être affichée (pour les utilisateurs de Debian): Pour les utilisateurs de Centos/RedHat: 2) Installation de PHP Sous Debian apt-get install php5 php5-mysql Sous Centos/RedHat: yum install php* Redémarrez votre service apache: /etc/init.d/apache2 restart (Sous Debian) service httpd restart (Sous RedHat) Sous debian j’ai déjà remarqué que le module php d’apache pouvait ne pas s’activer automatiquement ce qui fait que vos pages PHP ne seront pas interprétées! Pour résoudre ce problème: a2enmod php && /etc/init.d/apache2 restart 3) Installation de Mysql Sous Debian: apt-get install mysql-server Une interface peut apparaître afin de vous demander d’entrer le mot de passe root de Mysql Sous Redhat/Centos yum install mysql-server Démarrer le service Mysql: service mysqld start Petite parenthèse: Certain voudrons certainement changer l’emplacement tablespace (la ou sont stocké vos datas), pour cela: du – Créez le répertoire qui contiendra les tablespace de Mysql : mkdir <votre repertoire> – Changez les droits de ce répertoire chown mysql:mysql <repertoire> – Modifiez le fichier my.cnf en modifiant « datadir=/var/lib/mysql » par votre nouveau répertoire. (Ce fichier se situe dans le répertoire /etc/ Centos/RedHat et dans /etc/mysql sous Debian). sous Pour initialiser le mot de passe root de Mysql (ce que je recommande fortement pour des raisons évidentes de sécurité) On vérifie: 3) PHPMyadmin Si vous n’êtes pas très bon en base de donnée ou que vous avez tout simplement un client allergique à la ligne de commande je vous suggère d’installer PHPMyAdmin. Pour ceux qui ne connaissent pas PHPMyadmin est une interface Web d’administration de Mysql. Pour l’installer sous debian: apt-get install phpmyadmin Ce message devrait apparaître Avec la barre d’espace sélectionnez apache2 puis sélectionnez OK Sélectionnez « oui » et valider avec la touche entrer Entrez le mot de passe root de mysql puis validez. Sous RedHat/Centos ou installation manuelle: Téléchargez phpmyadmin depuis site: http://www.phpmyadmin.net/home_page/index.php le – Dezippez l’archive: unzip -e <archive> – Créez un répertoire dans le répertoire web par défaut d’apache (/var/www ou /var/www/html suivant les distributions) mkdir <répertoire web d’apache>/phpmyadmin – Copiez tout le contenu dans ce répertoire Se connecter à PHPMyAdmin Une fois l’installation terminée connectez vous via votre navigateur à l’url: <IP ou DNS de votre serveur>/phpmyadmin Connectez vous en indiquant les identifiant root de Mysql Petite aperçu de phpmyadmin: 4) Quelque petits tuyaux! Cette partie de ce tutoriel donne des réponses en vrac à des question récurrentes que je retrouve sur la plupart des forums: Comment modifier le port d’écoute d’apache? Sous RedHat Centos: modifiez le fichier /etc/httpd/conf/httpd.conf puis cherchez « Listen 80 » et modifiez la valeur 80 par le port de votre choix. Sous Debian/Ubuntu: modifiez le fichier /etc/apache2/ports.conf puis cherchez « Listen 80 » et modifiez la valeur 80 par le port de votre choix. Exemple de virtualhost: <VirtualHost 1.1.1.3:80> ServerName monsite.com ServerAdmin [email protected] DocumentRoot /monsite DirectoryIndex index.php index.html index.htm ErrorLog /var/log/apache2/monsitelog CustomLog /var/log/apache2/monsite.log combined <Directory /home/monsite/monsite/> Options -Indexes AllowOverride All Order allow,deny # Restriction par sous réseau pour plus de securité! Allow from 192.168.0.0/24 </Directory> php_value error_log /home/site/log/php/monsite.log php_value warning_log /home/site/log/monsite.log php_value log_errors On php_value register_globals Off RewriteEngine On RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* – [F] </VirtualHost> Exemple de virtualhost avec SSL: <VirtualHost 1.1.2..2:443> ServerName monsite.com ServerAdmin [email protected] SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem DocumentRoot /home/monsite/site DirectoryIndex index.php index.html LogLevel info ErrorLog /var/log/apache2/error.log CustomLog /var/log/apache2/access.log combined <Directory /home/monsite/site/> ErrorDocument 404 /index.php?currentPage=pageUnfound Options FollowSymLinks Indexes MultiViews AllowOverride All Order allow,deny allow from all </Directory> php_value error_log /home/monsite/log/php/error.php.log php_value warning_log /home/monsite/log/php/warning.php.log php_value log_errors On php_value register_globals Off ServerSignature On Options FollowSymLinks </VirtualHost> Si vous avez d’autres questions n’hésitez pas à me les envoyer via mon mail dans la rubrique « me contacter » ou commentant cette article. en
Documents pareils
un environnement LAMP (Apache, PHP, Mysql)
Si vous n’êtes pas très bon en base de donnée ou que vous avez
tout simplement un client allergique à la ligne de commande je
vous suggère d’installer PHPMyAdmin.
Pour ceux qui ne connaissent pas P...
tutoriel | installer et configurer varnish avec apache
Si vous avez besoin d’un tutoriel sur l’installation d’un tel
environnement rendez vous ici:
http://journaldunadminlinux.fr/tutoriel-installation-dun-envir
onnement-lamp-apache-php-mysql/