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&gt;/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)

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...

Plus en détail

tutoriel | installer et configurer varnish avec apache

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/

Plus en détail