Posts Tagged ‘ubuntu’

Autoriser un utilisateur à redémarrer apache ou nginx

Dans le cadre de l’hébergement de sites web, il peut être intéressant de donner la possibilité à l’utilisateur de recharger la configuration ou de redémarrer le serveur web.
Ceci lui permets d’être autonome dans l’ajout ou le changement de ses noms de domaines.

La procédure est relativement simple, voici comment procéder avec Ubuntu pour autoriser par exemple l’utilisateur herve a éxécuter ces commandes.

Connectez vous en root et exécuter la commande suivante :

visudo

Dans le fichier édité rajouter la ligne suivante :

Pour apache :

herve ALL=(ALL) /usr/sbin/service apache2 reload,/usr/sbin/service apache2 restart

Pour nginx :

herve ALL=(ALL) /usr/sbin/service nginx reload,/usr/sbin/service nginx restart

Votre user peut à présent exécuter ces commandes directement depuis son compte sous la forme :

sudo service apache2 restart

Les autres commandes restent bien inaccessibles à l’utilisateur :

Sorry, user test is not allowed to execute '/bin/su'
Pas de commentaires

Serveur Dédiés : Surveillez vos logs avec Logwatch

En complément d’outils de suivi comme munin, il est possible de suivre l’état de votre serveur en analysant ses logs.

Pour cela il existe un outil de reporting très pratique : Logwatch.
Celui-ci va parcourir et analyser les fichiers de log des différents services, et vous enverra un rapport quotidien par courriel.

Pour l’installer c’est très simple :

sudo apt-get install logwatch

Pour le configurer ouvrez le fichier /usr/share/logwatch/default.conf/logwatch.conf

Rechercher la ligne :

MailTo = root

Et remplacer root par votre adresse email.

En conservant les options par défaut vous aurez à présent un email quotidien sur l’état de votre serveur 🙂…

Pas de commentaires

Backup manager : Exclure des fichiers ou des dossiers

Afin de sauvegarder mon serveur dédié j’utilise le script Backup-manager qui fait très bien son rôle de sauvegarde.
( Si vous souhaitez le mettre en place c’est par ici : Sauvegarder serveur dédié )

Cependant j’ai eut récemment des problèmes d’espace disque et je me suis rendu compte que de nombreux fichiers inutiles étaient sauvegardés.
( Fichiers de cache magento et prestashop )

Voici donc comment exclure des données de la sauvegarde.

Ouvrir le fichier de configuration de backup manager

sudo vim /etc/backup-manager.conf

et rechercher la ligne suivante :

export BM_TARBALL_BLACKLIST= ""

Rajouter ensuite les dossiers à exclure de votre sauvegarde, séparés par des espaces

ex :

export BM_TARBALL_BLACKLIST= "/var/www/magentosite/var/ /var/www/magentosite/media/catalog/cache/ /var/www/prestashopsite/cache/"

Sauvegarder votre fichier.
Lors des prochaines sauvegardes ces dossiers seront exclus, ce qui vous permettra de réduire la taille de celles-ci.…

Pas de commentaires

Corriger les arrêts intempestifs de Proftpd

Sur mon serveur dédié qui tourne sous ubuntu 14.04* j’avais depuis longtemps un problème avec le serveur proftpd qui redémarrait de manière intempestive.
Ce qui nécessitait à chaque fois un redémarrage via ssh pour pouvoir à nouveau se connecter.

Après quelques recherches j’ai trouvé que la cause était la rotation des logs.
Celle-ci nécessite l’arrêt et le redémarrage du serveur, et le redémarage ne fonctionnait pas, du coup le service ne fonctionnait plus.

Voici comment faire pour corriger cela :
Editez le fichier : /etc/init.d/proftpd

Remplacer la ligne suivante :

start-stop-daemon --stop --signal $SIGNAL --quiet --pidfile "$PIDFILE"

Par le contenu suivant :

start-stop-daemon --stop --signal $SIGNAL --retry 1 --quiet --pidfile "$PIDFILE"

 

Une fois cette modification effectuée, le problème ne devrait plus survenir 🙂

* Le problème était également présent sur ubuntu 12.04…

Pas de commentaires

