[Õpetus] Paigalda NextCloud Ubuntu 20.04 koos Apache-ga

Collapse
X
 
  • Aeg
  • Show
Puhasta kõik
uued postitused
  • root
    Huviline
    • Oct 2021
    • 318

    [Õpetus] Paigalda NextCloud Ubuntu 20.04 koos Apache-ga

    Eeldused:
    NextCloud on kirjutatud PHP programmeerimiskeeles. Selle õpetuse järgimiseks peate esmalt paigaldama LAMP Stacki Ubuntu Server/Desktop.

    1. Laadige alla NextCloud Ubuntu 20.04-le

    Logige sisse oma Ubuntu 20.04 serverisse. Seejärel laadige oma serverisse NextCloudi ZIP arhiiv. Võimalik, et peate muutma versiooninumbrit. Minge aadressile https://nextcloud.com/install ja klõpsake uuema versiooni vaatamiseks nuppu download for server.

    Selle oma serverisse allalaadimiseks saate käivitada järgmise käsu.
    Kood:
    wget https://download.nextcloud.com/server/releases/nextcloud-23.2.0.zip
    Peale allalaadimist pakkige lahti.
    Kood:
    sudo apt install unzip
    Kood:
    sudo unzip nextcloud-23.2.0.zip -d /var/www/
    Valik -d määrab sihtkataloogi. NextCloudi veebifailid pakitakse kausta /var/www/nextcloud/. Seejärel peame muutma selle kataloogi omanikuks www-data, et veebiserver (Apache) saaks sellesse kataloogi kirjutada.
    Kood:
    sudo chown www-data:www-data /var/www/nextcloud/ -R
    2. Looge MariaDB andmebaasiserveris Nextcloudi andmebaas ja kasutaja

    Logige MariaDB andmebaasiserverisse järgmise käsuga. Kuna MariaDB kasutab nüüd kasutaja sisselogimise autentimiseks pistikprogrammi unix_socket, ei ole vaja MariaDB juurparooli sisestada. Peame lihtsalt lisama mysql käskluse ette sudo.
    Kood:
    sudo mysql
    Seejärel looge Nextcloudi jaoks andmebaas. See õpetus annab andmebaasile nime nextcloud. Võite kasutada mis tahes nime, mis teile meeldib.
    Kood:
    create database nextcloud;
    Loo andmebaasi kasutaja. Jällegi saate selle kasutaja jaoks kasutada oma eelistatud nime. Asendage minu-parool eelistatud parooliga.
    Kood:
    create user nextcloudkasutaja@localhost identified by 'minu-parool';
    Andke sellele kasutajale kõik privileegid nextcloudi andmebaasis.
    Kood:
    grant all privileges on nextcloud.* to nextcloudkasutaja@localhost identified by 'minu-parool';
    Lõpetage ja väljuge:
    Kood:
    flush privileges;
    Kood:
    exit;
    Click image for larger version

Name:	sql.jpg
Views:	201
Size:	51.4 KB
ID:	533
    3. Looge Nextcloudi jaoks Apache virtuaalne host

    Looge kataloogis /etc/apache2/sites-available/ fail nextcloud.conf käsurea tekstiredaktoriga Nano
    Kood:
    sudo nano /etc/apache2/sites-available/nextcloud.conf
    Kopeerige ja kleepige järgmine tekst faili. Asendage nextcloud.example.com oma eelistatud alamdomeeniga. Ärge unustage luua DNS-i tsooniredaktoris selle alamdomeeni jaoks DNS kirjet.
    HTML kood:
    <VirtualHost *:80>
    DocumentRoot "/var/www/nextcloud"
    ServerName nextcloud.example.com
    
    ErrorLog ${APACHE_LOG_DIR}/nextcloud.error
    CustomLog ${APACHE_LOG_DIR}/nextcloud.access combined
    
    <Directory /var/www/nextcloud/>
    Require all granted
    Options FollowSymlinks MultiViews
    AllowOverride All
    
    <IfModule mod_dav.c>
    Dav off
    </IfModule>
    
    SetEnv HOME /var/www/nextcloud
    SetEnv HTTP_HOME /var/www/nextcloud
    Satisfy Any
    
    </Directory>
    
    </VirtualHost>
    Salvestage ja sulgege fail. (Faili salvestamiseks Nano tekstiredaktoris vajutage klahvikombinatsiooni Ctrl+O, seejärel vajutage kinnitamiseks sisestusklahvi. Väljumiseks vajutage klahvikombinatsiooni Ctrl+X)

    Seejärel lubage see virtuaalne host.
    Kood:
    sudo a2ensite nextcloud.conf
    Nõutavate Apache moodulite lubamiseks käivitage järgmine käsk.
    Kood:
    sudo a2enmod rewrite headers env dir mime setenvif ssl
    Seejärel testige Apache konfiguratsiooni.
    Kood:
    sudo apache2ctl -t
    Kui süntaks on korras, laadige muudatuste jõustumiseks Apache uuesti.
    Kood:
    sudo systemctl restart apache2
    4. Paigalda ja luba PHP moodulid

    NextCloudi nõutavate või soovitatud PHP moodulite paigaldamiseks käivitage järgmised käsud.
    Kood:
    sudo apt install imagemagick php-imagick libapache2-mod-php7.4 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 php7.4-bcmath php7.4-gmp
    Nende moodulite kasutamiseks laadige Apache uuesti.
    Kood:
    sudo systemctl reload apache2
    5. Luba HTTPS

    Nüüd pääsete veebibrauseris juurde Nextcloudi veebipaigaldaja viisardile, sisestades oma Nextcloudi paigaldaja domeeninime.
    HTML kood:
    nextcloud.example.com
    Click image for larger version

