Как загрузить файлы на vds сервер linux

Обновлено: 07.07.2024

Большинство пакетов Linux доступны в репозитории своего дистрибутива; их можно загрузить с помощью стандартных средств управления пакетами. Для загрузки пакетов, которых нет в репозиториях, используются другие механизмы. В этом руководстве рассматриваются наиболее распространенные методы загрузки файлов и данных на сервер Linux.

Примечание: Все примеры выполнены на сервере Ubuntu 14.04, но с небольшими поправками руководство можно выполнить на любом современном дистрибутиве.

Загрузка данных из репозитория

Пожалуй, наиболее распространенным источником пакетов и программного обеспечения для сервера являются репозитории. В данном контексте под репозиторием понимаются сразу несколько вещей. Это может быть просто ссылка на большие коллекции доступного программного обеспечения. Здесь содержатся скомпилированные и готовые к установке программы, которые тестировались и настраивались для использования на том или ином дистрибутиве. Существуют также исходные репозитории, которые содержат все файлы, необходимые для создания определенного программного проекта.

Установка программного обеспечения из стандартного репозитория

Стандартный способ установки программного обеспечения на сервер Linux – использование менеджера пакетов. Менеджер пакетов подключается к настроенному набору серверов, обслуживающих репозитории пакетов, которые были предварительно проверены, упакованы и протестированы в совместимых системах.

Дистрибутивы Linux используют разные форматы пакетирования и разные пакетные менеджеры.

Наиболее популярными форматами являются .deb (используется в дистрибутивах Debian и Ubuntu и их производных) и .rpm (традиционно используется в RedHat, CentOS и Fedora). Некоторые системы используют другие форматы. Например, Arch Linux использует простые пакеты .tar.xz.

Дистрибутивы, работающие с пакетами .deb, как правило, используют набор инструментов управления пакетами apt.

Дистрибутивы, использующие формат .rpm, обычно управляют файлами с помощью менеджера пакетов yum. Больше информации об этом менеджере вы найдете здесь и здесь.

Использование PPA

Одним из методов загрузки программного обеспечения для машин Ubuntu является использование PPA (personal package archive). Хотя этот метод нельзя использовать на большинстве дистрибутивов, на серверах Ubuntu он применяется очень часто.

PPA – это, по сути, репозиторий, сосредоточенный на одном или нескольких конкретных пакетах. Такой архив поддерживается не официальными разработчиками Ubuntu, а сторонним пользователем или командой. Это позволяет использовать PPA в качестве отдельного источника данных для менеджера пакетов; сохраненное программное обеспечение можно установить так же, как и стандартные пакеты.

PPA имеет некоторые очевидные преимущества. Вы можете получить более новые версии программного обеспечения для Ubuntu раньше, чем они появятся в официальном репозитории (обычно в них содержатся устаревшие версии). Они также открывают доступ к программному обеспечению, которое не было упаковано официальной командой Ubuntu (при условии, что независимая сторона взяла на себя обязательство предоставить пакеты).

Самым большим преимуществом PPA над компиляцией из исходного кода является то, что этими пакетами можно управлять с помощью обычного пакетного менеджера . Это значит, что они могут регулярно обновляться без вашей помощи.

Однако у PPA есть и недостатки. Во-первых, вы должны доверять тем, кто поддерживает используемый вами PPA. Прежде чем использовать архив, убедитесь, что он надежен. Всегда существует вероятность того, что PPA может содержать поврежденные пакеты (которые попали туда случайно).

Также нужно помнить о том, что многие PPA недолговечны. Что делать, если используемый архив больше не обновляется? Будет ли у вас время, чтобы следить за обновлениями официального репозитория дистрибутива?

Чтобы использовать PPA и управлять им в дальнейшем, добавьте пакет в систему. Для этого можно использовать один из двух вариантов:

После этого можно добавить PPA:

sudo add-apt-repository ppa:PPA_name

Затем нужно обновить индекс пакетов и загрузить данные PPA. Установите новое программное обеспечение из PPA:

sudo apt-get update
sudo apt-get install new_package

Репозитории Git

Если интересующие вас файлы хранятся в репозитории git, на сайте проекта GitHub, Bitbucket или в закрытом репозитории GitLab и т. п., вы можете загрузить файлы с помощью команды git.

Установите git на сервер:

sudo apt-get update
sudo apt-get install git

После этого перейдите в каталог, в котором будет храниться проект, и клонируйте репозиторий, используя предоставленные на сайте данные. К примеру, на GitHub URL-адрес репозитория проекта можно найти справа.

Скопируйте URL-адрес, вставьте его в терминал и клонируйте проект с помощью команды:

Проект клонируется в текущий каталог.

Общие сетевые ресурсы

Хотя управлять программным обеспечением с помощью репозиториев несложно и такой подход позволяет отслеживать и обновлять ПО, на него не всегда можно полагаться по целому ряду причин. Не все программное обеспечение хранится в репозиториях, и программные пакеты – не единственный вид данных, который присутствует на сервере.

Если программное обеспечение не хранится в репозитории, можно применить другие инструменты, речь о которых пойдёт в этом разделе.

Удаленная загрузка и перемещение

Возможно, проще всего загружать данные на домашний компьютер, а затем уже загружать их на сайт.

Любой контент, файлы или пакеты, которые вы хотели бы разместить на своем сайте, можно загрузить на компьютер с помощью обычного веб-браузера. Убедитесь, что при загрузке программного обеспечения вы указали правильную версию в соответствии с дистрибутивом, релизом и архитектурой сервера.

Затем вы можете легко переместить эти файлы на сервер. Для этого рекомендуется использовать sftp-соединение, которое позволяет безопасно передавать данные. Вы можете запустить sftp из командной строки или использовать FTP-клиент с возможностями sftp.

Это, пожалуй, самый гибкий способ загрузки контента на сервер.

Консольные веб-браузеры

Также загрузить данные на сервер можно с помощью веб-браузера сервера.

Конечно, на сервер можно установить графический интерфейс и обычные браузеры, но это почти всегда излишне и необязательно. Альтернативой являются консольные веб-браузеры, позволяющие посещать веб-сайты, которые отображаются в текстовом выводе.

Существует множество консольных браузеров

Браузер lynx

