», которая представляла из себя систематизацию различной информации и представление её в актуальном и работоспособном виде. Данная статья так же позиционируется как справочный материал для новичка или обычного пользователя Linux, этакий мой небольшой вклад в популяризацию Linux. По сути, всё о чём я буду писать – это некая развёрнутая инструкция по установке и настройке домашнего облачного сервиса Nextcloud с нуля.
Созданная виртуальная машина с Nextcloud отработала с марта 2017 года практически без сбоев и осенью 2017 года я задумался о статье. У меня осталось много записей и комментариев в части решения различных проблем и нюансов, я долго вынашивал идею всё же привести всё это в порядок и опубликовать и новогодние праздники 2018 года мне в этом помогли. Надо сказать, что статья запоздала как минимум на полгода, но, думаю, что установить и настроить актуальные версии Debian и Nextcloud по аналогии с нижеприведённой информацией не составит большого труда, хотя, как известно, дьявол кроется как раз в деталях.
Ниже читатель познакомится с предпосылками создания своего облака и получит работающие инструкции по стартовой настройке Debian, лёгкому тюнингу среды Gnome3, компиляции, сборке и установке пакетов для Debian, установке и настройке сервисов Apache, SQL и PHP и начала работы с ними, генерации и подключения самоподписного сертификата SSL для виртуального хоста Apache, установка и настройка Nextcloud. Я не стал оформлять эту статью как технический мануал или туториал с длинной вереницей команд, а решил попробовать написать статью как рассказ, но без ущерба технической составляющей. Опытный пользователи Linux вряд ли тут найдут что-то новое, но, возможно, смогут прочитать его как тематическую историю в минутку своего свободного времени.
Все пользователи компьютерной техники делятся на две группы – те, кто делают бекапы и те, кто ещё их не делают. Я из второй группы перешёл в первую лет пятнадцать назад. По крайней мере на первом телефоне резервирование было продумано следующим образом. Все приложения с их настройками ежедневно автоматически бекапились через Titanium Backup на SD карту. На телефон устанавливалась SambaDroid, которая настраивалась таким образом, чтобы расшаривать SD карту телефона только при подключении его к сети с определённым SSID. Как нетрудно догадаться это происходило только при подключении телефона к Wi-Fi маршрутизатору у меня дома. На компьютере периодически запускался BitTorrent Sync, который на всякий случай запирался через файрвол в локальной сети (разрешалась активность только по локальным адресам), и при обнаружении расшаренной карты синхронизировал её содержимое с папкой на компьютере. В случае поломки телефона можно было просто вытащить SD карту с данными. В любом другом случае – всегда есть бэкап карты памяти на компьютере. Если в этот же день сломается компьютер - есть холодный бекап диска с данными, который находится в другом доме. Сон спокойный, здоровый, крепкий, поэтому руки от напряжения не трясутся и, как следствие, телефон никогда и не падает.
А что делать с этим новым телефоном? Приложения так же бекапятся через Titanium Backup. Но SD карта не вытаскивается, а SambaDroid, отлично работавшая на Android 2.х на линейке 4/5/6 ведёт себя нестабильно, да и от BitTorrent Sync я через некоторое время отказался. Наверняка можно было бы найти аналогичное решение, но я загорелся универсальным облачным решением. Казалось бы, вывод напрашивается сам собой и очевиден – есть Google Drive и куча приложений, которые синхронизируют указанные данные с облаком, обеспечивая (в теории) End-to-End шифрование. Но… с таким подходом эта статья бы никогда не была написана! Тем более автор в 2018 году даже не собирается подключать гуглоаккаунт к телефону и уж тем более не думает о синхронизации фотографий своих котиков с какими-то другими сервисами. Да, у меня паранойя, недоверие к корпорациям, желание держать личные данные под своим контролем, желание независимости от работы другого сервиса (который может и закрыться) и я не хочу платить за куцые гигабайты в облаке.
Пока я думал о том, что нужно что-то делать в плане исправления этой ситуации пролетел весь 2016 год и я понял, что вот, прямо сейчас надо уже реально озаботиться этой проблемой. Хотелось всё сделать красиво, с прицелом на будущее, на универсальность, надежность и, разумеется, автоматизм. Так как я активно не приемлю слишком уж большое и навязчивое участие корпораций в личной жизни решено было попробовать сделать своё персональное облако в локальной сети, используя ownCloud.
Цитата из википедии:
ownCloud - это Свободное и открытое веб-приложение для синхронизации данных, общего доступа к файлам и удалённого хранения документов в «облаке». ownCloud написан на языках программирования PHP и JavaScript. ownCloud работает с базами данных SQLite, MariaDB, MySQL, Oracle Database и PostgreSQL, и работает на серверах под управлением Linux, в том числе на Raspberry Pi. Разработку ownCloud начал один из разработчиков KDE, Франк Карлитшек, в январе 2010 г. Он стремился создать бесплатную альтернативу коммерческим облачным сервисам хранения данных. В отличие от них, ownCloud можно установить на собственный сервер без дополнительных затрат.Возможности:
- Хранение файлов с использованием обычных структур каталогов, или с использованием WebDAV
- Криптография
- Синхронизация между клиентами под управлением Windows (Windows XP, Vista, 7 и 8), Mac OS X (10.6 и новее) или Linux
- Календарь (также как CalDAV)
- Планировщик задач
- Адресная книга (также как CardDAV)
- Потоковое мультимедиа (используется Ampache)
- Администрирование пользователей и групп (с использованием OpenID или LDAP)
- Расшаривание контента между группами или используя публичные URL
- Онлайн текстовый редактор с подсветкой синтаксиса и сворачиванием. Анонсирована поддержка онлайн-версий редакторов LibreOffice.
- Закладки
- Механизм сокращения URL
- Фотогалерея
- Просмотрщик PDF (используется PDF.js)
- Просмотрщик ODF файлов (.odt, .odp, .ods)
- Модуль логирования
У меня уже были сохранены некоторые ссылки на материал по установке и настройки ownCloud, но когда я начал разбираться с ним, то обнаружил, что в 2016 году главный разработчик ownCloud (Франк Карличек) покинул компанию и объявил о создании форка - Nextcloud. В отличии от ownCloud, который платен при некоторых условиях, Nextcloud бесплатен полностью. Учитывая то, что работу над новым форком возглавил имеющий большой опыт подобной разработки Франк Карличек, я решил выбрать Nextcloud. В начале 2017 года актуальной версией Nextcloud была версия 11.0.2 и именно её установка и настройка будет описана ниже. На январь 2018 года актуальной версией является 12.0.4, но, я думаю, никаких принципиальных отличий в установке и настройке не должно быть.
Итак, нужно определиться что именно нужно делать. Имеется пара телефонов, которые нужно подключить к облаку. Кроме этого хотелось бы еще подключить к нему и компьютер – объём дискового пространства в облаке теперь зависит только от моего желания и мне не нужно постоянно доплачивать за 10/20/30 гигабайт – я могу просто купить жесткий диск на пару терабайт. Центральным звеном в домашней сети является Wi-Fi маршрутизатор – именно к нему подключены телефоны через Wi-Fi, компьютер и ещё один компьютер, который выполняет роль нечаянного «сервера»: изначально компьютер собирался под задачи несостоявшегося HTPC , а сейчас на нём просто работает софт виртуализации от VMWare. VMWare Workstation имеет свой собственный виртуальный маршрутизатор, к которому пока подключена только одна виртуальная машина с FTP сервером. Решение напрашивается само собой – создать и подключить ещё одну виртуальную машину, через сетевые настройки VMWare пробросив на неё порты 80 (HTTP) или 443 (HTTPS). Решение модульное и элегантное в том плане, что абсолютно аппаратно-независимое и единожды настроенную виртуальную машину можно будет легко развернуть где угодно, на любом обычном компьютере.
С Linux я сталкиваюсь только периодически и это больше ещё одно хобби, чем необходимость. Но раз уж я замахнулся на универсальность, то на этот раз я решил разбить всю работу на три логических части, каждая из которых должна заканчиваться вполне определённым и универсальным результатом. Для начала необходимо сделать себе удобную среду для работы, то есть не просто установить систему на виртуальную машину, но настроить её под себя, приблизить её к тому виду, который мне удобнее и привычнее. Второй этап – доведение этой машины до функционирующего веб-сервера. Третий – превращение веб-сервера в облако.
В качестве операционной системы был выбран Debian 8.7.1. В VMWare Workstation создаётся виртуальная машина, которой отводится один двухпотоковый процессор, два гигабайта оперативной памяти и жёсткий диск объёмом 120 гигабайт. Режим работы сетевой карты – NAT. Скачиваем ISO образ операционной системы для архитектуры amd64 . После скачивания подключаем образ к виртуальному приводу и запускаем виртуальную машину. Установка операционной системы довольно банальна и её можно выполнить даже без мурзилок, которых предостаточно в интернете. В качестве графического окружения был выбран Gnome3, а также установлены «Standard system utilities» и «Print Server». Жесткий диск в процессе установки разбит на два раздела - общий раздел (/, /home, /usr и т.д.) и swap. Нового созданного пользователя обозвали нейтрально «user».
Сразу после установки пользователю показывается пустой рабочий стол. Файловый менеджер наутилус - типа проводника Windows, никогда не понимал почему им пользуются. Меню приложений не блещет своим структурированием. NumLock после загрузки всегда отключен. От текстовых редакторов nano или vi начинающий линуксоид вообще впадает в уныние. Надо всё это как-то исправлять. Нижеприведённое описание системы «под себя». О вкусах не спорят: кому-то понравится, кому-то – нет. Замечу, что без преодоления трудностей профессионального роста не будет и чем больше копаешься в чём-то - тем больше понимаешь как это работает.
Элементарная начальная настройка среды производится в панели управления:
Язык и регион → Добавить русский язык в источники ввода.
- Клавиатура → Комбинации клавиш → Ввод → Клавиша модификатор переключает источники ввода → Назначить кнопку переключения языков Ctrl+Shift (если невозможно установить такое сочетание - пропустить этот шаг, настроим в разделе «Настройка gnome», который приведён ниже).
- Клавиатура → Комбинации клавиш → Дополнительные комбинации → Добавить новый пункт с названием «Terminal» и командой «x-terminal-emulator». После добавления щёлкаем по надписи «Выключен» и вводим комбинацию двух клавиш: Super (Win) + t.
- Мониторы → Установить разрешение экрана под текущий дисплей, так как по умолчанию установлено некомфортное 800х600.
- Электропитание → ОТКЛ выключение дисплея.
- Подробности → Съёмный носитель → ОТКЛ автозапуск при подключении носителей.
- Пользователи → ВКЛ автоматический доступ для пользователя user.
Важное замечание. Строки команд, начинающиеся с символа $, будут обозначать, что команду необходимо ввести от лица пользователя – нужно просто открыть терминал (ищется в меню приложений или просто нажимается комбинация Super+T) и ввести команду. Если строка начинается с символа # - это значит, что ввод должен производиться от имени суперпользователя (root). Для этого нужно открыть терминал пользователя и ввести команду:
После чего ввести пароль суперпользователя, который был задан при установке системы.
Итак, как мне «раскрасить» терминал? Для этого выполняем команду:
$ nano /home/user/.bashrc
По этой команде в текстовом редакторе nano откроется конфигурационный файл bashrc. В этом файле нужной найти и раскомментировать строку «force_color_prompt=yes». Ниже ищем строку следующего вида (ниже условия if [ "$color_prompt" = yes ]; then):
PS1="${debian_chroot:+($debian_chroot)}\[\033\u@\h\[\033:\[\033\w\[\033\$ "
# nano /root/.bashrc
Опять открывается конфигурационный файл, но уже для суперпользователя. Ниже закомментированной строки "#PS1=..." нужно вставить (Shift+Ctrl+V) скопированную строку с небольшим изменением (с заменой числа 32 на 31):
PS1="${debian_chroot:+($debian_chroot)}\[\033\u@\h\[\033:\[\033\w\[\033\$ "
# nano /etc/apt/sources.list
Проверяем список репозиториев на соответствие нижеприведённому списку.
# security updates
deb security.debian.org
deb-src security.debian.org jessie/updates main contrib non-free
# jessie-updates
deb httpredir.debian.org/debian
deb-src httpredir.debian.org/debian jessie-updates main contrib non-free
# binary and source packages
deb httpredir.debian.org/debian jessie main contrib non-free
deb-src httpredir.debian.org/debian jessie main contrib non-free
# backports
# deb httpredir.debian.org/debian jessie-backports main contrib non-free
# deb-src httpredir.debian.org/debian jessie-backports main contrib non-free
После любого изменения содержимого файла sources.list нужно обязательно выполнить синхронизацию с репозиториями:
# apt-get update
Обязательно смотрим лог – никаких ошибок быть не должно. В противном случае нужно проверить корректность содержимого файла sources.list.
$ cat /etc/debian_version
Если система установлена из образа по вышеприведённой ссылке, то её номер будет 8.7.
Для обновления системы существует две команды: apt-get upgrade и apt-get dist-upgrade. Первая команда только обновит установленные пакеты, но при этом могут возникнуть конфликты и неудовлетворённые зависимости. Это некое безопасное обновление, при котором старые программы точно не портятся, но новые могут и не заработать. Вторая же команда удалит старые пакеты, разрешит конфликты, доставит необходимые зависимости и доставит новые пакеты, если требуется. При возникновении конфликтов она будет пытаться произвести обновление наиболее важных пакетов за счет менее важных. Этакое более умное обновление.
Обновим систему:
# apt-get dist-upgrade
После обновления системы проверяем лог на предмет ошибок, проверяем новую текущую версию системы и убеждаемся, что всё в рамках ожидаемого.
# apt-get install mc
# apt-get install gksu
# apt-get install numlockx
# apt-get install libcanberra-gtk-module
# apt-get install libqt5webkit5 libqt5svg5 coreutils
# apt-get install doublecmd-gtk
# apt-get install galculator
# apt-get install samba smbclient cifs-utils
# apt-get install jigdo-file
# apt-get install audacious
# apt-get install smplayer
# apt-get install firefox-esr
# apt-get install gufw
mc – это старый добрый Notron Commander только в Linux. Забываем про команды ls, cd, mkdir, rm и прочие.
gksu – позволит запускать программы с графическим интерфейсом от имени суперпользователя, а так же добавит в меню приложений терминал суперпользователя, который можно будет запускать сразу, а не выполнять последовательность «терминал → $ su → ввод пароля суперпользователя».
numlockx – поможет решить проблему с режимом numlock после загрузки системы, так как по умолчанию он всегда выключен.
Пакеты libcanberra-gtk-module, libqt5webkit5 libqt5svg5 coreutils нужны для функционирования двухпанельного менеджера Double Commander и текстового редактора Notepadqq, который мы установим чуть позже.
doublecmd-gtk – аналог Total Commander для Linux.
galculator – просто калькулятор, который умеет переключаться в инженерный вид.
samba smbclient cifs-utils – пакеты, необходимые для обеспечения работы в сети: расшаривание папок, доступ к расшаренным папкам, монтирование сетевых ресурсов.
jigdo-file – это инструмент для закачки и обновления образов CD, DVD, BD. например, если вы когда-то захотите создать полностью автономный и полный официальный репозиторий из Blu-Ray дисков дистрибутива Debian, то именно этот «торрент» нам понадобится, так как диски Blu-Ray распространяются в первую очередь через jigdo.
audacious – аудиоплеер.
smplayer – видеоплеер.
firefox-esr – браузер не нуждающийся в представлении.
gufw – графическая оболочка для утилиты настройки брандмауэра.
Вышеприведённые программы будут несколько дополнять базовый пакет ПО установленной системы, который немал, если при установке системы был выбран стандартный набор утилит. Функции MS Office выполняет пакет программ LibreOffice, есть графический редактор GIMP, Transmission для торрентов, почтовый клиент Evolution, просмотрщик фотографий, простой текстовой редактор gedit и прочее ПО. Аудио и видеоплееры в стандартном наборе тоже есть, но audacious и smplayer будут являться более функциональными и удобными программами.
Файловый менеджер Double Commander я привёл к более минималистическому виду произведя следующие действия в его меню:
Вид → Краткий (выполнить на обоих панелях)
- Настройки → Параметры → Инструменты → Терминал → В разделе «Команда запуска терминала» прописать «x-terminal-emulator», поле параметров оставить пустым
- Настройки → Параметры → Шрифты → все шрифты =11, шрифт «Просмотрщика (режим „Книга“)» =14
- Настройки → Параметры → Просмотр файлов → Выбрать метод сортировки «Естественная сортировка: алфавитно-числовая»
- Настройки → Параметры → Просмотр файлов → Установить опцию «Показывать системные и скрытые файлы»
- Настройки → Параметры → Вид окна → Установить только след. опции:
- Главное меню
- Панель инструментов + Плоские
- Кнопка списка дисков
- Строка свободного места на диске + Кратко
- Текущий путь
- Заголовки табуляторов
- Строка состояния
- Кнопки функциональных клавиш
- Плоский интерфейс
- Панель фоновых операций
Видеоплеер SMPlayer так же был немного настроен через меню пункт «Настройки»:
Панели → ОТКЛ Главная панель и Языковая панель
- Настройки → Основные: ОТКЛ «Запоминать настройки всех файлов»
- Настройки → Внешний вид: Автоматически изменять размер - ВКЛ «Когда это нужно»
- Настройки → Внешний вид: ОТКЛ «Запоминать позицию и размер»
- Настройки → Обновления: ОТКЛ «Проверить обновления» и ОТКЛ «Открыть страницу с информацией после обновления»
Из минимальных расширений для firefox стоит упомянуть Ghostery, с помощью которого можно блокировать многие следящие жучки и рекламу, и friGate, расширяющий возможности браузера по настройке прокси (прокси нам, конечно ни к чему, но вдруг понадобится – так он всегда тут, под рукой). Отмечу, что стоит ставить friGate версии 2.2.1.1 (из архивов), так как ветка 3.х демонстрирует полную победу «эффективного» менеджмента и маркетинга над здравым смыслом.
Что делать, если в браузере нужен Flash Player? На странице загрузки Adobe Flash Player выбираем.tar.gz для Linux и скачиваем предложенный файл. Из архива необходимо «достать» libflashplayer.so и скопировать его в /home/user/.mozilla/plugins. Все действия можно сделать через Double Commander – он умеет заходить в архивы как папки. Ниже я привёл как это сделать через команды в терминале:
Можно получить исходный код текущего проекта с svn:
Можно просто скачать исходный код и распаковать файл:
$ tar xzf doublecmd-0.7.8-src.tar.gz
Допустим мы получили папку с исходным кодом и она находится по пути /home/user/work/doublecmd.
$ fakeroot
$ startlazarus
В соответствии с файлом doublecmd\doc\INSTALL.txt (для актуальной версии уточнить пакеты на в разделе «Building from source») нужно подключить или скомпилировать пакеты к lazarus, а после подключения последнего пакета пересобрать lazarus. Делается это следующим образом: следуем в меню Package → Open package file (.lpk) → Выбираем требуемый файл и открываем его → В открывшемся новом окне нажимаем кнопку «Use» после чего выбираем «Install», если пункт «Install» недоступен, то просто нажимаем на кнопку «Compile». Все компоненты находятся в папке components исходного кода. Нам нужно подключить следующие компоненты:
- chsdet/chsdet.lpk
- CmdLine/cmdbox.lpk
- multithreadprocs/multithreadprocslaz.lpk
- dcpcrypt/dcpcrypt.lpk
- doublecmd/doublecmd_common.lpk
- KASToolBar/kascomp.lpk
- gifanim/pkg_gifanim.lpk
- viewer/viewerpackage.lpk
Если пересборка успешно завершилась, то можно попробовать откомпилировать проект, открыв через Lazarus файл doublecmd/src/doublecmd.lpi и запустив компиляцию (кнопка F9). После успешной компиляции (в процессе могут показываться предупреждения, но ничего страшного – главное, чтобы фатальных ошибок не было) должен отрыться Double Commander. Если этого не произошло то, с высокой долей вероятности, в процессе компиляции возникла ошибка и надо разбираться что с ней делать и как жить дальше. Можно попытаться решить проблему логически, но при отсутствии опыта шансов, конечно, очень мало. Поэтому нежно забираем текст ошибки в буфер обмена и идём с ней прямо в неведомые дали интернета.
После успешной компиляции проекта закрываем IDE.
Итак, мы получили в папке с исходным кодом бинарный файл doublecmd, который запускается. Всё хорошо, но… а как сделать нормальный пакет? Вот тут нам поможет папочка install. Если вдумчиво понаблюдать за кодом файла create_packages.sh, само название которого сильно обнадёживает, то можно сделать далеко идущие выводы о том, что нам нужно в части параметров, которые нужно прописывать при запуске скрипта. По применению этого скрипта возможно даже есть какая-то документация, но мне хватило логического осмысления кода. Одна просто запуск на исполнение этого файла мне ничего не давал так как процесс постоянно сбоил и останавливался на ошибках, как правило, отсутствия нужных путей. Для успешной сборки пакета нужно немного подправить скрипт create_packages.sh.
svn export ../ $BUILD_DC_TMP_DIR
cp -vR /home/user/work/doublecmd/ $BUILD_DC_TMP_DIR
linux/update-revision.sh ../ $BUILD_DC_TMP_DIR
export MAINTAINER=«Alexander Koblov»
export MAINTAINER=«Vlastelin Mira»
checkinstall -D --default --pkgname=doublecmd --pkgversion=$DC_VER --pkgarch=$DEB_ARCH --pkgrelease=1.$lcl --pkglicense=GPL --pkggroup=contrib/misc --requires=libx11-6 --nodoc --pakdir=$PACK_DIR $BUILD_DC_TMP_DIR/install/linux/install.sh
checkinstall -D --install=no --default --pkgname=doublecmd --pkgversion=$DC_VER --pkgarch=$DEB_ARCH --pkgrelease=1.$lcl --pkglicense=GPL --pkggroup=contrib/misc --requires=libx11-6 --nodoc --pakdir=$PACK_DIR $BUILD_DC_TMP_DIR/install/linux/install.sh
$ ./create_packages.sh -D --ws=gtk2 --cpu=x86_64
Наблюдаем за магией в консоли – там столько всего происходит! После успешной сборки пакета выходим из сессии fakeroot:
Полученный пакет, например, doublecmd_0.7.8-1.gtk2_amd64.deb, будет находиться в /doublecmd/install/linux/release/ откуда его можно установить обычной командой:
Здравствуйте, хабравчане! Сегодня я хотел бы рассказать о персональном облачном хранилище ownCloud и его установке.
Для нас уже стало обыденным использование таких сервисов как Dropbox, Google Drive, SkyDrive или даже Облако Mail.Ru, мы пользуемся их услугами каждый день не обращая внимание на явные недостатки тех или иных серверов. На одном, сервисе мало места, на другом нет локализации, на третьем ненадежное хранилище, на четвертом кривой интерфейс и так далее, но у всех этих сервисов есть общий существенный недостаток - ваши данные всегда хранятся на неконтролируемых вами серверах. В случае когда необходимо использовать сервисы для размещения данных не имеющих для вас большой ценности - этих сервисов должно полностью хватить. В случае если, необходима защита контента, полная конфиденциальность, безопасность, неограниченное количество свободного места, возможность организовать многопользовательский доступ для работы в группах, контроль версий, синхронизация, возможность просматривать документы, таблицы, изображения, видеоматериалы, аудиозаписи, заметки из любой точки мира без необходимости их загрузки - ownCloud это то что вам нужно.
Давайте подробнее рассмотрим ownCloud и попробуем его установить
OwnCloud переводиться буквально как «собственное облако». Это CMS с открытым кодом, которое можно загрузить на свой компьютер и позднее установить его на хостинг или собственный сервер. По функциональности ownCloud не отстает от ведущих компаний в мире облачных хранилищ, а некоторых превосходит.
За простым лаконичным интерфейсом скрывается большой функционал расширяемый еще более с помощью предустановленных модулей и собственного App store представленного на официальном сайте.
Это всего лишь краткий список возможностей ownCloud, но уже сейчас видны его преимущества. При желании можно добавить почтовый клиент, торрент клиент, чат с видео, полноценный офис, проверку фалов на VirusTotal и многое другое.
Перейдем от теории к практике.
Прежде чем начинать давайте убедимся что наша система в актуальном состоянии.
Открываем терминал и вводим:
Sudo apt-get update && sudo apt-get upgrade
Эти две простые команды обновят все программы на нашем сервере, процесс может занять длительное время в зависимости от скорости интернета и нашего сервера.
Теперь, можно приступить к установке необходимого для работы ownCloud программного обеспечения:
Sudo apt-get install apache2 php5 php5-common php5-gd php5-intl php5-mcrypt php5-cli php5-ldap php5-sqlite curl libcurl3 libcurl4-openssl-dev php5-curl php-apc ffmpeg php-imagick
Теперь у нас есть все необходимое для быстрого развертывания ownCloud на нашем сервере и можно переходить к пункту 4 или продолжить полную установку вместе со мной.
Устанавливаем MySQL:
Apt-get install mysql-client mysql-server
Во время установки нам предложат автоматически сконфигурировать сервер, соглашаемся и выбираем Apache2, нажимаем «Да» далее нас попросят придумать пароль для нашей базы данных MySQL, придумываем пароль и идем дальше.
Важно:
Теперь немножко позаботиться о нашей безопасности, вводим в консоль:
Mysql_secure_installation
и на все вопросы отвечаем положительно Y.
Входим в консоль управления MySQL и вводим пароль (его не видно):
Mysql -u root -p
Создаем базу данных:
Create database Имя_БД;
Создаем пользователя, желательно с именем как и у базы данных:
Create user "Имя_пользователя"@"localhost" IDENTIFIED BY "Новый_пароль";
Важно: пароль не должен совпадать с паролем суперпользователя.
Передаем созданному пользователю полные права на созданную базу данных:
GRANT ALL ON Имя_БД.* to "Имя_пользователя"@"localhost" ;
Устанавливаем ntp клиент:
Apt-get install ntp ntpdate
Теперь меняем сервер синхронизации времени на ближайший:
Sudo gedit /etc/ntp.conf
В открывшемся фале находим:
server 0.debian.pool.ntp.org iburst dynamic
server 1.debian.pool.ntp.org iburst dynamic
server 2.debian.pool.ntp.org iburst dynamic
server 3.debian.pool.ntp.org iburst dynamic
Меняем на адреса ближайших к нам npt серверов, например на:
server 0.pool.ntp.org iburst dynamic
server 1.pool.ntp.org iburst dynamic
server 2.pool.ntp.org iburst dynamic
server 3.pool.ntp.org iburst dynamic
Сохраняем и выходим из редактора.
Чтобы проверить правильность времени достаточно ввести в терминале:
Ntpdate pool.ntp.org
Если время на нашем сервере не соответствует времени полученному с ntp сервера вводим:
Ntpdate -bs 0.pool.ntp.org
Редактируем файл /etc/apache2/sites-enabled/000-default:
Sudo gedit /etc/apache2/sites-enabled/000-default
Находим строчку:
Меняем на:
Сохраняем файл и выходим.
Перезапускаем apache:
Service apache2 restart
Редактируем php.ini:
Sudo gedit /etc/php5/apache2/php.ini
Находим строчки:
Mysql.default_socket = mysql.cache_size = memory_limit = post_max_size = upload_max_filesize =
Меняем на:
Mysql.default_socket=/var/run/mysqld/mysqld.sock mysql.cache_size = 4000 upload_max_filesize = 1024M //максимальный размер файла который мы можем загрузить на наш сайт post_max_size = 1024M //Должен быть больше или равен upload_max_filesize memory_limit = 1024M //Должен быть больше или равен post_max_size
Находим строчки:
Extension=pdo_mysql.so extension=mysql.so
Убираем знаки комментариев перед ними "#" или "//" (если строчек нет, добавляем их после "")
Сохраняем файл и выходим.
Перезапускам apache еще раз:
Service apache2 restart
Загружаем последнюю версию ownCloud, на момент написания ownCloud 6:
Cd /var/www/ wget http://download.owncloud.org/community/owncloud-6.0.0a.tar.bz2
Также, можно просто скачать последнюю версию с официального сайта ownCloud в папку /var/www/
Распаковываем:
Tar -xvf owncloud-6.0.0a.tar.bz2
Выставляем права:
Sudo chown -R www-data:www-data /var/www/owncloud/
Теперь наш сайт готов, остался только маленький штрих, открываем в браузере localhost/owncloud
А) Для тех кто сразу перешел на пункт 4: Придумываем login и пароль для администратора - входим
B) Для тех кто установил MySQL: Придумываем login и пароль для администратора, выбираем «advanced» затем «MySQL» и вводим имя ранее созданного пользователя базы данных, его пароль, имя самой базы данных, в поле Database host пишем localhost.
Готово! Теперь вы счастливый обладатель персонального облака owncloud с синхронизацией на всех устройствах в вашей домашней сети, для этого достаточно набрать в браузере ваш_внутренний_IP/ownCloud или если вы подключены к интернету напрямую можно получить доступ к owncloud набрав внешний_IP/ownCloud.
Рассмотрим пример на основе роутера asus rt-n16:
Из браузера заходим на адрес 192.168.1.1, вводим логин и пароль и входим в веб интерфейс роутера:
веб интерфейс
1. Переходим во вкладку «интернет» 2. Переходим во вкладку «переадресация портов» (Virtual Server / Port Forwarding) 3. Включаем переадресацию.
Меню переадресации портов
4. Выбираем уже заботливо подготовленные для нас профили: FTP и HTTP.
Выбор подготовленных профилей
5. Выбираем внутренний IP адрес нашего сервера («ip a» в терминале, адрес вида 192.168.1.X или 192.168.0.X) и нажимаем "+" что бы добавить в список
Выбор внутреннего IP сервера
6. По аналогии заполняем и добавляем нужные нам порты, затем нажимаем кнопку «Применить»
Список портов для ownCloud
1. Некорректная установка приложения в разделе Apps
В случае если после включения приложения веб сайт начал некорректно работать я нашел 3 решения:
1.Полная переустановка.
2.Очистить базу данных созданную для owncloud в phpmyadmin и удалить файл:
Rm -f \var\www\owncloud\config\config.php
3.Наверное самый приятный вариант, переместить папку с приложением после которого начались проблемы из папки \var\www\owncloud\apps в любую другую, проверить что сайт работает, вернуть папку на место и не трогать до фикса.
2. Авто login пользователя как только он заходит на сайт
1. Создаем в админ панели пользователя, к примеру Gman с паролем noclip.
2. Открываем файл base.php:
Sudo gedit /var/www/owncloud/lib/base.php
3. В самом конце находим строчи:
Protected static function tryBasicAuthLogin() { if (!isset($_SERVER["PHP_AUTH_USER"]) || !isset($_SERVER["PHP_AUTH_PW"])) { return false; } OC_App::loadApps(array("authentication")); if (OC_User::login($_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"])) { //OC_Log::write("core","Logged in with HTTP Authentication", OC_Log::DEBUG);
Заменяем на
Protected static function tryBasicAuthLogin() { //if (!isset($_SERVER["PHP_AUTH_USER"]) // || !isset($_SERVER["PHP_AUTH_PW"]) //) { // return false; //} OC_App::loadApps(array("authentication")); //if (OC_User::login($_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"])) { if (OC_User::login(Gman, noclip)) { //OC_Log::write("core","Logged in with HTTP Authentication", OC_Log::DEBUG);
1. Открываем fileactions.js Sudo gedit /var/www/owncloud/apps/files/js/fileactions.js
2. Ищем следующие строки:
Remove the existing delete action parent.parent().children().last().find(".action.delete").remove(); if (actions["Delete"]) { var img = FileActions.icons["Delete"]; if (img.call) { img = img(file); } if (typeof trashBinApp !== "undefined" && trashBinApp) { var html = ""; } else { var html = ""; } var element = $(html); element.data("action", actions["Delete"]); element.on("click", {a: null, elem: parent, actionFunc: actions["Delete"]}, actionHandler); parent.parent().children().last().append(element); }
3. Комментируем их:
// remove the existing delete action // parent.parent().children().last().find(".action.delete").remove(); // if (actions["Delete"]) { // var img = FileActions.icons["Delete"]; // if (img.call) { // img = img(file); // } // if (typeof trashBinApp !== "undefined" && trashBinApp) { // var html = ""; // } else { // var html = ""; // } // var element = $(html); // element.data("action", actions["Delete"]); // element.on("click", {a: null, elem: parent, actionFunc: actions["Delete"]}, actionHandler); // parent.parent().children().last().append(element); // }
4. Открываем:
Sudo gedit /var/www/owncloud/apps/files/js/files.js
5. Находим следующие строчки:
$(".delete-selected").click(function(event) { var files=getSelectedFilesTrash("name"); event.preventDefault(); FileList.do_delete(files); return false; });
6. Комментируем их:
//$(".delete-selected").click(function(event) { // var files=getSelectedFilesTrash("name"); // event.preventDefault(); // FileList.do_delete(files); // return false; // });
MEGA - это файлообменник который разработал Ким Дотком. Был открыт 19 января 2013 года, через год после того как закрыли сервис Megaupload. Mega при загрузке файлов шифрует весь контент используя алгоритм AES. Пользователи могут делиться файлами друг другом, но лишь в зашифрованном виде, при этом все данные хранятся в «облаке». Ключи доступа к файлам не публикуются в открытом доступе, а распространяются по схеме Friend-to-Friend, между доверяющими друг другу пользователями. То есть, я делюсь с другом файлом, чтобы он имел возможность прочесть его содержимое, я должен дать ему ключ для расшифровки иначе этот файл никто не сможет прочесть.
запускам, после нам предлагается авторизоваться, если вы еще не имеете аккаунте в Mega, регистрируемся по ссылке - , подтверждаем аккаунт по сообщению которое придет на почту, жмем кнопку "Activate Account ", далее будет предложено уже на сайте Mega авторизоваться под своим паролем который вы создали при регистрации.
после обновится страница и вы перейдете в браузерную версию для управления облаком.
Сразу же после регистрации не разлогиниваясь, перейдем по ссылке - сюда , вы увидите файл ключ который будет предложено скачать и ниже код который нам в последующем позволит авторизоваться в аккаунте, это наш по сути хеш ключ для авторизации, сохраняем все, в ином случае вы навсегда утеряете доступ к облаку и всем своим файлам.
Вот и все, регистрацию завершили, ключ сохранили как хеш код так и файл ключ, смотрите не затеряйте, это ваша гарантия авторизации в облаке, если затеряете, доступ к облаку будет потерян навсегда.
Ранее мы с Dash запустили клиент Mega, но так как у нас не было аккаунт в этом облаке мы его зарегистрировали, после запуска клиента мы видим следующее окно с предложением авторизоваться:
Далее выбираем где создать директорию для синхронизации файлов, обычно это домашняя директория, но вы можете выбрать другу где вам нужно нажав на кнопку "Изменить" и выбрав например ваш внешний переносной диск на 1 терабайт, после подтверждаем нажав на кнопку "Вперед" для перехода к следующему шагу.
вот и все, мы завершили начальную настройку облака Mega для синхронизации наших файлов в Linux, жмем кнопку "Готово", как показано на скриншоте выше.
Синхронизация файлов начата, пользуемся облаком Mega и не теряем свой ключ для входа. Для управления процессом синхронизации, нажмите на индикатор облака и выберите с выпадающего меню пункт "Показать статус", далее сможете управлять процессом синхронизации:
или же можете перейти в меню "Настройки", где найдете дополнительные возможности такие как добавление дополнительных директорий для синхронизации или же возможность сохранить свой ключ прямо с интерфейса приложения. Если у вас остались вопросы по материалу, спрашивайте в комментариях.
В наши дни иметь облачный файлообменник стало обязательным требованием, и мы избалованы широким выбором сервисов для хранения копий важных файлов, например, Dropbox, Google Drive, Box и др. Однако все они имеют один общий недостаток. Место хранения ограничено и, в конечном счете, они не перестают быть третьей стороной, которой вы вынуждены доверять свои (иногда конфиденциальные) файлы.
Так зачем идти на компромисс, если есть очевидное решение этой проблемы? Благодаря растущему контингенту разработчиков стало возможно создание собственного облачного файлообменника. Таким образом, нет необходимости иметь дело с посторонним сервером, и ваши файлы гарантированно видны только вам. Представляем 8 инструментов для создания собственного облака. Все они предлагают неограниченное пространство и несколько функций, которых нет у общедоступных облачных файлообменников.
Обратите внимание, что некоторые из них требуют ознакомления с процессом настройки своего собственного сервера. Просмотрев список, вы заметите, что процесс установки не так прост.
Мы уже ранее представляли Bittorrent Sync в качестве средства для перемещения объемных файлов анонимно. Но было ли вам известно, что его также можно использовать для создания своего собственного облака? Нужно лишь настроить папку так, чтобы она работала в качестве хранилища, чтобы можно было синхронизировать все файлы на всех устройствах при помощи Bittorrent Sync.
Поддерживаемые платформы : Windows, Mac OS X, Linux, FreeBSD, iOS, Android, Windows Phone, Kindle Fire.
Поддерживаемые платформы : Mac OS X, iOS.
Невероятно разнообразный инструмент ownCloud – это бесплатное open source приложение, которое позволяет сделать нечто большее, чем просто заместить Dropbox для обмена данными. Наряду с хранением данных, приложение предлагает множество других : управление календарем, список задач, редактирование документов и многое другое. можно установить OwnCloud с инструкциями.
Поддерживаемые платформы : клиент доступен для Windows, Mac OS X, Linux, iOS, Android. Серверное ПО устанавливается при помощи веб-установщика.
Поддерживаемые платформы : клиент доступен для Windows, Mac OS X, Linux, iOS, Android. Серверное ПО доступно для Windows, Linux, Raspberry Pi.
Поддерживаемые платформы : образы доступны на Virtualbox, Raspberry Pi, OpenVZ, Cubieboard2, Cubietruck.
Поддерживаемые платформы : Windows, Mac OS X, Linux, iOS, Android.
Поддерживаемые платформы : клиент доступен для Windows, Mac OS X, Linux. И использует Git-сервер для хранения данных.
Поддерживаемые платформы : серверное ПО доступно для Windows, Mac OS X, Linux.
Иллюстрация linuxformat.com
Облачное хранилище данных (англ. cloud storage) - модель онлайн-хранилища, в котором данные хранятся на многочисленных распределённых в сети серверах, предоставляемых в пользование клиентам, в основном, третьей стороной.
WebDav - набор расширений и дополнений к протоколу HTTP, поддерживающих совместную работу пользователей над редактированием файлов и управление файлами на удаленных веб-серверах. Другими словами, WebDav это протокол с помощью которого, инструментами системы, мы подключим нужный нам облачный сервис в виде отдельного сетевого диска, где вложенные в данный диск данные будут напрямую храниться в облачном сервисе, не занимая места на жестком диске.
1) Устанавливаем дополнительные инструменты
sudo apt-get update
sudo apt-get install python3-setuptools
sudo easy_install3 pip
sudo apt-get install git
2) Загружаем и устанавливаем клиент
git clone https://github.com/xybu92/onedrive-d.git
3) Создаем папку OneDrive и настраиваем клиент
mkdir ~/onedrive
onedrive-pref (в первом запросе нам нужно скопировать ссылку из терминала и вставить ее в адресную строку браузера, затем пройти авторизацию и новую ссылку из браузера вставить в терминал. Остальные настройки оставляем по умолчанию) .
onedrive-d (изучаем доступные команды облачного клиента)
onedrive-d start
Облачный клиент OneDrive установлен и расположен в папке /home/имя пользователя/OneDrive . Лишние две папки с названием OneDrive из директории /home/имя пользователя можно удалить.
Открываем Dash (панелька вверху слева, в которой можно найти установленные программы) находим «Автоматически запускаемые приложения». Добавляем клиент: Имя - OneDrive;
Команда: onedrive-d start
Box.com - облачный сервис, бесплатно предоставляющих 10 ГБ места и имеющий множество интересных настроек. О его преимуществах расписано на нашем сайте в данном сообщении .
Переходим к установке:
sudo apt-get update (уже как мантра:))
sudo apt-get install davfs2 (установка утилиты монтирования)
mkdir ~/Box.com (создаем папку Box)
sudo nautilus (открываем файловый менеджер Nautilus с правами суперпользователя), затем в его настройках включаем отображение скрытых файлов (Вид- ставим галочку на Показывать скрытые файлы) , после чего переходим в папку /etc/davfs2 , далее открываем файл davfs2.conf и добавляем строку: # use_locks 0
sudo dpkg-reconfigure davfs2 (в появившимся окне выбираем Yes)
sudo adduser имя_пользователя_системы davfs2
sudo nautilus в открывшимся файловом менеджере переходим в папку /etc, открываем файл fstab и добавляем строку:
https://dav.box.com/dav /home/имя_пользователя/Box.com davfs rw,user,noauto 0 0
В открытом от имени суперпользователя файловом менеджере переходим в папку /etc/davfs2 и открываем файл secrets, в него добавляем строчку:
https://dav.box.com/dav почтовый_адрес пароль (вводим регистрационные данные облачного сервиса: email и пароль через пробел) и сохраняем изменения.
chmod u+s /sbin/mount.davfs
После каждой перезагрузки диск Box.com автоматически не монтируется. Монтируется только при его открытии, поэтому при первом открытии нужно подождать несколько секунд для выполнения монтирования.
В данном случае есть отличная, рабочая инструкция по установке на официальном сайте. Не вижу смысла дублировать инструкцию, поэтому выкладываю ссылку: WebDAV в Linux и FreeBSD
После того как подключите Яндекс.Диск, советую добавить диск в закладки файлового менеджера.
Устанавливаем приложение X-plore File Manager (или любой другой файловый менеджер с поддержкой WebDav). Открываем опцию Веб-хранилище - Добавить сервер:
- Яндекс.Диск. Имя пользователя = ваш почтовый адрес; Пароль.
Box.net. Откроется окно для ввода электронной почты и пароля для входа на сайт box.com.
Нашли опечатку? Нажмите Ctrl + Enter