Voici un petit tuto pour l’installation et la configuration de NextCloud sur Ubuntu 16.04.
1- Dans un premier temps nous allons installer un LAMP (Linux Apache MySQL PHP) :
sudo apt-get install lamp-server^
ou bien
sudo apt install apache2 php mysql-server libapache2-mod-php php-mysql
Lors de l’installation du LAMP vous allez devoir renseigner le mot de passe du SuperUtilisateur du serveur MySQL.
2- Ajout des modules PHP indispensables pour NextCloud :
sudo apt-get install libxml2-dev php-zip php-dom php-xmlwriter php-xmlreader php-gd php-curl php-mbstring
3- Activation du mode « rewrite » et relancer le serveur Apache:
a2enmod rewrite
sudo service apache2 reload
4- Installation du serveur MariaDb :
D’après le site de NextCloud MariaDb est plus performant que MySQL…
sudo apt-get install mariadb-server
5- Récupération de la dernière version de NextCloud :
wget https://download.nextcloud.com/server/releases/nextcloud-xx.x.x.tar.bz2
tar -vxjf nextcloud-12.0.1.tar.bz2
6- Déplacement des binaires dans le répertoire www du serveur Apache :
sudo mv nextcloud /var/www
7- Gestion des droits pour NextCloud :
Un script est mis à disposition pour gérer les droits, nous allons donc le reprendre :
nano nextcloud_permissions.sh
Le script a copier dans le fichier :
#!/bin/bash
ocpath=’/var/www/nextcloud’
htuser=’www-data’
htgroup=’www-data’
rootuser=’root’printf « Creating possible missing Directories\n »
mkdir -p $ocpath/data
mkdir -p $ocpath/assets
mkdir -p $ocpath/updaterprintf « chmod Files and Directories\n »
find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750
chmod 755 ${ocpath}printf « chown Directories\n »
chown -R ${rootuser}:${htgroup} ${ocpath}/
chown -R ${htuser}:${htgroup} ${ocpath}/apps/
chown -R ${htuser}:${htgroup} ${ocpath}/assets/
chown -R ${htuser}:${htgroup} ${ocpath}/config/
chown -R ${htuser}:${htgroup} ${ocpath}/data/
chown -R ${htuser}:${htgroup} ${ocpath}/themes/
chown -R ${htuser}:${htgroup} ${ocpath}/updater/chmod +x ${ocpath}/occ
printf « chmod/chown .htaccess\n »
if [ -f ${ocpath}/.htaccess ]
then
chmod 0644 ${ocpath}/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
fi
if [ -f ${ocpath}/data/.htaccess ]
then
chmod 0644 ${ocpath}/data/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
fi
Ajout des droits d’exécution pour le script :
sudo chmod +x nextcloud_permissions.sh
Lancement du script :
sudo ./nextcloud_permissions.sh
8- Configuration de l’alias pour le serveur Apache :
Création d’un fichier Nextcloud.conf
nano /etc/apache2/sites-available/nextcloud.conf
Contenu du fichier conf
Alias /nextcloud « /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>
Création d’un lien symbolique
ln -s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/nextcloud.conf
9- Installation des modules Apache :
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime
a2enmod ssl
a2ensite default-ssl
Puis relancer le service Apache
sudo service apache2 reload
10- Installation de la base de données :
sudo mysql -u root -p
Création de la base, de l’utilisateur et des droits
CREATE DATABASE nextcloud;
CREATE USER ‘nextclouduser’@’localhost’ IDENTIFIED BY ‘xxxxxxxx’;
GRANT ALL PRIVILEGES ON nextcloud.* TO nextclouduser@localhost;
EXIT
11- Finalisation de l’installation :
Connectez vous sur votre site web NextCloud
https://xxxx.fr/nextcloud/
Renseignez les informations concernant la base de données