Owncloud 9.X : Installation & Configuration sur CentOs 7 et MariaDB – Part1

OwnCloud est un serveur de partage de fichiers qui vous permet de stocker votre contenu personnel, comme des documents et des images, vidéos et contacts, un peu comme Dropbox et de le synchroniser entre différents devices. La différence avec ownCloud c’est qu’il est open-source, ce qui permet à quiconque de l’installer et de l’utiliser. Owncloud permet également de mieux gérer vos données sensibles et de maîtriser l’endroit ou elles sont stockées ;)

Dans ce Tuto, nous allons installer et configurer ownCloud sur un serveur CentOS 7, avec MariaDB

Pré-requis

  • Apache, MariaDB & PHP
  • un Certificat SSL
    • Let’s Encrypt si nom de domaine
    • Ou certificat privé pour usage personnel
  • Configuration des iptables
Installation de PHP, MariaDB & php5 :
yum install centos-release-scl
yum install mariadb-server mariadb
yum install httpd
yum install php55 php55-php php55-php-gd php55-php-mbstring php55-php-mysqlnd
 Lancement des différents services :
systemctl start mariadb
systemctl start httpd

Autoriser MariaDB & Httpd à démarrer au boot du système :

systemctl enable mariadb
systemctl enable httpd

Configurer MariaDB, afin de sécuriser notre base de données :

mysql_secure_installation

Entrez un mot de passe pour le compte Root, désactivez l’accès à distance, supprimez les anonymous users etc …

Copier les modules de php5.5 au bon endroit et redémarrer apache:

cp /opt/rh/httpd24/root/etc/httpd/conf.d/php55-php.conf /etc/httpd/conf.d/
cp /opt/rh/httpd24/root/etc/httpd/conf.modules.d/10-php55-php.conf /etc/httpd/conf.modules.d/
cp /opt/rh/httpd24/root/etc/httpd/modules/libphp55-php5.so /etc/httpd/modules/
systemctl start httpd

Il faut maintenant autoriser l’accès aux ports 80 et 443 au niveau du firewall, afin de pouvoir configurer et accéder à owncloud. Collez les lignes suivantes dans votre shell :

iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
iptables-save | sudo tee /etc/sysconfig/iptables
service iptables restart

Installation

Configuration de notre base de données

Nous allons créer une utilisateur dédié à la base de données que nous allons également créer.

mysql -u root -p
CREATE DATABASE owncloudDB;
GRANT ALL ON owncloudDB.* to 'ownclouduser'@'localhost' IDENTIFIED BY 'ENTER_PASSWORD';
FLUSH PRIVILEGES;
quit

Installation de OwnCloud

Nous allons effectuer l’installation à partir du Repo Owncloud, afin de pouvoir mettre à jour notre serveur facilement ;).

On commence par télécharger la clé de confiance de notre repo, puis nous le mettons en place :

rpm --import https://download.owncloud.org/download/repositories/9.0/CentOS_7/repodata/repomd.xml.key
wget http://download.owncloud.org/download/repositories/9.0/CentOS_7/ce:9.0.repo -O /etc/yum.repos.d/ce:9.0.repo

On télécharge et installe OwnCloud :

yum install owncloud-files

Une fois installé, rendez-vous à l’url http://votre-ip/owncloud, vous devriez obtenir ceci :


Pour continuer notre installation, il va falloir fournir les bons droits à OwnCloud pour fonctionner correctement. Pour se faire, nous allons créer un script bash, que nous exécuterons ensuite :

vi /tmp/dirrights.sh
#!/bin/bash
ocpath='/var/www/html/owncloud'
htuser='apache'
htgroup='apache'
rootuser='root'
printf "Creating possible missing Directories\n"
mkdir -p $ocpath/data
mkdir -p $ocpath/assets
mkdir -p $ocpath/updater
printf "chmod Files and Directories\n"
find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750
printf "chown Directories\n"
chown -R ${rootuser}:${htgroup} ${ocpath}/
chown -R ${htuser}:${htgroup} ${ocpath}/apps/
chown -R ${htuser}:${htgroup} ${ocpath}/assets/
chown -R ${htuser}:${htgroup} ${ocpath}/config/
chown -R ${htuser}:${htgroup} ${ocpath}/data/
chown -R ${htuser}:${htgroup} ${ocpath}/themes/
chown -R ${htuser}:${htgroup} ${ocpath}/updater/
chmod +x ${ocpath}/occ
printf "chmod/chown .htaccess\n"
if [ -f ${ocpath}/.htaccess ]
then
chmod 0644 ${ocpath}/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
fi
if [ -f ${ocpath}/data/.htaccess ]
then
chmod 0644 ${ocpath}/data/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
fi

Nous modifions les droits d’exécutions puis lançons le script :

chmod 755 /tmp/dirrights.sh
bash /tmp/dirrights.sh

Rafraîchissez la page, vous devriez maintenant obtenir ceci :


Créer un compte administrateur, Choisissez votre dossier “Data”, puis renseignez vos informations de base de données MariaDB (configurés plus haut). Une fois que tout est OK, Owncloud est maintenant fonctionnel :

Bonus, Si vous avez une IP publique + un domaine, créer votre Fichier vhost comme suit :

vim /etc/httpd/conf.d/owncloud.conf
<VirtualHost *:80>
ServerName cloud.alexnogard.com
 
DocumentRoot /var/www/owncloud
    <Directory /var/www/owncloud>
    Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
         <LimitExcept GET POST OPTIONS>
                 Allow from all
        </LimitExcept>
    </Directory>
</VirtualHost>

Voila, votre serveur OwnCloud est maintenant installé et fonctionnel, et tourne sur votre CentOs 7 avec une base MariaDB ;)

About Alexandre Nogard

Check Also

Bash Scripting : Creation de vhosts automatisés avec Certificat Lets Encrypt

Bonjour à tous, Il y a quelques temps, j’avais posté un script bash permettant de …

Owncloud 9.X : Sécurisez votre serveur avec Fail2Ban sur Centos 7.X – Part3

Dans ce tuto, nous allons voir comment protéger Owncloud 9.X des brutes-forces sur les tentatives …

Owncloud 9.X : Installation d’un certificat Let’s Encrypt – Part 2

Lets Encrypt est une autorité de certification libre, qui fournit des protocoles X.509. Il permet …

Leave a Reply

Your email address will not be published. Required fields are marked *