Installation de la stack elastic

La stack elastic permet d’indexer des informations à partir de différentes sources comme fichiers log, base de données mysql, mssql, oracle… Et de les présenter sous forme de graphique.

L’installation a été réalisé sur un serveur Ubuntu 16.04 64bits LTS. Les commandes ci-après ont été exécuté avec l’utilisateur root.

Récupération des mises à jour et outils utiles

su root
apt udpate && apt -y upgrade
apt install apt-transport-https software-properties-common wget

Installation de java 8

add-apt-repository ppa:webupd8team/java
apt update
apt install oracle-java8-installer

Vérification de la version de java

java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

Installation d’elastic search

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
apt update
apt install elasticsearch

Configuration d’elastic search

Modifiez le fichier de configuration

nano /etc/elasticsearch/elasticsearch.yml

et ajoutez la ligne ci-dessous

network.host: localhost

Redémarrez le service

systemctl restart elasticsearch

Démarrage du service au boot de la machine

systemctl enable elasticsearch

Installation de kibana

apt install kibana

Configuration de kibana

Modifiez le fichier de configuration

nano /etc/kibana/kibana.yml

et ajoutez la ligne ci-dessous

server.host: "localhost"

Redémarrez le service

systemctl restart kibana

Démarrage du service au boot de la machine

systemctl enable kibana

Installation et configuration du reverse proxy

apt-get install apache2

Configuration du virtual host pour l’accès à kibana

Créez le fichier

nano /etc/apache2/sites-available/kibana.mondomaine.fr.conf

Ajoutez les lignes ci-dessous en modifiant les informations selon votre nom de domaine

<VirtualHost *:80>
    ServerName kibana.mondomaine.fr
    ProxyPass / http://localhost:5601/
    ProxyPassReverse / http://localhost:5601/
    ErrorLog /var/log/apache2/kibana.mondomaine.fr_error.log
    CustomLog /var/log/apache2/kibana.mondomaine.fr_access.log combined
</VirtualHost>

Exécutez les commandes suivantes

a2dissite 000-default.conf
a2ensite kibana.mondomaine.fr.conf
a2enmod ssl
a2enmod proxy
a2enmod proxy_http
service apache2 restart

Installation de logstash 

apt install logstash

Configuration de logstash

systemctl enable logstash
systemctl start logstash

A ce stage votre plateforme est opérationnelle, vous pouvez ajouter des plugins pour logstash qui vont vous permettre de récupérer des informations dans des bases de données. (à voir dans les autres tutos)

Vous pouvez aussi ajouter une authentification basic à l’aide d’apache pour limiter l’accés à kibana.

Apache : désactiver le mod-security

Le mod-security pour apache est très intéressant, c’est un firewall pour application web, il peut bloquer l’accès en cas d’en-têtes incomplètes, d’injection sql, et tout autre type d’attaques. Par contre pour certaines applications, ou pour faire des tests, on a besoin de le désactiver. Il existe plusieurs façons, on peut désactiver le module :

a2dismod mod-security
/etc/init.d/apache2 restart

Cette façon est simple mais si vous avez plusieurs sites, les autres ne seront plus protégés.

Une autre solution consiste à désactiver le mod-security pour un ou plusieurs virtual host pour cela, il suffit d’ajouter les lignes ci-dessous dans chaque virtual host :

<location "/" >
 SecRuleEngine Off
 </location>

Puis recharger la configuration du serveur apache.

Vous pouvez aussi ne désactiver que les règles qui posent soucis mais aussi que les appliquer dans certains virtual host, pour cela il faut ajouter dans un virtual host la directive ci-dessous :

SecRuleRemoveById 960011

Vous pouvez en mettre autant que vous voulez , le nombre qui suit la directive correspond à l’id de la règle à désactiver. Vous pourrez le trouver dans vos fichiers logs.

Installation d’Apache PHP 5 MySQL 5

Tout le monde a eu besoin un jour d’installer un serveur web pour stocker un blog, une galerie photo ou autres choses.

En associant le serveur web apache, le langage PHP et le serveur de base de données, vous aurez tout ce qu’il vous faut pour débuter.

Installation d’apache

#apt-get install apache2

Après l’installation, il est de suite opérationnel. Vous pouvez le tester en ouvrant un navigateur et en allant à l’adresse http://(ip de votre serveur). Si tout va bien, vous verrez apparaître une page qui affiche « It works ». Si ca ne fonctionne pas vous pouvez essayer de relancer le daemon.

#/etc/init.d/apache2 restart

Installation de php 5

#apt-get install php5 php5-common php5-gd php5-cli php5-mysql php5-mhash php5-mcrypt

Après l’installation, il faudra redémarrer le daemon d’apache (avec la commande données plus haut)

Comment tester ?

Vous pour mettre un fichier index.php dans le dossier /var/www/

Dans ce fichier vous insérez le code ci-dessous

<?php phpinfo(); ?>

Avec votre navigateur, vous allez à l’adresse http://(ip de votre serveur)/index.php. Si ca fonctionne, vous verrez un page avec toutes les informations concernant la configuration de php.

Je détaillerai dans d’autres articles la configuration de php. (affaire à suivre)

Installation de MySQL 5

#apt-get install mysql-server

L’assistant de l’installation vous demandera quelques informations qui ne sont pas compliquées à renseigner. Par contre, il faudra bien mémoriser le mot de passe root de la base de données sinon vous ne pourrez pas vous y connecter.

Pour administrer la base de données, il est possible d’installer phpmyadmin.

#apt-get install phpmyadmin

Il se peut que vous ayez à redémarrer le daemon d’apache (même commande que plus haut).

Pour gérer la base de données, vous pouvez vous rendre sur http://(adresse ip de votre serveur)/phpmyadmin

Si tout fonctionne bien vous allez arriver sur une page d’authentification, où vous allez pouvoir renseigner le login (root) et mot de passe (celui que vous avez saisi lors de l’installation de mysql).

Installation Apache & PHP & MySQL (Ubuntu/Debian)

Pour installer le célèbre serveur web apache sur debian ou ubuntu, c’est très simple.

On commence à mettre à jour la liste des paquets afin d’avoir la dernière version.

$sudo apt-get update

Installation d’Apache :

$sudo apt-get install libapr1 apache2 apache2.2-common apache2-utils apache2-mpm-worker

Installation de PHP5

$sudo apt-get install php5-common php5 php5-gd libapache2-mod-php5 php5-mysql

Installation de MySQL 5

$sudo apt-get install mysql-server

Installation de PhpMyAdmin (pour la gestion de mysql)

$sudo apt-get install phpmyadmin

Par défaut, les fichiers du site seront dans /var/www.

Pour redémarrer le serveur apache, il faut faire :

$sudo /etc/init.d/apache restart

Pour modifier la base de données MySQL, rendez-vous à cette adresse :

http://localhost/phpmyadmin/

Dans un prochain tuto, j’utiliserai les virtual host pour héberger plusieurs sites sur le même serveur.