===== Installation du serveur Owncloud =====
==== Prerequis ====
* Avoir une debian 8 operationnelle
* de l'espace disque 1Go/utilisateur au minimum
* du café
* avoir lu la doc [[https://mondedie.fr/viewtopic.php?id=6926/| le tutoriel]]
==== Installation ====
apt-get install nginx ssl-cert
apt-get install mysql-server
ensuite il est demandé de créer le mot de passe root pour le service mysql
{{http://1969324071.rsc.cdn77.org/wp-content/uploads/2015/06/sk@debian-_002.jpg}}
de nouveau confirmez en tapant le même mot de passe et surtout stockez ce mot de passe dans un gestionnaire chiffré pour mot de passes :)
{{http://1969324071.rsc.cdn77.org/wp-content/uploads/2015/06/sk@debian-_003.jpg}}
vous pouvez vérifier que tout est OK avec la commande suivante :
systemctl status mysql
Créez la base de données pour votre installation de OwnCloud
mysql -u root -p
entrer le mot de passe root mentionné à l'installation de mysql server
puis >
CREATE DATABASE owncloud;
CREATE USER owncloud_adm@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON owncloud.* TO owncloud_adm@localhost;
FLUSH PRIVILEGES;
exit;
installez PHP
apt-get install php5 php5-fpm php5-mysql
Configurez Nginx
nano /etc/nginx/nginx.conf
configurez le nombre de processeurs. Pour vérifier le nombre de processeurs, tapez la commande “lscpu”. Dans notre cas "1" processeur.
Donc nous configurons '1'.
worker_processes 1;
Téléchargez Owncloud depuis une source officielle :
wget http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_8.0/Release.key
Ajoutez la clef:
apt-key add - < Release.key
echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_8.0/ /' >> /etc/apt/sources.list.d/owncloud.list
apt-get update
apt-get install owncloud
==== Configuration ====
configurer nginx pour owncloud
aller dans /etc/nginx/sites-available/
''cd /etc/nginx/sites-available/''
puis ''sudo nano owncloud''
server {
listen 80;
server_name owncloud.mdl29.net;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name monsousdomaine.mondomaine.org; #ici on peut mettre UNE IP LAN de type 192.168.1.*
ssl_certificate /etc/nginx/certs/machainedecert.chain.crt;
ssl_certificate_key /etc/ssl/private/maclef.key;
ssl_session_timeout 5m;
ssl_dhparam /etc/nginx/dhparams.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers EECDH+aRSA+AES256:EDH+aRSA+AES256:EECDH+aRSA+AES128:EDH+aRSA+AES128;
ssl_session_cache shared:SSL:50m;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security max-age=63072000;
# chemin de l'installation de owncloud
root /var/www/owncloud;
client_max_body_size 200M; # set max upload size
fastcgi_buffers 64 4K;
# quelques règles de réécritures d'URL
rewrite ^/caldav((/|$).*)$ /remote.php/caldav$1 last;
rewrite ^/carddav((/|$).*)$ /remote.php/carddav$1 last;
rewrite ^/webdav((/|$).*)$ /remote.php/webdav$1 last;
rewrite ^/(core\/(preview.png|js\/oc.js))$ /index.php/$1 last;
rewrite ^/([^.]*)$ /index.php/$1 last;
# index index.php;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# Protection de fichiers et de dossiers sensibles
location ~ ^/(data|config|\.ht|db_structure.xml|README) {
deny all;
}
# Configuration de la "root" location avec des règles de réécriture
location / {
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;
rewrite ^/apps/calendar/caldav.php /remote.php/caldav/ last;
rewrite ^/apps/contacts/carddav.php /remote.php/carddav/ last;
rewrite ^/apps/([^/]*)/(.*\.(css|php))$ /index.php?app=$1&getfile=$2 last;
rewrite ^(/core/doc[^\/]+/)$ $1/index.html;
try_files $uri $uri/ index.php;
}
# configuration de nginx et php-fpm et déclaration du socket Unix de PHP-FPM pour que celui-ci puisse lui transmettre les requêtes PHP qu’il reçoit
location ~ \.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
# Optionel: appliquez un long critère "EXPIRES header" sur les éléments statiques
location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
expires 30d;
# Optional: Don't log access to assets
access_log off;
}
}