Installation et configuration de Owncloud

OwnCloud est une solution de cloud privée opensource. A l’image DropBox, il vous permettra de sauvegarder, dupliquer et partager tous vos fichiers.

Installation des composants nécessaires au fonctionnement de notre serveur ownCloud.

apt install apache2 mariadb-server libapache2-mod-php7.0 php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-dom php7.0-mb php7.0-intl php7.0-mcrypt php-imagick php7.0-zip php7.0-xml php7.0-mbstring unzip

Puis téléchargez les sources de ownCloud sur le serveur.

wget https://download.owncloud.org/community/owncloud-10.0.3.zip

Dézipper l’archive d’ownCloud.

unzip owncloud-10.0.3.zip

Une fois dézippé, nous pouvons déplacer notre répertoire owncloud vers notre serveur web apache.

cp -r owncloud /var/www

Nous allons donner les droits à l’utilisateur et au groupe www-data au répertoire owncloud.

chown -R www-data:www-data /var/www/owncloud

Nous devons maintenant créer un nouveau site apache afin de rendre accessible notre serveur ownCloud.

nano /etc/apache2/sites-available/owncloud.conf
Alias /owncloud "/var/www/owncloud/"
 <Directory /var/www/owncloud/>
 Options +Followsymlinks
 AllowOverride All

 <IfModule mod_dav.c>
 Dav off
 </IfModule>

 SetEnv HOME /var/www/owncloud
 SetEnv HTTP_HOME /var/www/owncloud
 </Directory>

Maintenant que notre configuration est enregistrée, nous devons activer ce site.

a2ensite owncloud.conf

Il reste quelques modules apache à activer pour rentre notre serveur ownCloud opérationnel.

a2enmod rewrite
a2enmod env
a2enmod mime
a2enmod dir
a2enmod headers
systemctl restart apache2

Enfin, il reste à créer un utilisateur dans la base de données avec les droits appropriés à notre serveur ownCloud.

Utiliser un mot de passe fort lors de la création de la base, remplacer PASSWORD

mariadb
CREATE USER 'owncloud'@'localhost' IDENTIFIED BY 'PASSWORD' ;
GRANT ALL PRIVILEGES ON *.* TO 'owncloud'@'localhost' WITH GRANT OPTION ;
FLUSH PRIVILEGES ;
quit

L’installation du serveur est maintenant terminée.

Vous pouvez vous rendre sur l’interface web d’ownCloud pour terminer sa configuration.

nom d'utilisateur : owncloud
mot de passe : PASSWORD
nom de la base : owncloud
adresse de la base : localhost

Pour cela, utilisez un navigateur internet et rendez vous sur l’URL de votre serveur. Elle dépendra de la configuration que vous aurez précédemment faite sur votre serveur. Chez moi l’URL est IP/owncloud.

Vous pouvez maintenant cliquer sur « Terminer l’installation ».

Let’s encrypt, installation Certbot Debian 8 Jessie

Ajouter les dépôts backports
echo "deb http://ftp.debian.org/debian jessie-backports main" | sudo tee -a /etc/apt/sources.list
Mise à jour et installation des paquets
apt-get update && apt-get install python-certbot-apache -t jessie-backports -y
Obtenir un certificat sécurité
certbot --apache
les paquets Certbot sur votre système sont dotés d’un service cron qui renouvelle automatiquement vos certificats avant leur expiration. Puisque les certificats de Cryptage durent 90 jours, il est fortement conseillé de profiter de cette fonctionnalité.
certbot renew --dry-run
les certificats ce trouve dans ce répertoire : /etc/letsencrypt/live/

Installation serveur Debian 8 Jessie

Mettre a jour le serveur
apt-get update && apt-get upgrade -y
Installation apache2
apt-get install apache2
Création de l’utilisateur du site
adduser utilisateur
Création du dossier de votre site
mkdir /home/utilisateur/www
mkdir /home/utilisateur/logs
Changer les droits des dossier créer
chown utilisateur /home/utilisateur/www /home/utilisateur/logs
chgrp utilisateur /home/utilisateur/www /home/utilisateur/logs
Création d’un lien symbolique
ln -s /home/utilisateur/www /var/www/nomdedomaine.fr
Création du fichier de configuration du site
nano /etc/apache2/sites-available/nomdedomaine.conf
<VirtualHost *:80>
    ServerAdmin utilisateur@nomdedomaine.fr
 # Domaines gérés par ce virtualhost
    ServerName nomdedomaine.fr
    ServerAlias *.nomdedomaine.fr
 # Racine Web
    DocumentRoot /var/www/nomdedomaine.fr
 # Règles spécifiques s'appliquant à ce dossier
    <Directory /var/www/nomdedomaine.fr>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>
    # Où placer les logs pour cette hôte
    ErrorLog /home/utilisateur/logs/error.log
    CustomLog /home/utilisateur/logs/access.log combined