Это самый старый веб-браузер, который по-прежнему активно разрабатывается и используется. Он очень прост в обращении. С помощью клавиш со стрелками вы можете легко переключаться между ссылками по всей странице. Чтобы перейти по ссылке, выделите ее и нажмите Enter или стрелку вправо.

Браузер lynx может быть недоступен в вашей системе по умолчанию, но вы можете легко установить его:

sudo apt-get update
sudo apt-get install lynx

Браузер lynx может обрабатывать файлы cookie и управлять закладками. Он может отображать цветной вывод, если терминал его поддерживает. Как правило, с его помощью можно открыть любой веб-сайт, который не использует javascript.

× Logged in!
Image Name IP Address Status Memory Disk Region
irssi xxx.241.xxx.54 Active 512MB 20GB nyc1
try 192.xxx.170.xx Active 4GB 60GB nyc2
snmp xxx.170.xx.123 Active 4GB 60GB nyc2
tugboat 192.xxx.162.xxx Active 4GB 60GB nyc2

Браузер links

Этот браузер отлично подходит для просмотра веб-страниц из командной строки. Одна из преимуществ браузера links над lynx состоит в том, что он содержит систему меню, подобную традиционному браузеру, доступ к которому можно получить, нажав клавишу Esc.

Чтобы установить links, введите:

sudo apt-get update
sudo apt-get install links

По умолчанию браузер links не поддерживает цветной вывод, потому в нем немного сложнее отличить гиперссылки; в целом вывод легко читать, так как он использует множество функций ncurses. При конвертировании графического сайта в текстовый всегда возникают проблемы с форматированием, но links справляется с этой задачей весьма успешно.

Image Name IP Address Status Memory Disk Region
irssi xxx.241.xxx.54 Active 512MB 20GB nyc1
try 192.xxx.170.xx Active 4GB 60GB nyc2
snmp xxx.170.xx.123 Active 4GB 60GB nyc2
tugboat 192.xxx.162.xxx Active 4GB 60GB nyc2

Также браузер links по умолчанию поддерживает мышь: вы можете кликать по ссылкам в окне терминала так же, как в обычном браузере.

Браузер elinks

Elinks – это популярный форк браузера links, который вышел в 2001 году. Он включает расширенный набор функций, используя механизмы рендеринга и базовый движок links.

Чтобы установить elinks в Ubuntu, введите:

sudo apt-get update
sudo apt-get install elinks

Основные преимущества elinks над links – это управление паролями и формами, просмотр вкладок, частичная поддержка javascript и поддержка протокола bittorrent и протокола IPv6. Это может повлиять на скорость, но, скорее всего, это будет не слишком заметно.

Браузер w3m

Еще один полнофункциональный текстовый браузер, который так же прост в использовании, как и графический браузер. Большинство вышеперечисленных браузеров позволяют переходить между ссылками, но затрудняют просмотр самой страницы. Однако браузер w3m использует Tab для навигации между ссылками и клавиши со стрелками для перемещения курсора и прокрутки страницы.

Многие системы предоставляют w3m по умолчанию. Чтобы установить w3m, введите:

sudo apt-get update
sudo apt-get install w3m

Еще одним преимуществом этого браузера является то, что он может использовать команды, подобные командам vi. Например, перемещать курсор можно с помощью j, k, l и h.

Утилиты загрузки

Чаще всего просмотр сайтов с помощью графического браузера более эффективен и позволяет отображать страницы более корректным образом. Потому многие пользователи просматривают веб-страницы на своей локальной машине, а затем вставляют ссылки для загрузки в окно терминала и загружают данные с помощью специальных утилит.

Утилита wget

Инструмент wget быстро загружает данные с сайта.

Чтобы установить wget, введите:

sudo apt-get update
sudo apt-get install wget

Затем попробуйте загрузить файл из удаленного источника; для этого достаточно указать URL-адрес после команды, например:

Если вы укажете ссылку на главную страницу сайта, команда загрузит эту страницу в файл в локальном каталоге. Если вы укажете ссылку на файл, она загрузит этот файл.

Как правило, для поиска необходимого файла используется локальный компьютер; найдя файл, щелкните правой кнопкой мыши по ссылке на загрузку и выберите copy link location (или аналогичный вариант). Затем нужно вставить скопированный URL-адрес в команду.

Если загрузка прервалась, используйте флаг –с, который возобновит загрузку, если в текущем каталоге обнаружен неполный файл:

Команда wget может обрабатывать файлы cookie, рекурсивно загружать целые веб-сайты в их исходном формате и часто используется при написании сценариев.

Утилита curl

Обычно curl поставляется по умолчанию, но если в вашей системе эта утилита отсутствует, вы можете установить ее.

sudo apt-get update
sudo apt-get install curl

Хотя curl обычно используется в конвейерах, вы можете легко передать ее вывод в файл. Это можно сделать при загрузке файлов на сервер. Чтобы загрузить файл и вывести его в локальный файл с тем же именем, введите:

В команде нужно указать файл, потому что иначе curl не будет знать, как назвать локальный файл.

Для обработки редиректа curl использует флаг –L.

Заключение

Как видите, существует довольно много различных вариантов загрузки программного обеспечения и других данных из Интернета на сервер.

Подключение к серверу посредством SSH – один из основных методов управления *nix серверами. Довольно часто возникает необходимость загрузить файл на удаленный сервер, либо выгрузить, и других средств кроме SSH-подключения нет. К счастью, копирование файлов через защищенное соединение – одна из штатных функций этого протокола и реализуется с помощь отдельной команды scp в Linux-системах, либо с помощью pscp.exe, входящей в состав SSH-клиента Putty для операционной системы Windows.

Работаем на ОС семейства Linux

Используем следующий формат команд:

scp [модификатор] [источник] [место_назначения]

Если в качестве источника или места назначения указывается удаленный сервер, то формат параметра такой:

После запуска команды потребуется ввести пароль от указанной учетной записи удаленного сервера.

Если собрать все вместе, то скопировать локальный файл /home/user/file.tgz в домашний каталог пользователя root удаленного сервера 123.123.123.123 можно командой:

scp /home/user/file.tgz root@123.123.123.123:/root

Чтобы скачать этот же файл с удаленного сервера:

scp root@123.123.123.123:/root/file.tgz /home/user

