ownCloud – бесплатан ‘cloud storage’ за вас или вашу фирму
ownCloud јесте софтвер отвореног кода предвиђен као cloud (клауд) складиште, којим можете имати сервис попут DropBox-а али у сопственој режији и без икаквих екстерних ограничења – а опет уз неке функционалности које Dropbox нема.
Још једна од добрих опција јесте и то да овде можете поставити енкрипцију кориничких података на нивоу сервера – тако да нико не може да прочита садржај тих фајлова све и да успе да вам пробургија и ухакује сервер, а сам софтвер има и неких додатних богаоца опција које Dropbox нема – излистаћу их при крају текста. Намерно све упоређујем са DropBox-ом јер се он тренутно води као „краљ универзума“ кад је клауд у питању.
Све што ви треба да обезбедите јесте један виртуални или физички сервер, или било какав компјутер – да му исфорвардујете један порт са спољне мреже (ако сте иза NAT-а) или да му отворите порт 80 или 443 за приступ са спољне мреже и то је то. Дакле за фирму – идеално. Све бесплатно, све у вашој режији, ви бринете о серверу и ви сте директан власник фајлова – што није случај кад користите друге клауд провајдере.
…наравно, ако немате инфраструктуру ownCloud није баш бесплатан (софтвер јесте бесплатан али хардвер није) јер бисте морали да обезбедите компјутер/сервер за ту намену, плус струја, плус одржавање ово-оно… У пословном окружењу је инфраструктура већ обезбеђена тако да не би ни осетили нови сервер у сервер соби или виртуалном окружењу.
Можда ће вам бити занимљив текст: Које бесплатно имејл решење користити за вашу малу фирму?
У овом тексту ћемо на једној јавној ЦентОС 7 минимал Линукс виртуалној машини која се налази код неког страног провајдера, инсталирати ownCloud, повезати га за неки тестни поддомен owncloud.kompjuteras.com (који ћу одмах након писања текста ресетовати на дифолт IP адресу да не једе ресурсе џаба), поставити му Let’sEncrypt SSL сертификат због безбедне везе https-ом и пустити га у погон. Наравно, све детаљно и у ситна цревца, као што иначе радимо на овом блогу – а ви све ово можете испробати на VirtualBox-у.
Поддомен
Домен kompjuteras.com је у тренутку писања овог текста гађао Нинет хостинг сервере а овај dedicated сервер је на неком другом месту – дакле треба некако поставити да новокреирани поддомен гађа тај „неки пети“ сервер који је негде у белом свету – а то се ради кроз cPanel (у овом случају), једноставном променом А рекорда и постављањем TTL (time то live) на неку мању вредност. Дакле, правим поддомен, улазим у Advanced DNS Zone Editor и мењам уносе за поддомен и постављам да поддомен гађа IP адресу тог „петог“ сервера.
После пар минута, поддомен постаје активан и команда његов пинг ми даје IP адресу сервера на коме ћемо поставити ово бесплатно cloud решење.
Инсталација веб сервера и поставке Let’s Encrypt SSL сертификата
Логујемо се на сервер путем SSH и покрећемо следеће команде
# Инсталација и стартовање Apache веб сервера yum install -y httpd systemctl start httpd.service systemctl enable httpd.service # Инсталација Let's Encrypta и генерисање SSL сертификата yum install -y git git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt ./letsencrypt-auto --help systemctl stop httpd.service #Trenutno mozete da generisete sertifikate za 5 (pod)domena na Let'sEncrypt nedeljno. ./letsencrypt-auto certonly --standalone --imejl info@kompjuteras.com -d owncloud.kompjuteras.com -d www.owncloud.kompjuteras.com
Након што смо одрадили, SSL сертификати ће нам се налазити, у овом случају у фолдеру на локацији /etc/letsencrypt/live/owncloud.kompjuteras.com/ те те сертификате требамо доделити на коришћење нашем Apache веб серверу. То радимо изменом података у фајлу /etc/httpд/conf.d/ssl.conf у коме мењамо следеће линије у следеће вредности:
vim /etc/httpd/conf.d/ssl.conf
SSLProtocol -SSLv2 -SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2
SSLCipherSuite AES256+EECDH:AES256+EDH
SSLCertificateFile /etc/letsencrypt/live/owncloud.kompjuteras.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/owncloud.kompjuteras.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/owncloud.kompjuteras.com/chain.pem
Потом рестартујемо веб сервер и проверавамо ради ли нам HTTPS и да ли нема никаквих „Unsecure“ порука
systemctl restart httpd.service
Идемо на адресу https://owncloud.kompjuteras.com како би се уверили да је HTTPS исправно подешен и да нема никаквих „Unsecure“ прозора
Идемо и превентивно на SSL LABS да проверимо коју нам оцену дају за ово подешавање SSL-а на серверу, тј да ли је све безбедно – и добијамо чисту петицу 🙂
ownCloud инсталација
Да би ownCloud радио како ваља и доликује, препорука је да буде инсталиран на:
- Red Hat Enterprise Linux 7 (може и ЦентОС 7)
- MySQL/MariaDB
- PHP 5.4+ (5.4 верзија се више не одржава – најбоље ићи на следећу већу а ми ћемо инсталирати тренутно најновију верзију 7)
- Apache 2.4+
# Инсталација PHP7 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.vebtatic.com/yum/el7/vebtatic-release.rpm # Разбијено на три реда због прегледности. Сва три реда окинути у једној команди yum install -y php70w php70w-opcache php70w-mysql php70w-xml \ php70w-mbstring php70w-gd php70w-pdo php70w-common php70w-mcrypt \ php70w-ldap php70w-process php70w-pecl-apcu php70w-pear vim wget # ИНсталација и покретање MariaDB yum install -y mariadb-server mariadb systemctl start mariadb.service systemctl enable mariadb.service # Поставити зајебану лозинкзу за root db корисника и све одговорити са Y mysql_secure_installation # Прављење базе коју цемо користи. Запамтити податке одавде, требаце нам касније, дакле: # dbname: owncloud_baza # dbuser: dbkorisnik # dbpassword: lozinka123#$% # dbhost: localhost mysql -u root -p create database owncloud_baza; grant all on owncloud_baza.* to 'dbkorisnik'@'localhost' identified by 'lozinka123#$%'; FLUSH PRIVILEGES; exit # Инсталација curl-a rpm -Uvh http://www.city-fan.org/ftp/contrib/yum-repo/rhel7/x86_64/city-fan.org-release-1-13.rhel7.noarch.rpm yum install -y curl mv /etc/yum.repos.d/city-fan.org.repo /root/ # Инсталација ownCloud-a rpm -Uhv http://dl.fedoraproject.org/pub/epel/7/$(uname -i)/e/epel-release-7-5.noarch.rpm wget http://download.owncloud.org/download/repositories/stable/CentOS_7/ce:stable.repo -O /etc/yum.repos.d/ce:stable.repo yum install -y owncloud # Да url буде root a нe /owncloud sed -i s/"\/var\/www\/html"/"\/var\/www\/html\/owncloud"/g /etc/httpd/conf/httpd.conf chown -R apache.apache /var/www/html/owncloud/ # ПОдешавање selinux-a semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/owncloud/data' restorecon '/var/www/html/owncloud/data' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/owncloud/config' restorecon '/var/www/html/owncloud/config' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/owncloud/apps' restorecon '/var/www/html/owncloud/apps' setsebool -P httpd_can_sendmail on
Званична препорука је да се подести и Strict-Транспорт-Security:
vim /etc/httpd/conf.d/owncloud.conf
# Додати
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
</IfModule>
Додати овај код у хтаццесс да би HTTP био аутоматски редиректован у HTTPS:
vim /var/www/html/owncloud/.htaccess RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{SERVER_NAME}/%$1 [R,L]
Рестартовати httpd
systemctl restart httpd.service
Иницијално подешавање ownCloudа
Отићи на адресу, у овом случају https://owncloud.kompjuteras.com, одабрати MariaDB и унети податке које сте унели приликом прављења базе
Кад кликнете на Finish setup отвориће вам се дифолт прозор
…
Остаје вам да подесите кеширање…све смо што је требало већ инсталирали, сад само треба да кажемо ownCloudу да користи то кеширање….једноставним додавањем
vim /var/www/html/owncloud/config/config.php
# Додати у предзадњи ред
'memcache.local' => '\OC\Memcache\APCu',
…и као последња провера да је све ОК, улогујте се путем браузера у ваш ownCloud и идите на: Падајући мени у горњем десом углу – Admin и ако вам под Security & setup warnings пише „All checks passed“ – то је то
Шта вам сад остаје да урадите:
- Да подесите енкрипцију на нивоу сервера: Admin – Server side encryption – Enable сервер-сиде encryption – Enable Encryption. Потом падајући мени Admin па Apps, наћи Дефаулт encryption модуле и кликнути Enable па се излоговати и улоговати поново. Тиме се фајлови на нивоу сервера шифрују тако да ако неко и нађе начин да „улети“ не може ништа са корисничким фајловима на серверу.
- Startујете додатке који су вам занимљиви и да се даље играте 🙂
А шта би још било мудро и паметно урадити – али ме мрзи да вам описујем како 🙂
- Фолдер на коме су подаци „data“ поставити на Btrfs фајл систем због прављења snapshotова
- Исконфигуристаи iptables (Firewall) – ово је обавезно
- Инсталирати и сконфигурисати неки IDS (Intrusion Detection System)
- Подесити на нивоу crontab-a аутоматску обнову Let’s Encrypt SSL сертификата (иначе траје 3 месеца)
- Изместити ownCloud са локације /var/www/html/ на неку фенси локацију
- Заштити приступ Apache-у, SSH-у, поставити fail2ban
- Подесити и неко бекап решење и за ownCloud
- Инсталирати у оквиру апликације антивирус (има као додатни App)
- Подесити имејл нотификације
- Исконфигурисати max file size (по дифолту је око 500MB)
Зашто не ownCloud за кућну примену?
- Прво и најважније – ограничени сте upload брзином коју вам провајдер нуди – а то је у нашем окружењу једва 2Mbps јебем ли им 2Mbps, тако да кад би сте скидали рецимо фајл од 4GB – скидали бисте га једно милијарду година. Фирме обично закупе ресурсе или имају 1:1 upload/download брзину па их ово не би много оптерећивало.
- Друго – већина кућних корисника има динамичке IP адресе тако да бисте се морали зајебавати са no-ip.com сервисом и клијентом уколико бисте желели да приступате са неке спољне адресе.
- Треће – није баш практично да ownCloud буде на кућном компјутеру јер компјутер треба да буде упаљен све време. Може да нестане струје – и све ћао. У фирмама обично постоји УПС заштита додатно обезбеђена агрегатима као и професиoнално одабран и исконфигурисан рутер.
Више о ownCloud-у прочитајте на званичном сајту програма owncloud.org
Поддомен owncloud.kompjuteras.com је након писања текста враћен на дифолт адресу и на њему нема више ништа.
Simeon
12/02/2016 @ 11:15
Ne radi ti https://owncloud.kompjuteras.com
Nikola
12/02/2016 @ 11:48
Odličan tekst ali kao što si napisao i nije baš besplatan ali ni jeftin. Treba zakupiti server sa dovoljno storagea, struja, čovek-dani, network speed. Istina za kompanije idealno pogotovo za korišćenje na duže staze.
Компјутераш блог
12/02/2016 @ 11:57
Нема бесплатног ручка, што би рекли дебели Амери
Branislav Rikić
09/01/2017 @ 10:52
Odličan tekst. Fino objašnjenjeno puštanje u rad jednog ovakvog servera. Ja bih dodao da je ovo ipak SJAJNO rešenje za kućni server i to na nivou osnovnih potreba (deljenje podataka u vidu medijskih fajlova, fotografija sa putovanja, nekih poslovnih dokumenata i slično) ako se uradi dobra analiza i izabere dobar hardver za te igrarije. Npr, u mom slučaju je ovo malo čudo: http://www.dell.com/us/dfb/p/optiplex-fx160/pd. Intel Atom 330 1.6 GHz sa dva jezgra, ugrađen SSD disk od 2.5″, 4 GB RAM, napajanje je 50W čini mi se. Sinhronizovan sa telefonom i sve to sjajno radi. Jeste mali upload (2 MB/s), jeste tu potrošnja struje i koješta ali koliko dobrog donese i koliko zna biti praktično, e to nema cenu. Ništa specijalno do proširena verzija (zbog prostora) Google Drive-a ali kao što rekoh, zna biti praktično i dobro za ‘internu’ ili ti kućnu varijantu.