frame

Sveiki apsilankę!

Jei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.

Prisijungti Registruotis

Nextcloud failų saugykla CentOS 7 aplinkoje

iv_valentinasciv_valentinasc Super Moderator
edited gruodžio 12 Į Kitos aplikacijos
"Nextcloud" - tai patogus ir nemokamas įrankis skirtas paversti jūsų serverį į galingą duomenų saugyklą, kurią galite naudoti failų dalinimuisi įmonėje ir/ar namuose. Sinchronizavimo programų pagalba galite automatiškai sinchronizuoti duomenis tarp serverio ir asmeninio kompiuterio. "Nexcloud" yra sukurta "ownCloud" sistemos pagrindu tačiau siūlo daugiau galimybių.

0. Preliminarūs reikalavimai:

- Įrašytas mūsų parengtas "CentOS 7" šablonas;
- Atnaujinta serverio paketų sąrašas (yum update);
- Tekstinių failų redagavimui įrašyta "nano" aplikacija (yum install nano -y).

1. Įrašome MariaDB
yum install mariadb-server

Įsitikiname, kad po serverio perkrovimo MariaDB bus paleidžiama automatiškai:
systemctl enable mariadb

Paleidžiame MariaDB
systemctl start mariadb

Paleidžiame MariaDB saugumo programą:
mysql_secure_installation

Programai paprašius įvesti MariaDB "root" naudotojo slaptažodį paspaudžiame "Enter", nes šiuo metu "root" naudotojas dar neturi slaptažodžio. Sekančiame žingsnyje įvedame "y" paspaudžiame "Enter" ir sukuriame "root" naudotojo slaptažodį. Visuose sekančiuose žingsniuose spaudžiame "Enter" ir užbaigiame vykdyti programą.

2. Įrašome PHP 7

Kadangi PHP 7.x nėra įtraukiamas į oficialias repozitorijas, mes turime įtraukti trečiųjų šalių šaltinius. Šioje pamokoje naudosime "IUS" repozitoriją:
curl 'https://setup.ius.io/' -o setup-ius.sh
bash setup-ius.sh

Įrašome PHP 7 iš IUS repozitorijos:
yum install mod_php70u php70u-common php70u-process php70u-gd php70u-mysqlnd php70u-mbstring php70u-ldap php70u php70u-xml php70u-pdo php70u-cli php70u-json

Perkrauname Apache:
systemctl restart httpd

3. Sukuriame MariaDB duomenų bazę ir naudotoją

Prisijungiame prie MariaDB:
mysql -u root -p

Sukuriame duomenų bazę:
create database [B]nextcloud[/B];

Sukuriame naudotoją:
create user [B]nextclouduser[/B]@localhost identified by '[B]slaptažodis[/B]';

Suteikiame teises naudotojui:
grant all privileges on [B]nextcloud[/B].* to [B]nextclouduser[/B]@localhost identified by '[B]slaptažodis[/B]';
flush privileges;
exit;

4. Įjungiame MariaDB "Binary Logging"
nano /etc/my.cnf

Pridedame šias tris eilutes "[mysqld]" skiltyje:
log-basename=master
log-bin
binlog-format=mixed

Perkrauname MariaDB:
systemctl restart mariadb

5. Atsisiunčiame Nextcloud

Atsisiunčiame naujausią Nextcloud archyvą:
wget https://download.nextcloud.com/server/releases/nextcloud-9.0.52.zip

Naujausio archyvo nuorodą galite rasti: https://nextcloud.com/install/#instructions-server

Išarchyvuojame jį:
unzip nextcloud-9.0.52.zip