За одну операцию можно скопировать несколько файлов, для этого необходимо указать их в качестве источника, разделив пробелом – местом назначения будет считаться последний указанный параметр. Например, загрузить файлы file1.tgz и file2.tgz из локального каталога на удаленный сервер позволит команда:

scp file1.tgz file2.tgz root@123.123.123.123:/root

Для копирования каталога потребуется задействовать модификатор команды –r. Копируем локальный каталог /home/user/dir на удаленный сервер:

scp –r /home/user/dir root@123.123.123.123:/root

В тех случаях, когда SSH-сервер работает на нестандартном порту, поможет опция –P. Если нужно подключиться через порт 10022:

scp –P 10022 /home/user/file.tgz root@123.123.123.123:/root

Чтобы узнать какие еще модификаторы поддерживает команда, можно просто запустить scp без параметров и прочитать краткую справку.

Работаем на ОС семейства Windows

При использовании операционной системы Windows и Putty в качестве клиента, формат команды остается тот же, меняется только название исполняемого файл и используется синтаксис указания путей к файлам и каталогам Windows при указании источника или места назначения. Запускаем командную строку (cmd.exe) или PowerShell, переходим в каталог, где расположен файл pscp.exe вводим команду:

pscp.exe C:Tempfile.tgz root@123.123.123.123:/root

В случае запуска из какой-либо другой папки понадобится указать полный путь к pscp.exe. Если в каком-либо из путей присутствуют пробелы, используются двойные кавычки — “Путь к файлу”:

“C:Program FilesPuttypscp.exe” C:Tempfile.tgz root@123.123.123.123:/root

Как и в случае с scp, запустив pscp.exe без параметров, можно увидеть краткую справку по синтаксису команды и перечень поддерживаемых модификаторов.

Запуск команд на удаленном сервере через SSH-подключение

Протокол SSH, помимо работы в интерактивном режиме, поддерживает также разовый запуск команд или скриптов на удаленном сервере.

Работаем на ОС семейства Linux

ssh [пользователь]@[сервер] ‘[команда]’

При запросе вводим пароль указанного пользователя и в консоли получаем вывод команды, если таковой имеется.

Например, получим информацию об установленной на удаленном сервере операционной системе:

ssh root@123.123.123.123 ‘uname -a’

Чтобы запустить несколько команд за одно подключение, можно использовать символ “;” в качестве разделителя. Проверим сетевые настройки и активные сетевые подключения на удаленном сервере:

ssh root@123.123.123.123 ‘ifconfig; netstat -anp tcp’

В случае, если потребуется запустить на удаленном сервере локальный файла сценария, потребуется в SSH-подключении вызвать командный интерпретатор в режиме исполнения сценария (например, bash с ключом -s), и на стандартный ввод передать ему файл сценария. Выглядеть эта конструкция будет так:

ssh root@123.123.123.123 ‘bash -s’ < /home/user/myscript.sh

В результате локальный файл /home/user/myscript.sh исполнится на удаленном сервере.

Запуск команды SSH без параметров позволит ознакомиться с краткой справкой по синтаксису и списком дополнительных модификаторов, которые позволяют расширить функциональность команды.

Работаем на ОС семейства Windows

Если мы подключаемся к удаленному серверу с компьютера, работающего на операционной системе Windows, то нам снова потребуется обратиться к терминальному клиенту Putty, в состав которого входит исполняемый файл plink.exe. Работать с этим файлом необходимо из командной строки (cmd.exe) или из PowerShell.

Для запуска команды на удаленном сервере используется следующий синтаксис:

plink.exe [сервер] -ssh -l [пользователь] “[команда]”

Проверим конфигурацию сетевых интерфейсов:

plink.exe 123.123.123.123 -ssh -l root “ifconfig”

Как и при работе с командой SSH в Linux, plink.exe позволяет использовать “;” в качестве разделителя для запуска нескольких команд:

plink.exe 123.123.123.123 -ssh -l root “ifconfig; netstat -anp tcp”

А запуск команд из локального файла можно реализовать с помощью дополнительного ключа -m:


Эпоха флешек давно канула в Лету. Что, впрочем, неудивительно: незаменимый инструмент для переноса файлов в кармане утратил свою актуальность с появлением облачных сервисов — доступных везде, где есть интернет, причем практически с любого устройства. Однако в этой бочке меда не обошлось без маленькой ложки дегтя. Во-первых, бесплатные тарифы у большинства вендоров накладывают строгие ограничения на объем облачного хранилища и количество устройств, на которые можно установить приложение для синхронизации. Во-вторых, используя публичные облачные сервисы, вы доверяете свои файлы сторонней компании и никак не можете повлиять на их безопасность. В-третьих, подобные хранилища не слишком удобны для командной работы, которая весьма актуальна в период мировой короновирусной истерии пандемии. Выход? Можно смириться, а можно организовать сетевое файловое хранилище самостоятельно! Один из примеров решения этой задачи мы сейчас и рассмотрим.

Зачем, Холмс?

Как и большинство простых юзеров, я попробовал в действии самые популярные сетевые хранилища, чтобы на практике оценить их достоинства и недостатки. Dropbox невыразимо прекрасен всем, кроме ограничений на объем бесплатного дискового пространства, которое я довольно быстро забил рабочими материалами под завязку, и малого количества доступных для установки приложения устройств на халявном тарифе. Девайсов у меня много, потому в целях автоматической синхронизации файлов приходилось регулярно отключать и заново регистрировать их в приложении, что довольно хлопотно.

«Яндекс.Диск» может похвастаться значительным объемом дискового пространства (особенно, если хранить файлы в облаке и сохранять локально только то, что нужно в данный момент), но их клиент — это просто какой-то тормозной, неудобный и неповоротливый монстр. С клиентом «гуглодрайва» мне тоже подружиться не удалось: и неудобный, и сортировкой файлов там наблюдаются какие-то странности — такое ощущение, что софтина валит все в кучу, при этом даже выполненная вручную сортировка регулярно сбивается. В то же время, файлообменник нужен мне постоянно, на разных устройствах и желательно, чтобы на них не приходилось устанавливать какие-то сторонние приложения. В идеале было бы подключить такую шару обычным сетевым диском и пользоваться по мере необходимости на разных машинах, как виртуальной флешкой.

