Installation Linux Debian 8

Date : 30/08/2016
OS : Linux Debian 8 ‘Jessie’ stable
Dépôts : main
Serveur web : Apache 2.4.10
Langage : PHP 5.6.7
Version : 020161102
Status : en cours.
Serveur : debian8.test.nebule.net (RAM:256Mo DD:2+2Go)

Introduction

L’installation du système d’exploitation se fait classiquement sans particularité. Le réseau doit être fonctionnel, les dernières mises à jours doivent être appliquées (normalement fait au cours de l’installation).

Le serveur ne doit pas déjà contenir d’autre site web, sinon il faut adapter la configuration.

Sur un serveur qui va recevoir beaucoup d’objets, on peut séparer /var/www sur une partition ou un disque dédié et conséquent.

Installation version condensée

Lancer en tant que root :

aptitude install -y libapache2-mod-php5 php5-gd
URL="http://sylabe.com/o/871d0e2a2dd623da97e0cc5ca313a56e1a55a410d2b5f9b69042379f4222f189"
wget $URL -O /root/020161102.nebule.full.tgz
tar zxf /root/020161102.nebule.full.tgz -C /var/www/html
rm /var/www/html/index.html
cat > /etc/apache2/sites-available/000-default.conf << EOF
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
php_value max_execution_time 300
ErrorLog \${APACHE_LOG_DIR}/error.log
CustomLog \${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
EOF
cat > /etc/apache2/sites-available/default-ssl.conf << EOF
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
php_value max_execution_time 300
ErrorLog \${APACHE_LOG_DIR}/error.log
CustomLog \${APACHE_LOG_DIR}/access.log combined
SSLEngine On
SSLCertificateFile /etc/ssl/private/localhost.nebule.crt
</VirtualHost>
EOF
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/private/localhost.nebule.crt
a2enmod ssl
a2enmod php5
a2ensite default-ssl.conf
service apache2 restart
chown -R 33.33 /var/www/html
chmod -R u+rw /var/www/html

Dans un navigateur, ouvrir l’adresse du serveur et attendre la fin de la phase de préparation…
li process-stop Noter en bas le mot de passe de l’entité de l’instance du serveur.

Lancer en tant que root :

chown 0.0 /var/www/html
chmod 755 /var/www/html
chown 0.0 /var/www/html/index.php
chmod 644 /var/www/html/index.php
chown 0.0 /var/www/html/nebule.env
chmod 644 /var/www/html/nebule.env
chown 0.0 /var/www/html/e
chmod 644 /var/www/html/e
echo "defaultCurrentEntity = "$(cat /var/www/html/e) >> /var/www/html/nebule.env

Installation version pas à pas

[a] Service web

Le bootstrap et la librairie ont besoin pour fonctionner correctement de :

  • Un serveur web.
  • Un interpréteur PHP.
  • La librairie GD de PHP.

li D’autres serveurs web que Apache2 sont normalement fonctionnels mais n’ont pas été testés.

Installation des paquets :
# aptitude install libapache2-mod-php5 php5-gd

[b] Téléchargement

Télécharger sur le serveur l’archive complète :
# URL="http://sylabe.com/o/871d0e2a2dd623da97e0cc5ca313a56e1a55a410d2b5f9b69042379f4222f189"
# wget $URL -O /root/020161102.nebule.full.tgz
# sha256sum /root/
020161102.nebule.full.tgz

Le résultat du hash sha256 doit être impérativement égale strictement à :

871d0e2a2dd623da97e0cc5ca313a56e1a55a410d2b5f9b69042379f4222f189

li Il est important de vérifier la valeur de cette empreinte. Si elle ne correspond pas il faut impérativement re-télécharger le fichier. Cela est dû à une corruption (volontaire ou non) du contenu du fichier. Le téléchargement peut se faire sur un autre site web tant que la valeur de la signature est strictement identique.

[c] Décompression

Le contenu du fichier téléchargé va être mis en place dans l’arborescence dédiée au service web /var/www/html.

Les applications pouvant avec le temps devenir grosses consommatrices d’espace disque, il est préférable dès l’installation du système d’exploitation de réserver une partition dédiée au service web (/var/www). Cette séparation permettra en cas de saturation de l’espace disque de ne pas perturber le fonctionnement du système d’exploitation.

Décompresser l’archive dans le dossier de destination :
# tar zxf /root/020161102.nebule.full.tgz -C /var/www/html
# rm /var/www/html/index.html

[d] Modification du site web

Le site web par défaut doit être modifié, on le remplace par facilité :
# cat > /etc/apache2/sites-available/000-default.conf << EOF
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
php_value max_execution_time 300
ErrorLog \${APACHE_LOG_DIR}/error.log
CustomLog \${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
EOF
# cat > /etc/apache2/sites-available/default-ssl.conf << EOF
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
php_value max_execution_time 300
ErrorLog \${APACHE_LOG_DIR}/error.log
CustomLog \${APACHE_LOG_DIR}/access.log combined
SSLEngine On
SSLCertificateFile /etc/ssl/private/localhost.nebule.crt
</VirtualHost>
EOF
# make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/private/localhost.nebule.crt
# a2enmod ssl
# a2enmod php5
# a2ensite default-ssl.conf
# service apache2 restart

Les deux fichiers modifiés peuvent être adaptés à posteriori pour vos propres besoins.

[e] Augmentation des droits

Modifier les droits du dossier du serveur web :
# chown -R 33.33 /var/www/html
# chmod -R u+rw /var/www/html

[f] Premier lancement

Dans un navigateur, ouvrir l’adresse du serveur http://monsiteweb/ et attendre la fin de la phase de préparation. Ça peut être long, il y a plusieurs étapes et rechargements de la page…

shot-2016-11-03_13-18-33
Bugg connu du bootstrap. Faire [F5] ou recharger la page pour continuer.

shot-2016-11-03_13-18-43
Bugg connu du bootstrap. Si les droits ont bien été posés, faire [F5] ou recharger la page pour continuer.

shot-2016-11-03_13-18-54
Informations importantes !

liprocess-stop Noter en bas le mot de passe de l’entité de l’instance du serveur.
Cette entité permettra par la suite de modifier les options (et les applications plus tard).

shot-2016-11-03_13-20-17
Le serveur est prêt.

[g] Réduction des droits

Modifier les droits du dossier du serveur web ainsi que de certains fichiers :
# chown 0.0 /var/www/html
# chmod 755 /var/www/html
# chown 0.0 /var/www/html/index.php
# chmod 644 /var/www/html/index.php
# chown 0.0 /var/www/html/nebule.env
# chmod 644 /var/www/html/nebule.env
# chown 0.0 /var/www/html/e
# chmod 644 /var/www/html/e

[h] Reconnaissance du certificat du serveur web

[i] Changement des options

Ajouter l’entité du serveur comme entité par défaut. Il faut modifier l’option defaultCurrentEntity dans le fichier nebule.env :
# echo "defaultCurrentEntity = "$(cat /var/www/html/e) >> /var/www/html/nebule.env
Recharger la page web avec l’argument f pour que la modification soit appliquée. Par exemple http://monsiteweb/?f