Βασική εγκατάσταση Nextcloud σε Banana Pi με Armbian Ubuntu 14.04.5


Αυτή είναι η πρώτη φορά που επιχειρώ να εγκαταστήσω το Nextcloud, μετά το συνέδριο που συμμετείχα.

Η αλήθεια είναι ότι δοκίμασα πρώτα να το εγκαταστήσω σε openSUSE Tumbleweed για Banana Pi (custom image γιατί αυτό που δίνουν στην ιστοσελίδα δεν δουλεύει). Ο λόγος ήταν για να γράψω documentation σχετικά με το openSUSE Leap (θα το δοκίμαζα μετά). Όμως ενώ όλα πήγαν καλά, δεν ολοκληρωνόταν η εγκατάσταση.

Οπότε ξεκίνησα να ψάχνω για άλλες λύσεις. Δοκίμασα το Arch Linux αλλά μετά την πρώτη αναβάθμιση για να έχει τα τελευταία πακέτα, δεν έκανε αναβάθμιση από το ιντερνετ, ούτε εγκατάσταση νέων πακέτων. Δεν το έψαξα και πολύ (πιθανό να έβρισκα την λύση). Δοκίμασα το Ubuntu 16.04 για να έχω την δυνατότητα των πακέτων snap αλλά και πάλι δεν εκκινούσε. Δοκίμασα πολλές εκδόσεις αλλά αποτυχημένα.

Κατέληξα λοιπόν στην Armbian_4.5_Bananapi_Ubuntu_trusty_4.2.3.zip. Μπορεί να δουλεύουν και άλλες εκδόσεις και διαφορετικές διανομές. Θα βρείτε πολλές εκδόσεις (ακόμα και για άλλες πλακέτες) στην ιστοσελίδα http://image.armbian.com/. Περισσότερες πληροφορίες μπορείτε να βρείτε και στην ιστοσελίδα του Armbian.

Πάμε να δούμε λοιπόν την εγκατάσταση.
Η εγκατάσταση αποτελείται από δυο κομμάτια. Ένα την εγκατάσταση του server και από την εγκατάσταση του Nextcloud. Και για τα δυο κομμάτια μπορείτε να συμβουλευτείτε την επίσημη τεκμηρίωση από το Nextcloud.


ΣΤΗΣΙΜΟ SERVER.

Για είσοδο στο banana pi θα δώσετε σε τερματικό ssh root@IP και κωδικό 1234. Μόλις μπείτε, θα σας ζητηθεί να αλλάξετε τον κωδικό σε αυτόν που θέλετε. Αφού μπήκατε, κάντε την πρώτη αναβάθμιση με την εντολή:

apt-get update && apt-get upgrade

Κάντε μια επανεκκίνηση (γράψτε reboot).

Καλό θα ήταν να βάλετε στατική IP. Επεξεργαστείτε το αρχείο /etc/network/interfaces από

iface eth0 inet dhcp

σε

iface eth0 inet static
      address 192.168.1.100
      netmask 255.255.255.0
      gateway 192.168.1.1

Η IP που θα έχετε είναι 192.168.1.100 ενώ αν το ρούτερ σας δεν έχει IP την 192.168.1.1 τότε βάλτε αυτήν που έχει.

Καλό θα ήταν να προσθέσετε έναν χρήστη και να απενεργοποιήσετε την είσοδο του root. Για να το κάνετε αυτό:

adduser χρήστης

για να τον βάλετε στην ομάδα sudo.

usermod -aG sudo χρήστης

Και ορίστε του και συνθηματικό

passwd χρήστης

Για να απενεργοποιήσετε τον root στην είσοδο με SSH, επεξεργαστείτε το αρχείο /etc/ssh/sshd_config.
Βρείτε την γραμμή:

PermitRootLogin yes

και αλλάξτε την σε

PermitRootLogin no

Μπείτε από άλλο τερματικό (έτσι ώστε να μην κλειδωθείτε εκτός) με SSH στον άλλο χρήστη και δώστε την εντολή:

/etc/init.d/sshd restart

τώρα κάνετε έξοδο από το τερματικό και δοκιμάστε να κάνετε είσοδο με τον χρήστη και μετά με τον root.
Για περισσότερες ρυθμίσεις, δείτε στο εγχειρίδιο του Armbian.

Αφού λοιπόν τελειώσαμε με τα βασικά, ας περάσουμε στην εγκατάσταση των προαπαιτουμένων για να εγκαταστήσουμε το Nextcloud. Μπορείτε να ακολουθήσετε το επίσημο εγχειρίδιο του Nextcloud. Η εγκατάσταση είναι ίδια για διακομιστές Debian/Ubuntu.

Εγκαταστήστε τα παρακάτω (σε μια γραμμή):

apt-get install apache2 mariadb-server libapache2-mod-php php-dev php-gd php-json php-mysql php-curl php-intl php-imagick php-cli php-zip php-xml php-mbstring php-fpm php-bz2 php-ldap php-dompdf php-apcu imagemagick php-smbclient redis-server php-redis unzip

Θα εγκατασταθούν πολλά πακέτα. Θα ερωτηθείτε και για το συνθηματικό που θέλετε για τον root της βάσης δεδομένων mariadb. Πάμε να φτιάξουμε την βάση δεδομένων που θα χρησιμοποιήσουμε.

mysql -u root -p
# εδώ θα χρειαστείτε το συνθηματικό που δώσατε κατά την εγκατάσταση
CREATE DATABASE nextcloudb;

GRANT ALL ON nextcloudb.* TO ncuser@localhost IDENTIFIED BY 'dbpass';

Χρήστης: ncuser
Βάση δεδομένων: nextcloudb
Συνθηματικό βάσης δεδομένων: dbpass

Χρειάζονται και κάποιες ρυθμίσεις στον Apache. Καταρχήν επεξεργαστείτε το αρχείο /etc/apache2/sites-available/nextcloud.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>


από το εγχειρίδιο

Μετά δημιουργήστε έναν συμβολικό σύνδεσμο με την εντολή:

ln -s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/nextcloud.conf

και επανεκκινήστε τον apache (/etc/init.d/apache2 restart).

Πάμε τώρα να κατεβάσουμε, θα αποσυμπιέσουμε και να στείλουμε στον κατάλογο του διακομιστή το nextcloud. Στις παρακάτω εντολές θα διαφέρει η έκδοση Nextcloud.

wget https://download.nextcloud.com/server/releases/latest.zip

unzip latest.zip

mv nextcloud /var/www/nextcloud

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

Επόμενο βήμα είναι να δούμε που θα αποθηκεύουμε τα δεδομένα. Προτείνεται να είναι εκτός του φακέλου nextcloud. Οπότε καλό θα ήταν να φτιάξετε έναν φάκελο και να δώσετε τα δικαιώματα. Εναλλακτικά μπορείτε να προσαρτήσετε έναν δίσκο και να αποθηκεύετε εκεί τα δεδομένα. Τέλος μπορείτε να χρησιμοποιήσετε όσο χώρο έχει η κάρτα σας και να κάνετε προσάρτηση του δίσκου, και να το εισάγετε μέσα από το nextcloud. Σε όλες τις περιπτώσεις πρέπει να δώσετε τα κατάλληλα δικαιώματα, ενώ στις 2 τελευταίες περιπτώσεις πρέπει να εισάγετε τον δίσκο στο fstab.

mkdir /mnt/nextcloud_data
chmod -R 0770 /mnt/nextcloud_data
chown www-data /mnt/nextcloud_data

Τώρα ανοίξτε τον browser στην σελίδα http://192.168.1.100/nextcloud (εκτός εάν έχετε βάλει άλλη IP). Θα δείτε την εικόνα:


Τώρα πρέπει να εισάγουμε τα δεδομένα που βάλατε (για την βάση δεδομένων και για τον κατάλογο που αποθηκεύουμε δεδομένα).


Για την βάση δεδομένων:
Χρήστης: ncuser
Βάση δεδομένων: nextcloudb
Συνθηματικό βάσης δεδομένων: dbpass

Για τον κατάλογο:
/mnt/nextcloud_data


Με λίγο παιχνίδι, δείχνει κάπως έτσι:

Αυτή ήταν μια πολύ βασική εγκατάσταση του Nextcloud. Θα ακολουθήσει και οδηγός ρυθμίσεων που θα θωρακίσουν την εγκατάσταση που έχουμε κάνει.

6 σχόλια:

  1. Η παραπανω διαδικασι ισχυει και για την εγκατασταση σε raspberry με debian?
    Ευχαριστω.

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Λογικά ναι. Θα ετοιμάσω ακόμα άρθρο τι αλλαγές να κάνεις για να το θωρακίσεις (όσο γίνεται σε επίπεδο σπιτιού).

      Διαγραφή
  2. Καλημερα και ευχαριστω για την απαντηση.Εχω κανει την εγκατασταση πανω απο 5 φορες στο pi3 με raspian.Μονο την πρωτη φορα δουλευε τελεια.Αλλα η εγκατασταση ηταν σε sd καρτα και ηθελα να προσθεσω ενα σκληρο δισκο.Και ακομη δεν ειχα ενεργοποιησει το ssl.Ε απο εκει και υστερα δεν θελει να κατσει δεν θελει.Βασικα τα κανω ολα σωστα συμφνα μα τα τουτοριαλ αλλα οταν παω να συνδεθω ειτε μου λεει This site can’t be reached

    192.168.1.3 refused to connect.

    Κατι εκει στο τελος δεν μου επιτρεπει να δω το owncloud απο browser.Απο τερμιναλ ομς κανονικα.Εχω τρεις μερες τωρα που παιδευομαι.Θα την βρω την ακρη, αλλα δεν ειναι ευκολη η εγκατασταση του.Το toutorial που ακολουθω ειανι απο το http://www.avoiderrors.net/raspberry-pi-owncloud/.Εχω το pi 3 σκληρο δισκο και θελω να να βαλω ειτε owncloud h nextcloud.Σημερα θα ξαναδοκιμασω ξανα.Καινουργια μερα καινουργια τυχη.Συγνωμη που εγραψα τοσο πολλα αλλα ειχα την αναγκη να τα πω.Ευχαριστω για τον χωρο και χρονο σου.Μακαρι να κανεις ενα tutorial δικο σου.
    Pol

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Περίεργο. Βασικά δες τα εξής:
      1. Για ένα περίεργο λόγο, δεν μου έπαιξε και εμένα όταν έβαλα τον φάκελο nextcloud μέσα στον /var/www όπως περιγράφει. Το έχωσα μέσα στο /var/www/html και δούλεψε. Επειδή χρησιμοποιώ openSUSE ο φάκελος εκεί είναι ο /srv/www/htdocs. Όπως και να έχει, δοκίμασε να το βγάλεις στο /var/www για debian.

      2. Γιατί δεν δοκιμάζεις το Ubuntu snap όπως το δίνουν στο nextcloud?

      Διαγραφή
    2. Υποψην στο link που παραθετεις για την ρύθμιση του /etc/apache2/sites-available/nextcloud.conf βάσει του οδηγού πρέπει εκει που λέει στην πρώτη γραμμη Alias /nextcloud "/var/www/nextcloud/" να το αντικαταστήσουμε με Alias /nextcloud "/var/www/html/nextcloud/" εφόσον ειναι το path που χρησιμοποιεις εσυ στον οδηγό σου.

      Διαγραφή
    3. Σ'ευχαριστώ. Το διόρθωσα. Βασικά το έβαλα στο www μέσα.
      Χρησιμοποιώ openSUSE και σε εμάς είναι αλλού.

      Διαγραφή

Από το Blogger.