</VirtualHost>
Activation de la configuration du site
a2ensite nomdedomaine.conf
service apache2 reload
Ajouter un mod à apache2
a2enmod rewrite
service apache2 restart
Installation de PHP
apt install php5 libapache2-mod-php5 php5-curl php5-gd
Puis une fois l’installation terminée (pour relancer le serveur apache)
service apache2 restart
Installation d’un FTP
apt-get install proftpd
Décommenter # DefaultRoot ~ pour que chaque utilisateur reste dans son dossier personnel.
nano /etc/proftpd/proftpd.conf
service proftpd restart
Installation d’une base de données
apt-get install mysql-client mysql-server php5-mysql
Pendant l’installation il vous sera demandé de rentrer le mot de passe « root », ce mot de passe est très important, car il vous permet de vous connecter en tant qu’administrateur à votre base de données.
Installer PhpMyAdmin
apt-get install phpmyadmin
choix du serveur a paramétrer : Apache2
On redémarre Apache quand proposé
On se connecte par l’adresse http://xxx.xxx.xxx.xxx/phpmyadmin
Changer la page d’accueil du serveur
soit vous modifier la page index du serveur.
nano /var/www/html/index.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="content-language" content="fr-FR" />
<title>Index de l'espace personnel de utilisateur</title>
<link rel="icon" type="image/png" href="/favicon.png" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
Index de l'espace personnel de utilisateur.
<br>
<br>
<a href="https://nomdedomaine.fr">Mon site</a>
<br>
Bonne visite :)
</body>
</html>
soit vous faite une redirection de la page index vers un site.
nano /etc/apache2/sites-enabled/000-default.conf
Commenter # les lignes
#ServerAdmin
#DocumentRoot
#ErrorLog
#CustomLog
et rajouter une redirection
Redirect 301 / http://nomdedomaine.fr
service apache2 restart

Installation basique de searx sous Debian 8 Jessie

Mise a jour d’openssl
apt-get -t jessie-backports install openssl
apt-get -t jessie-backports install libssl-dev
Installation des dépendances systèmes nécessaires
apt-get install git build-essential libxslt-dev python-dev python-virtualenv python-pybabel zlib1g-dev libffi-dev libssl-dev
Installation de searx
cd /usr/local
git clone https://github.com/asciimoo/searx.git
useradd searx -d /usr/local/searx
chown searx:searx -R /usr/local/searx
Installation des dépendances python dans virtualenv
cd /usr/local/searx
virtualenv searx-ve
. ./searx-ve/bin/activate
pip install -r requirements.txt
python setup.py install
Configuration
Modifiez la phrase secrète du fichier
searx/settings.yml (ceci est une étape nécessaire pour la sécurité de votre application)
sed -i -e "s/ultrasecretkey/`openssl rand -hex 16`/g" searx/settings.yml
Ouvrez searx/settings.yml et baladez-vous dans les différentes options de configuration. Modifiez-les selon vos besoins et vos envies.
Vérification
Il est ici nécessaire d’être dans le virtualenv. Si vous n’y êtes plus :
cd /usr/local/searx
. ./searx-ve/bin/activate
Lancez searx :
python searx/webapp.py
Désactivez l’option de debug dans settings.yml :
sed -i -e "s/debug : True/debug : False/g" searx/settings.yml
Searx n’est pas dæmonisé (il ne tourne pas en arrière-plan). Cette dæmonisation est le rôle d’uwsgi.
Installation des paquets :
apt-get install uwsgi uwsgi-plugin-python
Créez le fichier de configuration /etc/uwsgi/apps-available/searx.ini.
nano /etc/uwsgi/apps-available/searx.ini
avec ce contenu :
[uwsgi]
# Quel est l'utilisateur qui fera tourner le code
uid = searx
gid = searx
# Nombre de workers (habituellement, on met le nombre de processeurs de la machine)
workers = 4
# Quels sont les droits sur le socket créé
chmod-socket = 666
# Plugin à utiliser et configuration de l'interpréteur
single-interpreter = true
master = true
plugin = python
# Module à importer
module = searx.webapp
# Chemin du virtualenv
virtualenv = /usr/local/searx/searx-ve/
Activez la configuration de l’application et relancez uwsgi
cd /etc/uwsgi/apps-enabled
ln -s ../apps-available/searx.ini
/etc/init.d/uwsgi restart
Avec Apache2 comme Serveur web
Ajoutez le module uwsgi :
apt-get install libapache2-mod-uwsgi
Ajoutez cette configuration /etc/apache2/sites-available/
nano /etc/apache2/sites-available/nano searx.conf
<Location /searx>
    Options FollowSymLinks Indexes
    SetHandler uwsgi-handler
    uWSGISocket /run/uwsgi/app/searx/socket
</Location>
Activer le site :
a2ensite searx.conf
Relancez Apache :
service apache2 reload