Безусловно, за $9.99 в месяц можно купить 2 терабайта в облаке у Dropbox, но там нет возможности многопользовательской работы. При нынешнем курсе доллара аренда виртуального сервера с дисковым объемом 40 Гб, но без ограничений на количество подключений, выйдет примерно в ту же сумму, а если выбрать конфигурацию попроще с одним ядром — то даже дешевле. Определенная часть этого дискового пространства будет занята операционной системой, но для хранения файлов останется минимум 20 Гбайт, чего для моих целей вполне достаточно.

При этом файловое хранилище на VPS имеет целый ряд других неоспоримых преимуществ:

  • можно публиковать веб-сайты прямо из общей папки;
  • можно организовать доступ к нему с использованием SFTP;
  • можно настроить торрент-клиент для загрузки и выгрузки контента;
  • в том же контейнере можно смонтировать сервер NFS или SMB для использования VPN.

Матчасть

Virtual Private Server (VPS) чаще всего покупают для хостинга сайтов, но в отличие от обычного хостинга, он позволяет изолированно запускать несколько приложений в одном и том же контейнере. В целом, VPS вполне можно использовать для организации личного файлового хранилища, поскольку:

  • средства виртуализации VPS обеспечивают достаточный уровень безопасности, в связи с чем такое хранилище можно считать относительно надежным;
  • как правило, провайдер самостоятельно организует резервное копирование собственных контейнеров, либо предоставляет средства автоматизации этого процесса, поэтому о бекапах можно особенно не беспокоиться;
  • виртуальный сервер более дешев по сравнению с выделенным сервером при схожем уровне безопасности и в целом подходит для выбранной цели.

Этого вполне достаточно, чтобы использовать наш VPS в качестве удаленного файлового хранилища. После создания сервер сразу же станет доступен нам по RDP — к нему можно подключиться либо с помощью клиента удаленного Рабочего стола, либо непосредственно в браузере из Панели управления RuVDS. Необходимые для подключения данные будут дополнительно отправлены по электронной почте, так что не потеряются. Что ж, приступим к самому интересному — настройке сервера.

Настройка сервера

При первом входе на сервер с учетной записью Администратора мы увидим на экране окно Диспетчера серверов, в котором можно настроить машину, щелкнув мышью на надписи «Добавить роли и компоненты».


В окне Мастера добавления ролей и компонентов нажимаем «Далее», затем, выбрав вариант «Установка ролей и компонентов», снова жмем «Далее». Выбираем в списке наш сервер (собственно, он и будет там представлен в единственном экземпляре), и очередным нажатием на кнопку «Далее» переходим к настройке ролей.


Нас интересует раздел «Файловые службы и службы хранилища». Эта роль установлена на сервере по умолчанию. Установите флажок «Файловые службы и службы SCSI и разверните расположенный под ним список. Здесь следует дополнительно установить следующие флажки:

  • Файловый сервер;
  • Рабочие папки;
  • Диспетчер ресурсов файлового сервера (в открывшемся окне нажмите «Добавить компоненты»).

Создание нового раздела


А при попытке раздать для этой папки дополнительные права на полный доступ получим ошибку применения параметров безопасности для загрузочного диска.


Я решил эту проблему, создав отдельный логический том, отличный от того, на котором установлена Windows — там мы сможем развлекаться, как нашей душе угодно. Для этого:

  • В окне Диспетчера серверов откройте расположенное в верхней части меню «Средстива», а в нем — «Управление компьютером».
  • В открывшемся окне выберите в левой панели оснастку «Управление дисками». Вы увидите единственный диск, на котором расположена операционная система.
  • Щелкните на диске правой клавишей мыши и выберите «Сжать том». При общем объеме диска в 40 Гбайт в поле «Размер сжимаемого пространства, Мб» я прописал значение 25 000, посчитав, что для работы винде хватит 15 Гбайт дискового пространства.
  • Щелкните мышью на кнопке «Сжать», и дожидитесь, пока Windows освободит место на диске.

После того как в Диспетчере дисков появится неразмеченное свободное пространство, необходимо проделать следующие шаги:

  • Щелкните правой клавишей мыши в нераспределенной области, и в контекстном меню выберите пункт «Создать простой том»;
  • В окне «Мастера создания простого тома» нажмите «Далее», убедитесь, что размер тома соответствует объему неразмеченной области, снова нажмите «Далее».
  • Введите букву диска (по умолчанию «D:») и опять нажмите «Далее».
  • Выберите в качестве файловой системы NTFS, размер кластера — «по умолчанию», установите флажок «Быстрое форматирование». Остальные параметры можно оставить без изменений. Нажмите «Далее». Затем щелкните мышью на кнопке «Готово».

Если теперь мы откроем Проводник, то увидим, что в системе появился новый диск D:.

Создаем шару

В Проводнике на удаленном сервере создадим новую папку на только что подготовленном нами диске и назовем ее, например, «Share». Снова откроем окно Диспетчера серверов. В левой панели расположена надпись «Файловые службы и службы хранилища». Щелкнем на ней мышью, чтобы перейти к настройкам.


Откроется одноименное окно, в котором демонстрируются следующие оснастки:


Запустится «Мастер создания общих ресурсов». В первую очередь нужно выбрать из списка подходящий профиль общей папки. Нам подойдет вариант «Общий ресурс SMB – быстрый профиль», поскольку он позволяет предоставлять доступ к файлам на компьютерах с Windows и не требует настройки дополнительных параметров.


Нажимаем «Далее». В следующем окне нам предложат выбрать папку для создания общего ресурса. Устанавливаем переключатель в позицию «Ввести пользовательский путь», жмем «Обзор» и выбираем созданную нами ранее папку Share. Снова жмем «Далее».


В следующем окне вводим произвольное имя общего ресурса — оно будет видно «снаружи» при обращениях к папке, нажимаем «Далее». В следующем окне нам предложат указать дополнительные настройки нашей шары. В целях безопасности можно установить флажок «Зашифровать доступ к данным» — в этом случае при удаленном доступе к папке передаваемая в обе стороны информация будет подвергнута шифрованию. Если установлен флажок «Включить перечисление на основе доступа» юзеру будет видно только то содержимое общей папки, к которому он имеет доступ согласно привилегиям его учетной записи. Если папкой будете пользоваться только вы, этот флажок можно не устанавливать. Кеширование общего ресурса я рекомендую отключить, чтобы не расходовать попусту ресурсы сервера.


