Такие службы, как Dropbox, упрощают доступ к файлам на нескольких устройствах. Однако вам может потребоваться больший контроль над ними. Менее чем за 30 минут вы можете настроить собственную службу облачной синхронизации и запустить ее на сервере, которым вы управляете через Nextcloud .
Что такое Nextcloud?
Nextcloud - это программное обеспечение с открытым исходным кодом, которое позволяет синхронизировать файлы между вашим ПК и другими устройствами, как если бы вы использовали Dropbox, Onedrive или Google Drive. Кроме того, Nextcloud имеет яркую экосистему приложений, которая позволяет вам делать больше, чем просто синхронизировать файлы. Вы можете использовать Nextcloud для управления календарем и контактами или для запуска почтового клиента IMAP в Интернете. Вы даже можете настроить программу живого чата исключительно для себя и всех, кто имеет доступ к вашему серверу.
Однако, прежде чем мы углубимся в подробности, есть предупреждение. После того, как вы начнете использовать Nextcloud, вам решать, как поддерживать сервер. Это означает, что помимо управления программным обеспечением Nextcloud вы должны убедиться, что операционная система базового сервера обновлена с помощью исправлений. Серверы Nextcloud, как правило, безотказны, но если что-то пойдет не так, вам решать.
Хорошая новость в том, что есть куча блогов, форумы , а также страницы помощи чтобы помочь вам в устранении неполадок. Если вы столкнулись с проблемой, скорее всего, она произошла с кем-то другим, и решение есть.
Что вам понадобится
Для начала работы с Nextcloud вам потребуются следующие три элемента:
- Виртуальный сервер под управлением Ubuntu 18.04
- Оболочка Bash на рабочем столе вашего компьютера.
- Доменное имя.
Для наших примеров мы создадим несколько имен пользователей и паролей, включая следующие:
- Имя пользователя root и пароль для вашего сервера.
- Обычное имя пользователя и пароль сервера с правами администратора.
- Имя пользователя и пароль Nextcloud.
В рамках этого руководства мы используем виртуальный сервер под управлением Ubuntu 18.04 от DigitalOcean. Однако вы можете использовать любого провайдера, который вам нравится, включая Линод или AWS . Какой бы сервис вы ни выбрали, главное - запустить Ubuntu 18.04 (текущая версия с долгосрочной поддержкой на момент написания этой статьи), чтобы избежать любых потенциальных проблем.
Каждый провайдер виртуального сервера немного отличается, но все они стремятся запустить и запустить сервер несколькими щелчками мыши. Для начала мы советуем вам использовать сервер базового уровня на пробной основе, пока вы не привыкнете к Nextcloud. Digital Ocean’s Капля за 5 долларов предлагает 1 ГБ ОЗУ, 1 ядро ЦП, 1 ТБ для передачи данных и 25 ГБ для хранения. Linode предлагает аналогичный VPS по той же цене.
Если вы не знакомы с ключами SSH, попросите своего провайдера предоставить данные для входа root на основе пароля для начала. После того, как ваш сервер запущен и вы освоитесь с командной строкой, вы можете проверить страницы справки вашего провайдера о том, как добавить ключи SSH для более безопасного входа в систему.
Если на вашем компьютере установлена Windows 10, вам необходимо установить
подсистема Windows для Linux и получите оболочку Bash с утилитами Linux
продолжить. Если вы используете Linux или macOS, все, что вам нужно, - это программа Terminal. Большинство терминалов Bash поставляются с установленным SSH, но если нет, просто введите
sudo apt-get install ssh
в окне терминала, чтобы установить его.
Когда ты купить доменное имя , это не обязательно должен быть адрес .COM. Только вы, ваши близкие друзья и семья будете использовать его. Например, мы нашли доменное имя .XYZ всего за 1 доллар в год, и оно будет работать нормально.
СВЯЗАННЫЕ С: Лучшие места для покупки доменного имени
Подготовка вашего сервера
Чтобы ваш сервер был готов к работе, вам необходимо создать учетную запись обычного пользователя с правами администратора. Ужасная, ужасная идея входить в систему как всемогущий пользователь root после первоначальной настройки.
К настоящему времени у вас должен быть IP-адрес и пароль root от вашего провайдера сервера. IP-адрес - это то, как вы подключаетесь к серверу, а пароль позволяет вам войти.
Для начала введите следующее (замените X на IP-адрес вашего сервера) и нажмите Enter:
Наш IP-адрес - 165.22.81.172, поэтому мы ввели его в нашей команде. Если все пойдет по плану, удаленный сервер (на котором вы разместите Nextcloud) запросит пароль. Введите пароль, который вам дал поставщик сервера.
Затем вам будет предложено установить новый пароль для root. Выбирайте все, что вам нравится, только не теряйте и не забудьте!
Теперь вы находитесь на своем удаленном сервере, и пора приступить к работе. Нажмите Enter после каждой команды в этой статье, чтобы запустить ее.
Сначала мы вводим следующее, чтобы добавить нового пользователя на сервер:
аддусер Ян
Замените «ian» на имя пользователя, которое вы хотите использовать. После того, как вы выполните эту команду, вам будет предложено дать новому пользователю пароль. После этого остальная информация, которую запрашивает сервер, является необязательной; если вы не хотите его предоставлять, просто продолжайте нажимать Enter.
Затем мы вводим следующее, чтобы дать нашему новому пользователю права администратора:
usermod -aG судо ian
Опять же, замените «ian» на имя пользователя, которое вы выбрали ранее.
Теперь мы открываем второе окно терминала и вводим следующее, чтобы убедиться, что новые учетные записи пользователей работают:
Опять же, замените указанное выше своим именем пользователя и IP-адресом вашего сервера. При появлении запроса введите пароль, который вы создали для этой учетной записи. Если это сработает, вернитесь в окно терминала, в котором вы вошли в систему как root.
Теперь мы вводим следующее, чтобы убедиться, что Брандмауэр Ubuntu работает правильно:
ufw разрешить OpenSSH
ufw включить
статус ufw
Эта последняя команда статуса должна вернуть что-то вроде изображения ниже, подтверждая, что брандмауэр не блокирует SSH.
Вы еще не увидите «80, 443 / tcp», но мы вернемся к этому позже. Теперь закроем корневое окно и вернемся ко второму окну терминала с обычным пользователем.
Установка Nextcloud
Было время, когда вам приходилось настраивать и устанавливать программное обеспечение Nextcloud, PHP, программное обеспечение веб-сервера и базу данных по отдельности.
Намного проще использовать официальный пакет Snap, который позаботится обо всем с помощью одной команды. Не нужно возиться с базой данных или беспокоиться о том, обслуживает ли ваш сайт Apache или Nginx.
Если вы хотите точно узнать, что устанавливает пакет Snap (спойлер: это остальная часть Стек ЛАМП , плюс Redis), ознакомьтесь с Репозиторий оснастки Nextcloud на GitHub .
Набираем следующее:
sudo snap установить nextcloud
«Sudo» в начале повышает уровень учетной записи обычного пользователя, так что он имеет временные административные права. Вам будет предложено ввести пароль для этого. Если все пойдет хорошо, через минуту или две Nextcloud будет установлен и (почти) готов к работе.
Затем мы вводим следующее, чтобы создать новую учетную запись пользователя Nextcloud, которая может войти на наш сайт:
sudo nextcloud.manual-install ianpaul правильноHorseBatteryStaple
Вместо «ianpaul» введите имя пользователя, которое вы хотите использовать для входа в Nextcloud. Бит «rightHorseBatteryStaple» - это наш пароль. Не используйте его - это от очень известного Комикс XKCD и это просто пример.
Работа с доменами
Чтобы облегчить жизнь, мы не хотим постоянно использовать IP-адрес для доступа к нашему серверу. Вместо этого мы будем использовать доменное имя, которое, опять же, можно получить всего за 1 доллар в год. В нашем примере мы используем HowToGeekTest.xyz.
Если у вас есть домен, вам нужно будет управлять настройками DNS у своего регистратора домена (у которого вы купили домен) и указывать их на поставщика сервера. Если вы, например, выбрали DigitalOcean, этими настройками будут ns1.digitalocean.com, ns2.digitalocean.com и ns3.digitalocean.com.
Затем перейдите к провайдеру сервера (например, DigitalOcean, Linode или какому-либо другому) и добавьте новый домен в свою учетную запись. Вам нужно будет добавить запись A, указывающую на ваш IP-адрес, запись CNAME, если вы не хотите использовать «www» все время, и записи NS, если они не были добавлены автоматически.
На изображении ниже показан пример из DigitalOcean.
Технически, прежде чем ваш домен станет доступным, может пройти до 24 часов, но обычно он начинает работать в течение нескольких минут.
Вернуться в Nextcloud
После настройки домена мы можем вернуться к завершению работы Nextcloud в терминале. Если вы вышли с сервера под своей учетной записью обычного пользователя ([email protected] в нашем примере), войдите снова.
Теперь мы вводим следующее, чтобы добавить наш новый домен в Nextcloud:
sudo nextcloud.occ config: system: установить доверенные_домены 1 --value = howtogeektest.xyz
После «–value =» введите твой домен, а не наш (howtogeektest.xyz).
Затем мы вводим следующее, чтобы убедиться, что наш новый домен был добавлен правильно:
sudo nextcloud.occ config: system: получить доверенные_домены
Терминал должен распечатать что-то вроде изображения ниже.
Затем мы вводим следующее, чтобы убедиться, что мы можем использовать нужные порты, пропустив их через брандмауэр:
sudo ufw позволяет 80 443 / tcp
Порт 80 используется для незашифрованного HTTP-трафика, а 443 - для SSL / TLS.
Кстати, нам понадобится бесплатный сертификат SSL / TLS от Let’s Encrypt, поэтому мы вводим следующее:
sudo nextcloud.enable-https позволяет шифровать
После запуска генератора Let’s Encrypt он запрашивает адрес электронной почты и ваше доменное имя Nextcloud. Просто следуйте инструкциям, и вы сразу получите сертификат защищенного веб-сайта. Если Let’s Encrypt сработал, самое время протестировать вашу настройку.
Перейдите на свой новый домен (например, наш howtogeektest.xyz). Вы должны увидеть страницу входа в Nextcloud (см. Ниже) со значком замка в адресной строке.
Если вы видите страницу входа, значит, вы готовы к работе. Если нет, подождите несколько часов и повторите попытку. Если вы хотите немедленно устранить неполадки, вы можете увидеть, отвечает ли сервер через IP-адрес.
Чтобы это сработало, мы должны ввести следующее, чтобы добавить IP-адрес в наши доверенные домены:
sudo nextcloud.occ config: system: установить доверенные_домены 2 --value = 165.22.81.172
Обратите внимание, что мы использовали «доверенные_домены 2», а не «доверенные_домены 1». Если вы просто повторите «доверенные_домены 1», вы перезапишете свое фактическое доменное имя в списке доверенных доменов и не сможете его использовать.
Как только это будет сделано, введите IP-адрес в адресную строку браузера, и вы увидите страницу входа наверху. Если нет, то с установкой что-то пошло не так.
Поскольку у нас нет сертификата SSL для IP-адреса, он не сможет безопасно войти в систему. По этой причине мы рекомендуем вам удалить IP из списка доверенных доменов после того, как вы убедитесь, что сервер работает. Для этого введите следующее:
sudo nextcloud.occ config: system: удалить доверенные_домены 2
Повышение производительности
Если ваш сервер Nextcloud не работает должным образом, вам может потребоваться увеличить лимит памяти. По умолчанию это 128 МБ. Чтобы увеличить его до 512 МБ, вы должны войти на сервер с помощью терминала и ввести следующее:
sudo snap установить nextcloud php.memory-limit = 512M
.
Теперь, когда Nextcloud запущен и работает, вы можете войти в систему, просмотреть доступные приложения, поделиться файлами с другими и установить Nextcloud на свой рабочий стол и мобильные устройства для синхронизации нескольких устройств. Nextcloud предлагает инструменты синхронизации рабочего стола и мобильные приложения для Windows, Mac, Linux, iPhone, iPad и Android.
Добро пожаловать в ваш личный ящик!