Nejprve si připravíme dostatečně velký mounpoint pro data.
/dev/mapper/vg_data_01-lv_owncloud_data /var/www/html/owncloud/data xfs nodev,nosuid,noexec,rw,auto,nouser,async 0 0
Dodáme potřebné repository
ol7_x86_64_optional_latest ol7_x86_64_latest wget http://download.opensuse.org/repositories/isv:/ownCloud:/community/RedHat_RHEL-7/isv:ownCloud:community.repo -O /etc/yum.repos.d/isv:ownCloud:community.repo
Vyřešíme konflikty mezi mariadb a mysql-community a nainstalujeme OC
yum erase mysql-community-libs mysql-community-common yum install net-snmp arpwatch mgetty postfix mariadb-server yum install owcloud
Pro produkci se doporučuje z výkonnostních důvodů provozovat owncloud nad jinou db, než nad defaultní sqlite, proto provedeme konfiguraci mariadb
.
mysql_install_db --user=mysql systemctl enable mariadb systemctl start mariadb /usr/bin/mysql_secure_installation mysql -uroot -p CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; CREATE DATABASE IF NOT EXISTS owncloud; GRANT ALL PRIVILEGES ON owncloud.* TO 'username'@'localhost' IDENTIFIED BY 'password';
Následně přistoupíme k owncloudu pomocí http. Vybereme mariadb a založíme administrátora owncloudu. Následně vše zkontrolujeme v ./config/config.php
.
Nainstalujeme do apache SSL modul a zajistíme přesměrování veškeré nešifrované komunikace na https
. Zároveň nesmíme zapomenout vydat důvěryhodný certifikát a nakonfigurovat direktivy SSLCertificateFile
, SSLCertificateKeyFile
, SSLCertificateChainFile
.
yum install mod_ssl systemctl restart httpd
<VirtualHost *:80> ServerName file.oksystem.cz Redirect permanent / https://file.oksystem.cz/ </VirtualHost>
Přesměrování na https kompletně nezamezí útokům man-in-the-middle. Proto nastavíme následující direktivu, která instruuje prohlížeč, aby nenavazoval žádné http spojení.
<VirtualHost *:443> ServerName file.oksystem.cz Header always add Strict-Transport-Security "max-age=15768000" </VirtualHost>
Pro kompletní zálohu je třeba zálohovat následující tři části:
./config/*
./data/*
sqlite3 data/owncloud.db .dump > owncloud-sqlbkp_`date +"%Y%m%d"`.bak
mysqldump --lock-tables -h [server] -u [username] -p[password] [db_name] > owncloud-sqlbkp_`date +"%Y%m%d"`.bak
Stejně jako u zálohy jde o tři části. Složky s daty a konfigurací překopírujeme. Databázi importujeme pomocí následujících příkazů.
rm data/owncloud.db sqlite3 data/owncloud.db < owncloud-sqlbkp.bak
mysql -h [server] -u [username] -p[password] [db_name] < owncloud-sqlbkp.bak
Do config.php
přidáme direktivu theme
, kterou musíme doplnit i po každém upgradu.
'theme' => 'nazev',
Vytvoříme stejnojmenný adresář jako vytvářené téma ./owncloud/themes/nazev/core
a přidáme do něj soubory, které chceme přepisovat.
Pokud došlo k přidání dat přes filesystem, lze jejich načtení owncloudem vyvolat příkazem:
su - -s /bin/sh -c "php /usr/share/owncloud/console.php files:scan matt" apache