По нажатию «Далее» система продемонстрирует стандартный для Windows Server список разрешений на доступ к папке, согласно которому полные права на чтение и запись имеет только пользователь с правами Администратора. Нажмите в окне Мастера на кнопку «Настройка разрешений», затем «Добавить» -> «Выберите субъект», в нижнем поле введите «Все» (без кавычек), нажмите «Ок» и установите флажок «Полный доступ». Нажмите «Применить», затем «Ок».

Осталось только нажать в окне «Мастера создания общих ресурсов» кнопку «Далее» и «Создать». Выбранная нами папка появится в панели «общие ресурсы».


Траблшутинг

Теперь, казалось бы, мы можем обращаться к этой папке прямо из Проводника. Для этого набираем в адресной строке \\ip-адрес-нашего-сервера, вводим имя и пароль Администратора, и видим нашу расшаренную папку с тем именем, которое мы задали ей на этапе настройки. Можно пользоваться шарой? Хренушки. Отказано в доступе. Винда не была бы виндой, если бы все было так просто. Самый простой способ избавиться от этой ошибки — такой.

  • Вновь подключаемся к серверу по RDP, щелкаем правой кнопкой мыши на значке подключения к сети в трее и выбираем в контекстном меню «Открыть Параметры сети и интернет».
  • В открывшемся окне проматываем содержимое вниз и жмем на надпись «Центр управления сетями и общим доступом».
  • В расположенной слева панели жмем на надпись «Изменить дополнительные параметры общего доступа».
  • Устанавливаем переключатель в положение «Включить сетевое обнаружение».
  • Переходим в раздел «Все сети» чуть ниже, устанавливаем переключатель в положение «Включить общий доступ, чтобы сетевые пользователи могли читать и записывать файлы в общих папках».
  • Жмем «Сохранить изменения».

Если сетевое обнаружение никак не хочет включаться, делаем следующее: в панели поиска набираем без кавычек «Службы» или services.msc, и принудительно запускаем следующие службы (если они еще не запущены):

  • DNS-клиент (DNS Client)
  • Обнаружение SSDP (SSDP Discovery)
  • Публикация ресурсов обнаружения функции (Function Discovery Resource Publication)
  • Узел универсальных PNP-устройств (UPnP Device Host)

Запускаем на сервере Проводник, находим в нем нашу расшаренную папку. Щелкаем на ней правой клавишей мыши, в контекстном меню выбираем пункт «Свойства» и открываем вкладку «Безопасность». Выбираем щелчком мыши пользователя «Все» и нажимаем на кнопку «Изменить». Устанавливаем флажок «Полный доступ», жмем «Применить» и «Ок».


Это еще не конец наших мучений! Открываем вкладку «Доступ», нажимаем на кнопку «Расширенная настройка», затем — «Разрешения». В появившемся окне нужно установить флажок «Полный доступ», затем нажать «Применить» и «Ок».



На этом этапе кое-кто отчаивается и идет покупать платный аккаунт в Dropbox за $9.99. Но мы сильны духом, любим секс, а потому продолжаем эксперименты. Вновь открываем Удаленный рабочий стол на сервере, вводим в поисковую строку слово «Администрирование» (без кавычек) и нажимаем Enter. В окне «Администрирование» выбираем «Локальная политика безопасности» -> «Локальные политики» -> «Назначение прав пользователя» -> «Отказать в доступе этому компьютеру из сети – Гость». Дважды щелкаем на этой строке мышью и удаляем «Гостя» из списка.


Все! Аллилуйя! Вот теперь, после всех этих плясок с бубном общий доступ к папке будет наконец открыт, и мы получим возможность насладиться всеми чудесными возможностями Windows Server 2019. Как минимум, сможем сохранять в шаре файлы. Для пущего удобства можно подключить удаленную папку в качестве сетевого диска. Для этого:

  • На своей рабочей машине откройте Проводник, щелкните правой клавишей мыши на значке «Этот компьютер» и выберите в контекстном меню пункт «Подключить сетевой диск».
  • В открывшемся окне выберите букву сетевого диска, в поле «Папка» введите IP-адрес сервера и сетевое имя общей папки, установите флажки «Восстанавливать подключение при входе в систему» и «использовать другие учетные данные».
  • Нажмите на кнопку «Готово».

При первом подключении к диску потребуется ввести логин и пароль Администратора сервера. В дальнейшем параметры учетки будут подтягиваться автоматически.

Если при попытке соединения появляется ошибка «Ресурс общего доступа доступен в сети, но не отвечает на попытки подключения» виноват, вероятно, брандмауэр на сервере. Проверить это достаточно просто: нужно отключить брандмауэр и попробовать зайти в общую папку. Если попытка увенчалась успехом, необходимо настроить в брандмауере правила для соединений.

Квотирование и Рабочие папки

При желании в «Диспетчере серверов» можно настроить квотирование, то есть, запретить пользователям создавать в общей папке файлы больше заданного объема. Еще там есть занимательный инструмент «Рабочие папки». Фактически, это та же сетевая шара, только с автоматической синхронизацией, как в Dropbox или у «Яндекс.Диска». Файлы в «Рабочей папке» хранятся на сервере и остаются там даже после удаления файлов на устройстве пользователя. Подробнее почитать о них можно вот здесь, я же не буду описывать технологию настройки Рабочих папок, поскольку она в целом схожа с настройкой обычной сетевой шары, которую мы подробно рассмотрели в этой статье.

Школа хостинга Редактор: Дмитрий Сокол 958 20 мин Аудио

Начальная настройка системы

На сервере не должно быть установлено каких-либо веб-панелей для его управления.

Для начала работы подключитесь к серверу по SSH.

1. В терминале введите команду, используя свои данные, где 123.123.123.123 адрес вашего сервера:

После успешной авторизации обновите установленные пакеты.

2. Получите список обновлений, а после введите команду:

После выполнения команды в терминале появится следующий результат:


Есть 6 пакетов, доступных к обновлению

3. Обновите пакеты командой:


4. Для продолжения обновления введите “Y” и нажмите Enter.

После успешного обновления в терминале не отображаются ошибки, значит, терминал готов к вводу следующих команд.


Установка брандмауэра

Следующий шаг настройки вашего сервера - это установка брандмауэра.

1. Чтобы установить брандмауэр, выполните в терминале команду:

