===== 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; } }