- Как подключиться к Linux из Windows
- Удалённый доступ к Linux с помощью VNC
- Шаг 1. Установка рабочей среды XFCE
- Шаг 2. Установка TightVNC
- Шаг 3. Настройка пароля
- Шаг 4. Настройка скрипта запуска
- Шаг 5. Запуск VNC сервера
- Шаг 6. Подключение из Windows
- Шаг 8. Настройка systemd
- Использование RDP для удалённого подключения
- Подключение к Linux из Windows по SSH
- Использование Putty для подключения к Linux
- Выводы
- Установка локального веб-сервера на подсистему Windows для Linux
- Что такое подсистема Windows для Linux
- Основные этапы настройки веб-сервера на WSL
- Включение подсистемы Windows для Linux
- Какую версию WSL выбрать
- Работа с версиями WSL
- Доступ к файловым системам ОС
- Установка приложения «Ubuntu»
- Установка программного обеспечения в ОС Ubuntu
- Создание директории для веб-проекта
- Изменение метода аутентификации MySQL пользователя root
- Создание базы данных
- Настройка виртуальных хостов в Apache
- Перенаправление test.ru на локальный веб-сервер
- Команды для запуска и остановки веб-сервера
- Проверка работоспособности веб-сервера
- Инструкция по установке phpMyAdmin
- Дополнительные инструкции
Как подключиться к Linux из Windows
В мире ИТ существует уже довольно широкий спектр операционных систем, начиная с серверных, заканчивая операционными системами для мобильных устройств. В обычных пользовательских компьютерах и в серверах довольно часто используются две ОС — Linux и Windows. Поэтому очень часто возникают ситуации, когда приходится подключаться по сети из одной операционной системы к другой для выполнения разнообразных операций.
В этой статье мы рассмотрим варианты подключения к Linux из Windows. Существуют бесплатные и условно бесплатные утилиты вроде AnyDesk или TeamViewer, но установка их довольно тривиальна и не нуждается в дополнительном пояснении. Утилиты подобного рода обладают рядом ограничений при бесплатном некоммерческом использовании, либо их функциональность не удовлетворяет тем или иным потребностям пользователя. Мы рассмотрим полностью бесплатные способы как подключится к Linux из Windows.
Удалённый доступ к Linux с помощью VNC
На сегодняшний день самое популярное удаленное подключение к Linux из Windows, с использованием привычный в Windows графического интерфейса, является VNC (Virtual Network Computing) — утилита, использующая протокол RFB (Remote FrameBuffer — удалённый кадровый буфер). Управление осуществляется путём передачи нажатий клавиш на клавиатуре и движений мыши с одного компьютера на другой и ретрансляции содержимого экрана через компьютерную сеть.
В качестве сервера VNC в данном примере будет использоваться TightVNC, установленный в Ubuntu 20.04. Для установки сервера VNC необходимо выполнить ряд действий:
Шаг 1. Установка рабочей среды XFCE
Xfce — одна из самых легковесных рабочих сред, используемых в Linux, она будет быстро работать даже при слабом и нестабильном сетевом подключении. Установите её с помощью команд:
sudo apt update
sudo apt install xfce4 xfce4-goodies
Шаг 2. Установка TightVNC
Далее установите TightVNC:
sudo apt install tightvncserver
Шаг 3. Настройка пароля
Перед началом выполнения всех действий необходимо задать пароль пользователя VNC. Выполните команду:
Вам будет предложено создать новый пароль, а также пароль только для просмотра. Откажитесь от второй опции:
Завершите процесс vncserver:
vncserver -kill :1
Шаг 4. Настройка скрипта запуска
Отредактируйте скрипт, который выполняется после запуска VNC-сервера:
Он должен содержать такой текст:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &
Сделайте файл исполняемым:
Шаг 5. Запуск VNC сервера
На этом этапе уже можно запустить VNC-сервер с помощью команды:
Шаг 6. Подключение из Windows
Для того, чтобы подключиться из Windows к вашему Linux-серверу, используйте TightVNC Viewer.
Укажите IP-адрес компьютера, к которому нужно подключиться, и номер порта в поле Remote Host. В данном примере — 192.168.56.102::5901:
После того, как будет введён пароль, вы должны увидеть рабочий стол Xfce:
Шаг 8. Настройка systemd
Для того, чтобы запуск вашего VNC-сервера добавить в автозагрузку надо использовать systemd. Создайте новый файл сервиса systemd:
sudo nano /etc/systemd/system/vncserver@.service
Его содержимое должно быть следующим:
[Unit]
Description=Systemd VNC server startup script for Ubuntu 20.04
After=syslog.target network.target
[Service]
Type=forking
User=ubuntu
ExecStartPre=-/usr/bin/vncserver -kill :%i &> /dev/null
ExecStart=/usr/bin/vncserver -depth 24 -geometry 800×600 :%i
PIDFile=/home/ubuntu/.vnc/%H:%i.pid
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
Измените имя пользователя ubuntu и рабочего каталога ubuntu на нужные вам значения. Если у вас запущен VNC-сервер, остановите его:
vncserver -kill :1
Сообщите systemd о появлении нового сервиса:
sudo systemctl daemon-reload
Добавьте запуск вашего нового сервиса в список автозагрузки:
sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@1
Использование RDP для удалённого подключения
Помимо VNC, для управления Linux-сервером из Windows можно воспользоваться RDP (Remote Desktop Protocol). Для этого на компьютере с Ubuntu 20.04 установите утилиту xrdp:
sudo apt install xrdp
Для корректной работы сервиса необходимо добавить пользователя xrdp в группу ssl-cert:
sudo adduser xrdp ssl-cert
sudo apt-get install xfce4
Добавьте Xfce в сессии RDP в качестве рабочего стола по умолчанию:
Перезапустите сервис xrdp:
sudo systemctl restart xrdp.service
Процедура подключения из Windows к Linux-серверу по протоколу RDP почти ничем не отличается от подключения к удалённым Windows-серверам. Введите IP-адрес сервера, логин и пароль пользователя в Linux:
Если всё сделано правильно, вы увидите рабочий стол Xfce:
Подключение к Linux из Windows по SSH
Для подключения к компьютеру под управлением Linux по протоколу SSH из Windows можно воспользоваться PowerShell. Сначала становите OpenSSH Client, если ещё не установлен. Запустите на вашем компьютере PowerShell от имени администратора системы и выполните следующую команду:
Get-WindowsCapability -Online | ? Name -like ‘OpenSSH*’
Это необходимо для того, чтобы узнать текущую версию SSH-клиента. В данном примере доступна версия OpenSSH.Client-0.0.1.0. Установите OpenSSH.Client с помощью команды:
Add-WindowsCapability -Online -Name OpenSSH.Client
Для того, чтобы подключиться к устройству, на котором запущен SSH-сервер, необходимо ввести имя пользователя и IP-адрес. Команда для подключения по SSH используя PowerShell выглядит так:
Здесь ubuntu — имя пользователя на удалённом компьютере, а 192.168.56.1 — IP-адрес Linux-сервера, на котором запущен демон SSH.
При первом подключении необходимо подтвердить использование специального персонального ключа для шифрованного соединения по SSH-протоколу (введите слово Yes), затем введите пароль пользователя (в данном случае для пользователя ubuntu):
Как видите, соединение прошло успешно. Теперь можно выполнять все команды так же, как если бы вы их выполняли используя стандартный Linux SSH-клиент:
Для завершения терминальной сессии на удалённом компьютере введите команду exit. Теперь вы знаете как выполняется подключение к Linux из Windows по SSH.
Использование Putty для подключения к Linux
Пожалуй, одним из самых популярных способов подключения к Linux из Windows является кроссплатформенная утилита Putty — небольшая по размерам, но очень часто незаменима для подключения по таким протоколам как SSH, Telnet, rlogin и даже с помощью последовательных портов.
Для обычного подключения к Linux-серверу по протоколу SSH достаточно в поле Host Name (or IP—address) указать его IP-адрес и нажать кнопку Open (в данном примере Linux-сервер имеет IP-адрес: 192.168.56.102):
При первом подключении Putty предупредит, что используется специальный ключ безопасности и его нужно добавить в доверенные хосты. Нажмите кнопку Да:
Далее нужно будет ввести логин и пароль. Если всё сделано правильно, запустится удалённая сессия терминала Linux:
Мало кто знает, что Putty позволяет запустить почти любое приложение, установленное на компьютере с Linux, по сети в Windows. Для этого на компьютере с Windows нужно установить собственный X-сервер. В данном примере воспользуемся Xming.
Скачайте Xming с официального сайта. Установка довольно тривиальная, поэтому не будем на ней останавливаться. Ничего не меняйте в процессе установки. Просто нажимайте кнопку Next до тех пор, пока программа не установится и не запустится:
Когда установка Xming завершится, откройте Putty и в настройках сессии для вашего подключения в разделе SSH -> X11 включите флажок напротив опции Enable X11 forwarding, а также, в строке Отображение дисплея X впишите значение localhost:0, после чего откройте сессию подключения с помощью кнопки Open:
В открывшемся терминале Putty введите консольное название программы, обладающей графическим интерфейсом. В данном примере введено название графического редактора drawing:
(Знак & позволит запустить программу в фоновом режиме, в этом случае в окне Putty можно будет выполнять и другие команды):
Как видите, Linux-приложение drawing успешно запустилось по сети на X-сервере, установленном в Windows. С ним можно работать так же, как и с локальным приложением.
Выводы
Сегодня не существует слишком уж больших проблем для подключения к Linux из Windows. Способов существует довольно много. Каждый из них обладает своими достоинствами и недостатками, например, скорость работы VNC, да и других тоже, существенно зависит от скорости сетевого соединения. Существуют также программные средства, позволяющие подключаться к Linux-серверам используя мессенджеры или браузеры.
Установка локального веб-сервера на подсистему Windows для Linux
В этой статье рассмотрим процесс установки локального веб-сервера (Apache, MySQL и PHP) на подсистему Windows для Linux (Windows Subsystem Linux).
Что такое подсистема Windows для Linux
Microsoft Windows 10 имеет новую дополнительную функцию, которая называется «Подсистема Windows для Linux (WSL)». Она была добавлена в систему, начиная с обновления «Anniversary Update» и доступна только в 64-битных редакциях этой операционной системы .
WSL представляет собой подсистему для ОС Windows 10, через которую можно запускать Linux приложения. В этой статье рассмотрим, как на данной подсистеме можно настроить веб-сервер (Apache, MySQL, PHP) для локальной разработки веб-проектов.
Windows 10, начиная с версии 2004 уже включает WSL 2.
Основные этапы настройки веб-сервера на WSL
Процесс установки веб-сервера на WSL можно разбить на следующие шаги:
- включение через панель управления дополнительной функции Windows 10 «Подсистема Windows для Linux»;
- установку «Ubuntu» или любого другого дистрибутива Linux из магазина приложений Microsoft Store;
- установка программного обеспечения в ОС Linux и его настройка;
- редактирование файла hosts в Windows 10;
- создания bash скриптов для запуска и остановки веб-сервера;
- проверки работоспособности веб-сервера, посредством установки на сайт, какой-нибудь CMS, например MODX Revolution.
Включение подсистемы Windows для Linux
Для включения компоненты «Подсистема Windows для Linux» в Windows 10 необходимо выполнить следующие действия:
- открыть «Панель управления» (Пуск -> Служебные -> Windows -> Панель управления);
- открыть окно «Компоненты Windows» (пункт «Программы» в «Панели управления» -> Включение и отключение компонентов Windows);
- установить галочку напротив опции «Подсистема Windows для Linux» и нажать «ОК»;
- перезагрузить операционную систему.
Для использования WSL 2 вам необходимо дополнительно ещё включить в окне «Компоненты Windows» необязательный компонент «Платформа виртуальной машины».
Какую версию WSL выбрать
Чтобы определиться какая версия WSL вам нужна, нужно рассмотреть их различия.
WSL 2 в отличие от WSL 1 имеет полнофункциональное ядро Linux с полной совместимостью системных вызовов. Это позволяет использовать внутри WSL 2 целый ряд приложений (Docker и другие). Если вам нужна поддержка этих приложений, то тогда однозначно стоит остановится на 2 версии этой подсистемы. К сведению, ядро Linux для WSL 2 собранно компанией Microsoft и будет автоматически обновляться через центр обновления Windows.
WSL 1 рекомендуется использовать для проектов, файлы которого будут находиться в файловой системе Windows. В этом случае вы получите более высокую производительность, чем на WSL 2.
На мой взгляд, использовать вторую версию WSL пока не имеет особого смысла, только если вы не используете Docker или другое приложение, которому нужна полная совместимость системных вызовов Linux. Т.к. при использовании WSL 2 вам необходимо будет располагать проект в файловой системе Linux, иначе производительность файловых систем ОС при работе с этим проектом будет достаточно низкой. Но в любом случае вы можете переключить WSL для дистрибутива Linux как на первую версию, так и на вторую, и посмотреть какой вариант этой подсистемы для работы вам более подходит.
Работа с версиями WSL
Установку версии WSL, которую вы хотите использовать по умолчанию, осуществляется посредством выполнения в PowerShell следующей команды (например, WSL 2):
Эта команда установит по умолчанию в качестве версии WSL 2. Если нужно WSL 1, то в вместо 2, нужно указать соответственно 1.
Проверить WSL версию, назначенному каждому из установленных дистрибутивов Linux можно в PowerShell через следующую команду:
Для того чтобы изменить назначенную WSL версию дистрибутиву Linux на другую:
Например, для того чтобы перевести Ubuntu-18.04 на WSL 2 необходимо выполнить команду:
Доступ к файловым системам ОС
Получить в Windows доступ к файлам WSL можно, например, через проводник, введя в его адресной строке путь \\wsl$ или просто выполнив в Bash команду explorer.exe . .
В WSL получение доступа к файловой системе Windows выполняется через /mnt . Например, для того чтобы в Bash перейти на диск C:\ необходимо ввести cd /mnt/c , а на D:\ — cd /mnt/d .
Установка приложения «Ubuntu»
Установку приложения «Ubuntu» на компьютер осуществим через магазин приложений Microsoft Store. Для этого необходимо открыть данный магазин приложений, найти приложение «Ubuntu» и установить его.
Установка программного обеспечения в ОС Ubuntu
Запустим операционную систему «Ubuntu».
Введём новое UNIX имя пользователя (username) и пароль (password).
Обновим локальный индекс apt пакетов в операционной системе Ubuntu:
Обновим установленное программное обеспечение:
Установим MySQL сервер:
Установим php и другие пакеты, необходимые для веб-разработки:
Для установки какой-то определённой версии php, например 7.1.x, необходимо выполнить следующие команды:
Включим модуль Mod rewrite в Apache:
Создание директории для веб-проекта
Создадим в Windows 10, например, с помощью проводника, директорию для сайта (проекта) test.ru:
При использовании WSL 2 рекомендуется сохранять файлы в файловой системе Linux. Это необходимо для обеспечения максимальной производительности.
В этом случае директорию для проекта поместим сюда:
Для более удобного создания каталогов и работы с файловой системой Linux вы можете установить в Ubuntu, например, Midnight Commander:
Запуск Midnight Commander осуществляется посредством ввода команды:
Изменение метода аутентификации MySQL пользователя root
Для изменения метода аутентификации MySQL пользователя root выполним следующие действия:
1. Запустим службу mysql.
2. Подключимся к серверу MySQL под стандартным пользователем root, который создаётся при установке MySQL на компьютер:
3. Нажмём на Еnter , т.к. по умолчанию пользователь root, созданный при установке, не имеет пароля.
4. Проверим метод аутентификации, который используется для пользователя root.
Если пользователь использует аутентификацию с помощью плагина auth_socket, то изменим эту настройку на использование пустого пароля. Для этого введём команду:
Выполним команду FLUSH PRIVILEGES, которая применит внесённые изменения:
Создание базы данных
Создадим базу данных для веб-проекта test.ru. Для этого введем в командной строке MySQL введём следующую команду:
Если в базу данных testru необходимо загрузить дамп некоторой базы, находящийся, например, в файле backup.sql, то можно воспользоваться следующими инструкциями:
Для завершения работы с командной строкой MySQL выйдем из неё:
Настройка виртуальных хостов в Apache
В Ubuntu файлы настроек виртуальных хостов Apache распологаются в /etc/apache2/sites-available/*.conf. По умолчанию в Apache уже настроен один виртуальный хост. Его настройки лежат в файле 000-default.conf. Данный файл будем использовать в качестве примера.
Создадим копию файла 000-default.conf:
Отредактируем файл test.ru.conf, для этого можно воспользоваться, например, редактором nano:
Итоговое содержимое файла test.ru.conf:
Включим новый виртуальный хост с помощью утилиты a2ensite:
Перенаправление test.ru на локальный веб-сервер
Для того чтобы доменное имя test.ru было связано с локальным веб-сервером необходимо открыть файл hosts, расположенный по адресу C:\Windows\System32\drivers\etc и добавить в него строчку:
Команды для запуска и остановки веб-сервера
Для запуска Apache и MySQL необходимо ввести следующие команды:
Для остановки веб-сервера:
Для упрощения запуска и остановки веб-сервера можно создать bash скрипты start.sh и stop.sh.
Содержимое файла start.sh:
Содержимое файла stop.sh:
Вместо password необходимо ввести пароль, который установили для UNIX пользователя.
Запуск веб-сервера (./start.sh):
Проверка работоспособности веб-сервера
Длы проверки работоспособности веб-сервера установим на test.ru систему управления контентом, например, MODX Revolution.
Для этого скачаем со страницы Download MODX Revolution архив системы и распакуем его в директорию d:\Projects\test.ru\public_html\.
Для установки системы необходимо открыть мастер. Осуществляется это посредством ввода в строку поиска браузера адреса http://test.ru/setup. После этого ответим на все вопросы мастера и нажмём на кнопку «Установить».
Дождёмся окончания процесса установки и получим отчет об установке CMS MODX Revolution.
Инструкция по установке phpMyAdmin
Пошаговые действия по установке phpMyAdmin в Ubuntu:
1. Установим пароль для MySQL пользователя root , если его нет (т.к. по умолчанию phpMyAdmin не разрешает войти, если у пользователя БД нет пароля).
2. Установим phpMyAdmin:
При установке мастер будет предлагать вам ответить на следующие вопросы:
- на приглашение «настроить базу данных для phpmyadmin с помощью dbconfig-common» выберите Yes (Да);
- в окне на сообщение «пожалуйста, выберите веб сервер, который следует автоматически настроить для запуска phpMyAdmin» выберите Apache (для этого нажмите на Пробел , Tab и Enter );
- при запросе пароля для самого приложения phpMyAdmin введите, например, root .
Но установленная этим образом версия phpMyAdmin является устаревшей и содержит некоторые ошибки.
Для её обновления выполним ещё следующие действия:
- cd /usr/share — переход в «usr/share»;
- sudo rm -rf phpmyadmin — удаление в «usr/share» директории «phpmyadmin»;
- sudo wget -P /usr/share/ «https://files.phpmyadmin.net/phpMyAdmin/4.9.5/phpMyAdmin-4.9.5-all-languages.zip» — загрузка последней версии (4.9.5) phpMyAdmin;
- sudo unzip phpMyAdmin-4.9.5-all-languages.zip — распаковка её в текущий каталог;
- sudo cp -r phpMyAdmin-4.9.5-all-languages phpmyadmin — копирование извлечённые файлы в папку «phpmyadmin»;
- sudo rm -rf phpMyAdmin-4.9.5-all-languages — удалние папки «phpMyAdmin-4.9.5-all-languages».
Для входа в phpMyAdmin необходимо ввести в адресной строке браузера URL: http://localhost/phpmyadmin/ . В поля «Пользователь» и «Пароль» введите root .
Дополнительные инструкции
1. Как в MySQL отключить режим ONLY_FULL_GROUP_BY ?