Если брандмауэр уже установлен в системе, то вы увидите в терминале следующую информацию:


2. После установки проверьте состояние брандмауэра командой:


Перед активацией брандмауэра необходимо:

  • разрешить все исходящие соединения (чтобы сервер мог получать обновления, а приложения (сайты) имели доступ к другим серверам);
  • запретить все входящие соединения (для повышения безопасности).

Как исключение разрешите входящие соединения для 22 порта ssh или для того порта, который был переназначен для данного вида соединения.

Разрешение всех исходящих соединений:

Запрещение всех входящих соединений:

Разрешение входящего соединений по стандартному порту SSH:

Если стандартный порт SSH был переопределен, то номер порта нужно указать явно:

3. Теперь можно включать брандмауэр. Выполните команду:

В результате появится предупреждение, что выполнение данной команды может нарушить существующие ssh-соединения. Если уверены в правильности настройки, то введите “Y” и нажмите Enter. Если соединение нарушится, то потребуется обратиться в техническую поддержку хостинга за помощью.


Вывод терминала правильной начальной настройки

Чтобы полностью отключить брандмауэр достаточно использовать команду:

Чтобы сбросить все настройки до состояния по умолчанию, используйте команду:

Добавление пользователя

1. Для добавления пользователя применяется команда:

+ имя пользователя латиницей.

Имя пользователя лучше подбирать по названию сайта или домена. Поскольку сайтов может быть несколько, нужно разграничить доступ и не путаться с именами пользователей.

2. Далее вам будет предложено системой ввести пароль для пользователя и подтвердить его. Остальные поля можно оставить пустыми.


3. Подтвердите, что информация введена корректно при помощи Y + Enter.
4. Пользователь добавлен. Для него создается домашний каталог в /home.

Для нашего пользователя создался каталог /home/testsite.


В нем мы будем размещать файлы тестового сайта.

Если нужно предоставить созданному пользователю повышенные права (sudo), то выполните следующую команду:

Ключ -aG указывает системе добавить пользователя в соответствующую группу.

Настройка часового пояса

1. Проверьте текущие настройки часового пояса командой:


В настройках указана София

2. Измените настройку на ваш город. В нашем случае - это Киев.

Чтобы узнать правильное название зоны, выполните команду показа списка зон и сделайте фильтр по названию:

timedatectl list-timezones | grep K


3. Установите часовой пояс:

timedatectl set-timezone Europe/Kiev

4. Проверьте изменения:


Настройки изменились на Киев

Установка Apache 2

Для установки Apache 2 выполните команду:

После завершения процесса установки Ubuntu запустит Apache. Веб-сервер уже должен быть запущен. Это можно проверить командой:

Далее нужно перейти в браузер по адресу вашего сервера. Это может быть:

Тестовая страница выглядит следующим образом:


По умолчанию Apache уже добавлен в автозагрузку при перезагрузке вашего сервера. Вы можете отключить такое поведение следующей командой:

Для добавления сервиса в автозагрузку:

Установка PHP

После успешной установки проверьте версию.


Для проверки установленных модулей РНР выполните команду:

Установка MySQL

1. Установите пакет командой:

В случае новой установки MySQL вам необходимо выполнить скрипт безопасности. Он изменяет некоторые настройки по умолчанию на более безопасные, например, удаленный вход для пользователей root и пользователей, созданных по умолчанию.

В результате выполнения этой команды вам будет предложено внести изменения в настройки безопасности вашей MySQL.

2. Установите плагин валидации паролей (Validate Password Plugin), предложенный системой, который позволяет тестировать надежность паролей MySQL.
3. Далее задайте пароль для пользователя root вашей установки MySQL. Выберите надежный пароль и введите его два раза.

Если ввести такой же пароль как и root-пароль сервера, то входить в оболочку MySQL можно будет без ввода пароля. Он будет вводиться автоматически.

Теперь вы можете выбирать Y и нажимать ENTER для всех последующих вопросов. При этом будут удалены некоторые анонимные пользователи и тестовые базы данных, будет отключена возможность удаленного входа для root-пользователей, после чего все внесенные изменения будут применены к вашей установке MySQL.

Пример входа в оболочку, если пароли совпадают:

Если не совпадают:

Далее вам будет предложено ввести пароль.

Чтобы проверить работоспособность MySQL, выполните команду:


Если MySQL-сервис находится в неактивном состоянии, то его нужно запустить командой:

Далее создайте базу данных и пользователя для нее.

Войдите в оболочку MySQL:

Команда создания базы данных:


CREATE USER 'test_user'@'localhost' IDENTIFIED BY '4MW2k24TM4f';


Вы можете добавить привилегии пользователю для созданной базы. Например, вы можете дать пользователю доступ ко всем таблицами в базе данных, а также права на добавление, изменение и удаление пользовательских привилегий следующей командой:

GRANT ALL PRIVILEGES ON test_db.* TO 'test_user'@'localhost';

База данных и пользователь создан.

Выйдите из оболочки MySQL:

Теперь можно входить в оболочку под созданным пользователем:

Добавление нового виртуального хоста

Далее добавляем виртуальный хост для нашего сайта.

1. Создайте директорию для сайта:

2. Перейдите в директорию:

3. Создайте конфиг для apache2:

4. Откроется текстовый редактор Nano.

<VirtualHost *:80>
ServerName testsite.localhost
ServerAdmin info@testsite.localhost
DocumentRoot /home/testsite/www
<Directory /home/testsite/www>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
</VirtualHost>

5. Для сохранения нажмите Ctrl+O.

6. Далее необходимо согласиться и выйти.

После этого включите созданный сайт.

7. Выполните команду:

Сайт будет включен, и система вам подскажет, что нужно перезапустить Apache 2.

8. Перезапустите Apache 2:

9. Перейдите в каталог с сайтом:

10. Создайте индексный файл index.php:

Для сохранения нажмите Ctrl+O.

После этого нужно согласиться и выйти.

11. Откройте в браузере ваш созданный сайт.


Если сайт локальный, то в файл /etc/host нужно внести наш домен.

Или же, если сайт размещен на VPS, где 123.123.123.123 - ІР-адрес сервера, а testsite.localhost - имя домена сайта, то прописать следующую строчку:

Если все выполнено правильно, то в браузере откроется страница с информацией про PHP:


Выводы

