Knowledgebase

Aveti intrebari? Sunteti in locul potrivit!

Cum instalezi Nextcloud pe Ubuntu 17.04

In acest tutorial va prezentam metoda de instalare pentru software-ul NextCloud. Se va utiliza Caddy pentru instalare pentru ca permite o configurare mai simpla a certificatelor SSL. Instructiunile de mai jos sunt cele pentru NextCloud 12 dar functioneaza si pentru versiuni mai noi.

Inainte de a incepe, trebuie sa ne asiguram ca serverul este actualizat si sa instalam modulele PHP 7.1 necesare:

apt-get update
apt-get upgrade -y
apt-get install software-properties-common unzip

PHP 7.1

Instalarea si configurarea 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

Pentru Caddy, utilizam socketul TCP in locul celui Unix pentru ca este mult mai optimizat.

Editati fisierul /etc/php/7.1/fpm/pool.d/www.conf , la linia 36 cautati listen = /run/php/php7.1-fpm.sock.
Comentati linia si adaugati socket-ul TCP in locul respective linii:

;listen = /run/php/php7.1-fpm.sock
listen = 127.0.0.1:9000

Reporniti PHP7.1-fpm

service php7.1-fpm restart

Caddy
Pentru instalarea Caddy.

Rularea scriptului de setare Caddy va descarca si instala in mod automat versiunea corecta pentru sistem (32/64bit)
curl https://getcaddy.com | bash -s personal

Creati directorul root de unde sunt servite fisierele:
mkdir -p /var/www/nextcloud

Creati directorul /etc/caddy si fisierul "Caddyfile"

mkdir -p /etc/caddy
nano /etc/caddy/Caddyfile

Acum, este necesar sa adaugati urmatorul continut:

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;"

}

Este necesar sa modificam Caddy intr-un serviciu. Copiati continutul de mai jos in fisierul /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

Activati si porniti serverul Caddy:

systemctl enable caddy.service
systemctl start caddy.service

MariaDB

Este necesara folosirea unei baze de date pentru continuare setarilor NextCloud.
Nota:salvati parola root pentru serverul de baza de date in cazul in care faceti o noua instalare.

Executati urmatoarele comenzi pentru instalarea MariaDB. Puteti folosi o alta instanta de baza de date in cazul in care doriti.

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

Dupa instalarea MariaDB, trebuie creat un utilizator si o baza de date pentru instalarea NextCloud.

Executati comanda urmatoare:
mysql -u root -p
CREATE DATABASE nextcloud;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'exampleUser'@'localhost' IDENTIFIED BY 'securepassword';
FLUSH PRIVILEGES;
exit

NextCloud

Intrati in directorul root unde se va instala instanta de NextCloud si executati comenzile de mai jos:

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

Acum intrati la adresa IP si continuati instalarea in browser. Urmand procedura de instalare selectati un utilizator de admin, parola si un nume.