Installer OwnCloud
Créer le sous-domaine cloud.slackbox.fr
:
; /var/named/zone.slackbox.fr
$TTL 86400
$ORIGIN slackbox.fr.
@ IN SOA ns.slackbox.fr. hostmaster.slackbox.fr. (
2021021101 ; sn
...
www CNAME slackbox.fr.
cloud CNAME slackbox.fr.
Prendre en compte les modifications :
$ sudo systemctl restart named
Préparer l'arborescence de l'hébergement :
$ cd /var/www
$ sudo mkdir -pv slackbox-owncloud/html
mkdir: created directory ‘slackbox-owncloud'
mkdir: created directory ‘slackbox-owncloud/html'
$ sudo chown -R microlinux:microlinux slackbox-owncloud/
$ cp -v /usr/share/httpd/noindex/index.html slackbox-owncloud/html/
‘/usr/share/httpd/noindex/index.html' -> ‘slackbox-owncloud/html/index.html'
Éditer slackbox-owncloud/html/index.html
:
<body>
<h1>cloud.slackbox.fr</h1>
Éditer ~/bin/letsencrypt.sh
:
DOMAIN[1]='sd-155842.dedibox.fr'
WEBDIR[1]='default'
DOMAIN[2]='cloud.slackbox.fr'
WEBDIR[1]='slackbox-owncloud'
Générer le certificat :
$ sudo ./letsencrypt.sh --test
$ sudo ./letsencrypt.sh --cert
Configurer l'hôte virtuel :
# /etc/httpd/conf.d/10-cloud.slackbox.fr-ssl.conf
# http://cloud.slackbox.fr -> https://cloud.slackbox.fr
<VirtualHost *:80>
ServerName cloud.slackbox.fr
Redirect / https://cloud.slackbox.fr
</VirtualHost>
# https://cloud.slackbox.fr
<VirtualHost _default_:443>
ServerAdmin info@microlinux.fr
DocumentRoot "/var/www/slackbox-owncloud/html"
<Directory "/var/www/slackbox-owncloud/html">
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
</Directory>
ServerName cloud.slackbox.fr:443
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/sd-155842.dedibox.fr/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/sd-155842.dedibox.fr/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/sd-155842.dedibox.fr/fullchain.pem
BrowserMatch "MSIE [2-5]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
ErrorLog logs/cloud.slackbox.fr-error_log
CustomLog logs/cloud.slackbox.fr-access_log common
</VirtualHost>
-
On autorise les directives placées dans le fichier
.htaccess
à la racine de l'installation. -
WebDAV doit être désactivé, car OwnCloud utilise son propre serveur interne SabreDAV.
Tester la page statique :
$ sudo apachectl configtest
Syntax OK
$ sudo systemctl reload httpd
Afficher la page https://cloud.slackbox.fr
dans un navigateur.
Tester la sécurité de l'hébergement : https://www.ssllabs.com/ssltest/
OwnCloud doit pouvoir envoyer des mails via Postfix :
$ sudo setsebool -P httpd_can_sendmail on
Apache possède les droits d'écriture sur une partie de l'arborescence OwnCloud :
$ sudo setsebool -P httpd_unified on
OwnCloud doit pouvoir se connecter au serveur Redis :
$ sudo setsebool -P httpd_can_network_connect on
Installer les modules PHP :
-
rh-php73-php-gd
-
rh-php73-php-mbstring
-
rh-php73-php-opcache
-
rh-php73-php-intl
-
rh-php73-php-pecl-apcu
-
sclo-php73-php-pecl-redis5
Relancer PHP-FPM et Apache :
$ sudo systemctl restart rh-php73-php-fpm httpd
Télécharger OwnCloud :
$ mkdir -pv ~/webapps/owncloud
mkdir: created directory ‘/home/microlinux/webapps'
mkdir: created directory ‘/home/microlinux/webapps/owncloud'
$ cd ~/webapps/owncloud/
$ wget -c https://download.owncloud.org/community/owncloud-10.5.0.tar.bz2
Créer la base de données :
$ mysql -u root -p
mysql> create database `slackbox-owncloud`;
mysql> grant all on `slackbox-owncloud`.*
-> to slackboxuser@localhost
-> identified by '********';
mysql> flush privileges;
mysql> quit;
Décompresser l'archive téléchargée :
$ cd /var/www/slackbox-owncloud/
$ rm -rf html/
$ tar -xjf ~/webapps/owncloud/owncloud-10.5.0.tar.bz2
$ ls
owncloud
$ mv -v owncloud/ html
‘owncloud/' -> ‘html'
Ranger les scripts de configuration à l'endroit approprié :
$ cd
$ cp -v oracle/el7/owncloud/10.5.0/*.sh bin/
‘oracle/el7/owncloud/10.5.0/instance.sh' -> ‘bin/instance.sh'
‘oracle/el7/owncloud/10.5.0/owncloud_prep.sh' -> ‘bin/owncloud_prep.sh'
Définir les permissions :
$ cd bin/
$ chmod 0700 instance.sh owncloud_prep.sh
Éditer instance.sh
en fonction de l'hébergement :
ocname='html'
ocroot='/var/www/slackbox-owncloud'
linkroot='/var/www/slackbox-owncloud'
htuser='apache'
htgroup='apache'
rootuser='microlinux'
Lancer le script :
$ sudo ./instance.sh
...
Do you want to secure your .htaccess files post installing/upgrade (y/N)? n
Do you want to install a new instance (y/N)? n
Do you want to upgrade an existing installation (y/N)? n
Use links for data and apps-external directories (Y/n)? y
Do you want to chmod/chown these links (y/N)? y
Dans cette configuration, data/
et apps-external/
sont extérieurs à
l'arborescence :
$ cd /var/www/slackbox-owncloud/
$ ls -l
drwxr-x---. 2 apache apache 4096 Feb 12 11:02 apps-external
drwxr-x---. 4 apache apache 4096 Feb 12 11:06 data
drwxr-x---. 12 microlinux apache 4096 Feb 12 11:02 html
$ ls -l html/data
lrwxrwxrwx. ... html/data -> /var/www/slackbox-owncloud/data
$ ls -l html/apps-external
lrwxrwxrwx. ... html/apps-external -> /var/www/slackbox-owncloud/apps-external
Ouvrir l'assistant d'installation dans l'interface web d'OwnCloud :
-
Définir un compte administrateur.
-
Choisir
MySQL/MariaDB
comme serveur de bases de données. -
Renseigner les paramètres de connexion à la base, en précisant le port
3306
. -
Cliquer sur
Terminer l'installation
. -
Se connecter à OwnCloud avec l'identifiant et le mot de passe que l'on vient de définir.
Ouvrir Paramètres
> Administration
> Généraux
.
Passer le canal de mise à jour de stable
à production
.
Éditer config/config.php
pour configurer le cache APCu :
'dbpassword' => '********',
'logtimezone' => 'UTC',
'memcache.local' => '\OC\Memcache\APCu',
'apps_paths' => ...
Installer le serveur Redis :
$ sudo yum install rh-redis5-redis
Activer et démarrer le serveur Redis :
$ sudo systemctl enable rh-redis5-redis --now
Éditer config/config.php
pour configurer le verrouillage transactionnel des
fichiers :
'logtimezone' => 'UTC',
'memcache.local' => '\OC\Memcache\APCu',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => 'localhost',
'port' => '6379',
],
'apps_paths' => ...
Éditer une tâche automatisée qui lance les tâches planifiées toutes les 15 minutes :
$ sudo crontab -u apache -e
*/15 * * * * /usr/bin/php /var/www/slackbox-owncloud/html/occ system:cron
Définir cette tâche dans Paramètres
> Généraux
> Administration
> Cron
> Service cron du système
.
Vérifier si tous les tests ont réussi dans les Avertissements de sécurité &
configuration
.
Cliquez ici pour offrir un café au rédacteur de cette documentation.