Monitorer sites mutualisés avec Nagios

Si vous gérez plusieurs hébergements mutualisé et que vous souhaitez les monitorer facilement depuis votre serveur dédié, voici comment procéder avec Nagios.
Pour l’installation qui est assez complexe je vous laisse consulter l’article suivant qui est très bien réalisé :

http://www.unixmen.com/how-to-install-nagios-4-1-in-ubuntu-15-04/

Une fois l’installation effectuée nous allons créer un dossier « websites » dans « /usr/local/nagios/etc/ » dans lequel nous placerons toutes nos nouvelles configurations.
Pour charger automatiquement ces configurations il faut rajouter la ligne suivante dans le fichier :
/usr/local/nagios/etc/nagios.cfg

cfg_dir=/usr/local/nagios/etc/websites

Voici ensuite un fichier template qui vous servira de configuration pour vos sites

################ 
# Groupe des hotes : ( UN groupe par client )
###############
define hostgroup{
        hostgroup_name  Google
        alias           Google
}
 
################ 
# Définitions des hotes à tester
###############
 
#Modele de verification
define host{
 name google-host ;Changer le nom du host
 use generic-host
 hostgroups  Google ;Prendre le nom du hostgroup defini plus haut
 check_command check_http!
Pas de commentaires

Déplacer les fichiers mysql vers un nouvel emplacement

Par défaut sur les serveurs kimsufi livré par ovh, la partition « / » allouée au système est relativement réduite. ( 20 Go  dans mon cas )
Sur mon serveur cette partition était quasiment pleine, et une grande partie de l’espace était occupée par les fichiers des bases de données.
( dossier /var/lib/mysql/)

Voici donc comment procéder pour déplacer ces fichiers et libérer de l’espace pour votre système.

Nous allons déplacer les fichiers de /var/lib/mysql/ vers /home/mysql/

Pour commencer il faut arrêter mysql

sudo service mysql stop

Nous pouvons ensuite déplacer les fichiers vers le nouvel emplacement ( Cette opération peut être assez longue en fonction du volume de données à transférer)

sudo mv /var/lib/mysql/ /home/mysql/

Puis mettre un lien symbolique de /home/mysql/ vers /var/lib/mysql/

sudo ln -s /home/mysql /var/lib/mysql

Il faut ensuite attribuer les droits du dossier à l’utilisateur mysql

sudo chown mysql:mysql /home/mysql

Il ne vous reste plus qu’a redémarrer msyql

sudo service mysql start

Les fichiers de mysql sont à présent à l’emplacement « home/mysql » et votre partition système retrouve de la place !…

Pas de commentaires

Sécuriser votre serveur dédié : installation de fail2ban

Votre serveur web, comme toutes les machines connectées à internet et soumis en permanence à des tentatives d’intrusions.
Le votre n’échappe n’y échappe sans doute pas…
Pour le constater il vous suffit de consulter le fichier d’authentification

sudo vim /var/log/auth.log

En parcourant son contenu de nombreuses lignes comme sur la capture ci-dessous apparaissent :

Logs authentification

Ces lignes sont les signes de tentative d’intrusions sur votre serveur, via une connexion ssh.

Ces tentatives sont quasiment impossible à éviter, cependant pour limiter au maximum ces désagréments, il est donc conseillé d’installer un outil tel que Fail2ban.
Celui-ci étudie les logs de votre serveur et vous permet de bloquer les utilisateurs qui tentent d’exploiter les failles de votre serveur.
Sa modularité lui permets de s’adapter à l’ensemble des besoins de sécurité de vos serveur.

Pour l’installer il faut exécuter la commande suivante :

sudo apt-get install fail2ban

Une fois fail2ban installé, nous pouvons consulter sa configuration située dans le fichier /etc/fail2bn/jail.conf
Mais, afin de pouvoir conserver les paramètres par défaut nous allons copier ce fichier vers un fichier spécifique :  jail.local via la commande suivante

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Puis consulter le fichier copié

sudo vim /etc/fail2ban/jail.local

Dans ce fichier vous trouverez les configurations des services de base sur vos serveurs : ssh, clients ftps, clients mails …

La durée de bannissement (en secondes )est située sur la ligne suivante, par défaut elle est de 600, mais en général je la passe à 86400 (24H)

# "bantime" is the number of seconds that a host is banned.
Pas de commentaires

Sauvegarder son serveur dédié

Une fois votre serveur installé, il est indispensable de mettre en place une procédure de sauvegarde pour ne pas perdre vos données.
L’offre Kimsufi ne comprenant pas d’espace de backup, je vais détailler comment sauvegarder les données sur un espace ftp.
( Dans mon cas j’utilise une offre mutualisé perso d’ovh, qui comprends 100 go d’espace ce qui est largement suffisant )

Installation de backup-manager

Pour réaliser les sauvegardes je vais utiliser backup-manager, qui permets de sauvegarder les contenus des dossiers de votre choix, mais également le contenu de vos bases de données.

Pour commencer installer backup-manager

sudo apt-get install backup-manager

L’installation vous demande ensuite dans quel dossier seront générées les sauvegardes.
Par défaut « var/archives/ »

backup-manager-1

Si l’espace disque de votre serveur vous le permets conserver cet emplacement, sinon indiquez un emplacement sur une partition avec suffisamment de place

Préciser ensuite les dossiers que vous souhaitez sauvegarder

backup-manager-2

Pour ma part j’ai sauvegardé les fichiers de configuration système ( /etc/ ), les contenus des utilisateurs ( /home/) et les bases mysql ( /var/lib/mysql/ )

L’installation de backup-manager est terminée, nous allons à présent configurer l’export de ces sauvegardes vers un ftp distant

Configuration des sauvegardes

Entrer la commande

sudo vim /etc/backup-manager.conf

Il va falloir adapter la configuration de backup manager pour la faire correspondre à vos besoins.…

Pas de commentaires

Mise en place d’un accès webdav

Nous allons voir dans cet article comment mettre en place un espace Webdav sur un serveur dédié. (ubuntu 14.04 )
C’est à dire un espace de stockage sur votre serveur, que vous pouvez utiliser comme un disque dur réseau.

Nous verrons ensuite comment y accéder depuis notre poste windows. ( window 7 )

Ce tutoriel nécessite au préalable d’avoir installé le serveur web apache ( voir tutoriel ici )
Nous allons également partir du postulat que l’espace webdav sera accessible via l’url suivante : webdav.example.com

Création du dossier webdav

Pour commencer créer un dossier « webdav » dans le chemin /home/user/

sudo mkdir webdav

Puis donner les droits pour ce dossier à l’utilisateur apache

sudo chown www-data /webdav

Mise en place du sous-domaine

Création d’un fichier webdav.conf dans /etc/apache2/sites-available/

sudo vim /etc/apache2/sites-available/webdav.conf

copier le code suivant :

<VirtualHost *:80>
 
ServerName webdav.example.com
 
ServerAdmin [email protected]
DocumentRoot /home/user/webdav/
 
<Directory "/home/user/webdav/">
Options Indexes
DAV On
AuthType Basic
# New directive needed in Apache 2.4.3:
Require all granted
</Directory>
</VirtualHost>

Ajout du fichier de configuration à apache et relancement de la configuration

sudo a2ensite example.com.conf
sudo service apache2 reload

Activation du mode dav apache

Exécuter la commande suivante

sudo a2enmod dav
sudo a2enmod dav_fs

Puis redémarrer redémarrer apache

sudo service apache2 restart

La configuration basique est à présent terminée sur le serveur.…

Pas de commentaires

Ubuntu Server 14.04 « Trusty Tahr » LTS : installer subversion

L’installation de subversion sur ubuntu est relativement simple il suffit d’exécuter la commande suivante :

sudo apt-get install subversion

Vous pouvez ensuite créer les dépots svn dans les emplacements de votre choix
Par exemple je vais créer un dépot « test » dans le dossier home/user/svn/

svnadmin create /home/user/svn/test/

Pour faire un checkout depuis votre ordinateur local vous pouvez donc saisir l’adresse sous la forme

svn+ssh://user@ip-serveur/home/user/svn/test

Note : Cette installation est relativement basique, je reviendrais plus en détails sur les procédures d’authentifications disponibles.…

1 commentaire


Compte Github