Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
nextcloud:installation [2019/04/13 09:52] – ↷ Page déplacée et renommée de nextcloud_installation à nextcloud:installation madkonextcloud:installation [2019/04/16 07:11] (Version actuelle) madko
Ligne 7: Ligne 7:
 Pour installer Apache: Pour installer Apache:
  
 +<code>
 yum install httpd yum install httpd
 +</code>
 +
 +Pour activer le service :
 +
 +<code>
 +systemctl enable --now httpd
 +</code>
  
 ===== PHP ===== ===== PHP =====
Ligne 13: Ligne 21:
 Pour utiliser les dépôts REMI, il faut activer EPEL : Pour utiliser les dépôts REMI, il faut activer EPEL :
  
 +<code>
 yum install epel-release yum install epel-release
 +</code>
  
 Il faut aussi yum-utils: Il faut aussi yum-utils:
  
 +<code>
 yum install yum-utils yum install yum-utils
 +</code>
 +
 +Pour activer le dépôt REMI pour PHP 7.3 :
 +
 +<code>
 +yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
 +</code>
 +
 +Les paquets nécessaires à nextcloud :
 +
 +<code>
 +yum install php73-php-cli php73-php-fpm php73-php-gd php73-php-intl php73-php-pdo php73-php-mbstring php73-php-mysqlnd php73-php-opcache php73-php-pecl-apcu php73-php-pecl-igbinary php73-php-pecl-memcached php73-php-pecl-msgpack php73-php-pecl-mysql php73-php-pecl-zip php73-php-process php73-php-xml
 +</code>
 +
 +Pour activer le service php-fpm :
 +
 +<code>
 +systemctl enable --now php73-php-fpm
 +</code>
  
 ==== MariaDB ==== ==== MariaDB ====
 +
 +Activer le service
 +
 +<code>
 +systemctl enable --now mariadb
 +</code>
 +
 +Pour créer la base et l'utilisateur pour nextcloud :
 +
 +<code>
 +mysql> create database nextcloud;
 +mysql> GRANT ALL ON nextcloud.* TO nextcloud@localhost IDENTIFIED BY 'nextcloud';
 +</code>
 +
 +===== NextCloud =====
 +
 +Téléchargement de nextcloud :
 +
 +<code>
 +wget https://download.nextcloud.com/server/releases/nextcloud-15.0.7.zip
 +</code>
 +
 +Installation de nextcloud dans /var/www/html/
 +
 +<code>
 +unzip nextcloud-15.0.7.zip -d /var/www/html
 +</code>
 +
 +Déplacer tous les fichier de /var/www/html/nextcloud dans /var/www/html (attention il y a 2 fichiers cachés), et donner les bons droits :
 +
 +<code>
 +chown -R apache. /var/www/html
 +</code>
 +
 +===== SELinux =====
 +
 +Il faut autoriser php-fpm à faire des execmem :
 +
 +<code>
 +setsebool -P httpd_execmem 1
 +</code>
 +
 +Il faut relancer le service php-fpm :
 +
 +<code>
 +systemctl restart php73-php-fpm
 +</code>
 +
 +Le reste concerne les contextes par défaut des fichiers nextcloud, surtout ceux où nextcloud doit pouvoir écrire :
 +
 +<code>
 +semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/3rdparty(/.*)?'
 +semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/config(/.*)?'
 +semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/data(/.*)?'
 +semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/apps(/.*)?'
 +</code>
 +
 +S'assurer que les contextes sont appliqués :
 +
 +<code>
 +restorecon -Rv /var/www/html
 +</code>
 +
 +===== Configuration du vhost =====
 +
 +Fichier /etc/httpd/conf.d/nextcloud.conf :
 +
 +<file>
 +<IfModule mod_ssl.c>
 +<VirtualHost *:443>
 +SSLEngine on
 +
 +DocumentRoot /var/www/html/
 +ErrorLog /var/log/httpd/nextcloud-error.log
 +CustomLog /var/log/httpd/nextcloud-access.log combined
 +ServerName cloud.nextcloud.lan
 +SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
 +SSLCACertificateFile /etc/ssl/certs/ca-bundle.crt
 +SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
 +<Directory /var/www/html/>
 +Options +FollowSymlinks
 +AllowOverride All
 +<IfModule mod_dav.c>
 +Dav off
 +</IfModule>
 +SetEnv HOME /var/www/html
 +SetEnv HTTP_HOME /var/www/html
 +</Directory>
 +<IfModule mod_headers.c>
 +#Header always set Strict-Transport-Security "max-age=15768000; preload"
 +#Header set Referrer-Policy "strict-origin-when-cross-origin"
 +#Header set X-Content-Type-Options "nosniff"
 +#Header always set X-Frame-Options "SAMEORIGIN"
 +#Header always set Feature-Policy "accelerometer 'none'; autoplay 'self'; geolocation 'none'; midi 'none'; notifications 'self'; push 'self'; sync-xhr 'self' https://cloud.nextcloud.lan; microphone 'self'; camera 'self'; magnetometer 'none'; gyroscope 'none'; speaker 'self'; vibrate 'self'; fullscreen 'self'; payment 'none'; usb 'none'"
 +#Header set Content-Security-Policy "child-src 'https://*.nextcloud.lan'"
 +#Header set Content-Security-Policy: "frame-ancestors https://cloud.nextcloud.lan https://office2.nextcloud.lan http://office2.nextcloud.lan"
 +#Header set Content-Security-Policy: "frame-src '*'"
 +</IfModule>
 +</VirtualHost>
 +</IfModule>
 +</file>
 +
 +Redirection des pages php vers les FPM (à intégrer à la conf vhost peut-être), dans /etc/httpd/conf.d/php.conf :
 +
 +<file>
 +<Files ".user.ini">
 +    Require all denied
 +  </Files>
 +
 +AddType text/html .php
 +
 +DirectoryIndex index.php
 +
 +SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
 +
 +<FilesMatch .php$>
 +    SetHandler "proxy:fcgi://127.0.0.1:9000"
 +  </FilesMatch>
 +</file>
 +
 +Ensuite, voir éventuellement la configuration de [[:collabora:debian:installation|collabora]].
  
  
  • nextcloud/installation.1555149127.txt.gz
  • Dernière modification : 2019/04/13 09:52
  • de madko