Perkeliame failus:
mv nextcloud/* nextcloud/.* /var/www/html/

6. Nustatome failų leidimus

Sukuriame "permissions.sh" failą:
nano permissions.sh

Jame įklijuojame turinį:
#!/bin/bash
ncpath='/var/www/html/'
htuser='apache'
htgroup='apache'
rootuser='root'

printf "Creating possible missing Directories\n"
mkdir -p $ncpath/data
mkdir -p $ncpath/assets
mkdir -p $ncpath/updater

printf "chmod Files and Directories\n"
find ${ncpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ncpath}/ -type d -print0 | xargs -0 chmod 0750

printf "chown Directories\n"
chown -R ${rootuser}:${htgroup} ${ncpath}/
chown -R ${htuser}:${htgroup} ${ncpath}/apps/
chown -R ${htuser}:${htgroup} ${ncpath}/assets/
chown -R ${htuser}:${htgroup} ${ncpath}/config/
chown -R ${htuser}:${htgroup} ${ncpath}/data/
chown -R ${htuser}:${htgroup} ${ncpath}/themes/
chown -R ${htuser}:${htgroup} ${ncpath}/updater/

chmod +x ${ncpath}/occ

printf "chmod/chown .htaccess\n"
if [ -f ${ncpath}/.htaccess ]
then
chmod 0644 ${ncpath}/.htaccess
chown ${rootuser}:${htgroup} ${ncpath}/.htaccess
fi
if [ -f ${ncpath}/data/.htaccess ]
then
chmod 0644 ${ncpath}/data/.htaccess
chown ${rootuser}:${htgroup} ${ncpath}/data/.htaccess
fi

Paleidžiame failą:
bash permissions.sh

7. Užbaigiame Nextcloud diegimą

Interneto naršyklėje atidarome savo serverio IP adresą arba serverio pavadinimą (angl. hostname) ir užbaigiame diegimą įvedę informaciją.

aivwluYpng

Daugiau informacijos apie Nextcloud projektą galite rasti - https://nextcloud.com/
Pažymėtos temos:

Komentarai

  • umunasumunas Naujokas (-ė)
    edited 2017 gegužės 3
    Pamoka nebloga, bet ji kaip ir naujokams skirta. Tai gal reiktų ją papildyti ir nurodymais kaip primityvias saugumo skyles užtaisyti? Tarkim kaip susitvarkyti https?
  • iv_valentinasciv_valentinasc Super Moderator
    edited 2017 gegužės 3
    umunas parašė: »
    Tarkim kaip susitvarkyti https?

    Saugų SSL ryšį Nextcloud sistemai nesunkiai galite įgyvendinti su nemokamais "Let's Encrypt" sertifikatais sekant šią pamoką:

    https://forumas.dedikuoti.lt/showthread.php?t=656

    Įdiegus "Let's encrypt" sertifikatą beliks tik jo naudojimą įjungti jau pačiame Nextcloud. Tai padaryti galite ".htaccess" failo pagalba:

    http://pagalba.iv.lt/Automatinis_peradresavimas_%C4%AF_HTTPS_protokol%C4%85
  • umunasumunas Naujokas (-ė)
    edited 2017 gegužės 15
    Ačiū už pagalbą. Dabar liko keletas bėdų, kurių pats kažkodėl nesugebu iškuopti, nors esu tikras, kad čia viskas labai paprasta.

    1. Šiuo metu NextCloud pasiekiamas ir per IP adresą. Gaunamas pranešimas:
    You are accessing the server from an untrusted domain.
    Please contact your administrator. If you are an administrator of this instance, configure the "trusted_domains" setting in config/config.php. An example configuration is provided in config/config.sample.php.
    Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain.

    Esmė ta, kad noriu, jog serveris būtų pasiekiamas tik per https://wxyz.?.dedikuoti.lt . Klausimas: kaip? Visi bandymai buvo nesėkmingi.

    2. Pats NextCloud meta šį pranešimą:
    Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root.
    Ir taip, aš tikrai galiu pasiekti failus tiesiog per linką į https://wxyz.?.dedikuoti.lt/data/user/files/ ir tai tikrai yra milžiniška bėda.

    3. Nevisai domėjausi ar apskritai į šitą pranešimą dėmesį kreipti verta, bet vistiek nervina:
    No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation.
    Please double check the installation guides ↗, and check for any errors or warnings in the log.
    Bandžiau su APCu praslysti, nes maniau bus paprasčiasia, bet neveikia. Ir niekaip nepagaunu kampo kas ten gali neveikti.
  • iv_almantasmiv_almantasm Super Moderator
    edited 2017 gegužės 16
    1. Tam, kad svetainė/serveris nebūtų pasiekiamas per IP adresą, pakaktų failo /etc/httpd/conf/httpd.conf pabaigoje pridėti eilutes:
    <VirtualHost *:80>
    ServerName localhost
    Redirect 403 /
    UseCanonicalName Off
    UserDir disabled
    </VirtualHost>
    
    <VirtualHost *:80>
    ServerName www.example.com
    DocumentRoot /var/www/html
    </VirtualHost>
    

    Vietoj www.example.com naudokite savo serverio pavadinimą, o DocumentRoot nurodykite katalogą į kurį įdiegėte NextCloud sistemą. Jei tiksliai sekėte pamoką, šis katalogas ir bus /var/www/html

    Po pakeitimų nepamirškite perkrauti Apache tarnybos.

    2. Norint, kad failai nebūtų prieinami viešai reikėtų pakoreguoti serverio VirtualHost failą pagal NextCloud pateikiamas instrukcijas . T.y. pirmiausia Jums reikėtų sukurti VirtualHost failą kataloge: /etc/httpd/conf.d . Jūsų atveju failas vadinsis wxyz.?.dedikuoti.lt.conf , o jame turi būti įrašyta tokia informacija:
    Alias /nextcloud "/var/www/html/"
    
    <Directory /var/www/html/>
      Options +FollowSymlinks
      AllowOverride All
    
     <IfModule mod_dav.c>
      Dav off
     </IfModule>
    
     SetEnv HOME /var/www/html
     SetEnv HTTP_HOME /var/www/html
    
    </Directory>
    

    Po pakeitimų nepamirškite perkrauti Apache tarnybos.

    3. Memcache problemą greičiausiai padėtų išspręsti ir viena iš mūsų parengtų pamokų
Norėdami palikti komentarą, turite prisijungti arba registruokis.