Changes

OwnCloud

15,636 bytes added, 21:38, 14 August 2017
Nem lehet megnyitni az Admin fület
:[[File:ClipCapIt-161015-184434.PNG]]
 =PHP frissítése= Az OwnCloud 9.x használatához legalább PHP 5.6=ra van szükség. Ehhez fel kell telepíteni a "remi" repozitorikat:
<pre>
wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
</pre>
Kapcsoljuk be az alap "remi" repo használatát valamint a php56 repot:
<br>/etc/yum.repos.d/remi.repo
<pre>
[remi]
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
</pre> <pre>...
[remi-php56]
name=Les RPM de remi de PHP 5.6 pour Enterprise Linux 6 - $basearch
</pre>
Majd frissítsük a PHP-t.
<pre>
yum update php*
</pre>
Ellenőrizzük az php verziót:
<pre>
# php -v
PHP 5.6.26 (cli) (built: Sep 15 2016 14:57:05)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
</pre>
php -v
=Telepítés és beállítások=
==Install==
Az OwnCloud biztosít yum repozitorit a telepítéshez. Felteszi a szükséges php csomagokat, valamit a helyére másolja a http fájlokat: /var/www/html/owncloud
=Apache 2ownCloud repos: http://download.4=owncloud.org/download/repositories/9.1/owncloud/manual: https://doc.owncloud.org/server/9.1/admin_manual/installation/linux_installation.html#changes-in-owncloud-9
$ yum Több repozitory is elérhető. * CentOS_6_SCL_PHP54 owncloud-9.1.1-1 -> cseljes csomag php 5.4-el* CentOS_6_SCL_PHP54 owncloud-files-enablerepo=extras install centos9.1.1-release1 -scl> csak a forrás PHP 5.4-hez$ yum install httpd24 rh* CentOS_6 owncloud-php56 rh9.1.1-php561 -php> teljes csomag > PHP 5.4 [ezt fogjuk mi is használni]. Ez tartalmazza a '''owncloud-files-9.1.1-1''' csomagot is. * CentOS_6 owncloud-files-9.1.1-1 -> csak a forrás, a függőségek nem. Részhalmaza a '''owncloud-9.1.1-1''' csomagnak.
Telepítsük a repozitoryt:
<pre>
# chkconfig rpm --list | grep httpdimport https://download.owncloud.org/download/repositories/9.1/CentOS_6/repodata/repomd.xml.keyhttpd 0# wget http:off //download.owncloud.org/download/repositories/9.1/CentOS_6/ce:off 2:on 3:on 4:on 5:on 6:offhttpd249.1.repo -htcacheclean 0O /etc/yum.repos.d/ce:off 9.1:off 2:off 3:off 4:off 5:off 6:off.repohttpd24# yum clean expire-httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:offcache
</pre>
Majd az összes szükséges fájlt telepíthetjük yum-al:<pre># yum install owncloud</opt/rh/httpd24/root/etc/httpd/pre>
A telepítés után létrejött a /var/www/html/ownclooud mappa. Ehhez létre fogunk hozni egy apache virtuális hoszt fájt.
 
==MySQL adatbázis==
A közösségi verziója az ownCloud-nak támogatja a MySQL/MariaDB adatbázist is, ezt fogjuk használni. Hozzunk létre egy új MySQL felhasználót az ownCloud-nak. Ezt a felhasználót az összes joggal fel kell ruházni, nem elég csak a telepítési idejére beállítani a DDL jogokat, azokra később is szüksége lesz, pl, a pluginek be-ki kapcsolása közben is módosítja az adatbázis struktúrát. Ezen felül fontos, hogy legyen "LOCK TABLES" joga is, mert mikor lefut majd (negyed óránként) a cron.php, lock-olni fog bizonyos táblákat.
 
Az adatbázis struktúrát majd az első indításkor létre tudjuk hozni a böngészőben futó Wizard folyamat segítségével.
 
