Dans ce tutoriel, vous apprendrez à installer le logiciel NextCloud . Nous utiliserons Caddy pour nos besoins de serveur Web, car cela permet une configuration plus facile et une simple délivrance de certificats SSL. Les instructions de ce guide ont été écrites pour NextCloud 12, mais peuvent également fonctionner pour les versions plus récentes.
Avant de commencer, assurez-vous que votre serveur est à jour et installez les modules PHP 7.1 requis.
apt-get update
apt-get upgrade -y
apt-get install software-properties-common unzip
PHP 7.1
Installez et configurez PHP 7.1.
apt-get install -y python-software-properties
add-apt-repository -y ppa:ondrej/php
apt-get update -y
apt-get install -y php7.1 php7.1-fpm php7.1-cli php7.1-json php7.1-curl php7.1-imap php7.1-gd php7.1-mysql php7.1-xml php7.1-zip php7.1-intl php7.1-mcrypt php-imagick php7.1-mbstring
Pour Caddy, nous utiliserons des sockets TCP au lieu des sockets Unix, car ils sont plus optimisés.
Modifiez le fichier /etc/php/7.1/fpm/pool.d/www.conf
aux alentours de la ligne 36. Recherchez le fichier listen = /run/php/php7.1-fpm.sock
. Commentez-le et ajoutez le socket TCP à la place, comme indiqué ci-dessous:
;listen = /run/php/php7.1-fpm.sock
listen = 127.0.0.1:9000
Redémarrez maintenant PHP7.1-fpm.
service php7.1-fpm restart
Caddie
Ensuite, nous devons installer Caddy.
L'exécution du script de configuration Caddy téléchargera automatiquement la version appropriée pour votre système (32 / 64bit) et l'installera.
curl https://getcaddy.com | bash -s personal
Créez le répertoire racine où nous servirons les fichiers à partir de:
mkdir -p /var/www/nextcloud
Créez le dossier /etc/caddy
et le fichier " Caddyfile
".
mkdir -p /etc/caddy
nano /etc/caddy/Caddyfile
Maintenant, collez le contenu suivant:
your-domain-here.com {
root /var/www/nextcloud
log /var/log/nextcloud_access.log
errors /var/log/nextcloud_errors.log
fastcgi / 127.0.0.1:9000 php {
env PATH /bin
}
rewrite {
r ^/index.php/.*$
to /index.php?{query}
}
# client support (e.g. os x calendar / contacts)
redir /.well-known/carddav /remote.php/carddav 301
redir /.well-known/caldav /remote.php/caldav 301
# remove trailing / as it causes errors with php-fpm
rewrite {
r ^/remote.php/(webdav|caldav|carddav|dav)(\/?)$
to /remote.php/{1}
}
rewrite {
r ^/remote.php/(webdav|caldav|carddav|dav)/(.+?)(\/?)$
to /remote.php/{1}/{2}
}
rewrite {
r ^/public.php/(.+?)(\/?)$
to /public.php/(.+?)(\/?)$
}
# .htaccess / data / config / ... shouldn't be accessible from outside
status 403 {
/.htacces
/data
/config
/db_structure
/.xml
/README
}
header / Strict-Transport-Security "max-age=31536000;"
}
Transformons également Caddy en service. Collez ces lignes dans le fichier /etc/systemd/system/caddy.service
.
[Unit]
Description=Caddy HTTP/2 web server %I
Documentation=https://caddyserver.com/docs
After=network-online.target
Wants=network-online.target
Wants=systemd-networkd-wait-online.service
[Service]
; run user and group for caddy
User=root
Group=root
ExecStart=/usr/local/bin/caddy -agree=true -conf=/etc/caddy/Caddyfile
Restart=on-failure
; create a private temp folder that is not shared with other processes
PrivateTmp=true
; limit the number of file descriptors, see `man systemd.exec` for more limit settings
LimitNOFILE=8192
[Install]
WantedBy=multi-user.target
Activez et exécutez le serveur Caddy.
systemctl enable caddy.service
systemctl start caddy.service
MariaDB
Une base de données est requise pour la configuration de NextCloud.
Remarque : Enregistrez et souvenez-vous du mot de passe root que vous avez choisi lors de l'installation de MariaDB!
Exécutez les commandes suivantes pour installer MariaDB. Vous voudrez peut-être remplacer le référentiel MariaDB par un autre de votre choix.
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
add-apt-repository 'deb [arch=amd64,i386] http://ftp.utexas.edu/mariadb/repo/10.2/ubuntu zesty main'
apt update
apt install mariadb-server -y
Avec MariaDB installé, nous devons créer un utilisateur et une base de données pour l'installation de NextCloud.
Exécutez cette séquence de commandes:
mysql -u root -p
CREATE DATABASE nextcloud;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'exampleUser'@'localhost' IDENTIFIED BY 'securepassword';
FLUSH PRIVILEGES;
exit
NextCloud
Accédez au répertoire racine de l'emplacement d'installation et exécutez les commandes suivantes.
cd /var/www/nextcloud
wget https://download.nextcloud.com/server/releases/nextcloud-12.0.0.zip
unzip nextcloud-*
mv nextcloud/* .
chown -R www-data:www-data /var/www/nextcloud
rm -rf nextcloud-*.zip
Maintenant, visitez votre nom de domaine ou votre adresse IP et vous serez accueilli par l'écran d'installation. Suivez les instructions d'installation à l'écran et remplissez les détails du compte administrateur souhaité, l'utilisateur de la base de données, le mot de passe et le nom.