В данной статье мы рассмотрели базовые минимальные настройки сервера для запуска веб-приложения. Для продвинутой настройки нужно обращаться к документации для PHP, MySQL, Apache 2, актуальные версии которых можно найти в сети Интернет.

Дмитрий Сокол

Задайте его экспертам! Ответ приходит очень быстро и прямо на ваш email.







От панели управления зависит ваше удобство в настройке хостинге\сайта.

Большинство качественных хостингов из нашего ТОПа используют удобные панели управления, поэтому рекомендуем больше внимания уделить другим параметрам при выборе.

Облачный хостинг - распределение нагрузки на несколько серверов, если сервер с вашим сайтом перегружен или не работает. Это гарантия того что пользователи в любом случае смогут видеть ваш сайт. Но это дорогая, более сложная опция, которую предоставляют далеко не все провайдеры.

Виртуальный хостинг - подходит для большинства проектов начального уровня с посещаемостью до 1000 человек в сутки. В таком хостинге мощность сервера делится между несколькими хостинговыми аккаунтами. Услуга проста в настройке даже для новичков.

VPS - подходит для более сложных проектов с достаточно большой нагрузкой и посещаемостью до 10000 человек в сутки. Здесь мощность сервера фиксированная для каждого виртуального сервера, при этом сложность настройки увеличивается.

Выделенный сервер - нужен для очень сложных и ресурсоемких проектов. Для вас выделяют отдельный сервер,мощность которого будете использовать только вы. Дорого и сложно настраивать.

Размещение и обслуживание вашего собственного сервера в дата-центре хостинга - это не очень популярная услуга и требуется в исключительных случаях.

  • Облачный хостинг
  • Виртуальный хостинг
  • VPS/VDS
  • Выделенный сервер
  • Размещение сервера
  • CDN

CMS - это система управления контентом сайта. Хостеры стараются для каждой из них делать отдельный тариф или упрощать установку. Но в целом это больше маркетинговые ходы, т.к. у большинства популярных CMS нет специальных требований к хостингу, а те что есть - поддерживаются на большинстве серверов.

Виртуализация - это создание виртуальной среды на физическом сервере, позволяющая запускать требуемые ПО без затрагивания процессов, совершаемых другими пользователями сервера. С её помощью ресурсы физического сервера распределяются между виртуальными (VPS/VDS). Основные виды: аппаратная (KVM), паравиртуализация, виртулизация на уровне ОС (OpenVZ).

Абузоустойчивый хостинг - компании, которые разрешают размещать практически любой контент, даже запрещенный (спам, варез, дорвеи, порнографические материалы). Такие компании не удаляют контент вашего веб-сайта при первой же жалобе (“абузе”).

Безлимитный хостинг - хостинг у которого отсутствуют лимиты на количество сайтов, БД и почтовых ящиков, трафик, дисковое пространство и т.д. Обычно это больше маркетинговый трюк, но можно найти что-то интересное для себя.

Безопасный хостинг - тот, где администрация постоянно обновляет ПО установленное на серверах, устанавливает базовую защиту от DDoS-атак, антивирус и файерволлы, блокирует взломанные сайты и помогает их "лечить".

Защита от DDOS - компании, которые предоставляют хостинг с защитой от DDoS-атак. Такие пакеты ощутимо дороже обычных, но они стоят своих денег, так как ваш сайт будет защищен от всех видов сетевых атак.

  • Абузоустойчивый хостинг
  • Безлимитный хостинг
  • Безопасный хостинг
  • Черный список
  • Защита от DDOS
  • Конструктор сайтов
  • Партнерские программы
  • Реселлинг хостинга

Тестовый период - предоставляется хостером бесплатно на 7-30 дней, чтобы вы могли удостовериться в его качестве.

Moneyback - период на протяжении которого хостер обязуется вернуть деньги, если вам не понравится хостинг.

Настоятельно рекомендуем не покупать слишком дешевый хостинг! Как правило с ним очень много проблем: сервер иногда не работает, оборудование старое, поддержка долго отвечает или не может решить проблему, сайт хостера глючит, ошибки в регистрации, оплате и т.д.

Также мы собрали тарифы от тысяч хостеров, чтобы вы могли выбрать хостинг по конкретной цене.

  • Дешёвый хостинг
  • Дешевый VPS-хостинг
  • Цена-Качество
  • Дорогой хостинг
  • Бесплатный хостинг
  • VPS/VDS посуточно

На языке программирования PHP и базах данных MySQL сейчас работает большинство сайтов. Они же поддерживаются практически всеми современными хостингами.

ОС - операционная система, установленная на сервере хостинга. Мы рекомендуем размещать на серверах с Linux, если нет особых требований у разработчиков сайта.

Как установить FTP сервер на Ubuntu VPS

В этом руководстве расскажем, как установить FTP сервер на VPS с ОС Ubuntu. Будем использовать сервер vsftpd, который считается самым быстрым и безопасным FTP сервером для UNIX-систем.

FTP или File Transfer Protocol – протокол приема и передачи файлов в сети. Используя модель клиент/сервер и безопасность SSL/TLS, FTP позволяет пользователям обмениваться файлами с удаленными компьютерами безопасно, эффективно и надежно, передавая данных по протоколу TCP/IP.

Прокачайте ваш проект, воспользовавшись скидками на VPS-хостинг в Hostinger! Большой выбор планов, как для учебных, так и для крупных коммерческих проектов.

Шаг 1 – Установка Vsftpd

Прежде всего, давайте сделаем обновление всех пакетов перед началом установки демона vsftpd. Для этого выполним команду:

Подготовка ubuntu vps для установки ftp сервера

Затем установим демон vsftpd следующей командой:

Вы получите уведомление требующее подтверждения, нажмите Y и Enter для продолжения установки.

Установка vsftpd на ubuntu vps

По завершению установки, сделаем бэкап оригинального файла конфигурации, чтобы начать с чистого файла настроек:

Теперь мы можем переходить к следующему шагу и настраивать фаервол.

Шаг 2 – Разрешение FTP трафика на фаерволе

Чтобы позволить серверу FTP, развёрнутому на ОС Ubuntu взаимодействовать с внешним миром, нужно настроить путь через фаервол. Для начала посмотрим включён ли фаервол. Запустите следующую команду для определения статуса:

Это значит, что фаервол не установлен и можно перходить к следующему шагу.