==Data mappa létrehozása==
Biztonsági megfontolásból fontos, hogy a data mappa, ahol a felhasználók fájljait tárolja az ownCloud kívül legyen a /var/www mappában ugyanakkor rendelkezzen a megfelelő SELinux kontextust. A data mappát a '''/var/owncloud''' mappába fogjuk tenni:
<pre>
# mkdir /var/owncloud
# chown root.apache /var/owncloud/
</pre>
 
Másoljuk át a jelenlegi data mappa tartalmát. Fontos hogy használjuk a -p kapcsolót, ami hatására megőrzi a jogokat, tulajdonost:
<pre>
# service httpd24cp -httpd startrp /var/www/html/owncloud/data/ /var/owncloud/data# chmod 700 /var/owncloud/data</pre>
Végezetül állítsuk be az SELinux kontextust, különben az apache nem fog hozzáférni:
<pre>
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/owncloud/data'
# restorecon '/var/owncloud/data'
</pre>
==Config.php==
A /var/www/html/owncloud/config/config.php-ben be kell állítani az adatbázist, a data mappa helyét. <pre><?php$CONFIG = array ( 'updatechecker' => false, 'instanceid' => 'ocg8blb1buhs', 'passwordsalt' => 'nqdeRpx3jXP9R+7QA5Uh9wZhEkargm', 'secret' => 'dDPRFMidUmgbTQCPZjMe79vjohVem9rIJC7GOZlrJF5dK/Fz', 'trusted_domains' => array ( 0 => 'owncloud.berki2.org', ), 'datadirectory' => '/var/owncloud/data', 'overwrite.cli.url' => 'http://owncloud.berki2.org', 'dbtype' => 'mysql', 'version' => '9.1.1.3', 'dbname' => 'owncloud', 'dbhost' => 'localhost', 'dbtableprefix' => 'oc_', 'dbuser' => 'owncloud', 'dbpassword' => 'liteon', 'logtimezone' => 'UTC', 'installed' => true, 'mail_smtpmode' => 'php', 'mail_from_address' => 'owncloud', 'mail_smtphost' => 'localhost', 'mail_domain' => 'berki2.org', 'enable_avatars' => true, 'logfile' => '/var/log/owncloud.log', 'loglevel' => '3');</pre>Állítsuk be a data mappa helyét, amit fent hoztunk létre, adjuk meg az adatbázis elérhetőségeket valamint az email szerver beállításait. ==Apache beállítások== ===Virtuális hoszt=== /etc/httpd/vhosts.d/owncloud.berki.org.80.conf<source lang="bash"><VirtualHost *:80> ServerAdmin adam@proarcok.com ServerName owncloud.berki2.org ServerAlias owncloud.berki2.org ErrorLog logs/owncloud.berki2.org-error_log CustomLog logs/owncloud.berki2.org-access_log common    Redirect permanent / https://owncloud.berki2.org  </VirtualHost></source> /etc/httpd/vhosts.d/owncloud.berki.org.443.conf<source lang="bash"><VirtualHost *:443> ServerAdmin adam@proarcok.com ServerName owncloud.berki2.org:443 ServerAlias owncloud.berki2.org:443 ErrorLog logs/owncloud.berki2.org-error_log CustomLog logs/owncloud.berki2.org-access_log common   ##Fel evre garantaljuk, hogy HTTPS-en maradunk Header always set Strict-Transport-Security "max-age=15768000; includeSubdomains;"   ########################## # SSL beállítások ##########################   # SSL parameterek ########################## SSLEngine on   # Here, I am allowing only "high" and "medium" security key lengths. SSLCipherSuite HIGH:MEDIUM   # Here I am allowing SSLv3 and TLSv1, I am NOT allowing the old SSLv2. SSLProtocol all -SSLv2   # Szerver kulcsok ##########################  # Server Certificate: SSLCertificateFile /etc/httpd/ssl/owncloud.berki2.org-server.cer   # Server Private Key: SSLCertificateKeyFile /etc/httpd/ssl/owncloud.berki2.org-server.key   ############################  DocumentRoot "/var/www/html/owncloud/"  #Alias /owncloud "/var/www/html/owncloud/" <Directory "/var/www/html/owncloud"> Options +FollowSymLinks AllowOverride All  <IfModule mod_dav.c> Dav off </IfModule>  SetEnv HOME /var/www/html/owncloud SetEnv HTTP_HOME /var/www/html/owncloud </Directory>  <Directory "/var/www/html/owncloud/data/"> # just in case if .htaccess gets disabled Require all denied </Directory>  </VirtualHost>  </source> ===HSTS===(HTTP Strict Transport Security)<br>A HSTS egy biztonsági kiegészítése a https protokollnak, amit az RFC 6797 ír le: (https://tools.ietf.org/html/rfc6797 ). Ha a HSTS az apache szerveren be van kapcsolva egy HTTPS alatt kommunikáló virtuális hoszton, akkor a szerver a válaszba elhelyez egy HTST header-t is, amiben egy vállalást tesz arra, hogy legalább az itt megadott ideig (általában fél év) az adott hosztot kizárólag HTTPS alatt fogja futtatni. Ha a kliens (böngésző vagy más mobilos alkalmazás) HSTS képes, akkor el fogja menteni ezt az információt az adott hoszt névhez. Ha bármilyen módon megpróbálná később egy támadó a HTTPS kommunikációt HTTP-re terelni (akár egy hamis oldalon keresztül) a böngésző nem lesz hajlandó kommunikálni HTTP felett amíg a vállalás le nem jár. Sikeres kapcsolat esetén a vállalás ideje mindig újraindul.  A httpd.conf-ban töltsük be a htst modult.<br>/etc/httpd/conf/httpd.conf <pre>...LoadModule headers_module modules/mod_headers.so...</pre> Ezután a HTTPS-es (443) virtuális hoszt konfigurációjába be kell kapcsolni a HSTS header használatát, és meg kell adni a vállalási időt is.<br>/etc/httpd/vhosts.d/owncloud.berki.org.443.conf<pre>... Header always set Strict-Transport-Security "max-age=15768000; includeSubdomains;"...</pre>A max-age paramétert másodpercben kell megadni, mi fél évet állítunk be.  Indítsuk újra az apache-ot. <pre># service httpd restart</pre> Majd nyissuk meg megint a https://owncloud.berki2.org oldalt. Nézzük meg a fogadott fejléceket a Firefox fejlesztői eszközben. :[[File:ClipCapIt-161015-123931.PNG]]  A Firefox a HSTS információkat a iteSecurityServiceState.txt fájlban tárolja: <pre>$ cat /home/adam/.mozilla/firefox/61og30yv.default/SiteSecurityServiceState.txt | grep berki2owncloud.berki2.org:HSTS 0 17089 1492295509620,1,1</pre> ==Első indítás== Miután készen van a virtuális hosz, első indításkor elvégezhetjük a képernyőn keresztül a rendszer alap beállításait. Navigáljunk a https://owncloud.berki2.org címre.  ...   ==Cron job beállítása==Állítsjuk be, hogy az owncloud system cront-t használjon: :[[File:ClipCapIt-161015-141119.PNG]]<br><br>Majd hozzuk létre a cron fájlt<br> /etc/cron.d/owncloud<pre>*/15 * * * * apache /usr/bin/php -f /var/www/html/owncloud/cron.php</pre> És adjunk rá megfelelő jogot:<pre># chmod 644 ownlcoud</pre> {{warning|Nagyon fontos, hogy az owncloud adatbázis felhasználónak legyen LOCK TABLE joga, különben nem fog lefutni a cron.php script}} = in-Memory cache=Memória cache használata nélkül az openCloud borzasztóan lassú. Háromféle memória cache megoldást támogat az ownCloud.  ==Redis==Mi a Redis in-memory adatstruktúra adatbázist fogjuk használni, melynek telepítését és finomhangolását itt találjuk: [[Redis -NoSQL database]] Ha a Redis szerverünk a localhost:6379 -on fut, akkor az alábbi sorokat kell elhelyezni a config.php-ben hogy a redis szervert használja az owncloud:<pre> 'memcache.local' => '\OC\Memcache\Redis', 'memcache.locking' => '\OC\Memcache\Redis', 'redis' => array( 'host' => 'localhost', 'port' => 6379, ),</pre> A SELinux-ban az apache-nak meg kell engedni, hogy hálózati kapcsolatokat hozzon létre, hogy tudjon kapcsolódni a redis szerverhez.<pre># setsebool -P httpd_can_network_connect 1</pre>  ==APCu==<pre># yum install php-pecl-apcu</pre> https://anavarre.net/how-to-monitor-and-tune-apcu/   /etc/php-zts.d/40-apcu.ini<pre># bekapcsolja a cache-tapc.enabled=1 #hány memória caches legyen. (Akárcsak a redis-nél, itt is több különálló cache lehet)apc.shm_segments=1 #memória méreteapc.shm_size=5G #fájméret amit cache-be rakapc.max_file_size=1M apc.stat=1 #Maximum number of files APC can store ( rotation).apc.num_files_hint=200000 #Maximum number of users data entries that APC can store.apc.user_entries_hint=20000</pre> Majd az owncloud config.php-be az alábbi sort kell elhelyezni: <pre>'memcache.local' => '\OC\Memcache\APC',</pre> ===Apcu cache megjelenítő===Töltsük le innen az apcu megjelenítő scrpt-et: https://raw.githubusercontent.com/krakjoe/apcu/master/apc.php Tegyük a webszerver mappájába. Adjunk rá végrehajtási jogot. Írjuk át a fájl elején a felhasználó név és jelszó párost: <pre>defaults('ADMIN_USERNAME','user'); defaults('ADMIN_PASSWORD','new-password'); </pre> Majd nyissuk meg: https://<path>/apc.php:[[File:ClipCapIt-161120-200347.PNG]] =További beállítások===Performancia tuning===== Apaceh beállítások=== <source lang="bash">MaxKeepAliveRequests 10000... <IfModule prefork.c>StartServers 8MinSpareServers 5MaxSpareServers 20ServerLimit 256MaxClients 256MaxRequestsPerChild 4000</IfModule></source> ==Kiegészítők== == Vírus szűrés ==Kapcsoljuk be a " Antivirus App for files " kiegészítőt. :[[File:ClipCapIt-161015-134436.PNG]]<br><br>Majd konfiguráljuk. A ClamAV-t a socket-en keresztül kell hívja: '''/var/run/clamav/clamd.sock''':[[File:ClipCapIt-161015-134336.PNG]]   ===SELinux===Ahhoz hogy a HTTP (owncloud) hozzáférjen a ClamAV sockethez (/var/run/clamav/clamd.sock) szükség van egy új SELinux szabályra.<br>Hozzuk létre a '''owncloudSELinux.te''' fájlt.<pre> module mypol 1.0; require { type httpd_t; type antivirus_var_run_t; class sock_file write;} #============= httpd_t ==============allow httpd_t antivirus_var_run_t:sock_file write;</pre> Majd fordítsuk le és töltsük be:<pre># checkmodule -M -m -o owncloudSELinux.mod owncloudSELinux.te # semodule_package -o owncloudSELinux.pp -m owncloudSELinux.mod # semodule -i owncloudSELinux.pp</pre> ===Tesztelés===Töltsünk le innen egy teszt vírust: A webes felületen keresztül töltsük fel. A képernyőn megjelenik a figyelmeztetés::[[File:ClipCapIt-161015-134156.PNG]]  A /var/log/messages fájlban láthatjuk hogy a ClamAV vírusnak titulálta a fájlt:<pre>Oct 15 13:38:08 centostest clamd[1182]: instream(local): Eicar-Test-Signature FOUND</pre> ==OCC konzol==Az ownCloud repos-nak van egy parancssori konzola, ahol az összes admin funkció elvégezhető<pre># sudo -u apache /bin/php /var/www/html/owncloud/occ...</pre> =Felhasználói kézikönyv= ==Klinesek=====Linux kliens=== Elsőként az certificate authority-t be kell importálni a linux-ba mint biztonságos kulcs: <pre># cp berki-ca.pem /etc/pki/ca-trust/source/anchors/# update-ca-trust extract</pre> A kliens tekintetében két lehetőségünk van. Használhatjuk a gnome-ba beéített OwnCloud klienst. :[[File:ClipCapIt-161020-230844.PNG|400px]] A Nautilus-ban fog csak megjelenni a megosztás, Krusader-ben nem fog látszani. De a legnagyobb baj vele, hogy valós időben szinkronizál a szerverrel, így bármit módosítunk, meg kell várni, hogy felküldje a szerverre, ezért borzasztó lassú. Ennél sokkal jobb az OwnCloud oldaláról letölthető kliens, ami okosan, a háttérben szinkronizál egy megadott mappába, amit így a Krusader-ben is láthatunk. Rengeteg finom beállítási lehetőség van benne.  :[[File:ClipCapIt-161020-231257.PNG|400px]] Az owncloud biztosít egy dnf repót. Fedora 24-hez az alábbit kell használni: <pre>dnf config-manager --add-repo http://download.opensuse.org/repositories/isv:ownCloud:desktop/Fedora_24/isv:ownCloud:desktop.repodnf install owncloud-client</pre> ===Windows kliens===  ===Android===Elsőként az andorid fizetős klienst telepítsük föl az Appstore-ból  {{tip|A link a webes ownlcoud felületen a bal felső sarokban a Personal menüpontban elérhető}} Sajnos a fájlok tárolási helye nem megváltoztatható, mindent a belső memóriában fog tárolni. Ezért át kell helyezzük a teljes adat mappáját a belső memóriából az SD kártyára, majd egy szimbolikus linket létrehozni a régi helyre. Ehhez remek Android-os eszközök léteznek, mi a '''FolderMount''' alkalmazás ingyenes változatát fogjuk használni: https://play.google.com/store/apps/details?id=com.devasque.fmount&hl=en:[[File:ClipCapIt-161020-225328.PNG|100px]] De előtte root-olni kell a telefont. Ezt a '''KingRoot''' programmal fogjuk megtenni. :[[File:ClipCapIt-161020-225806.orgPNG]] A mobil böngészőben navigáljunk a https:/download/repositorieskingroot.net/9oldalra. {{warning|Kizárólag innen töltsük le a KingRoot-ot, ha máshonnan töltjük le az vírusos lehet}} Majd telepítsük föl, majd futtassuk. Végtelen sokszor újra fog indulni, sokszor ki arra a konklúzióra fog jutni, hogy nem lehet root-olni, ilyenkor újra és újra indítsuk el. Ha a telefon újra indult, akkor ott fut a háttérben, csak hozzuk előtérbe. Addig indítgassuk újra, amíg nem root-olja a telefont.1 Ha ez megvan indítsuk el a FolderMount alkalmazást, válasszuk ki az owncloud mappát a: /storage/emulated/0/owncloud, célmappa: /storage/external_SD/..., de ezt magától létrehozza. :[[File:ClipCapIt-161020-230328.PNG|220px]] A FolderMount magától el fog indulni minden telefon újraindításkor, és fel fogja mount-olni a beállított mappákat. ===IPhone=== =Trouble shooting= ===Nem lehet megnyitni az Admin fület===Az Admin felhasználó nem tudja megnyitni a /settings/admin oldalt, a proci elkezd tekerni, és amíg nem csukjuk be a böngészőt nem tér magához a gép. Egy egy bug miatt van ha túl magas a logszint.
manual: https:/var/www/html/doc.owncloud.org/serverconfig/9config.1php<pre> ... 'logfile' => '/admin_manualvar/installationlog/linux_installationowncloud.html#changeslog', 'loglevel' => 4, -in-owncloud-9>> ez itt nem lehet négy 'appstore.experimental.enabled' => false, ...</pre>