Hoppa till huvudinnehåll

VPS: Installation av Nextcloud

Denna guide skapades med följande produkter:

(Detaljer kan variera med produkter från olika leverantörer men huvudkoncepten förblir desamma)

Introduktion

Nextcloud är en open source molnlösning och en fork av Owncloud, grundad 2016 av Ownclouds tidigare grundare Frank Kalitschek.

För att uppnå optimal prestanda, stabilitet och funktionalitet rekommenderas följande setup för att hosta en Nextcloud-server. Nextcloud-servern är inte kompatibel med Windows och MacOS. Åtminstone inte utan vidare virtualisering eller liknande lösningar.

Förberedelser

Följande krav rekommenderas av utvecklarna och baseras på vår egen erfarenhet. Du kan stöta på problem om du inte uppfyller dessa förutsättningar.

Hårdvara

KomponenterMinimumRekommenderat
CPU2x 1 GHz4x 2+ GHz
RAM512 MB4+ GB
Lagring10 GB50+ GB
Bandbredd100 mbit/s (upp & ner)500 mbit/s (upp & ner) Rekommenderas om flera användare ska använda molnet

Mjukvara

PlattformAlternativ
OperativsystemUbuntu (14.04, 16.04, 18.04), Debian (8,9,10), CentOS 6.5/7
DatabasMySQL eller MariaDB 5.5+ (rekommenderat), SQLite (endast för test och minimala instanser)
WebbserverApache 2.4 med mod_php eller php-fpm (rekommenderat)
PHP5.6, 7.0 (rekommenderat), 7.1 (rekommenderat), 7.2

En anslutning måste upprättas via en SSH-klient för att installera molnet på en Linux-server. Om du är osäker på hur man använder SSH, här är en guide: Initial access (SSH)

När anslutningen är upprättad kan du börja installera nödvändiga paket som krävs för själva installationen av Nextcloud. Detta inkluderar installation av webbserver samt PHP.


Apache (Webbserver)

🗄️ Debian 8/9/10:

sudo apt update && sudo apt -y upgrade
sudo apt -y install apache2

PHP (Hypertext Preprocessor)

🗄️ Debian 8:

# Steg 1: Lägg till PHP 7.3 PPA-repo
sudo apt -y install lsb-release apt-transport-https ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.3.list

# Steg 2: Installera PHP 7.3
sudo apt -y install php7.3

# Steg 3: Installera PHP 7.3-tillägg
sudo apt install php7.3-cli php7.3-fpm php7.3-json php7.3-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php7.3-bcmath php7.3-json

🗄️ Debian 9:

# Steg 1: Lägg till PHP 7.3 PPA-repo
sudo apt -y install lsb-release apt-transport-https ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.3.list

# Steg 2: Installera PHP 7.3
sudo apt -y install php7.3

# Steg 3: Installera PHP 7.3-tillägg
sudo apt install php7.3-cli php7.3-fpm php7.3-json php7.3-pdo php7.3-mysql php7.3-zip php7.3-gd php7.3-mbstring php7.3-curl php7.3-xml php7.3-bcmath php7.3-json

🗄️ Debian 10:

# Steg 1: Installera PHP 7.3
sudo apt -y install php php-common

# Steg 2: Installera PHP 7.3-tillägg
sudo apt -y install php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath

Kolla PHP-version för funktionalitet

php -v

Nästa steg är att definiera en databas för att lagra relevant info. Det finns flera alternativ:


Om du valt denna databas följer du dessa steg:

Installera paket:

sudo apt-get install mariadb-server php-mysql

Under installationen kommer du bli ombedd att sätta ett root-lösenord. Om inget lösenord efterfrågas är standardlösenordet tomt. Detta är osäkert och bör ändras direkt efteråt!

Nästa steg är att ansluta till databasservern och skapa den nödvändiga databasen:

mysql -u root -p
CREATE DATABASE nextcloud;

Sedan måste en användare skapas som får tillgång till Nextcloud-databasen.

CREATE USER 'nc_user'@'localhost' IDENTIFIED BY 'DITT_LÖSENORD_HÄR';
info

Hoppa inte över detta steg genom att använda root-användaren. Det är inte säkert och kan äventyra dina data!

Sista steget är att ge rättigheter till den nya användaren:

GRANT ALL PRIVILEGES ON nextcloud.* TO 'nc_user'@'localhost';
FLUSH PRIVILEGES;

När du är klar kan du trycka Ctrl-D för att lämna databasen och fortsätta med nästa steg.

Installation

Nu kan själva installationen av Nextcloud starta. Mjukvaran behöver laddas ner och packas upp:

cd /var/www/
wget https://download.nextcloud.com/server/releases/latest.zip
apt-get install unzip
unzip latest.zip
chown -R www-data:www-data nextcloud
rm latest.zip

När detta steg är klart är det dags att köra installationsscriptet. Åtkomst sker via webbläsaren via följande URL:

Installationsscriptets konfiguration visas, där en root-användare skapas och databasinfo definieras:

Säkerhet och trygghet

Setup-varningar

Data-katalog

Det rekommenderas starkt att placera datakatalogen utanför webbrooten (dvs utanför /var/www). Det enklaste är att göra detta vid en nyinstallation. Katalogen kan definieras under setup. Dock måste katalogen först skapas och rätt behörigheter sättas. Data kan till exempel lagras i en katalog som heter Cloud i hemkatalogen.

mkdir /home/cloud/
chown -R www-data:www-data /home/cloud/

HTTPS via SSL-certifikat (Let's Encrypt)

En bra molnlösning bör endast vara åtkomlig via SSL-anslutning. Utan SSL-kryptering överförs data och info i klartext. Sådan info kan enkelt och snabbt snappas upp och läsas utan kryptering.

<IfModule mod_ssl.c>
<VirtualHost *:443>
DocumentRoot "/var/www/nextcloud"
ServerName domain.tld

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<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
Satisfy Any

</Directory>

SSLCertificateFile /etc/letsencrypt/live/domain.tld/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.tld/privkey.pem
</VirtualHost>
</IfModule>

<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; preload"
</IfModule>

Dessutom bör all HTTP-trafik omdirigeras till HTTPS med en permanent omdirigering med statuskod 301. Detta kan göras med Apache med en konfiguration som följande Apache VirtualHosts-konfiguration:

<VirtualHost *:80>
ServerName domain.tld
Redirect permanent / https://domain.tld/
</VirtualHost>

Hantera Nextcloud

Åtkomst till Nextcloud är möjlig via webbläsare, samt via smartphone och dator med appen. Nedladdningskällor finns här: https://nextcloud.com/install/#install-clients

Under inställningar kan du justera fler alternativ även efter setup och se viktig info som loggar, aktiviteter. Detta inkluderar extra säkerhetsinställningar (tvåfaktorsautentisering, kryptering, ...), designinställningar (logga, färg, slogan, header), åtkomstinställningar och mycket mer.

Appar

Dessutom finns möjligheten att installera extra appar utöver standardapparna. Du når dem via menyalternativet Appar.

Med sådana Appar kan du ytterligare anpassa Nextcloud efter dina önskemål.

Slutsats

Grattis, du har installerat Nextcloud framgångsrikt! Om du har fler frågor eller problem, kontakta gärna vårt supportteam som finns tillgängligt varje dag!