|
⇤ ← Wersja 1 z 2019-02-10 13:39:27
Rozmiar: 21141
Komentarz: *** KREACJA (kopia z ownCloud) ***
|
← Wersja 2 z 2019-02-12 22:17:57 ⇥
Rozmiar: 18563
Komentarz: * aktualizacja po uruchomieniu produkcyjnym
|
| Usunięcia zostały oznaczone w ten sposób. | Dodatki zostały oznaczone w ten sposób. |
| Linia 7: | Linia 7: |
| Poniżej przepis, jak zainstalować oraz skonfigurować nextCloud na serwerze. /!\ /!\ /!\ '''UWAGA!!!''' Dokumentacja powstała na bazie konfiguracji [[OwnCloud|ownCloud]]. Należy uzupełnić oraz poprawić zgodnie ze stanem faktycznym /!\ /!\ /!\ |
Poniżej przepis, jak zainstalować oraz skonfigurować [[https://www.nextcloud.org/|nextCloud|target="_blank"]] na serwerze. |
| Linia 14: | Linia 12: |
| pkg install -y www/nextcloud pecl-redis pecl-memcached devel/pecl-APCu }}} |
pkg install -y www/nextcloud pecl-redis pecl-memcached devel/pecl-APCu www/php72-opcache }}} == Dodatkowe aplikacje == Jeżeli jest potrzeba, to można doinstalować dodatkowe "''aplikacje''", które są już w [[PoudriereBinaryPkg|repozytroium paczek]]: {{{#!highlight bash numbers=off pkg install -y www/nextcloud-calendar www/nextcloud-contacts www/nextcloud-notes www/nextcloud-tasks }}} Więcej dodatków jest dostępne poprzez menu ''Ustawienia'' w samym nextCloud. |
| Linia 24: | Linia 30: |
| Jeżeli po zalogowaniu wystąpi błąd "''zapisu do kaalogu config/''", to trzeba sprawdzić uprawnienia: {{{#!highlight bash numbers=off chnext -R www:www /usr/local/www/nextcloud/config/ |
Jeżeli po zalogowaniu wystąpi błąd "''zapisu do katalogu config/''", to trzeba sprawdzić uprawnienia: {{{#!highlight bash numbers=off chown -R www:www /usr/local/www/nextcloud/config/ |
| Linia 36: | Linia 42: |
| 1. serwer bazy danych (domyślnie localhost, ale w przypadku [[UruchomienieJails|jaili]] trzeba odpowiednio poprawić | 1. serwer bazy danych (domyślnie ''localhost'', ale w przypadku [[UruchomienieJails|jails]] trzeba odpowiednio zmodyfikować |
| Linia 57: | Linia 63: |
| 'forcessl' => true, 'forceSSLforSubdomains' => true, 'ldapIgnoreNamingRules' => false, 'ldapUserCleanupInterval' => 51, 'custom_csp_policy' => 'default-src \'self\'; script-src \'self\' \'unsafe-inline\' \'unsafe-eval\'; style-src \'self\' \'unsafe-inline\'; frame-src *; img-src *; font-src \'self\' data:; media-src *', 'htaccess.RewriteBase' => '/', |
|
| Linia 65: | Linia 65: |
| 'theme' => '', | |
| Linia 77: | Linia 76: |
| 'memcache.local' => '\OC\Memcache\Memcached', 'memcache.distributed' => '\OC\Memcache\Memcached', |
'memcache.local' => '\\OC\\Memcache\\APCu', 'memcache.distributed' => '\\OC\\Memcache\\Memcached', |
| Linia 124: | Linia 123: |
| 'mail_smtpsecure' => 'tls', 'mail_sendmailmode' => 'smtp', |
|
| Linia 126: | Linia 127: |
| 'mail_smtphost' => 'localhost.bsdserwis.com', | |
| Linia 128: | Linia 130: |
| 'mail_smtphost' => 'localhost.bsdserwis.com', | |
| Linia 139: | Linia 140: |
| # globalnie może być mniejszy, poprzez plik .htaccess nextCloud i tak ustawia poniższy limit memory_limit = 513M |
; nextCloud wymaga, aby memory_limit nie był mniejszy memory_limit = 512M |
| Linia 148: | Linia 149: |
| # post_max_size >= $upload_max_filesize | ; post_max_size >= $upload_max_filesize |
| Linia 152: | Linia 153: |
| == /usr/local/www/nextcloud/.htaccess == W pliku '''.htaccess''' są wartości pomniejszone do 513M. Można zatem poprawić ustawienia i dostosować do własnych potrzeb: {{{#!highlight diff numbers=off --- /usr/local/www/nextcloud/.htaccess 2018-01-29 09:13:17.000000000 +0100 +++ /usr/local/www/nextcloud/.htaccess.new 2018-02-03 12:06:12.763768000 +0100 @@ -49,8 +49,8 @@ </IfModule> <IfModule mod_php7.c> - php_value upload_max_filesize 513M - php_value post_max_size 513M + php_value upload_max_filesize 5175M + php_value post_max_size 5192M php_value memory_limit 512M php_value mbstring.func_overload 0 php_value default_charset 'UTF-8' |
Należy również pamiętać o ustawieniach dotyczących opcache (zgodnie z zaleceniami samego nextCloud): {{{#!highlight ini numbers=off ; ustawienia dla opcache [opcache] opcache.enable=1 opcache.enable_cli=1 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=10000 opcache.memory_consumption=128 opcache.save_comments=1 opcache.revalidate_freq=1 |
| Linia 171: | Linia 167: |
| Został opublikowany [[https://github.com/valerytschopp/nextcloud-ldap-schema|schmat LDAP|target="_blank"]], który dodaje atrybut dotyczący ''quota'' dla danego użytknextika (do wykorzystania w panelu [[PhpLdapAdmin|php ldap admin]]). Po wgraniu pliku należy go dołączyć do konfiguracji [[UslugiKatalogowe|serwera LDAP]]: | Został opublikowany [ [[#url4|4]] ], który dodaje atrybut dotyczący ''quota'' dla danego użytkownika (do wykorzystania w panelu [[PhpLdapAdmin|php ldap admin]]). Po wgraniu pliku należy go dołączyć do konfiguracji [[UslugiKatalogowe|serwera LDAP]]: |
| Linia 176: | Linia 172: |
| Nie można zapomnieć o przeładowaniu samego demona `slpad`: | Nie można zapomnieć o przeładowaniu samego demona `slapd`: |
| Linia 198: | Linia 194: |
# utworzenie pustej konfiguracji su -m www -c "php occ ldap:create-empty-config" }}} = Użytknexticy = Domyślnie użytknexticy są lokalni (zdefiniowani w bazie danych). Użytknexticy są przypiswaniu do grup (również lokalne). Dodatkowo użytknextik może być administratorem dla grupy swojej i/lub też innej. Po zalogowaniu każdy z użytknextików może ustawić swój profil: zdjęcie, adres email (to ważne, upraszcza pracę z [[https://www.nextcloud.org/|nextCloud|target="_blank"]]). |
}}} = Użytkownicy = Domyślnie użytkownicy są lokalni (zdefiniowani w bazie danych). Użytkownicy są przypiswani do grup (również lokalne). Dodatkowo użytkownik może być administratorem dla grupy swojej i/lub też innej. Po zalogowaniu każdy z użytkowników może ustawić swój profil: zdjęcie, adres email (to ważne, upraszcza pracę z [[https://www.nextcloud.org/|nextCloud|target="_blank"]]). |
| Linia 210: | Linia 203: |
| Możliwe jest skonfigurowanie użytknextików w bazie [[http://www.openldap.org|OpenLDAP|target="_blank"]]. W tym celu należy aktywować ''aplikację'' '''user_ldap''' (patrz poprzednia sekcja). | Możliwe jest skonfigurowanie użytkowników w bazie [[http://www.openldap.org|OpenLDAP|target="_blank"]]. W tym celu należy aktywować ''aplikację'' '''user_ldap''' (patrz poprzednia sekcja). |
| Linia 233: | Linia 226: |
| | Configuration | | | | Configuration | s01 | |
| Linia 236: | Linia 229: |
| | hasPagedResultSupport | | | |
| Linia 245: | Linia 237: |
| | ldapBase | ou=nextcloud,dc=firma,dc=local | | ldapBaseGroups | ou=nextcloud,dc=firma,dc=local | | ldapBaseUsers | ou=nextcloud,dc=firma,dc=local | |
| ldapBase | ou=nextcloud,dc=firma,dc=local | | ldapBaseGroups | ou=nextcloud,dc=firma,dc=local | | ldapBaseUsers | ou=nextcloud,dc=firma,dc=local | |
| Linia 250: | Linia 242: |
| | ldapDefaultPPolicyDN | | | |
| Linia 256: | Linia 249: |
| | ldapGidNumber | gidNumber | | |
| Linia 262: | Linia 256: |
| | ldapHost | 192.168.1.453 | | | ldapHost | dbs.ath.pl | |
| Linia 264: | Linia 258: |
| | ldapLoginFilter | (&(|(objectclass=inetOrgPerson))(uid=%uid)) | | | ldapLoginFilter | (&(|(objectclass=nextcloudUser))(uid=%uid)) | |
| Linia 267: | Linia 261: |
| | ldapLoginFilterMode | 0 | | | ldapLoginFilterMode | 1 | |
| Linia 273: | Linia 267: |
| | ldapQuotaAttribute | nextCloudQuota | | ldapQuotaDefault | 250GB | |
| ldapQuotaAttribute | nextcloudQuota | | ldapQuotaDefault | 25GB | |
| Linia 276: | Linia 270: |
| | ldapUserAvatarRule | default | | |
| Linia 277: | Linia 272: |
| | ldapUserDisplayName2 | mail | | ldapUserFilter | (|(objectclass=inetOrgPerson)) | |
| ldapUserDisplayName2 | | | ldapUserFilter | (|(objectclass=nextcloudUser)) | |
| Linia 285: | Linia 280: |
| | turnOnPasswordChange | 0 | | |
| Linia 287: | Linia 283: |
| Linia 291: | Linia 288: |
| Jeżeli dodawanie użytknextików do bazy [[http://www.openldap.org|OpenLDAP|target="_blank"]] będzie wykonywane za pomocą panelu [[PhpLdapAdmin|php ldap admin]], to należy najpierw dodać potrzebne grupy użytknextików. W tym celu należy założyć obiekty typu '''posixGroup''' == Dodanie użytknextików do bazy OpenLDAP == Po wykonaniu konfiguracji można zacząć dodawać użytknextików do bazy [[http://www.openldap.org|OpenLDAP|target="_blank"]] z wykorzystaniem [[PhpLdapAdmin|php ldap admin]]. Przykładowy użytknextik wygląda następująco: |
Jeżeli dodawanie użytkowników do bazy [[http://www.openldap.org|OpenLDAP|target="_blank"]] będzie wykonywane za pomocą panelu [[PhpLdapAdmin|php ldap admin]], to należy najpierw dodać potrzebne grupy użytkowników. W tym celu należy założyć obiekty typu '''posixGroup''' == Dodanie użytkowników do bazy OpenLDAP == Po wykonaniu konfiguracji można zacząć dodawać użytkowników do bazy [[http://www.openldap.org|OpenLDAP|target="_blank"]] z wykorzystaniem [[PhpLdapAdmin|php ldap admin]]. Przykładowy użytkownik wygląda następująco: |
| Linia 306: | Linia 303: |
| nextcloudquota: 250GB | |
| Linia 308: | Linia 306: |
| objectclass: nextcloudUser | |
| Linia 309: | Linia 308: |
| objectclass: nextCloud nextcloudquota: 500GB |
|
| Linia 321: | Linia 318: |
| Ze względów bezpieczeństwa zostaje coraz mocniej ograniczany - kwestie bezpieczeństwa danych, uprawnień etc. Można korzystać z niego, ale już nie ma możliwości dalszego udostępniania go (nawet lokalnym użytknextikom OC). | Ze względów bezpieczeństwa zostaje coraz mocniej ograniczany - kwestie bezpieczeństwa danych, uprawnień etc. Można korzystać z niego, ale już nie ma możliwości dalszego udostępniania go (nawet lokalnym użytkownikom OC). |
| Linia 344: | Linia 341: |
| Za pomocą narzędzia `smbclient` należy sprawdzić poprawność podłączenia do zasobu zdalnego; {{{#!highlight bash numbers=off smbclient -U uzytknextik //serwer/zasob |
Za pomocą narzędzia `smbclient` należy sprawdzić poprawność podłączenia do zasobu zdalnego: {{{#!highlight bash numbers=off smbclient -U użytkownik //serwer/zasob |
| Linia 353: | Linia 350: |
= Konfiguracja apache = Konfiguracja została dodana do [[UniMaster|repozytorium skryptów]], ale zapisana ku pamięci: {{{#!highlight apache numbers=off # --- definicja katalog/ow ze stronkami ----------------------------- # <Directory /usr/local/www/nextcloud> AllowOverride All Require all granted <IfModule mod_expires.c> Header set cache-control: public ExpiresActive on ExpiresDefault "access plus 1 month" ExpiresByType text/html "access plus 1 hour" ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType image/png "access plus 3 month" ExpiresByType image/jpg "access plus 3 month" ExpiresByType image/jpeg "access plus 3 month" ExpiresByType video/ogg "access plus 3 month" ExpiresByType audio/ogg "access plus 3 month" ExpiresByType video/mp4 "access plus 3 month" ExpiresByType image/x-icon "access plus 1 year" ExpiresByType font/ttf "access plus 1 year" ExpiresByType image/svg+xml "access plus 1 year" </IfModule> <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript </IfModule> </Directory> # ------------------------------------------------------------------- # # Konfiguracja dla wybranego VirtualHost lub konfiguracji globalnej # # ------------------------------------------------------------------- # Alias /nextcloud /usr/local/www/nextcloud AcceptPathInfo On }}} Zgodnie z [[https://doc.nextcloud.org/server/8.1/admin_manual/configuration_server/harden_server.html#enable-hsts-label|dokumentacją|target="_blank"]] [[https://www.nextcloud.org/|nextCloud|target="_blank"]] trzeba dodać następujące konfiguracje do apache: {{{#!highlight apache numbers=off <IfModule mod_headers.c> Header merge X-Frame-Options SAMEORIGIN Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload" Header merge X-Content-Type-Options nosniff Header merge X-XSS-Protection "1; mode=block" Header merge X-Robots-Tag none </IfModule> }}} |
|
| Linia 439: | Linia 386: |
| Linia 440: | Linia 388: |
| 1. [[https://www.nextcloud.org/|strona domowa nextCloud|target="_blank"]] 1. [[https://doc.nextcloud.org/|dokumentacja nextCloud|target="_blank"]] 1. [[https://doc.nextcloud.org/server/9.1/admin_manual/configuration_user/user_auth_ldap.html|Użytknexticy w LDAP|target="_blank"]] 1. [[https://github.com/valerytschopp/nextcloud-ldap-schema|nextCloud LDAP schema|target="_blank"]] |
1. <<Anchor(url1)>>[[https://www.nextcloud.org/|strona domowa nextCloud|target="_blank"]] 1. <<Anchor(url2)>>[[https://doc.nextcloud.org/|dokumentacja nextCloud|target="_blank"]] 1. <<Anchor(url3)>>[[https://doc.nextcloud.org/server/9.1/admin_manual/configuration_user/user_auth_ldap.html|Użytknexticy w LDAP|target="_blank"]] 1. <<Anchor(url>>[[https://raw.githubusercontent.com/nextcloud/univention-app/master/nextcloud.schema|nextCloud LDAP schema|target="_blank"]] |
| Linia 446: | Linia 394: |
| {i} ` `<<GetVal(SlnextikNewBsd,adm-podpis)>> | {i} ` `<<GetVal(SlownikNewBsd,adm-podpis)>> |
Spis Treści
Instalacja oraz konfiguracja nextCloud
Poniżej przepis, jak zainstalować oraz skonfigurować nextCloud na serwerze.
ports/pkg
Z wykorzystaniem własnego repozytroium pakietów wykonujemy instalację:
pkg install -y www/nextcloud pecl-redis pecl-memcached devel/pecl-APCu www/php72-opcache
Dodatkowe aplikacje
Jeżeli jest potrzeba, to można doinstalować dodatkowe "aplikacje", które są już w repozytroium paczek:
pkg install -y www/nextcloud-calendar www/nextcloud-contacts www/nextcloud-notes www/nextcloud-tasks
Więcej dodatków jest dostępne poprzez menu Ustawienia w samym nextCloud.
Utworzenie bazy danych
createuser -U pgsql -DEPS chmurek
createdb -U pgsql -E utf-8 -O chmurek cdnxcloud
Sprawdzenie uprawnień do config.php
Jeżeli po zalogowaniu wystąpi błąd "zapisu do katalogu config/", to trzeba sprawdzić uprawnienia:
chown -R www:www /usr/local/www/nextcloud/config/
Konfiguracja w panelu www
Po zalogowaniu do panelu należy wpisać konfigurację:
- login administratora
- hasło administratora
- login do bazy danych
- hasło do bazy danych
- nazwa bazy danych
serwer bazy danych (domyślnie localhost, ale w przypadku jails trzeba odpowiednio zmodyfikować
Modyfikacje w config.php
W przypadku udostępniania nextCloud pod różnymi adresami, należy w pliku konfiguracyjnym zmodyfikować zmienną trusted_domains:
$CONFIG = array (
# [...]
'trusted_domains' =>
array (
0 => 'cloud.bsdserwis.com',
1 => 'cloud.codenix.pro',
2 => 'cloud.codenix.pl',
),
# [...]
);
Dodatkowe ustawienia warte dopisania (domyślnie nie występują):
$CONFIG = array (
# [...]
'loglevel' => 1,
'maintenance' => false,
'trashbin_retention_obligation' => 'auto',
'skeletondirectory' => '/var/www/htdocs/virtuals/chmura/szkielet',
# [...]
);
Wsparcie dla redis/memcached
Zgodnie z zaleceniami nextcloud należy (nawet nie warto) ustawić caches dla operacji plikowych (w szczególności dla chmur mocno obociążonych), czy lokalnych. W tym celu należy skorzystać z redis oraz memcached. Po ich zainstalowaniu oraz uruchomieniu, należy zmodyfikować plik konfiguracyjny:
$CONFIG = array (
# [...]
'memcache.local' => '\\OC\\Memcache\\APCu',
'memcache.distributed' => '\\OC\\Memcache\\Memcached',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' => array(
'host' => '127.0.0.1',
'port' => 6379,
'timeout' => 0.0,
'password' => '', // Optional, if not defined no password will be used.
'dbindex' => 0, // Optional, if undefined SELECT will not run and will use Redis Server's default DB Index.
),
'memcached_servers' =>
array (
0 =>
array (
0 => '127.0.0.1',
1 => 63751,
),
),
# [...]
);
crontab
W ustawieniach panelu administracyjnego należy ustawić wywoływanie zadań cron z crond. W tym celu należy utworzyć crontaba dla użytknextika www:
# --- definicje zmiennych lokalnych ----------------------------------------
#
NULL=/dev/null
LOC_PREFIX=/usr/local
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
HOME=/var/log
LOC_PYTHON=/usr/local/bin/python2
DOW="`/bin/date +%w-%a`"
#
#minute hour mday month wday command
#
*/15 * * * * ${LOC_PREFIX}/bin/php ${LOC_PREFIX}/www/nextcloud/cron.php
Powiadomienia mailowe
W celu wysyłania powiadomień mailowych należy wpisać dane w panelu administratora. Zostaną one zapisane w pliku config.php jako:
$CONFIG = array (
# [...]
'mail_smtpmode' => 'smtp',
'mail_smtpsecure' => 'tls',
'mail_sendmailmode' => 'smtp',
'mail_smtpauthtype' => 'LOGIN',
'mail_smtpauth' => 1,
'mail_smtphost' => 'localhost.bsdserwis.com',
'mail_from_address' => 'chmura',
'mail_domain' => 'bsdserwis.com',
'mail_smtpport' => '587',
'mail_smtpname' => '__user__',
'mail_smtppassword' => '__haslo__',
);
Należy przypisać adres nadawcy do istniejącej skrzynki mailowej.
Ustawienie w php.ini
W celu umożliwienia wysyłania większych plików (głównie upload) można ustawić następujące wartości w /usr/local/etc/php.ini:
; nextCloud wymaga, aby memory_limit nie był mniejszy
memory_limit = 512M
sys_temp_dir = /var/tmp/apache
upload_tmp_dir = /var/tmp/apache
upload_max_filesize = 5192M
max_file_uploads = 20
; post_max_size >= $upload_max_filesize
post_max_size = 5220M
Należy również pamiętać o ustawieniach dotyczących opcache (zgodnie z zaleceniami samego nextCloud):
; ustawienia dla opcache
[opcache]
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
Dodanie schematu do LDAP
Został opublikowany [ 4 ], który dodaje atrybut dotyczący quota dla danego użytkownika (do wykorzystania w panelu php ldap admin). Po wgraniu pliku należy go dołączyć do konfiguracji serwera LDAP:
include /usr/local/etc/openldap/schema/nextcloud.schema
Nie można zapomnieć o przeładowaniu samego demona slapd:
cd /usr/local/etc/openldap/
make
occ
nextCloud posiada program controler do różnych czynności konfiguracyjnych.
Dodanie zasobów zewnętrznych
Możliwe jest dodanie montowanie zasobów zewnętrznych. W tym celu uruchamiamy polecenie:
cd /usr/local/www/nextcloud
su -m www -c "php occ app:enable files_external"
Dodanie konfiguracji LDAP
cd /usr/local/www/nextcloud
# dodanie aplikacji dla użytknextików w LDAP
su -m www -c "php occ app:enable user_ldap"
Użytkownicy
Domyślnie użytkownicy są lokalni (zdefiniowani w bazie danych). Użytkownicy są przypiswani do grup (również lokalne). Dodatkowo użytkownik może być administratorem dla grupy swojej i/lub też innej.
Po zalogowaniu każdy z użytkowników może ustawić swój profil: zdjęcie, adres email (to ważne, upraszcza pracę z nextCloud).
Integracja z LDAP
Możliwe jest skonfigurowanie użytkowników w bazie OpenLDAP. W tym celu należy aktywować aplikację user_ldap (patrz poprzednia sekcja).
Utworzenie dedykowanego użytknextika LDAP
Warto w bazie LDAP utworzyć specjalne konto na potrzeby nextCloud. Być może będzie konieczność nadania jakiś specjalnych uprawnień dla tego konta. Dane tego konta należy wpisać do konfiguracji LDAP w panelu administratora (WebUI) lub za pomocą narzędzia occ.
Sprawdzenie/modyfikowanie konfiguracji LDAP
Za pomocą occ jest możliwe sprawdzenie ustawień dotyczących LDAP:
cd /usr/local/www/nextcloud
su -m www -c "php occ ldap:show-config"
A także ich modyfikowanie:
cd /usr/local/www/nextcloud
su -m www -c 'php occ ldap:show-config "" ldapEmailAttribute mail'
Pierwszym parametrem jest configID. Niemniej pierwsze utworzone za pomocą occ ldap:create-empty-config posiada... puste ID (nazwę). Dlatego jako pierwszy parametr podany jest pusty ciąg znaków.
Przykładowa konfiguracja
+-------------------------------+---------------------------------------------+ | Configuration | s01 | +-------------------------------+---------------------------------------------+ | hasMemberOfFilterSupport | | | homeFolderNamingRule | | | lastJpegPhotoLookup | 0 | | ldapAgentName | uid=ocadmin,ou=admins,dc=firma,dc=local | | ldapAgentPassword | *** | | ldapAttributesForGroupSearch | | | ldapAttributesForUserSearch | | | ldapBackupHost | | | ldapBackupPort | | | ldapBase | ou=nextcloud,dc=firma,dc=local | | ldapBaseGroups | ou=nextcloud,dc=firma,dc=local | | ldapBaseUsers | ou=nextcloud,dc=firma,dc=local | | ldapCacheTTL | 600 | | ldapConfigurationActive | 1 | | ldapDefaultPPolicyDN | | | ldapDynamicGroupMemberURL | | | ldapEmailAttribute | mail | | ldapExperiencedAdmin | 0 | | ldapExpertUUIDGroupAttr | | | ldapExpertUUIDUserAttr | | | ldapExpertUsernameAttr | | | ldapGidNumber | gidNumber | | ldapGroupDisplayName | cn | | ldapGroupFilter | (&(|(objectclass=posixGroup))) | | ldapGroupFilterGroups | | | ldapGroupFilterMode | 0 | | ldapGroupFilterObjectclass | posixGroup | | ldapGroupMemberAssocAttr | memberUid | | ldapHost | dbs.ath.pl | | ldapIgnoreNamingRules | | | ldapLoginFilter | (&(|(objectclass=nextcloudUser))(uid=%uid)) | | ldapLoginFilterAttributes | | | ldapLoginFilterEmail | 0 | | ldapLoginFilterMode | 1 | | ldapLoginFilterUsername | 1 | | ldapNestedGroups | 0 | | ldapOverrideMainServer | | | ldapPagingSize | 500 | | ldapPort | 389 | | ldapQuotaAttribute | nextcloudQuota | | ldapQuotaDefault | 25GB | | ldapTLS | 0 | | ldapUserAvatarRule | default | | ldapUserDisplayName | displayName | | ldapUserDisplayName2 | | | ldapUserFilter | (|(objectclass=nextcloudUser)) | | ldapUserFilterGroups | | | ldapUserFilterMode | 1 | | ldapUserFilterObjectclass | inetOrgPerson | | ldapUuidGroupAttribute | auto | | ldapUuidUserAttribute | auto | | turnOffCertCheck | 0 | | turnOnPasswordChange | 0 | | useMemberOfToDetectMembership | 1 | +-------------------------------+---------------------------------------------+
Dodanie grup do bazy OpenLDAP
Jeżeli dodawanie użytkowników do bazy OpenLDAP będzie wykonywane za pomocą panelu php ldap admin, to należy najpierw dodać potrzebne grupy użytkowników. W tym celu należy założyć obiekty typu posixGroup
Dodanie użytkowników do bazy OpenLDAP
Po wykonaniu konfiguracji można zacząć dodawać użytkowników do bazy OpenLDAP z wykorzystaniem php ldap admin. Przykładowy użytkownik wygląda następująco:
dn: cn=Stryjek Krzysztof,ou=users,ou=nextcloud,dc=firma,dc=local
cn: Stryjek Krzysztof
displayname: Stryjek Krzysztof
gidnumber: 500
givenname: Krzysztof
homedirectory: /home/users/kstryjek
jpegphoto:: /9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoH
BwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQk
[...]
mail: wtps0n@bsdserwis.com
nextcloudquota: 250GB
objectclass: inetOrgPerson
objectclass: posixAccount
objectclass: nextcloudUser
objectclass: top
sn: Stryjek
uid: kstryjek
uidnumber: 1000
userpassword: {SSHA}5v4JdCbTXT5wpJHB0hCta5jIHlToNl2V
Konfiguracja zasobów zewnętrznych
Zaoby zewnętrzne pozwalają na korzystanie z innych filesystemów bez konieczności trzymania ich historii w bazie danych czy też synchronizacji przez klienta OC.
Lokalny filesystem
Ze względów bezpieczeństwa zostaje coraz mocniej ograniczany - kwestie bezpieczeństwa danych, uprawnień etc. Można korzystać z niego, ale już nie ma możliwości dalszego udostępniania go (nawet lokalnym użytkownikom OC).
Aby móc z niego korzystać należy w pliku /usr/local/www/nextcloud/config/config.php dodać opcję:
$CONFIG = array (
# [...]
'files_external_allow_create_new_local' => true,
);
SMB/CIFS
Można udostępniać dalej zasoby zewnętrzne zamontowane za pomocą SAMBA. W tym celu konieczne jest zainstalowanie modułu php oraz skonfigurowanie smbclient.
Instlacja dodatkowych pakietów
Za pomocą własnego repozytorium pakietów należy zainstalować moduł php:
pkg install -Uy net/pecl-smbclient
Konfiguracja smb4.conf
Należy wykonać konfigurację klienta samba , tak aby można było swobodnie porozumieć się z serwerem samba4.x1.
Sprawdzenie poprawności konfiguracji
Za pomocą narzędzia smbclient należy sprawdzić poprawność podłączenia do zasobu zdalnego:
smbclient -U użytkownik //serwer/zasob
Konfiguracja w ustawieniach OC
Po zalogowaniu się jako administrator w panelu webowym należy przejść do Ustawienia -> (Adminsitrator) Magazyn należy skonfigurować nowy zasób SMB:
Konfiguracja nginx
Za pomocą własnego repozytorium konfiguracji należy wgrać plik 012-nextcloud.conf. Konfiguracja zawarta w tym pliku zawiera już definicje nagłówków (bezpieczeństwo), dostępu do plików itd. Konfiguracja samego wirtualnego hosta jest wtedy bardzo krótka (na przykładzie chmury BSD Serwis):
# --- definicja serwera HTTPS ----------------------------------
#
server {
listen 188.165.252.223:443 http2 ssl;
listen [2001:41d0:2:c7df::1]:443 http2 ssl;
server_name cloud.bsdserwis.com;
ssl_certificate certs/cloud.bsdserwis.com.chained.pem;
ssl_certificate_key certs/cloud.bsdserwis.com.key;
ssl_dhparam certs/cloud.bsdserwis.com.2048.dh.pem;
ssl_prefer_server_ciphers on;
ssl_stapling on;
ssl_stapling_verify on;
# logowanie
access_log /var/log/nginx/cloud.bsdserwis.com/access.log main;
error_log /var/log/nginx/cloud.bsdserwis.com/error.log;
include 012-nextcloud.conf;
include 000-cmsploit.conf;
include 004-dot-ht.conf;
include 004-err-page-404.conf;
include 004-err-page-5xx.conf;
include 004-pillaging-dvcs.conf;
include 005-no-logging.conf;
include 015-csp-report.conf;
include expires.conf;
}
UWAGA
Ważna jest kolejność dołączania poszczególnych konfiguracji. Jak widać plik 012-nextcloud.conf musi być dołączony jako pierwszy. W przeciwnym przypadku nie działa wgrywanie plików (przez przeglądarkę) z komunikatami o braku miejsca, itp.
Źródła w sieci internet
<<Anchor(url>>nextCloud LDAP schema
(c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.
Właściwie sprowadza się to do ustawień logowania, grupy roboczej - pozostałe ustawienia z sekcji global można pominąć. (1)