Теперь посмотрим на статус:

Результат будет выглядеть где-то так:

Теперь, все необходимые порты открыты и доступны для нас и мы можем переходит к следующему шагу.

Шаг 3 – Создание каталога пользователя

На третьем шаге создания Ubuntu FTP сервера, нужно выбрать пользователя, который будет подключатся по FTP. Для этого создадим нового пользователя, выполнив такую команду:

Заполните пароль и другие детали, когда запросит. В идеале, с точки зрения безопасности, FTP должен быть ограничен одним специальным каталогом. Vsftpd использует chroot для создания этой защиты. Со включённым chroot, локальный пользователь ограничивается его домашним каталогом (по умолчанию). Однако, может оказаться, что из-за защиты vsftpd, пользователь не сможет ничего создавать в каталоге. Мы не убираем права на запись в домашнем каталоге, вместо этого мы сделаем каталог ftp, который будет вести себя как chroot вместе с сохранением способности к записи, что будет позволять хранить файлы. Используйте такую команду для создания каталога FTP:

Установите права владения:

Наконец, удалите права на запись:

Теперь, используя следующую команду проверьте права доступа:

На выходе мы увидим приблизительно это:

На следующем этапе мы создадим файл, содержащий каталоги и права доступа к ним:

И наконец, добавим в каталог тестовый файл, который мы будет использовать во время тестирования чего-либо:

Шаг 4 – Настройка vsftpd

Чтобы продолжить устанавливать FTP сервер на Ubuntu VPS, нам нужно настроить vsftpd и наш FTP-доступ. В этом руководстве мы разрешим одному пользователю подключаться по FTP, используя локальную консоль. Необходимая для этого двух этапная настройка уже установлена в конфигурационном файле (vsftpd.conf). Вначале проверьте, чтобы настройки в файле совпадали с указанными ниже, используя команду nano:

Chroot также раскоментируем, чтобы убедиться, что пользователь, подключившийся по FTP имеет доступ к файлам внутри разрешённой директории:

Несколько новых значений будут также нужны для добавления вручную. Вы можете просто вставить их в конец файла. Вначале, user_sub_token добавим к пути каталога local_root. Это позволит конфигурации работать с текущим пользователем и любым другим пользователем, который будет добавлен позже:

Чтобы быть уверенным, что доступно достаточное количество соединений, мы ограничим количество портов, используемое в конфигурационном файле:

В этом руководстве мы планируем дать доступ индивидуальной основе, поэтому давайте установим настройки так, чтобы дать доступ только тем пользователям, которые непосредственно добавлены в список:

Флаг userlist_deny отвечает за переключение логики, когда он установлен в “NO”, только те пользователи, которые есть в списке имеет доступ. По завершению нажмите CTRL+X и подтвердите сохранения изменений в файле.

В завершение, продолжим создание и добавление нашего пользователя в файл:

Проверим, что пользователь действительно активен запуском команды:

Вывод должен быть “alex”, как показано на скриншоте:

ftp пользователь добавлен в ubuntu-vps

Перезапустите демона, используя следующую команду, чтобы запустить изменения настроек:

Шаг 5 – Делаем защищенный FTP

По умолчанию, FTP не делает никакого шифрование данных, поэтому мы будем использовать TLS/SSL, чтобы позаботиться о безопасности. В качестве первого шага нам нужно создать SSL сертификат и использовать его для защиты Ubuntu FTP сервера. Для начала выполним следующую команду:

После создания сертификата ещё раз откройте конфигурационный файл:

В конце файла есть строка с “_rsa”. Закомментируйте эти две строки:

Вместо этого мы направим конфиг файл на сертификат, который мы создали. Добавьте такие строки:

Теперь мы включим SSL и убедимся, что только пользователи со включённым SSL могут с нами связываться. Измените значение ssl_enable на YES:

Теперь добавьте следующие строки для продолжения создания защиты (это запретить какие-либо анонимные соединения с использованием SSL):

Настройте TLS используя:

Здесь мы добавим ещё 2 опции. Во-первых, повторное использование SSL не будет необходимым, потому что это может привести к разрывам у большого количества клиентов. Во-вторых, мы будем использовать высокозащищенный код шифрования, что будет означать, что длина ключа соответствует (или больше, чем) 128 бит.

Сделаем ещё раз перезапуск, для вступления изменений в силу:

Прекрасно! Вот вы и настроили FTP сервер на вашем Ubuntu VPS для работы с протоколом SSL/TLS.

Шаг 6 – Проверка подключения, используя FileZilla

Сегодня FTP клиенты поддерживают настройку шифрования TLS, поэтому это прекрасная возможность проверить, работает ли наш Ubuntu FTP сервер как следует. Чтобы проверить соединение, будем использовать FileZilla FTP клиент. Для начала запустите FileZilla, нажатием на иконку Site Manager.

Filezilla менеджер

Нажмите на кнопку New Site в появившемся окне начните заполнять данные о Ubuntu FTP сервере.

Добавление ubuntu ftp server в filezilla

filezilla завершающая настройка для ftp server

Как только настроите, нажимайте Connect и появится окошко с запросом для введения пароля пользователя FTP.

Пароль пользователя ftp filezilla

В заключение вам нужно будет подтвердить SSL сертификат на вашем FTP сервере на Ubuntu VPS.

Подтвердить сертификат ftp сервера

После подтверждения, корневой root-каталог с тестовым файлом появятся на вашем экране.

Успешное подключение к серверу ftp ubuntu

Это всё! Теперь вы можете производить любую передачу файлов с вашего компьютера на Ubuntu FTP сервер и обратно.

Заключение

В этом руководстве мы прошли шаг за шагом путь создания для локального пользователя безопасного способа передачи файлов через FTP с SSL/TLS на Ubuntu FTP сервере. Также мы протестировали соединения, используя FileZilla, чтобы убедиться, что всё работает.

Елена имеет профессиональное техническое образование в области информационных технологий и опыт программирования на разных языках под разные платформы и системы. Более 10 лет посвятила сфере веб, работая с разными CMS, такими как: Drupal, Joomla, Magento и конечно же наиболее популярной в наши дни системой управления контентом – WordPress. Её статьи всегда технически выверены и точны, будь то обзор для WordPress или инструкции по настройке вашего VPS сервера.

Читайте также: