Configurer un serveur NextCloud

Yo ! Si tu as envie d’accéder a tes données à distance, d’avoir une jolie interface toute belle compatible avec l’application IOS/Android ? This is the good place !
Pour la distrib’ j’utiliserai Debian 8.8 et Nextcloud 12.0.3. La procédure reste quasiment la même pour les autres version de debian/nextcloud

Installation

Installer les paquets

apt-get update ; apt-get install apache2 mysql-server libapache2-mod-php5 unzip

Installer les modules PHP

apt-get install php5 php5-curl php5-gd php5-tidy php5-mysql php5-intl php5-mcrypt php5-imagick php-xml-parser

Configurer la base MySQL pour Nextcloud

mysql -u root -p   #Connexion a mysql
create database nextcloud;   #Création de la base de donnée nextcloud
create user "nextcloud"@"localhost" identified by 'votremotdepasse';    #Création de l’utilisateur pour la base nextcloud
grant all on nextcloud.* to "nextcloud"@"localhost";   #Attribution des droits sur la base nextcloud pour l’utilisateur nextcloud
exit

Télécharger les fichiers nextcloud

wget -P /tmp/ https://download.nextcloud.com/server/releases/nextcloud-12.0.3.zip
unzip /tmp/nextcloud/12.0.3.zip -d /var/www/

Donnez les droits à apache sur nextcloud

chown -R www-data.www-data /var/www/nextcloud

Configuration d’Apache

Créer le vhost nextcloud

$vi /etc/apache2/site-available/nextcloud.conf

<VirtualHost *:80>

ServerName Votreserveur.domain
DocumentRoot /var/www/nextcloud/

<Directory /var/www/nextcloud/>
 Options +FollowSymlinks
 AllowOverride All

<IfModule mod_dav.c>
 Dav off
 </IfModule>

SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>

SSLCertificateFile /usr/share/apache2/Votreserveur.crt
SSLCertificateKeyFile /usr/share/apache2/Votreserveur.key

</VirtualHost>

Activer votre site nextcloud

a2ensite nextcloud
systemctl restart apache2

Configurer apache en SSL

Créer le Vhost nextcloud ssl

$vi /etc/apache2/site-available/nextcloud-ssl.conf

<VirtualHost *:443>

ServerName Votreserveur.domain
DocumentRoot /var/www/nextcloud/

<Directory /var/www/nextcloud/>
 Options +FollowSymlinks
 AllowOverride All

<IfModule mod_dav.c>
 Dav off
 </IfModule>

SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>

</VirtualHost>

Certificat auto signé

Créer votre certificat pour le SSL

openssl genrsa -out /usr/share/apache2/votreserveur.key

Cette commande créer une clef privée

Créer une requête pour votre certificat

openssl req -new -key /usr/share/apache2/votreserveur.key -out /usr/share/apache2/votreserveur.csr

Cette commande créer la requête pour le certificat

Créer le certificat via la requete et la clef

openssl x509 -req -days 1000 -in /usr/share/apache2/votreserveur.csr -signkey /usr/share/apache2/votreserveur.key -out /usr/share/apache2/votreserveur.crt

Activer les modules apache

a2enmod rewrite
a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime
a2enmod ssl
a2ensite default-ssl.conf

Activer votre site nextcloud

a2ensite nextcloud-ssl.conf

Redémarrer apache

service apache2 restart

Certificat signé letsencrypt

Installer git & letsencrypt

apt-get install git
git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt

Connectez votre à votre serveur via https
https://votreserveur.domain/nextcloud

Remplissez la configuration en suivant la configuration de MySQL faite précédemment

NextcloudConf

Le compte administrateur concerne celui de l’interface web. Nommez le à votre guise !

Et voilà un joli cloud tout beau tout neuf !

NextcloudFinish
Previous Post Next Post