Nextcloud instalatzen

10 urte inguru pasa dira Owncloud lehen aldiz instalatu nuela… Gero Karlitschek proiektua utzi eta nextcloudekin hasi zela jakitean, Openoffice-libreoffice garaiak ekarri zizkidan burura. Nextcloud proiektuarekin gertutasun gehiago nuela pentsatu eta aldaketari ekin nion….jadanik urte batzuk dira Nextcloud erabiltzen dudala baina aspaldi ez dudala instalazio osoa egin.

Laister etxeko zerbitzaria aldatu nahiko nuke eta errepaso moduan makina birtual berri bat martxan jarri dut.

Ubuntu server 20.04 instalu berri dut. Hasieran Nextcloud snap paketea erabiltzen hasi nintzen baina bi egun eta gero, ez naiz eroso sentitu. Adina izango da, zeren ondo doa baina dena lekuz aldatua dago eta ohituragatik betiko instalazioa egingo dut.

1. Zerbitzaria prestatu

Behin zerbitzaria martxan daukagula, lamp instalatuko dugu; apache, mysql eta php:

sudo apt install -y apache2 apache2-utils
sudo apt install mariadb-server mariadb-client
sudo apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline

Mariadb datubasea martxan jartzeko pakete berezi bat instalatuko dugu. Pasahitza galdetzean intro sakatu eta hurrengo galderan berri bat sortzeko eskatuko diogu. Orduan sortuko dugu root erabiltzailearentzako pasahitz berria. Hurrengo galdera guztietan intro sakatu. Gero php7 apache.

sudo mysql_secure_installation

php 7.4 modulua aktibatu eta apache zerbitzaria berrabiaraziko dugu.

sudo a2enmod php7.4
systemctl restart apache2

2. Nextcloud instalatu.

Orain nextcloud zerbitzaria jeitsi, deskomprimitu eta dagokion karpetara mugituko dugu.

wget https://download.nextcloud.com/server/releases/nextcloud-18.0.4.zip
sudo apt install unzip
sudo unzip nextcloud-18.0.4.zip -d /var/www/
sudo chown -R www-data:www-data /var/www/html/nextcloud

3. Datu basea prestatu

Datubasean sartuko gara. MariaDb-ek unix_socket-a erabiltzen duenetik ez dugu root pasahitzik behar.

sudo mysql

Datu basea sortuko dugu. Kasu honetan nextcloud deitu diot baina nahi duzuena jar dezakezue.

create database nextcloud;

Komenigarria da erabiltzaile bat sortzea datu base bakoitzeko. Erabiltzailea eta pasahitza alda ditzakezue.

create user nextclouderabiltzailea@localhost identified by 'zure -pasahitza';

Hurrengoan, sortu berri dugun erabiltzaileari bahimen guztiak emango dizkiogu datu basearekin lan egiteko.

grant all privileges on nextcloud.* to nextclouderabiltzailea@localhost identified by 'your-password';

Baimenak kargatuko ditugu komando honekin, eta gero datu basetik irtengo gara.

flush privileges;
exit;

Step 3: Nextcloud virtual host-a sortzen

Nextcloud.conf fitxategia sortuko dugu nano erabiliaz.

sudo nano /etc/apache2/sites-available/nextcloud.conf

Kopiatu eta itsatsi hurrengo testua, virtualhost bat sortzeko testu basikoa da. Gogoratu serverName zure zerbitzariaren izenarekin aldatzeaz.

<VirtualHost *:80>
        DocumentRoot "/var/www/html/nextcloud"
        ServerName nextcloud.aidbidea.eus

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

        <Directory /var/www/html/nextcloud/>
            Require all granted
            Options FollowSymlinks MultiViews
            AllowOverride All

           <IfModule mod_dav.c>
               Dav off
           </IfModule>

        SetEnv HOME /var/www/html/nextcloud
        SetEnv HTTP_HOME /var/www/html/nextcloud
        Satisfy Any

       </Directory>

</VirtualHost>

Orain virtual host-a aktibatuko dugu, eta baita beharrezko moduloak ere.

sudo a2ensite nextcloud.conf
sudo a2enmod rewrite headers env dir mime setenvif ssl

Jatorriz etortzen diren bi virtual hostak desaktibatuko ditugu eta bukatzeko apache zerbitzaria berrabiaraziko dugu.

sudo a2dissite 000-default.conf
sudo a2dissite default-ssl.conf
sudo systemctl restart apache2

4. Instalatu eta gaitu PHP Moduluak

Nextcloud-ek behar dituen ohiko moduluak kargatuko ditugu.

sudo apt install php-imagick php7.4-common php7.4-mysql php7.4-fpm php7.4-gd php7.4-json php7.4-curl  php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl

Bukatzeko apache2 berrituko dugu.

sudo systemctl reload apache2

5. HTTPS lets encrypt erabiliaz gaitu

Https konexioa aktibatzeko lets encrypt erabiliko dugu. Kontutan eduki horretarako 80 portuak irekita egon behar duela. Firewalean ireki eta behin konfigurazioa egin eta gero berriro itxiko dugu. Hasteko ziurtagiria jeitsi eta konfiguratuko dugu. Horretarako laguntzaile bat dugu:

sudo apt install certbot python3-certbot-apache

eta ziurtagiria konfiguratuko dugu.

sudo certbot --apache --agree-tos --redirect --staple-ocsp --email [email protected] -d nextcloud.adibidea.eus

Nextcloud-en instalaziorako komenigarria da http strick transport security gaitzea. Nextcloud berriki sortu den nextcloud-le-ssl.conf fitxategia editatuko dugu.

sudo nano /etc/apache2/sites-avaible/nextcloud-le-ssl.conf

Bertan lerro hau : Header always set Strict-Transport-Security “max-age=31536000” gehituko dugu.

ServerAlias nextcloud.adibidea.eus
SSLCertificateFile /etc/letsencrypt/live/nextcloud.adibidea.eus/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/nextcloud.adibidea.eus/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLUseStapling on
Header always set Strict-Transport-Security "max-age=31536000"
</VirtualHost>

6. Azkeneko konfigurazioa

Firefox ireki eta nextcloud.adibidea.com idatziko dugu. Nextcloud hasierako orria ikusiko genuke eta hor datu batzuk sartzeko eskatzen digu. Nire kasuan, datuak beste karpetan batean edukitzea gustatzen zait, beraz, lehendabizi karpeta sortuko dugu; ez da beharrezkoa hau egitea eta bakoitzak erabaki dezake non nahi duen sortu.

sudo mkdir /mnt/nextcloud
sudo chown www-data:www-data /mnt/nextcloud -R

Orain bai, eskatzen dizkigun datuak sartzeko unea da. Erabiltzaile bezala ez dut nirea sartuko, aurrerago ldap zerbitzari batekin konektatuko dut eta. Karpeta, aurreko paragrafoan sartu duguna izango da. Datu basearen datuak, sortzerakoan ikusi ditugunak, eta zerbitzaria, localhost , datu basea nextcloude-rekin batera baitugu.

  • Erabiltzailea: kudeatzaile izena
  • Pasahitza: nahi dugun pasahitza
  • Datuak gordetzeko karpeta:/mnt/nextcloud
  • datu basearen erabiltzailea: nextclouderabiltzailea
  • datu basearen erabiltzailearen pasahitza: lehen erabili duguna
  • datua basearen izena: nextcloud
  • zerbitzaria: localhost

Gaurkoz nahikoa. Nextcloud martxan utzi dugu eta hurrengo batean jarraituko dugu.