Name:	nextcloudhttp.jpg
Views:	64
Size:	45.4 KB
ID:	534

    Kui veebilehte ei saa laadida, peate tõenäoliselt avama tulemüüris pordi 80.
    Kood:
    sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    Ja port 443 samuti.
    Kood:
    sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT
    Enne tundliku teabe sisestamist peaksime lubama Nextcloudis turvalise HTTPS ühenduse. Let’s Encryptilt saame hankida tasuta TLS sertifikaadi. Paigaldage Let’s Encrypt klient (certbot) Ubuntu 20.04 hoidlast.
    Kood:
    sudo apt install certbot python3-certbot-apache
    Python3-certbot-apache on Apache pistikprogramm. Järgmisena käivitage käsk, et hankida Apache pistikprogrammi abil tasuta TLS sertifikaat.
    Kood:
    sudo certbot --apache --agree-tos --redirect --staple-ocsp --email you@example.com -d nextcloud.example.com
    Kus:
    –apache2: kasutage Apache autentimist ja paigaldajat
    –agree-tos: nõustuge Let’s Encrypt teenusetingimustega
    –redirect: jõustage HTTPS, lisades 301 ümbersuunamise.
    –staple-ocsp: lubage OCSP klammerdamine.
    –e-mail: e-posti aadress, mida kasutatakse registreerimiseks ja kontakti taastamiseks.
    -d järgneb domeeninimede loend, mis on eraldatud komaga. Saate lisada kuni 100 domeeninime.

    Teilt küsitakse, kas soovite EFF-lt (Electronic Frontier Foundation) e-kirju saada. Pärast Y või N valimist hangitakse ja konfigureeritakse teie jaoks automaatselt teie TLS sertifikaat, millele viitab allolev teade.

    Click image for larger version

Name:	TLS.jpg
Views:	56
Size:	63.0 KB
ID:	535

    Leidsin, et Certbot ei saa Nextcloudi Apache konfiguratsioonifaili automaatselt HSTS-i päist lisada. Kui soovite lubada HSTS-i (HTTP range transpordi turvalisus), muutke faili.
    Kood:
    sudo nano /etc/apache2/sites-enabled/nextcloud-le-ssl.conf
    Seejärel saame HSTS-i päise lubamiseks lisada SSL serveri plokki järgmise rea.
    Kood:
    Header always set Strict-Transport-Security "max-age=31536000"
    Nagu allpool.
    Click image for larger version

Name:	HSTS.jpg
Views:	59
Size:	33.1 KB
ID:	536

    Salvestage ja sulgege fail. Seejärel saatke Apache konfiguratsioonid.
    Kood:
    sudo apache2ctl -t
    Kui test on edukas, laadige muudatuse jõustumiseks Apache uuesti.
    Kood:
    sudo systemctl reload apache2
    6. Viige paigaldamine oma veebibrauseris lõpule

    Nüüd pääsete juurde Nextcloudi veebipaigaldaja viisardile HTTPS ühenduse kaudu.
    Kood:
    https://nextcloud.example.com
    Paigaldamise lõpuleviimiseks peate looma administraatori konto, sisestama Nextcloudi andmekausta tee, sisestama loodud andmebaasi üksikasjad. Saate kasutada hostiaadressina vaikimisi kohaliku hosti või sisestada MariaDB-na localhost:3306 kuulab porti 3306.

    Andmekaust on koht, kuhu salvestatakse kasutajate failid. Turvalisuse huvides on kõige parem paigutada andmekataloog väljapoole Nextcloudi veebi juurkataloogi. Nii et selle asemel, et salvestada kasutajate faile kausta /var/www/nextcloud/data/, saame selle muuta failiks /var/www/nextcloud-data. mille saab luua järgmise käsuga:
    Kood:
    sudo mkdir /var/www/nextcloud-data
    Seejärel veenduge, et Apache kasutajal (www-data) oleks andmekataloogi kirjutamisõigus.
    Kood:
    sudo chown www-data:www-data /var/www/nextcloud-data -R
    Click image for larger version

Name:	nextcloudinstall2.jpg
Views:	51
Size:	95.8 KB
ID:	537

    Kui valmis, klõpsake nuppu Finish Setup. Õnnitlused! Võite hakata seda kasutama oma privaatse pilveruumina.
Töötlen...