Время на прочтение
7 мин
Количество просмотров 31K
Большую часть своей веб-карьеры я работал исключительно на стороне клиента. Проектирование адаптивных макетов, создание визуализаций из больших объемов данных, создание инструментальных панелей приложений и т. Д. Но мне никогда не приходилось иметь дело с маршрутизацией или HTTP-запросами напрямую. До не давнего времени.
Этот пост представляет собой описание того, как я узнал больше о веб-разработке на стороне сервера с помощью Node.js, и краткое сравнение написания простого HTTP-сервера с использованием 3 разных сред, Express, Koa.js и Hapi.js.
Примечание: если вы опытный разработчик Node.js, вы, вероятно, подумаете о том, что это все элементарно/просто. ¯_(ツ)_/¯.
Некоторые основы сети
Когда я начал работать в веб-индустрии пару лет назад, я наткнулся на курс по компьютерным сетям профессора Дэвида Ветерала на Coursera. К сожалению, он больше не доступен, но лекции по-прежнему доступны на веб-сайте Pearson.
Мне очень понравился этот курс, потому что он объяснял, что происходило под капотом, в понятной форме, поэтому, если вы можете взять в руки учебник «Компьютерные сети», прочитайте все подробности о чудесах сети.
Здесь, однако, я собираюсь лишь кратко рассказать о контексте. HTTP (Hypertext Transfer Protocol) — это протокол связи, используемый в компьютерных сетях. В Интернете их много, таких как SMTP (простой протокол передачи почты), FTP (протокол передачи файлов), POP3 (протокол почтового отделения 3) и так далее.
Эти протоколы позволяют устройствам с совершенно разным аппаратным / программным обеспечением связываться друг с другом, поскольку они предоставляют четко определенные форматы сообщений, правила, синтаксис и семантику и т.д. Это означает, что, пока устройство поддерживает определенный протокол, оно может связываться с любым другим устройством. в сети.
От TCP / IP против OSI: в чем разница между двумя моделями?
Операционные системы обычно поставляются с поддержкой сетевых протоколов, таких как HTTP, из коробки, что объясняет, почему нам не нужно явно устанавливать какое-либо дополнительное программное обеспечение для доступа в Интернет. Большинство сетевых протоколов поддерживают открытое соединение между двумя устройствами, что позволяет им передавать данные туда и обратно.
HTTP, на котором работает сеть, отличается. Он известен как протокол без установления соединения, потому что он основан на режиме работы запрос / ответ. Веб-браузеры отправляют на сервер запросы на изображения, шрифты, контент и т.д., но после выполнения запроса соединение между браузером и сервером разрывается.
Servers and Clients
Термин сервер может слегка сбивать с толку людей, впервые знакомых с отраслью, поскольку он может относиться как к аппаратному обеспечению (физические компьютеры, на которых размещены все файлы и программное обеспечение, требуемое веб-сайтами), так и к программному обеспечению (программе, которая позволяет пользователям получать доступ к этим файлам в Интернете).
Сегодня мы поговорим о программной стороне вещей. Но сначала несколько определений. URL обозначает Universal Resource Locator и состоит из 3 частей: протокола, сервера и запрашиваемого файла.
Структура URL адреса
Протокол HTTP определяет несколько методов, которые браузер может использовать, чтобы попросить сервер выполнить кучу различных действий, наиболее распространенными из которых являются GET и POST. Когда пользователь щелкает ссылку или вводит URL-адрес в адресную строку, браузер отправляет GET-запрос на сервер для получения ресурса, определенного в URL-адресе.
Сервер должен знать, как обрабатывать этот HTTP-запрос, чтобы получить правильный файл, а затем отправить его обратно браузеру, который его запросил. Наиболее популярное программное обеспечение веб-сервера, которое обрабатывает это Apache и NGINX.
Веб-серверы обрабатывают входящие запросы и отвечают на них соответственно
Оба представляют собой полнофункциональные пакеты программного обеспечения с открытым исходным кодом, которые включают в себя такие функции, как схемы аутентификации, перезапись URL-адресов, ведение журнала и проксирование, и это лишь некоторые из них. Apache и NGINX написаны на C. Технически, вы можете написать веб-сервер на любом языке. Python, golang.org/pkg/net/http, Ruby, этот список может продолжаться довольно долго. Просто некоторые языки лучше выполняют определенные вещи, чем другие.
Создание HTTP сервера с Node.js
Node.js — это среда выполнения Javascript, построенная на движке Chrome V8 Javascript. Он поставляется с модулем http, который предоставляет набор функций и классов для построения HTTP-сервера.
Для этого базового HTTP-сервера мы также будем использовать файловую систему, путь и URL-адрес, которые являются собственными модулями Node.js.
Начните с импорта необходимых модулей.
const http = require('http') // Чтобы использовать HTTP-интерфейсы в Node.js
const fs = require('fs') // Для взаимодействия с файловой системой
const path = require('path') // Для работы с путями файлов и каталогов
const url = require('url') // Для разрешения и разбора URL
Мы также создадим словарь типов MIME, чтобы мы могли назначить соответствующий тип MIME запрашиваемому ресурсу на основе его расширения. Полный список типов MIME можно найти в Internet Assigned Numbers Authority (интернет-центре назначенных номеров).
const mimeTypes = {
'.html': 'text/html',
'.js': 'text/javascript',
'.css': 'text/css',
'.ico': 'image/x-icon',
'.png': 'image/png',
'.jpg': 'image/jpeg',
'.gif': 'image/gif',
'.svg': 'image/svg+xml',
'.json': 'application/json',
'.woff': 'font/woff',
'.woff2': 'font/woff2'
}
Теперь мы можем создать HTTP-сервер с функцией http.createServer()
, которая будет возвращать новый экземпляр http.Server
.
const server = http.createServer()
Мы передадим функцию-обработчик запроса в createServer()
с объектами запроса и ответа. Эта функция вызывается один раз каждый раз, когда к серверу поступает HTTP-запрос.
server.on('request', (req, res) => {
// здесь нужно сделать больше
})
Сервер запускается путем вызова метода listen
объекта server
с номером порта, который мы хотим, чтобы сервер прослушивал, например, 5000
.
server.listen(5000)
Объект request
является экземпляром IncomingMessage и позволяет нам получать доступ ко всей информации о запросе, такой как статус ответа, заголовки и данные.
Объект response
является экземпляром ServerResponse, который является записываемым потоком и предоставляет множество методов для отправки данных обратно клиенту.
В обработчике запросов мы хотим сделать следующее:
- Разобрать входящий запрос и обработать его без расширений
const parsedUrl = new URL(req.url, 'https://node-http.glitch.me/') let pathName = parsedUrl.pathname let ext = path.extname(pathName) // Для обработки URL с конечным символом '/', удаляем вышеупомянутый '/' // затем перенаправляем пользователя на этот URL с помощью заголовка 'Location' if (pathName !== '/' && pathName[pathName.length - 1] === '/') { res.writeHead(302, {'Location': pathName.slice(0, -1)}) res.end() return } // Если запрос для корневого каталога, вернуть index.html // В противном случае добавляем «.html» к любому другому запросу без расширения if (pathName === '/') { ext = '.html' pathName = '/index.html' } else if (!ext) { ext = '.html' pathName += ext }
- Выполните некоторые элементарные проверки, чтобы определить, существует ли запрошенный ресурс, и ответить соответственно
// Создаем правильный путь к файлу, чтобы получить доступ к соответствующим ресурсам const filePath = path.join(process.cwd(), '/public', pathName) // Проверяем, существует ли запрошенный ресурс на сервере fs.exists(filePath, function (exists, err) { // Если запрошенный ресурс не существует, ответим 404 Not Found if (!exists || !mimeTypes[ext]) { console.log('Файл не найден: ' + pathName) res.writeHead(404, {'Content-Type': 'text/plain'}) res.write('404 Not Found') res.end() return } // В противном случае отправим ответ со статусом 200 OK, // и добавляем правильный заголовок типа контента res.writeHead(200, {'Content-Type': mimeTypes[ext]}) // Считать файл и передать его в ответ const fileStream = fs.createReadStream(filePath) fileStream.pipe(res) })
Весь код размещен на Glitch, и вы можете сделать ремикс на проект, если хотите.
https://glitch.com/edit/#!/node-http
Создание HTTP-сервера с фреймворками Node.js
Фреймворки Node.js, такие как Express, Koa.js и Hapi.js, поставляются с различными полезными функциями промежуточного программного обеспечения, в дополнение к множеству других удобных функций, которые избавляют разработчиков от необходимости писать самим.
Лично я чувствую, что лучше сначала изучать основы без фреймворков, просто для понимания того, что происходит под капотом, а затем после этого сходить с ума с любым фреймворком, который вам нравится.
В Express имеется собственный встроенный плагин для обслуживания статических файлов, поэтому код, необходимый для выполнения тех же действий, что и в собственном Node.js, значительно короче.
const express = require('express')
const app = express()
// Укажем директорию в которой будут лежать наши файлы
app.use(express.static('public'))
// Отправляем index.html, когда пользователи получают доступ к
// корневому каталог с использованием res.sendFile()
app.get('/', (req, res) => {
res.sendFile(__dirname + '/public/index.html')
})
app.listen(5000)
Koa.js не имеет подобного плагина внутри своего ядра, поэтому любой требуемый плагин должен быть установлен отдельно. Последняя версия Koa.js использует асинхронные функции в пользу обратных вызовов. Для обслуживания статических файлов вы можете использовать плагин koa-static
.
const serve = require('koa-static')
const koa = require('koa')
const app = new koa()
// Укажем директорию в которой будут лежать наши файлы
// По умолчанию koa-static будет обслуживать файл index.html в корневом каталоге
app.use(serve(__dirname + '/public'))
app.listen(5000)
Hapi.js поддерживает настройку и вращается вокруг настройки объекта server
. Он использует плагины для расширения возможностей, таких как маршрутизация, аутентификация и так далее. Для обслуживания статических файлов нам понадобится плагин с именем inert
.
const path = require('path')
const hapi = require('hapi')
const inert = require('inert')
// Маршруты могут быть настроены на объекте сервера
const server = new hapi.Server({
port: 5000,
routes: {
files: {
relativeTo: path.join(__dirname, 'public')
}
}
})
const init = async () => {
// server.register() команда добавляет плагин в приложение
await server.register(inert)
// inert добавляет обработчик каталога в
// указатель маршрута для обслуживания нескольких файлов
server.route({
method: 'GET',
path: '/{param*}',
handler: {
directory: {
path: '.',
redirectToSlash: true,
index: true
}
}
})
await server.start()
}
init()
У каждой из этих платформ есть свои плюсы и минусы, и они будут более очевидными для более крупных приложений, а не просто для обслуживания одной HTML-страницы. Выбор структуры будет сильно зависеть от реальных требований проекта, над которым вы работаете.
Завершение
Если сетевая сторона вещей всегда была для вас черным ящиком, надеюсь, эта статья может послужить полезным введением в протокол, который обеспечивает работу сети. Я также настоятельно рекомендую прочитать документацию по API Node.js, которая очень хорошо написана и очень полезна для любого новичка в Node.js в целом.
- HTTP by MDN
- Anatomy of an HTTP Transaction
- HTTP Server: Everything you need to know to build a simple HTTP server from scratch
Архитектура
Архитектура расположения каталогов программного комплекса подразумевает под собой чёткое разделение двух различных типов данных: изменяемых данных пользователя (настройки, временные файлы, логи т.д.) и неизменяемых данных (модули, программы, служебные файлы).
Если говорить простым языком, то в папке modules никакие файлы никогда не изменяются, не создаются и не удаляются, а в папках domains и userdata напротив, данные постоянно меняются. Такая архитектура создана специально для упрощения синхронизации данных между различными копиями комплекса и экономии места при резервном копировании.
Установка и запуск
Open Server Panel является портативным программным комплексом, однако для удобства пользователей устанавливается через инсталлятор.
Сборку можно разместить на внешнем жёстком диске, это позволит использовать
Open Server Panel на любом компьютере, который отвечает системным требованиям. Однако не стоит размещать сборку на USB-флеш накопителе из-за крайне медленной работы флеш-памяти при параллельных запросах на чтение/запись и её быстрого износа.
Желательно установить
Open Server Panel на SSD-накопитель, при его наличии. Это позволит значительно повысить скорость работы всех модулей и компонентов программного комплекса.
Внимание!
Не устанавливайте программу поверх существующей версии, это может уничтожить все имеющиеся базы данных, кастомизированные конфиги и другую важную информацию.
Системные требования
- Операционные системы: Windows 7 SP1 x64 / Windows Server 2008 R2 SP1 или новее (32-битные системы не поддерживаются);
- Свободные аппаратные ресурсы: от 500 МБ RAM и от 10 ГБ места на диске;
- Системное ПО: MSVC++ 2005-2022 Redistributable Packages (есть в комплекте);
Установка
В процессе установки
Open Server Panel отметьте галочками пункт по установке Microsoft Visual C++ 2005-2008-2010-2012-2013-2015-2019 Redistributable Package, пункт по установке RuntimePack Lite, пункт по настройке Windows и пункт по оптимизации системы для работы с SSD (при его наличии). Без выполнения этих действий работа
Open Server Panel на вашем компьютере не гарантируется.
Установку/переустановку библиотек от Microsoft и применение настроек Windows необходимо выполнять c каждой новой версией
Open Server Panel даже в том случае, если вы уже делали это ранее.
Запуск
Для запуска
Open Server Panel используйте файл Open Server.exe. После старта программы вы увидите красный флажок в области уведомлений Windows (область возле системных часов). Чтобы включить непосредственно сам веб-сервер и сопутствующие модули нажмите на флажок, далее выполните [Меню → Запустить].
Если сервер не запускается перейдите к разделу Решение проблем данного справочного руководства.
Настройка Windows 10
Перед установкой
Open Server Panel в системах семейства Windows 10 необходимо обязательно предварительно снять галочку, показанную на картинке, и перезагрузить систему.
Без выполнения данного условия запуск
Open Server Panel в системах семейства Windows 10 будет невозможен. В случае попытки запуска до выполнения данного условия произойдёт порча файлов конфигурации программы, что приведёт к невозможности её дальнейшего использования и запуска.
Установка обновлений
Open Server Panel это достаточно сложный программный комплекс с постоянно совершенствующейся архитектурой. Как таковой процедуры обновления не предусмотрено. При выходе новой версии
Open Server Panel необходимо заново выполнить все настройки, скопировать папки ваших сайтов и выполнить перенос баз данных.
Не распаковывайте файлы дистрибутива поверх существующей версии, а так же не пытайтесь скопировать файлы конфигурации и профилей из старой версии программы в новую!
Если есть возможность обновиться простым копированием файлов (довольно редкое явление), то ссылка на патч всегда публикуется в новостях на сайте вместе с аннотацией к новой версии.
Подключение
По умолчанию все дополнительные модули выключены. Перед началом работы с
Open Server Panel убедитесь в том, что вы включили нужные вам модули в настройках программы.
Ниже представлены установленные в
Open Server Panel начальные настройки (значения по умолчанию) для подключения к различным модулям. Вы всегда можете самостоятельно изменить эти настройки по своему усмотрению.
Подключение к MySQL
- Адрес: домен вашего сайта*
- Порт: 3306
- Пользователь: root
- Пароль: (пустой)
Предупреждение
Доступ с удалённых хостов (%) включён по умолчанию и возможен с любого ip. Обязательно выполните настройку прав удалённого доступа у пользователей БД до того, как вы запустите Open Server на публичном IP (если планируете).
Подключение к PostgreSQL
- Адрес: домен вашего сайта*
- Порт: 5432
- Пользователь: postgres
- Пароль: postgres
Подключение к MongoDB
- Адрес: домен вашего сайта*
- Порт: 27017
- Пользователь: (пусто)
- Пароль: (пусто)
Подключение к Memcached
- Адрес: домен вашего сайта*
- Порт: 11211
Макс. размер памяти используемой сервером Memcache по умолчанию равен 64 Мб. Данный параметр можно изменить выполнив [Меню → Настройки → Разное].
Подключение к Redis
- Адрес: домен вашего сайта*
- Порт: 6379
Подключение к DNS
- Адрес: домен вашего сайта*
- Порт: 53
Подключение к FTP
- Адрес: домен вашего сайта*
- Порт: 21 (990 для FTPS)
- Пользователь: ftp
- Пароль: ftp
Внимание!
Модуль FTP-сервера экспериментальный. Он имеет известные уязвимости и проблемы с быстродействием. Используйте его только в целях локальной разработки. Не активируйте модуль в условиях, когда доступ к серверу открыт во внешнюю сеть!
Домен localhost
Если вы хотите использовать привычный адрес localhost для подключения к MySQL, PostgreSQL, FTP или Memcache серверу, то достаточно не удалять стандартный домен localhost или создать одноимённый алиас.
Автоматизация подключения
При работе с локальными копиями действующих веб-проектов часто возникают трудности с постоянным редактированием файлов конфигурации, в основном это касается настроек подключения к базе данных. Чтобы этого избежать рекомендуется:
- Локально создать пользователя базы данных с теми же именем, паролем и привилегиями, что используются на удалённом сервере.
- Создать алиас с тем же именем, что используется в качестве хоста базы данных на удалённом сервере.
—
* Например, если ваш скрипт размещен по адресу testserver.loc/mysql.php, то хостом (адресом) для подключения к MySQL, Redis и другим модулям будет домен: testserver.loc
Домены и алиасы
Режимы управления доменами
В
Open Server Panel существует три режима управления списком доменов: автопоиск, ручное управление и ручное+автопоиск. По умолчанию используется первый режим автоматического подключения папок из корневой директории указанной в настройках.
Как работает автопоиск
Программа сканирует заданную веб-директорию на наличие папок с доменами, после чего в каждой найденной папке производится поиск подпапок (корневой папки домена) которые указаны в настройках для автосканирования. Если ни одна из предполагаемых корневых подпапок не найдена, то корнем домена становится сама папка с доменом.
Как работает совмещённое управление (ручное + автопоиск)
При использовании совмещенного режима управления доменами программа сначала подключает домены созданные вручную, после чего производится автоматическое сканирование по процедуре описанной выше.
Создание домена в автоматическом режиме
Чтобы создать домен или поддомен откройте [Меню → Папка с сайтами] и создайте папку с именем будущего домена. После создания домена перезапустите сервер.
Создание домена в ручном режиме
Чтобы создать домен или поддомен перейдите в раздел [Меню → Настройки → Домены] и создайте запись вида: домен => папка. В качестве папки домена можно выбрать уже существующую папку на диске или создать её непосредственно в окне выбора каталога. После создания домена сохраните настройки.
Создание кириллического домена
Open Server Panel поддерживает кириллические домены, однако будьте внимательны, папку с доменом нужно называть его реальным именем, а не псевдо названием на кириллице. Для пиво.рф реальным названием (punycode формат) будет xn--b1altb.xn--p1ai и создав такой домен вы получите доступ к http://пиво.рф. Для конвертации доменных имён в punycode формат и обратно используйте [Меню → Дополнительно → IDN конвертер].
Создание поддомена
Процесс создания поддомена аналогичен процедуре создания обычного домена. При создании только поддомена доступность основного домена существующего в сети Интернет не теряется, т.е. вы сможете работать с локальным поддоменом имея при этом доступ к рабочему домену в сети Интернет.
Создание алиаса
Чтобы создать алиас перейдите в раздел [Меню → Настройки → Алиасы] и создайте запись вида: исходный домен => конечный домен. После создания алиаса сохраните настройки.
Обратите внимание — создание алиаса вида *.xxx.xx не имеет смысла в Windows и не означает то, что вам станут доступны любые поддомены вида test.xxx.xx, mail.xxx.xx и т.д. Необходимо создать конкретный алиас или домен чтобы он стал доступен, это особенность операционной системы Windows.
Иконка сайта в меню доменов
При наличии корректного файла favicon.ico в корневой папке домена иконка сайта будет отображаться в меню программы.
Ограниченный режим работы
В некоторых случаях управление доменами и алиасами недоступно (см. Ограниченный режим).
Работа с MySQL
Перед началом работы с MySQL убедитесь в том, что вы включили нужный вам модуль в настройках программы.
Создание пользователя MySQL
- Откройте [Меню → Дополнительно → PHPMyAdmin]
- Введите имя пользователя root и пустой пароль
- В PHPMyAdmin откройте раздел [Привилегии]
- Нажмите ссылку [Добавить нового пользователя]
- Заполните форму и нажмите кнопку [Создать пользователя]
Информация
В том случае, если помимо прочих привилегий для пользователя будет отмечена привилегия SUPER, то кодировка, установленная по умолчанию в настройках MySQL сервера, не будет на него действовать. Кодировку нужно будет указывать в ваших скриптах персонально для каждого подключения к MySQL, потому отмечать привилегию SUPER не рекомендуется.
Информация
Для входа в Adminer используйте логин и пароль пользователя БД. Если ваш пользователь БД не имеет пароля, то для авторизации в Adminer необходимо использовать пароль заданный в плагине авторизации самого Adminer, по умолчанию это admin.
Пароль указывается в файле index.php находящимся в modulessystemhtmlopenserveradminer
Рекомендуется сменить этот пароль перед началом использования программы.
Создание базы данных MySQL
- Откройте [Меню → Дополнительно → PHPMyAdmin]
- Введите имя пользователя root и пустой пароль
- В PHPMyAdmin откройте раздел [Базы данных]
- Введите название новой базы данных и выберите её кодировку
- Нажмите кнопку [Создать]
Переключение модулей баз данных
Будьте внимательны при смене активного модуля базы данных. Каждый модуль имеет свое отдельное хранилище баз и настроек, они никак не связаны друг с другом, поэтому вы не увидите созданные вами базы данных при переключении на другой модуль.
Предупреждение
Во время установки
Open Server Panel выполняется настройка Windows, во время которой IPv4 трафик получает приоритет над IPv6 при разрешении доменных имён. Если не выполнять данную процедуру, то процесс подключения в MySQL серверу может выполняться очень долго (более 1 сек).
Чтобы проверить корректность настройки приоритетов откройте консоль и введите ping localhost. Если в ответе вы получаете адрес ::1 вместо 127.0.0.1, значит приоритеты настроены неверно.
Переменная Path
Для добавления собственных путей в переменную окружения PATH можно использовать файл ./userdata/config/path.txt
Пути необходимо добавлять по одному вписывая каждый с новой строки, например:
C:Windows D:My Programs %realprogdir%datadll C:WindowsSystem32
Информация
По умолчанию файл path.txt не подключается. См. [Меню → Настройки → Сервер].
Использование переменных в качестве подстановок
Переменная | Описание переменной |
---|---|
%realprogdir% | Реальный путь до папки с Open Server Panel (обратный слеш «») |
%progdir% | Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (обратный слеш «») |
%sprogdir% | Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (слеш «/») |
%dprogdir% | Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (двойной обратный слеш «\») |
%dsprogdir% | Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (двойной слеш «//») |
%realsitedir% | Реальный путь до корневой папки доменов (обратный слеш «») |
%sitedir% | Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «») |
%ssitedir% | Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/») |
%httpport% | Порт HTTP сервера |
%httpsport% | Порт HTTPS сервера |
%postgresqlport% | Порт PostgreSQL сервера |
%mysqlport% | Порт MySQL сервера |
%mongodbport% | Порт MongoDB сервера |
%memcacheport% | Порт Memcache сервера |
%ftpport% | Порт FTP сервера |
%httpdriver% | Название модуля HTTP |
%phpdriver% | Название модуля PHP |
%mysql_driver% | Название модуля MySQL/MariaDB |
%pg_driver% | Название модуля PostgreSQL |
%mongo_driver% | Название модуля MongoDB |
%memcachedriver% | Название модуля Memchached |
%redisdriver% | Название модуля Redis |
%dnsdriver% | Название модуля DNS |
%ip% | IP адрес сервера |
%disk% | Буква диска из генерируемого пути до папки с Open Server Panel с учетом виртуального диска (только буква) |
%osdisk% | Буква диска из реального пути до папки с Open Server Panel (только буква) |
%sysdisk% | Системный диск Windows (только буква) |
Настройка DNS
Встроенный DNS сервер предназначен для использования в локальных сетях или для отладки веб-приложений. Для детальной настройки доступна общая конфигурация сервера, а так же конфигурация доменов.
Для использования встроенного DNS сервера необходимо выполнить настройку сетевого интерфейса на каждом компьютере ДО запуска самого сервера. Выполнить настройку необходимо как на локальной машине, так и на других компьютерах в локальной сети, которые хотят получить доступ к вашим доменам. Без указания локального DNS сервера в настройках сетевого подключения запуск сервера будет невозможен (если модуль DNS активирован в настройках
Open Server Panel).
По умолчанию параметр TTL установлен в значение 60 (секунд), вы можете изменить это значение в файле ./userdata/init.ini однако следует иметь ввиду, что бездумное изменения TTL может спровоцировать кэширование неактуальных записей другими компьютерами в вашей сети. Изменяйте этот параметр только в том случае, если вы действительно понимаете его предназначение.
Предупреждение
Перед началом использования DNS-модуля убедитесь в том, что у вас отсутствуют домены без точки в своём названии. Если таковые имеются, то переименуйте их добавив .virtual или .loc к имени домена.
Внимание!
Если ваш браузер производит разрешение доменных имён через прокси-сервер или использует функцию DNS over HTTPS от стороннего DNS-провайдера (например Google или CloudFlare), то локальные домены, созданные вами в Open Server, не будут доступны в этом браузере.
Рекомендации по настройке
- В качестве IP адреса сервера выберите в настройках
Open Server Panel IP адрес вашего компьютера в локальной сети или сети Интернет (не выбирайте параметр Все доступные IP). - Откройте свойства нужного сетевого подключения:
Центр управления сетями → Подключение xxx → Свойства → Протокол Интернета версии 4 → Свойства → Общие → Использовать следующие адреса DNS-серверов.
Пропишите следующие адреса NS серверов:
xxx.xxx.xxx.xxx
8.8.8.8 (или любой другой реальный резервный DNS)Вместо xxx.xxx.xxx.xxx впишите IP адрес вашего компьютера в локальной сети или сети Интернет.
- Повторите процедуру настройки на других компьютерах в локальной сети.
- Не выполняйте настройку алиасов из инструкции раздела Внешний доступ данного руководства. Подобная настройка не требуется, поскольку удалённые компьютеры будут напрямую работать с вашим DNS сервером и получат доступ ко всем доменам.
- Сохраните настройки и выполните запуск сервера
Open Server Panel.
После правильной настройки все компьютеры в вашей локальной сети смогут получить доступ к доменам
Open Server Panel.
Совпадение имён локальных и реальных доменов
Если включён DNS-модуль, то при каждом запуске сервера и при каждой его остановке
Open Server Panel выполняет очистку DNS-кэша Windows
Таким образом, если имя локального и реального домена совпадают и если ваш браузер не имеет собственного DNS-кэша, то браузер будет получать контент с реального домена пока сервер не запущен и с локального домена когда сервер запущен. Если ваш браузер имеет встроенный DNS-кэш, то вам необходимо установить расширение для возможности его ручной очистки чтобы иметь удобный доступ к двум доменам попеременно.
Так же вы можете просто иметь второй браузер, который настроен на использование стороннего DNS-провайдера (например Google или CloudFlare) и потому он будет видеть только реальный домен независимо от того, запущен локальный сервер или нет.
Планировщик заданий
Использование планировщика заданий (Сron)
Значения времени вводятся в виде цифр, комбинации цифр или *.
Вы можете задать моменты времени, используя запятые как разделители:
Например: 1,2,3
Результат: задание выполняется 3 раза, в 1-ю,2-ю и 3-ю минуты часа.
Вы можете указать диапазон, используя дефис:
Например: 5-7
Результат: задание выполняется 3 раза, в 5-ю,6-ю и 7-ю минуты часа.
Вы можете задать периодичность выполнения используя звездочку (*) и слэш (/):
Например: */2
Результат: задание выполняется каждые 2 минуты.
Вы можете комбинировать способы для создания точного расписания:
Например: 1,5,11-15,30-59/2
Результат: задание выполняется в 1,5, с 11 по 15 и каждые 2 минуты с 30 по 59.
Вышеприведённая схема указания времени актуальная для всех временных периодов (минута, час, число, месяц, день недели). Для запроса URL в планировщике нужно использовать вспомогательную утилиту Wget (см. примеры). В строке команд можно использовать подстановки.
Использование переменных в качестве подстановок
Переменная | Описание переменной |
---|---|
%realprogdir% | Реальный путь до папки с Open Server Panel (обратный слеш «») |
%progdir% | Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (обратный слеш «») |
%sprogdir% | Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (слеш «/») |
%dprogdir% | Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (двойной обратный слеш «\») |
%dsprogdir% | Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (двойной слеш «//») |
%realsitedir% | Реальный путь до корневой папки доменов (обратный слеш «») |
%sitedir% | Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «») |
%ssitedir% | Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/») |
%httpport% | Порт HTTP сервера |
%httpsport% | Порт HTTPS сервера |
%postgresqlport% | Порт PostgreSQL сервера |
%mysqlport% | Порт MySQL сервера |
%mongodbport% | Порт MongoDB сервера |
%memcacheport% | Порт Memcache сервера |
%ftpport% | Порт FTP сервера |
%httpdriver% | Название модуля HTTP |
%phpdriver% | Название модуля PHP |
%mysql_driver% | Название модуля MySQL / MariaDB |
%pg_driver% | Название модуля PostgreSQL |
%mongo_driver% | Название модуля MongoDB |
%memcachedriver% | Название модуля Memchache |
%redisdriver% | Название модуля Redis |
%dnsdriver% | Название модуля DNS |
%ip% | IP адрес сервера |
%disk% | Буква диска из генерируемого пути до папки с Open Server Panel с учетом виртуального диска (только буква) |
%osdisk% | Буква диска из реального пути до папки с Open Server Panel (только буква) |
%sysdisk% | Системный диск Windows (только буква) |
Примеры заданий планировщика
Запрос по протоколу HTTP каждые 30 минут:
*/30 * * * * "%progdir%moduleswgetbinwget.exe" -q --no-cache http://xxx.ru/cron.php -O nul
Запрос по протоколу HTTPS каждый час в 10 минут, в 20 минут и в 40 минут:
10,20,40 * * * * "%progdir%moduleswgetbinwget.exe" --secure-protocol=TLSv1_2 --no-check-certificate -q --no-cache https://xxx.ru/cron.php -O nul
Выполнение файла cron.php интерпретатором PHP ежеминутно:
*/1 * * * * "%progdir%modulesphp%phpdriver%php-win.exe" -c "%progdir%modulesphp%phpdriver%php.ini" -q -f "%sitedir%xxx.rucron.php"
Информация
Конструкция -O nul в аналогична -O /dev/null в Linux и используется в примере для того, чтобы ответ, полученный wget от сервера, не сохранялся на диске.
Исполняемый файл php-win.exe используется вместо обычной CLI-версии PHP потому, что он ничего не выводит и, соответственно, не открывает консоль (окошко dos не появляется на экране).
Предупреждение
При составлении заданий для планировщика заключайте любые указания путей файловой системы в кавычки. В противном случае задание не сможет выполняться при наличии пробела(ов) в пути к исполняемому файлу или в его аргументах (при указании папок и файлов).
Предопределенные переменные планировщика
Переменная | Описание переменной |
---|---|
%hh% | Текущий час (00-23) |
%mm% | Текущая минута (00-59) |
%ss% | Текущая секунда (00-59) |
%MM% | Текущий месяц (01-12) |
%MMM% | Текущий месяц (Янв-Дек) |
%DD% | Текущий день (01-31) |
%WW% | Текущий день недели (Пн-Вс) |
%WD% | Текущий день недели (1-7, 1-понедельник, 7-воскресенье) |
%YYYY% | Текущий год (4 цифры) |
%YY% | Текущий год (последние 2 цифры) |
%QUOTE% | Знак кавычек |
%PERCENT% | Знак процента |
В таблице показаны не все переменные. Полный список смотрите здесь.
При составлении заданий вы можете использовать как переменные для подстановки значений из
Open Server Panel, так и предопределённые переменные самого планировщика. Кроме того, в качестве переменных планировщика можно использовать любые переменные среды окружения (environment variables), например %COMSPEC%.
Примеры заданий c использованием переменных
Очистка папки c:temp:
%COMSPEC% /c del /S /Q c:temp*
Задание будет развёрнуто планировщиком так:
C:Windowssystem32cmd.exe /c del /S /Q c:temp*
А теперь пример создания резервной копии баз данных:
"%realprogdir%modulesdatabase%mysql_driver%binmysqldump.exe" -A --add-drop-database -E -i -Q -R --opt --user=root --result-file="%realprogdir%%DD%_%MM%_%YYYY%_%hh%_%mm%_dump.sql"
Задание будет развёрнуто планировщиком так:
"C:OSPanelmodulesdatabaseMariaDB-10.3binmysqldump.exe" -A --add-drop-database -E -i -Q -R --opt --user=root --result-file="C:OSPanel9_01_2020_14_25_dump.sql"
Информация
Следует принимать во внимание тот факт, что выполнение заданий происходит без переключения в рабочую папку той программы или скрипта, которые указаны в задании. Некоторые программы и PHP скрипты могут работать неправильно, если определение корневой папки реализовано в них некорректно.
Меню закладок
Для быстрого доступа к нужным страницам на сайтах и рабочим папкам, для запуска и выполнения любых программ и команд в
Open Server Panel существует возможность создавать закладки.
Виды закладок
- Ссылка
- Папка
- Программа (возможен запуск с параметрами)
- Команда в формате командной строки Windows
Использование переменных в качестве подстановок
Переменная | Описание переменной |
---|---|
%realprogdir% | Реальный путь до папки с Open Server Panel (обратный слеш «») |
%progdir% | Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (обратный слеш «») |
%sprogdir% | Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (слеш «/») |
%dprogdir% | Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (двойной обратный слеш «\») |
%dsprogdir% | Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (двойной слеш «//») |
%realsitedir% | Реальный путь до корневой папки доменов (обратный слеш «») |
%sitedir% | Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «») |
%ssitedir% | Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/») |
%httpport% | Порт HTTP сервера |
%httpsport% | Порт HTTPS сервера |
%postgresqlport% | Порт PostgreSQL сервера |
%mysqlport% | Порт MySQL сервера |
%mongodbport% | Порт MongoDB сервера |
%memcacheport% | Порт Memcache сервера |
%ftpport% | Порт FTP сервера |
%httpdriver% | Название модуля HTTP |
%phpdriver% | Название модуля PHP |
%mysql_driver% | Название модуля MySQL / MariaDB |
%pg_driver% | Название модуля PostgreSQL |
%mongo_driver% | Название модуля MongoDB |
%memcachedriver% | Название модуля Memchache |
%redisdriver% | Название модуля Redis |
%dnsdriver% | Название модуля DNS |
%ip% | IP адрес сервера |
%disk% | Буква диска из генерируемого пути до папки с Open Server Panel с учетом виртуального диска (только буква) |
%osdisk% | Буква диска из реального пути до папки с Open Server Panel (только буква) |
%sysdisk% | Системный диск Windows (только буква) |
Предупреждение
При создании закладок на запуск программ с параметрами разделителем пути до программы и параметрами запуска является знак #, иначе закладка будет выполнена через командную строку как обычная команда!
Примеры создания закладки на запуск программы с параметрами:
%realprogdir%modulesheidisqlheidisql.exe#-h=127.0.0.1 -u=root -P=%mysqlport%
Меню программ
Добавление портативной программы
В
Open Server Panel существует возможность добавить в меню свою портативную программу. Для этого необходимо выполнить следующие действия:
- Откройте папку ./progs/ в каталоге с
Open Server Panel или создайте такую папку если её не существует; - Создайте в папке ./progs/ подпапку с именем категории программ, например ./progs/Офисные программы, или используйте имя Default (программы из подпапки Default отображаются в корне меню, без категории);
- Скопируйте каталог с вашей портативной программой (например CintaNotes) в созданную вами папку ./progs/Офисные программы, в итоге у вас должен получиться такой путь: ./progs/Офисные программы/CintaNotes;
- Создайте в папке с портативной программой файл osinit.txt содержащий единственную строку с текстом, которая будет использована в меню
Open Server Panel вместо отображения оригинального названия EXE файла программы; - Перезапустите управляющую программу
Open Server Panel;
Предупреждение
Имя портативной программы (без расширения) и имя папки, в которой она находится, должны быть идентичны! Например, если главный файл портативной программы называется CintaNotes.exe, то путь к нему должен выглядеть так: ./progs/Офисные программы/CintaNotes/CintaNotes.exe
Добавление категории программ
Чтобы добавить собственную категорию в меню программ следует создать одноимённую папку в директории ./progs/. Программы добавленные в папку Default отображаются в корне меню программ, без категории.
Добавление ярлыка программы
Помимо портативного софта в меню программ можно добавить ярлыки на локально установленные программы. Такой указатель на программу будет отображаться в меню вместе с другими программами и будет работать как самый обычный ярлычок. Чтобы добавить ярлык на локально установленную программу просто скопируйте его в папку ./progs/нужная_вам_категория_программ/ или ./progs/Default/.
Информация
Не пытайтесь cкопировать в папку портативных программ ярлыки на папки, сайты и другие объекты не являющиеся программами. Такие ярлыки не будут отображаться в меню и соответственно не будут работать. Для создания ярлыков к сайтам, папкам и т.д. используйте [Меню → Настройки → Закладки] (см. Меню закладок).
Старт/стоп скрипты
Дополнение сценариев запуска и остановки сервера
В
Open Server Panel существует возможность дополнять сценарии запуска и остановки сервера своими .bat файлами (батниками).
Чтобы дополнить какой-либо сценарий необходимо создать файл-шаблон .tpl.bat в папке ./userdata/ с определённым именем (см. список ниже). Вы можете записать в такой файл произвольные последовательности команд, предназначенных для исполнения командным интерпретатором Windows.
Нужно понимать, что файлы с расширением .tpl.bat являются только шаблонами для итоговых .bat файлов. В процессе запуска или остановки сервера файлы-шаблоны будут преобразованы в исполняемые .bat файлы в той же папке с заменой переменных-подстановок и уже эти временные .bat файлы будут отправлены на выполнение.
Перед запуском
Используйте шаблон с именем /userdata/pre_start.tpl.bat для указания команд выполняемых ДО запуска всех модулей.
После запуска
Используйте шаблон с именем /userdata/start.tpl.bat для указания команд выполняемых ПОСЛЕ запуска всех модулей, но до того, как флаг состояния (в области уведомлений Windows) станет зеленым.
Перед остановкой
Используйте шаблон с именем /userdata/stop.tpl.bat для указания команд выполняемых ДО остановки модулей.
После остановки
Используйте шаблон с именем /userdata/post_stop.tpl.bat для указания команд выполняемых ПОСЛЕ остановки модулей, но до того, как флаг состояния (в области уведомлений Windows) станет красным.
Предупреждение
После начала процедуры завершения работы Windows запуск любых новых процессов невозможен, поэтому СТОП-скрипты (stop.bat и post_stop.bat) не выполняются. Если вам требуется обязательное выполнение скриптов остановки, то необходимо выключать
Open Server Panel вручную непосредственно перед тем, как вы хотите выключить компьютер.
Внимание!
Каждый созданный вами батник (для любого сценария из перечисленных выше) должен корректно отработать и завершиться, иначе сервер будет ожидать окончания его выполнения бесконечно.
Использование переменных в качестве подстановок
В файлах-шаблонах с расширением .tpl.bat можно использовать подстановки. Доступные варианты подстановки программных переменных:
Переменная | Описание переменной |
---|---|
%realprogdir% | Реальный путь до папки с Open Server Panel (обратный слеш «») |
%progdir% | Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (обратный слеш «») |
%sprogdir% | Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (слеш «/») |
%dprogdir% | Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (двойной обратный слеш «\») |
%dsprogdir% | Генерируемый путь до папки с Open Server Panel с учетом виртуального диска (двойной слеш «//») |
%realsitedir% | Реальный путь до корневой папки доменов (обратный слеш «») |
%sitedir% | Генерируемый путь до корневой папки доменов с учетом виртуального диска (обратный слеш «») |
%ssitedir% | Генерируемый путь до корневой папки доменов с учетом виртуального диска (слеш «/») |
%httpport% | Порт HTTP сервера |
%httpsport% | Порт HTTPS сервера |
%postgresqlport% | Порт PostgreSQL сервера |
%mysqlport% | Порт MySQL сервера |
%mongodbport% | Порт MongoDB сервера |
%memcacheport% | Порт Memcache сервера |
%ftpport% | Порт FTP сервера |
%httpdriver% | Название модуля HTTP |
%phpdriver% | Название модуля PHP |
%mysql_driver% | Название модуля MySQL / MariaDB |
%pg_driver% | Название модуля PostgreSQL |
%mongo_driver% | Название модуля MongoDB |
%memcachedriver% | Название модуля Memchache |
%redisdriver% | Название модуля Redis |
%dnsdriver% | Название модуля DNS |
%ip% | IP адрес сервера |
%disk% | Буква диска из генерируемого пути до папки с Open Server Panel с учетом виртуального диска (только буква) |
%osdisk% | Буква диска из реального пути до папки с Open Server Panel (только буква) |
%sysdisk% | Системный диск Windows (только буква) |
Кроме написания команд перечисленные выше переменные можно использовать для указания реальных переменных окружения, например:
setx DIR_PHP "%realprogdir%modulesphp%phpdriver%"
Ограниченный режим
При недоступном на запись HOSTS файле программа переходит в ограниченный режим работы с урезанной функциональностью.
В ограниченном режиме вам будет недоступна следующая функциональность:
- Использование своих алиасов и доменов (кроме домена localhost);
- Указание IP адреса сервера (кроме адресов 127.0.0.1 и *);
Таким образом в ограниченном режиме вам будет доступен один из двух IP адресов: 127.0.0.1 или *, и только один домен localhost. Другие созданные вами алиасы и домены не будут обработаны программой.
Работать в ограниченном режиме уместно только при полном отсутствии прав администратора, например в условиях организации. В любом другом случае крайне рекомендуется правильно настроить права доступа к HOST файлу для возможности полноценной работы с разными доменами. Разрешить запись в HOSTS файл для всех пользователей можно выполнив через консоль (запускать от имени Администратора) следующую команду:
attrib -s -r -h -a C:Windowssystem32driversetchosts
Если в логах запуска вы видите сообщение о том, что Hosts файл недоступен для записи, то возможно что доступ к этому файлу блокируется антивирусом/файрволом, либо действуют ограничения прав доступа Windows.
Добавьте
Open Server Panel, а так же все остальные компоненты, о которых будет спрашивать антивирус/файрвол, в доверенные программы. Отключите защиту HOSTS файла (или системных файлов) в настройках вашего антивируса/файрвола, если такая защита присутствует. Попробуйте вручную удалить файл C:WindowsSystem32Driversetchosts и заново создать со следующим содержимым:
127.0.0.1 localhost
В случае работы без прав администратора, но с доступным на запись HOSTS файлом, программа работает в нормальном режиме без каких-либо ограничений.
Предупреждение
При включённой службе контроля учётных записей пользователей (UAC) и запуске без прав администратора
Open Server Panel не будет иметь доступа к HOSTS файлу и автоматически перейдёт в ограниченный режим работы.
Запуск без внесения записей в HOSTS файл
В
Open Server Panel реализована возможность полноценного запуска без внесения записей в HOSTS файл. Эта возможность будет полезна пользователям офисных сетей и терминалов, где доступ к HOSTS файлу имеет только старший администратор. Если опция [Не вносить изменения в HOSTS файл] включена, то запуск сервера происходит без редактирования HOSTS файла будто все домены в нём уже прописаны, т.е. доступ к этому файлу не требуется вовсе.
Следует не забывать обращаться к администратору вашей сети после каждого создания домена, администратор должен внести нужные записи в HOSTS файл, иначе вы не сможете их использовать.
Формат внесения записей в HOSTS файл стандартный — ip пробел домен, например:
192.168.5.10 rhino.acme.com 192.168.5.10 x.acme.com
Отправка почты через SMTP
Яндекс почта
Ниже показаны типичные настройки для отправки почты через SMTP сервер выбранного почтового провайдера.
Mail.ru почта
Ниже показаны типичные настройки для отправки почты через SMTP сервер выбранного почтового провайдера.
Gmail почта
Ниже показаны типичные настройки для отправки почты через SMTP сервер выбранного почтового провайдера.
По умолчанию Gmail не даёт возможности использовать SMTP, поэтому доступ нужно активировать отдельно. Вам необходимо выполнить следующие шаги по активации:
1. Авторизуйтесь в своём аккаунте Gmail
2. В той же вкладке браузера перейдите сюда
3. Активируйте доступ к аккаунту для «непроверенных приложений» (см. картинку ниже)
4. Выполните тестовую отправку письма через ваш скрипт на сервере
Open Server Panel
5. Обновите страницу (F5) и снова активируйте доступ к аккаунту для «непроверенных приложений» если он не активировался (пришедшее письмо о попытке доступа к аккаунту можно проигнорировать)
Теперь попробуйте отправить письмо еще раз, на этот раз отправка должна заработать.
Информация
Если вы включили двухфакторную авторизацию для своей почты у любого почтового провайдера, то вам необходимо создать пароль приложения в панели управления своего почтового аккаунта. Используйте этот пароль в настройках программы.
Внешний доступ
Работа с внешними сетями
Open Server Panel может работать в локальных сетях и сети Интернет как веб-сервер. Для работы в сети Интернет необходим статический(белый) IP адрес. Чтобы открыть доступ к серверу извне необходимо указать * в качестве IP адреса в настройках
Open Server Panel, в этом случае доступ откроется сразу для всех сетей, к которым подключён ваш компьютер. Если вы хотите открыть доступ только для одной конкретной сети (например локальной), то укажите в настройках программы IP адрес выданный вашему компьютеру в этой сети.
Информация
При работе через роутер или другой шлюз может потребоваться их дополнительная настройка. См. документацию к используемому оборудованию, обратитесь к администратору сети.
Доступ извне к локальными доменам
После того, как вы настроите удалённый доступ к своему серверу, все локальные домены станут доступны удалённо. Но как их открыть? Чтобы открыть нужный сайт с удалённой машины потребуется внести в HOSTS файл такого компьютера запись с адресом вашего локального домена, например: 64.55.96.24 supersite (где 64.55.96.24 это адрес вашего компьютера, а supersite это имя локального домена). После внесения такой записи в HOSTS файл на удалённом компьютере домен supersite будет доступен при обычном наборе в строке браузера.
Обратите внимание — при простом наборе IP адреса вашего компьютера http://64.55.96.24/ или при попытке доступа к несуществующему локальному домену будет открываться пустая страница.
Для того, чтобы при наборе IP адреса вашего компьютера открывался определённый локальный сайт, необходимо создать алиас вида ваш_внешний_ip => ваш_локальный_домен. После этих действий указанный вами локальный домен, для которого вы создали алиас, станет доступен через локальную сеть или сеть Интернет по адресу http://ваш_внешний_ip/ (например http://64.55.96.24/). Если ваш компьютер подключен к нескольким сетям и в настройках сервера установлен IP=*, то такой алиас необходимо создать для каждого IP адреса выданного вашему компьютеру в каждой из сетей.
Внимание!
При работе с внешними сетями нет никакой гарантии безопасности вашего компьютера. Сервер часто запускается с правами Администратора, а значит, скрипты, запущенные под его управлением, могут делать на компьютере всё, что угодно. Дыры в безопасности скриптов могут открыть хакерам и вирусам доступ к вашему компьютеру.
Мы не рекомендуем такое использование
Open Server Panel! Перед настройкой удалённого доступа к серверу обязательно ознакомьтесь с разделом Защита сервера данного справочного руководства.
Внешнее управление
Open Server Panel может принимать некоторые команды через сеть Интернет, для этого имеется встроенная панель управления которая работает на выделенном порту. Так же программой можно управлять через командную строку.
Управление через Интернет
Чтобы получить доступ к панели управления необходимо набрать адрес http://localhost:1515/ (по умолчанию). Порт, логин и пароль к контрольной панели можно указать непосредственно в настройках
Open Server Panel [Меню → Настройки → Разное].
Панель управления доступна на любом IP адресе с которого доступен ваш компьютер, а так же на любом локальном домене из созданных на сервере. Для управления программой через Интернет ваш внешний IP адрес должен быть «белым», т.е. доступным из сети Интернет.
Команды для использования в командной строке
"C:openserverOpen Server Panel.exe" # запуск программы "C:openserverOpen Server Panel.exe" /start # запуск сервера "C:openserverOpen Server Panel.exe" /restart # перезапуск сервера "C:openserverOpen Server Panel.exe" /stop # остановка сервера "C:openserverOpen Server Panel.exe" /exit # выход из программы
Защита сервера
Настройка защиты
Cервер становится крайне уязвимым, когда он открыт для доступа из сети Интернет, особенно с настройками установленными по умолчанию. Множество ботов и вирусов постоянно сканируют ip адреса в сети Интернет на предмет открытых портов и, как правило, незащищенный сервер оказывается взломанным уже через несколько часов после появления в сети.
Несколько шагов по защите веб-сервера от несанкционированного доступа:
- Отключите FTP сервер [Меню → Настройки → FTP сервер];
- Установите собственные пароли для root (и других) пользователей всех модулей СУБД;
- Включите защиту от внешнего доступа в настройках программы [Меню → Настройки → Сервер];
- Теперь перезапустите саму управляющую программу (не сервер);
- Выполните настройку файрвола закрыв на доступ извне все порты кроме тех, которые планируется использовать (например: 80,443,21,990,53);
Предупреждение
Не допускайте использования уязвимых скриптов, некорректной конфигурации модулей, простых паролей.
Встроенная защита от внешнего доступа
Выбор опции [Меню → Настройки → Сервер → Защитить сервер от внешнего доступа] отключит часть опасных функций PHP, доступ к веб-инструментам извне будет заблокирован, а доступ к диску для PHP скриптов будет ограничен корневой папкой доменов. Данная опция снижает производительность php-скриптов в 2-10 раз (зависит от интенсивности работы с файловой системой)!
Работа с Composer
Composer совместим со всеми версиями PHP начиная с 5.3 и в
Open Server Panel он доступен во всех совместимых модулях «из коробки».
Установка пакетов Composer
- Выполните [Меню → Дополнительно → Консоль];
- Перейдите в папку с тем сайтом, куда планируется установка;
- Выполните установку любого нужного вам пакета, например:
# Переход в папку с проектом cd C:openserverdomainslocalhost # Установка Symfony composer create-project symfony/framework-standard-edition symfony # Установка PHPUnit composer create-project phpunit/phpunit phpunit & echo @php -d output_buffering=0 phpunitphpunit %*>phpunit.bat # Установка Laravel composer create-project laravel/laravel laravel --prefer-dist # Установка phpDocumentor composer create-project phpdocumentor/phpdocumentor phpdocumentor
В будущем, чтобы обновить установленный таким образом проект, достаточно перейти в папку с нужным проектом и выполнить команду composer update:
cd C:openserverdomainslocalhostphpunit & composer update
Работа в консоли
Для запуска встроенной консоли необходимо запустить сервер и выполнить [Меню → Дополнительно → Консоль]. Среда окружения (англ. Environment) формируется в момент запуска сервера и передаётся всем запускаемым модулям. Любые другие программы, будь то консоль или IDE, так же могут получить правильное окружение, достаточно запускать эти программы из меню
Open Server Panel. Для этого можно либо сделать закладку, либо добавить ярлык в меню программ (см. разделы Меню закладок и Меню программ).
Необходимо знать, что если вы запускаете консоль или любую другую программу из стандартного меню Пуск или используя ярлык на рабочем столе Windows, а не из меню
Open Server Panel, то они не смогут работать с виртуальным окружением сформированным в
Open Server Panel.
Встроенную консоль можно запустить даже если сервер выключен, в Full версии выполните [Меню → Программы → Консоль]. Однако при выключенном сервере среда окружения не сформирована и поэтому работать из консоли с PHP и другими модулями или программами (wget, composer, скриптами и т.д.) будет невозможно.
Внимание!
Если вы запустили консоль ДО запуска сервера, то среда окружения НЕ станет доступна в консоли.
Чтобы начать полноценную работу с модулями после запуска сервера нужно закрыть и заново открыть встроенную консоль (саму программу ConEmu, а не только вкладку), поскольку только при запущенном сервере консоль получает правильно сформированное окружение в момент запуска из меню.
Точно так же среда окружения не будет обновлена в консоли если вы переключились на другой модуль PHP или MySQL и перезапустили сервер, но при этом не перезапустили консоль!
Внимание!
При запуске стороннего ПО (консоли, программы, IDE, скрипты и проч.) строго придерживайтесь правила: сначала запустить сервер — потом программу.
Если вы изменили настройки
Open Server Panel или конфиги модулей: выключить программу — потом запустиь её заново.
Не пытайтесь запускать софт в обход меню Open Server, т.к. в этом случае рабочее окружение не будет доступно в вашей программе.
Вопросы и ответы
Ничего не запускается?
Не стоит отчаиваться, загляните в общий лог программы и другие логи компонентов [Меню → Просмотр логов]. В подавляющем большинстве случаев там вы найдете причину неудачного старта. В более сложных случаях включите опцию [Запускать сервер в отладочном режиме], это позволит увидеть отладочную информацию при запуске. Так же добавьте
Open Server Panel в доверенные программы вашего файрвола или антивируса, если таковой имеется.
Пишет что порт 80, 3306 и т.д. уже занят!
Включите в настройках
Open Server Panel опцию [Запускать сервер в агрессивном режиме], в этом режиме все программы занимающие нужные порты будут принудительно закрыты. Добавьте
Open Server Panel в доверенные программы вашего антивируса/файрвола/прокси-сервера или отключите слежение за портами 80/443/21/90xx/3306 если оно есть. В отдельных антивирусах/файрволах возможны свои доп. настройки связанные с перехватом подключений программ к сети.
Пишет что нет прав доступа для работы в этой папке!
Вы пытаетесь запустить
Open Server Panel из папки, которая принадлежит другому пользователю, или же файлы
Open Server Panel были записаны на компьютер другим пользователем. Если
Open Server Panel будет запускаться пользователем Pavel (например), то войдите в систему под учётной записью Pavel и скопируйте
Open Server Panel в такую папку, которая принадлежит пользователю Pavel (имеются права на запись), после чего запуск сервера для этого пользователя станет возможным. Вместо копирования можно установить особые права доступа к папке с
Open Server Panel, обратитесь к администратору вашего компьютера.
Почему кнопки серые и не нажимаются?!
В любой момент времени активны только те кнопки и разделы меню, которые могут выполнить возложенное на них действие. Например: если сервер не запущен, то пункт меню PHPMyAdmin будет неактивен; если сервер запущен, то кнопки очистки логов будут недоступны и т.д.
Я не могу открыть меню когда флаг желтого цвета!
Желтый флажок говорит о том, что происходит выполнение команды (например запуск, остановка или сохранение настроек). Во время выполнения команд меню программы недоступно.
Создал 3000 доменов и теперь сервер не запускается!
Увеличьте кол-во проверок состояния сервера до 20-30 или выше в настройках программы [Меню → Настройки → Разное]. Переключитесь на использование HTTP модуля Apache если вы используете модуль Nginx.
Хочу протестировать сайт с учётом разных скоростей интернета (мобильные устройства к примеру)!
В
Open Server Panel существует возможность ограничения скорости передачи данных для симуляции медленной загрузки сайта. Для ограничения скорости воспользуйтесь меню
Open Server Panel: [Меню → Настройки → Разное]. Скорость можно ограничить в пределах 1-40 КБайт в секунду, установка значения в 0 или более 40 отменяет ограничение. Скоростной лимит устанавливается на каждый запрос, поэтому, если клиент одновременно откроет 4 картинки на сайте (4 соединения), то каждая из них будет загружаться с заданной скоростью.
Где редактировать настройки модулей?
Для редактирования настроек модулей пользуйтесь меню
Open Server Panel: [Меню → Дополнительно → Конфигурация].
Куда сохраняются мои письма?
По умолчанию все письма сохраняются во временную папку userdata/tmp/email/, во время остановки сервера эта папка не очищается. Можно настроить отправку писем через удалённый SMTP сервер: [Меню → Настройки → Почта].
Я нажимаю в меню программы на нужный сайт, но ничего не открывается!
Для работы многих пунктов меню требуется наличие корректно установленного и работающего браузера по умолчанию. Так же вы можете напрямую указать свой браузер в настройках программы: [Меню → Настройки → Меню].
Я создал домен local_site.loc, но он не работает!
Символа подчеркивания не может быть в имени домена, поэтому такой домен не подключается. Разрешенные символы: [a-z0-9.-].
Сервер не стартует с ip 192.168.0.1 и говорит что localhost работает только на ip 127.0.0.1!
Действительно, домен localhost можно использовать только с ip адресом 127.0.0.1, поэтому либо переименуйте этот домен, либо удалите его, если он вам не нужен.
Я хочу работать без виртуального диска!
Выберите в настройках
Open Server Panel работу без виртуального диска и скопируйте папку с сервером в такую директорию, путь до которой содержит только латиницу или цифры, в противном случае работа без вирт. диска будет невозможна.
Я не вижу виртуального диска!
Если вы работаете не под учётной записью администратора, но
Open Server Panel запущен с правами администратора, то виртуальный диск (если он используется) будет для вас недоступен.
Open Server Panel при этом будет работать нормально. Вы можете отключить использование виртуального диска в настройках, при этом учитывайте требования к абсолютному пути описанные в предыдущем ответе.
Сервер запускается, но браузер говорит что домен не найден!
Если в вашем браузере настроена работа через прокси сервер, то локальные сайты будут ему недоступны. Чтобы исправить ситуацию откажитесь от использования прокси в вашем браузере или добавьте локальные домены и IP адрес сервера в список исключений для прокси в настройках обозревателя. В ряде случаев нужно пересоздать файл HOSTS (см. Решение проблем).
Для чего нужна настройка вывода закладок вместо сайтов?
В таком режиме созданные закладки отображаются вместо списка доменов, это будет полезно при создании демо-сборок с установленными скриптами (см. Создание сборок).
Мне трудно пересоздавать закладки, пользователей FTP и т.д, нужно их просто отредактировать!
Не нужно пересоздавать записи заново, просто сделайте двойной клик на интересующей вас записи в таблице после чего эта запись сразу же удалится из списка и будет вынесена обратно в поля редактирования. Не забудьте добавить отредактированную запись обратно в таблицу!
Подключение к базе данных длится более 1 сек!
Отключите использование протокола IPv6 используя инструкцию из раздела Решение проблем данного руководства.
Я скопировал в папку с доменом свой скрипт, после перезапуска сервер не видит файлов и показывает ошибку!
Скорее всего вы скопировали или создали такую подпапку в папке с доменом, имя которой подпадает под условия автоматического поиска корневой папки домена (см. Домены и алиасы).
Сервер постепенно занял всё место на диске!
Постепенное исчезновение свободного места говорит о том, что вы отключили автоочистку логов при запуске сервера. В результате при активном использовании сервера лог-файлы вырастают до огромных размеров и занимают всё свободное место на диске. Очистите лог-записи в окне просмотра логов и включите автоочистку логов при старте в настройках
Open Server Panel. Очистите папку .userdatatmp от временных файлов.
Как мне создать собственную конфигурацию хоста для домена?
Используйте шаблон конфигурации виртуального хоста в папке с нужным доменом для создания особой конфигурации домена. При создании/изменении файла требуется перезапуск сервера. Шаблон конфигурации для нужного модуля можно найти в папке ./userdata/config/.
Например, если вы хотите создать собственную конфигурацию домена xxx.ru для модуля Apache-2.4.2, то скопируйте файл ./userdata/config/Apache-2.4.3_vhost.conf в папку с нужным доменом, отредактируйте этот файл под свои нужды и перезапустите сервер.
Или другой пример, при использовании модуля Apache+Nginx можно скопировать в папку домена оба файла конфигурации для каждого сервера: Apache-2.2.23+Nginx-1.2.4_vhosta.conf и Apache-2.2.23+Nginx-1.2.4_vhostn.conf.
Обратите внимание — при редактировании конфигурации хоста нельзя удалять или заменять системные переменные %…%, вы можете вносить только новые записи дополняющие конфигурацию.
Как и где редактируются конфиги компонентов?
В
Open Server Panel используются файлы-шаблоны конфигурации, которые доступны через общее меню программы. Не пытайтесь редактировать временные файлы конфигов, которые создаются в момент запуска сервера, это не имеет смысла. Шаблоны конфигурации индивидуальны для каждого модуля, т.е. если вы выберите какой-либо из модулей в качестве активного, то будут активированы и шаблоны настроек именно этого модуля. Например: вы сконфигурировали шаблон файла php.ini при активном модуле PHP 5.2, после чего выбрали модуль PHP 5.3 в качестве активного. В этом случае вам необходимо еще раз сконфигурировать шаблон файла php.ini уже для модуля PHP 5.3.
Сами шаблоны настроек для всех модулей и инструментов хранятся в папке ./userdata/config/, их нельзя использовать как реальные конфиги и указывать при запуске модулей, консолей и скриптов. В процессе запуска шаблоны конфигурации проходят через парсер, который заменяет все переменные-подстановки на реальные данные и сохраняет уже готовые файлы конфигурации в папку ./userdata/temp/config/.
Как указать особые настройки подключения к SMTP серверу для выбранного домена?
В
Open Server Panel существует возможность отправки почты через сторонний SMTP сервер, при этом все домены используют те параметры подключения, которые были указаны пользователем в окне настроек
Open Server Panel. Для того чтобы определённый домен мог использовать собственные настройки подключения к SMTP серверу нужно указать их в шаблоне конфигурации этого хоста. Откройте шаблон конфигурации виртуального хоста (как его создать описано в предыдущем ответе) в папке с нужным доменом и добавьте в описание хоста следующее содержимое (одной строкой):
php_admin_value sendmail_path "%mailway% -t --smtp-ssl=none --smtp-server=smtp.xxx.xx --smtp-port=xx --smtp-from=xxx@xxx.xx --smtp-user=xxx@xxx.xx --smtp-pass=xxxxxx --pop3-server=pop3.xxx.xx --pop3-user=xxx@xxx.xx --pop3-pass=xxxxxx"
Например:
<VirtualHost *:%httpport%> %limit% DocumentRoot "%hostdir%" ... php_admin_value sendmail_path "%mailway% -t --smtp-ssl=none --smtp-server=smtp.xxx.xx --smtp-port=xx --smtp-from=xxx@xxx.xx --smtp-user=xxx@xxx.xx --smtp-pass=xxxxxx --pop3-server=pop3.xxx.xx --pop3-user=xxx@xxx.xx --pop3-pass=xxxxxx" ... </VirtualHost>
Последнюю часть строки —pop3-server=pop3.xxx.xx —pop3-user=xxx@xxx.xx —pop3-pass=xxxxxx добавляйте только в том случае, если требуется авторизация POP3 перед SMTP. Возможные значения для параметра —smtp-ssl= это none,auto,ssl или tls.
Необходимо помнить, что при указании собственных настроек подключения к SMTP серверу отправка почты для выбранного домена будет работать не зависимо от основных настроек
Open Server Panel. Так же обратите внимание на то, что все данные SMTP сервера включая логин и пароль будут доступны в php скриптах и видны в информации phpinfo(), поэтому в целях безопасности не рекомендуется пользоваться описанной возможностью указания настроек отправки почты в конфиге хоста.
Решение проблем
Ниже представлен порядок действий необходимых для решения проблем с запуском сервера. После выполнения каждого действия необходимо повторить пробный запуск сервера, а в случае сбоя запуска можно переходить к выполнению следующего пункта.
- Запустите установщик
Open Server Panel и не выбирая никакие компоненты к установке перейдите к окну выбора доп. задач и выполните установку DLL библиотек, настройку системы и прав доступа к файлам. - Убедитесь что IP адрес, заданный в настройках, существует (кроме [*]). Так же убедитесь что все другие настройки программы корректны.
- Добавьте
Open Server Panel в доверенные программы вашего файрвола/антивируса или настройте их должным образом, если таковые имеются. - Запустите [Меню → Просмотр логов], попробуйте найти причину проблемы и устранить её (если это возможно).
- Включите в настройках
Open Server Panel опцию [Запускать сервер в отладочном режиме] и попробуйте найти причину проблемы и устранить её (если это возможно). - Выполните через консоль (запускать от имени Администратора) следующую команду: attrib -s -r -h -a C:Windowssystem32driversetchosts
- Активируйте службу DNS если она отключена и запустите её, отключите все службы в имени которых присутствует IIS.
- Отключите глобальные прокси и проксификаторы если они установлены на вашем компьютере.
Информация
Очень распространённая проблема это занятый порт 80, занимает его обычно программа Skype. Для устранения проблемы перейдите в [Настройки Skype → Дополнительно → Соединение] и снимите галочку с пункта [Использовать порты 80 и 443 в качестве альтернативных].
Контроль учётных записей пользователей (UAC)
При включённой службе контроля учётных записей пользователей (UAC) и запуске без прав администратора
Open Server Panel не будет иметь доступа к HOSTS файлу и автоматически перейдёт в ограниченный режим работы. Как правило, об ограниченном режиме сигнализирует наличие только одного домена localhost в меню программы, в то время как ранее были созданы и другие домены. Чтобы исправить ситуацию включите опцию [Требовать учётную запись Администратора] в настройках
Open Server Panel и перезапустите программу, либо отключите контроль учётный записей (UAC).
Если у вас отсутствует возможность отключения UAC или запуска программы с правами администратора, то существует несколько вариантов решения данной проблемы:
- Использование встроенного DNS сервера (настройка согласно Руководства);
- Активация опции [Не вносить изменения в HOSTS файл] + ручное редактирование этого файла;
- Установить разрешающие права записи в HOSTS файл для всех пользователей Windows;
- Отказ от возможности управления доменами и работа с единственным доменом localhost;
Создание сборок
Что это такое и зачем это нужно?
Например у вас есть свой проект (допустим некая CMS), который вы бы хотели сделать доступным на своём сайте в качестве демо-версии для потенциальных клиентов, показать заказчику или попросту сделать демонстрационный пакет на все случаи жизни. Нужно чтобы ваш программный продукт работал одинаково хорошо у всех, в одинаковой конфигурации, уже был установлен и готов для работы или ознакомления. В этом вам как раз и поможет
Open Server Panel.
Вы сможете создать готовый и самое главное рабочий мини-сервер с уже установленным скриптом, CMS системой, сайтом, проектом и т.д., а вашим клиентам останется его только скачать и запустить. Ваш продукт будет изначально работоспособен, не потребуется искать для него сервер, не нужно будет выполнять установку, настройку и т.д.
Как создать кастомную сборку
- Скачайте дистрибутив
Open Server Panel Basic последней версии и распакуйте его во временную папку. Перейдите в папку куда был распакован дистрибутив и запустите программу
Open Server Panel.exe. - Удалите ненужные модули в папке ./modules/php/*, ./modules/database/* и ./modules/http/* оставив в папках только по одному модулю, которые будут использоваться для вашего программного продукта. Если вы не планируете использовать модули DNS, Redis и Memcached, то папки с этими модулями так же можно удалить: ./modules/dns/*,./modules/redis/* и ./modules/memcached/* соответственно. Не удаляйте корневые каталоги с подтипом модулей даже если они пусты, это сделает программу неработоспособной.
- Нажмите [Меню → Настройки] и выберите для использования те модули, которые вы не удалили. Установите IP адрес сервера в значение 127.0.0.1, отключите [Автоматическую проверку обновлений], не отключайте опцию [Автоматически определять потребность в виртуальном диске]. Установите все другие нужные вам настройки.
- Нажмите [Меню → Дополнительно → Конфигурация] и настройте шаблоны конфигурации нужных модулей под ваш продукт (скрипт/сайт/cms), если это необходимо.
- Запустите сервер и установите ваш программный продукт (скрипт/сайт/cms) на домен localhost, который присутствует в
Open Server Panel по умолчанию. Выполните необходимые действия по настройке скрипта после чего выйдите из всех форм авторизации где вы авторизовались (например: личный аккаунт, администрирование и т.д.). - Остановите сервер. Нажмите [Меню → Настройки] и создайте закладки для основных страниц вашего программного продукта (например: Админ-панель, Личный аккаунт, Главная страница). Включите в настройках
Open Server Panel опцию [Показывать закладки вместо сайтов]. Сохраните настройки. - Нажмите [Меню → Выход] и переименуйте файл программы согласно имени вашего продукта, например ./временная папка/
Open Server Panel.exe в ./временная папка/MegaCMS Server.exe. - Теперь упакуйте содержимое временной папки в самораспаковывающийся архив. Тип и формат архива зависит лишь от предполагаемой формы распространения сборки.
- Готово!
Вышеописанным способом вы можете подготавливать не только кастомные сборки, но и dev-пакеты для разработчиков, offline-презентации сайтов, архивы порталов, интерактивные материалы на CD и т.д.
Сервер Ubuntu получил множество наград за свое имя, и его популярность продолжает достигать вершин успеха, учитывая его состав контейнеров и совместимость с облаком. Это простое, но подробное руководство расскажет обо всем, что нужно знать новичку об установке сервера Ubuntu на свой компьютер.
Прочтите, чтобы узнать, почему сервер важен, как вы можете его использовать и многое другое.
Если вы новичок и все еще новичок в мире Linux, вам, вероятно, будет интересно, о чем идет речь. Ubuntu Server – это серверная операционная система (ОС), разработанная и принадлежащая Canonical.
Ubuntu Server совместим с различными типами архитектуры, что означает, что он может без проблем работать на следующих устройствах:
- x86
- x86-64
- ARM v7
- ARM64
- POWER8 и
- Мэйнфреймы IBM System z через LinuxONE
Сервер Ubuntu имеет четыре основных требования, и ваша система должна соответствовать следующим критериям:
- Оперативная память: 4 ГБ памяти
- ЦП: двухъядерный процессор с тактовой частотой 2 ГГц
- Хранение: минимум 25 ГБ дискового пространства
- USB-накопитель: USB-накопитель не менее 4 ГБ
Установка сервера Ubuntu на ваш компьютер
Чтобы установить Ubuntu Server, начните с загрузки и создания установочного носителя. Затем вы можете приступить к установке Ubuntu Server на свой сервер.
Шаг 1. Загрузите установочный носитель
- В качестве первого шага вам необходимо посетить страницу загрузки Ubuntu Server и выбрать вариант 2 – Установка сервера вручную . Последняя версия – Ubuntu 20.04, выпущенная 23 апреля 2020 года. Это версия с долгосрочной поддержкой (LTS), поэтому Linux будет предоставлять поддержку и обновления до апреля 2025 года.
- Загрузите соответствующий файл ISO, который будет использоваться для создания установочного носителя.
Шаг 2. Создайте загрузочный USB
Если в вашей системе есть DVD-привод, вы можете записать ISO-файл на диск. В качестве альтернативы вы можете создать загрузочный USB-накопитель для установки Ubuntu Server. В этом примере используется рабочий стол Ubuntu.
- Подключите USB-накопитель к компьютеру
- На рабочем столе Ubuntu используйте нижний левый значок, чтобы открыть меню Показать приложения.
- В поле поиска введите «запуск» и выберите « Создатель загрузочного диска».
- Если программа Startup Disk Creator не находит файл ISO автоматически в папке «Загрузки», нажмите « Другое», чтобы найти его.
- Убедитесь, что в разделе « Диск для использования» выбран правильный целевой диск, затем нажмите « Создать загрузочный диск» , подтвердив запрос при появлении запроса.
Вот и все; Загрузочная версия Ubuntu на USB-накопителе теперь доступна для установки.
Шаг 3. Установите порядок загрузки
В меню BIOS выберите, какие устройства следует проверить на наличие загрузочной ОС. Варианты включают внутренние жесткие диски, USB-накопитель и привод CD / DVD-ROM (если он доступен). Выберите устройство, соответствующее тому, как вы настроили загрузочный носитель выше.
Большинство версий BIOS позволяют вызывать меню загрузки при запуске ; вы можете использовать следующие клавиши, чтобы поднять его, в зависимости от модели, которую вы используете.
Название производителя | Ключи загрузки |
---|---|
ASUS | F8 или Esc |
Compaq | F9 или Esc |
eMachines | F12 |
HP | F9 или Esc |
Samsung | F2, F12 или Esc |
Acer | F12, F9 или Esc |
Dell | F12 |
Fujitsu | F12 |
Lenovo | F8, F10 или F12 |
Toshiba | F12 |
Вставьте созданную вами установку Ubuntu Server. Включите компьютер и подождите, пока он загрузится с USB-накопителя.
Шаг 4: Выберите I становка V ersion
Выберите опцию Установить сервер Ubuntu из списка опций. Вы можете перемещаться по параметрам с помощью клавиш со стрелками. Нажмите Enter, чтобы выбрать желаемый вариант.
Примечание. Если в вашей системе установлена видеокарта NVIDIA, вы можете выбрать вариант « Установить Ubuntu Server (безопасная графика)» из этого списка.
Шаг 5: Выберите язык
Выберите желаемый язык; нажмите Enter .
Шаг 6. Пропустите обновление установщика
Если доступно новое обновление установщика, на экране установки будет отображаться возможность использовать старую программу установки или обновить ее до новой.
Выберите один из следующих вариантов:
- Обновитесь до нового установщика
- Продолжить без обновления
В зависимости от того, какой вариант вы выберете, установщик перейдет к следующему экрану.
А пока для целей установки перейдем ко второму варианту: « Продолжить без обновления» .
Шаг 7. Выберите раскладку клавиатуры.
Выберите предпочтительную раскладку клавиатуры. Кроме того, вы также можете выбрать « Определить клавиатуру», чтобы выбрать клавиатуру автоматически. Выберите Готово , а затем нажмите Enter .
Шаг 8: Настройка сетевых интерфейсов
Чтобы установка сервера прошла успешно, необходимо настроить по крайней мере один сетевой интерфейс, чтобы сервер мог взаимодействовать с другими системами в сети.
Если к вашему устройству Ubuntu Server подключен кабель Ethernet, выберите параметр eth . Для подключения к Wi-Fi выберите интерфейс с отображаемым IP-адресом DHCP. Обратите внимание, что, выбрав этот параметр, вы также можете переключить его на статический IP-адрес.
Выберите Готово , а затем нажмите Enter .
Шаг 9. Настройте сведения о прокси-сервере для подключения к Интернету.
Если у вас есть данные о прокси, вы можете ввести их на этом экране. Если нет, оставьте поле пустым.
Выберите Готово , а затем нажмите Enter .
Шаг 10: Настройте зеркало архива Ubuntu
Зеркало по умолчанию выбирается автоматически. Если вы не хотите устанавливать адрес по умолчанию, у вас есть возможность выбрать альтернативный.
Выберите Готово , а затем нажмите Enter .
Шаг 11: Выберите конфигурации хранилища
На этом экране есть два варианта:
- Использовать весь диск: выбор этого параметра приведет к стиранию всего жесткого диска и автоматическому разбиению диска на разделы. Убедитесь, что у вас нет ранее сохраненной ценной информации, так как вы не сможете получить эту информацию после создания разделов.
- Пользовательский макет хранилища: этот вариант предназначен исключительно для промежуточных и опытных пользователей и позволяет вам настроить разделы и выбрать один для установки Ubuntu Server. Избегайте этого, если вы новичок в установке серверных операционных систем.
Выберите Готово , а затем нажмите Enter .
На следующем экране отображается сводка изменений, которые будут внесены в систему. Просмотрите конфигурации системы и при необходимости внесите изменения.
Выберите Готово , а затем нажмите Enter .
На следующем экране установщик покажет всплывающее окно с запросом окончательного подтверждения для начала процесса установки. Если вы уверены, что все соответствует требованиям, выберите « Продолжить» или « Нет» , в зависимости от обстоятельств.
Шаг 12: Настройте свой профиль
После завершения установки на следующем экране вас попросят ввести следующие данные:
- Ваше имя
- Имя вашего сервера
- Выберите никнейм
- выберите пароль
- Подтвердите ваш пароль
Обязательно дайте серверу Ubuntu разумное имя, чтобы его можно было легко найти в сети. Кроме того, используйтенадежный и легко запоминающийся пароль .
Выберите Готово , а затем нажмите Enter .
Шаг 13: Настройка SSH
Ubuntu дает вам возможность получить удаленный безопасный доступ к вашему серверу, настроив детали сервера OpenSSH. У вас есть возможность импортировать ключ идентификации SSH из GitHub или Launchpad, если хотите.
Если вы не хотите импортировать ключ, выберите Готово , а затем нажмите Enter .
Шаг 14: Установите рекомендуемые серверные снимки
Есть несколько популярных снимков, которые можно установить на сервере после установки. У каждого есть описание, чтобы вы знали, для чего он нужен.
Выберите необходимые снимки, затем нажмите «Готово» и « Ввод» .
Шаг 15: установка завершена
Ubuntu завершит установку остальных компонентов сервера. Как только установка будет завершена, выберите опцию «Перезагрузка».
Предупреждение: извлеките USB-накопитель из машины перед тем, как выбрать параметр «Перезагрузить». В противном случае Ubuntu может начать переустанавливать все при включении машины.
Если вы не видите ничего, кроме экрана журнала, нажмите клавишу ввода несколько раз.
Шаг 16: Войдите на сервер Ubuntu
Система запросит ваши данные для входа и пароль. Введите данные, настроенные на предыдущем шаге. Если вы можете войти в систему и видите экран с системной информацией, значит, вы успешно установили сервер Ubuntu 20.04 LTS на свой компьютер.
Готовы ли вы установить Ubuntu 20.04 на свой компьютер?
Приведенные выше шаги довольно просты, и если вы последуете им до конца, вы тоже сможете без проблем установить сервер Ubuntu на свой компьютер. Если вы новичок, эти шаги должны облегчить вам процесс установки Ubuntu и облегчить вам жизнь, когда вам нужно переустановить новую версию сервера, когда и когда она будет доступна.
В этой статье расскажем о настройке сервера для сайта или любого другого проекта на базе Linux своими руками. Будем использовать DigitalOcean хостинг и операционную систему Ubuntu 20.04 LTS — это последняя стабильная версия с долгим сроком поддержки (как минимум до 2025 года можно спокойно пользоваться).
Почему именно наша инструкция? В ней мы делимся своим опытом и рассказываем о неочевидных моментах, которых нет в стандартных инструкциях по настройке сервера с нуля. Любые вопросы вы можете задать в комментариях — постараемся ответить.
Создание дроплета (виртуального сервера)
Идём на DigitalOcean, регистрируемся. Ссылка реферальная, по ней вам дадут кредит на 100 $ на 60 дней. Хватит на 2 месяца бесплатных экспериментов, а затем 5 $ в месяц — точно не выше средней цены по рынку за VPS аналогичной мощности и возможностей.
Страница регистрации DigitalOcean, сверху должна быть надпись про 100 $
После регистрации в окне «What are you trying to build?» жмём на «Go to Control Panel», далее выбираем Create — Droplet. Выбираем Ubuntu 20.04, самый дешёвый дроплет за 5 $. Бэкапы на ваше усмотрение. Любое размещение, которое вам нравится (лучше что-то ближе к вам или вашему VPN географически, чтобы пинг был меньше — Амстердам или Франкфурт, если вы в Москве). Из опций включаем IPv6, чтобы поддерживать последние стандарты, остальное нам пока не нужно. SSH-ключ можете добавить, чтобы сразу логиниться на сервер с ним — это безопаснее, чем обычный пароль. Но мы всё равно сразу настроим новый аккаунт и отключим доступ суперпользователю по SSH, так что если у вас нет ключа, можете не добавлять. В этом случае пароль root генерируем случайный и сохраняем в любимом менеджере паролей. Выбираем любой hostname, лучше исходя из назначения сервера. Например, wordpress-blog.
Выбор настроек при создании дроплета — вашего виртуального сервера
Готово! Теперь у вас уже есть свой хостинг, в котором вы можете менять любые настройки и открывать любые проекты. Но сначала немного настроек для удобства и безопасности.
Обновление сервера и настройка доступа
После создания открываем наш дроплет в DigitalOcean и копируем его ipv4. Запускаем программу для доступа по SSH. Для Windows рекомендуем PuTTY, для Linux или Mac ничего не нужно — просто командная строка и утилита SSH.
В PuTTY вбиваем IP-адрес в поле Host Name, а если вы использовали SSH-ключ, то указываем его в разделе SSH — Auth. Затем жмём Open. При первом подключении к новому серверу PuTTY спросит, можно ли ему доверять. Соглашайтесь, это же ваш сервер. Далее будет запрос логина и пароля — пишем логин root и пароль, который вы задали ранее. Для новичков — пароль при вводе не будет отображаться, как будто ничего не работает. Это нормально. Просто скопируйте пароль и нажмите правой кнопкой мыши в окне PuTTY — он добавится из буфера, потом нажмите Enter.
Пример настроек PuTTY для подключения к серверу, если вам выдали ip-адрес 46.101.211.182
Пример окна PuTTY после подключения к серверу и ввода логина и пароля
Далее сразу обновим все пакеты и защитимся от возможных уязвимостей в старых версиях: apt-get update && apt-get upgrade
.
Далее открываем инструкцию по начальной настройке сервера и выполняем всё по шагам. Имя пользователя пишем строчными буквами на латинице без точек, дефисов и любых других разделителей.
Настраиваем доступ по SSH. Для Windows генерируем ключ в PuTTYgen (должен был установиться вместе с PuTTY, если нет, то скачиваем), для Linux и Mac достаточно вбить в консоли ssh-keygen, как сказано в инструкции.
В PuTTYgen копируем строку из поля с публичным ключом
Этот ключ необходимо будет поместить в файл /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.authorized_keys на сервере. Об этом написано в инструкции, но можете просто выполнить команды:
mkdir ~/.ssh
nano ~/.ssh/authorized_keys
Вставляем наш ключ (Shift+Insert или правая кнопка мыши для Windows), сохраняем (Ctrl+O, Enter), выходим (Ctrl+X).
Выставляем корректные права на директорию и файл:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Disclaimer Необходимо убедиться, что весь ключ в файле представляет собой одну длинную строку, разрывы и переносы на другие строки не допускаются.
Пробуем залогиниться с ключом из PuTTY. Для этого надо выйти из текущей сессии, набрав в консоли exit
. Потом снова запускаем PuTTY (для Windows) — добавляем перед адресом сервера своё имя, затем @. В настройках на SSH — Auth указываем путь к приватному ключу (поле Private key file for authentication). Затем возвращаемся в окно Session, пишем какое-нибудь понятное вам имя в поле Saved Sessions и сохраняем всё кнопкой Save справа.
На этом основная настройка сервера сайта (или не сайта, мы не знаем, зачем вам этот сервер) закончилась. Дальше поработаем над безопасностью и дополнительными удобствами.
Обеспечение безопасности
Если вы не очень переживаете о безопасности и не хотите вбивать пароль каждый раз, когда нужно выполнить команду от имени суперпользователя, то вот инструкция, как сделать так, чтобы sudo каждый раз не просил пароль. Но мы не рекомендуем вам это делать, потому что тогда теряется вообще весь смысл создания отдельного пользователя без прав root — любой, кто завладел вашим SSH-ключом, автоматически получает все права в системе.
Поскольку мы уже создали отдельного пользователя, то далее нам нужно отключить доступ по SSH для root. Это нужно для того, чтобы никто даже теоретически не смог подключиться к серверу сразу со всеми возможными правами. Открываем для редактирования файл /etc/ssh/sshd_config и меняем там значение одного параметра:
PermitRootLogin no
Затем перезапускаем SSH, чтобы настройки применились:
sudo service ssh restart
Добавим ещё немного безопасности. Меняем порт для SSH в /etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config
Редактируем строку #Port 22 — заменяем на Port 3399 (тут любое четырёхзначное число, которое вы придумаете, не берите из нашего примера).
Не забываем обновить правила в firewall:
ufw allow 3399/tcp
Здесь также замените номер на тот, что выбрали.
Удаляем предыдущее правило для порта по умолчанию:
sudo ufw delete allow OpenSSH
Перезапускаем SSH командой sudo service ssh restart
, проверяем.
И устанавливаем защиту от перебора паролей. Обратите внимание, что в инструкции по ссылке используется порт 22 для защиты. Вам нужно указать другой номер — тот, который вы выбрали для доступа по SSH.
Дополнительные настройки сервера
Настроим ротацию логов (опционально), чтобы сохранять больше истории и сжимать старые логи.
Настраиваем таймзону: взяли из этого мануала — хорошее полное руководство по настройке Ubuntu в целом. Настраиваем синхронизацию времени.
Настраиваем DNS, ибо сервер, используемый по умолчанию, не работает корректно для некоторых имён. Рекомендуем добавить сервер 1.1.1.1.
И бонус: раскрашиваем консоль bash и добавляем подсветку синтаксиса в nano.
Выключаем сервер sudo poweroff
и создаём снимок с начальной настройкой, чтобы потом можно было легко вернуться к нему в случае необходимости. Затем для включения заходим в админку DigitalOcean и щёлкаем по тумблеру On.
Создание снапшота с начальной настройкой вашего сервера
Поздравляем, вы настроили свой первый сервер! Пользы от него пока что никакой, просто удалённый Linux, в котором можно изучать устройство ОС и вбивать разные команды. Дальше вам нужна другая инструкция, например по настройке веб-сервера.
Пишите в комментарии, если на каких-то этапах у вас возникли трудности — дополним инструкцию. Какие ещё статьи вы хотели бы видеть по дальнейшей работе с сервером?
Управление виртуальным сервером осуществляется с помощью командной строки. Для этих целей удобнее всего использовать бесплатную программу PuTTy. Она не требует установки: скачав и запустив утилиту, вы можете тут же подключиться к VDS по протоколу SSH, введя IP-адрес (номер порта по умолчанию — 22) и нажав на кнопку “Open”. После этого на экране появится окно консоли с приглашением к авторизации “login as:”. Введите root, нажмите “Enter”, далее укажите полученный при заказе услуги пароль и вновь подтвердите действие клавишей ввода. Теперь можно начинать работу.
Сама процедура настройки VDS представляет собой ввод в консоль текстовых команд, с помощью которых можно осуществлять практически любые операции над сервером. Ниже рассмотрена последовательность базовых действий, которые необходимо осуществить сразу после запуска виртуальной машины, а также пошаговая установка связки программного обеспечения, необходимого для размещения веб-сайтов. Примеры адаптированы для двух наиболее распространенных семейств Линукс: Debian (к ней относится, например популярный Ubuntu) и Centos (в него входит сам Centos, Fedora и ряд других).
Внимание! Для ОС версии Bitrix 6, устанавливаемой на VDS, установка LEMP не требуется!
Первоначальная настройка VDS
Обновление программного обеспечения
Начинать настройку VDS необходимо с глобального обновления. Запустить апдейт в Debian-подобных операционных системах можно следующим образом:
apt-get update && apt-get upgrade
для Centos команда иная:
В процессе обновления вас спросят о том, хотите ли вы установить новые пакеты. Отвечайте утвердительно, используя клавишу Y, и подтвердите свой выбор, нажав “Enter”.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Добавление нового пользователя
Работать с сервером под учетной записью root настоятельно не рекомендуется — лучше всего создать нового пользователя и передать ему необходимые права. В Debian-подобных системах это делается командой:
где username следует заменить на желаемое имя пользователя. После ее выполнения вас попросят задать пароль, а затем предложат заполнить дополнительные поля (делать это необязательно — их можно оставить пустыми).
При работе с Centos также используется команда:
Однако пароль задается отдельно:
Передача привилегий root
После создания нового пользователя ему необходимо передать права суперадминистратора, в противном случае вы не сможете полноценно настроить VDS. Делается это через добавление вновь созданной учетной записи в соответствующую группу. Для Debian-подобных:
для Centos-подобных:
gpasswd -a username wheel
Управление SSH
В целях безопасности необходимо проделать ряд манипуляций с конфигурационным файлом sshd_config, который, как легко догадаться, отвечает за настройку удаленного подключения к серверу по SSH. В разных дистрибутивах Линукс для редактирования используются различные утилиты, соответственно, и команды для них будут несколько различаться. В Debian-подобных применяется nano:
nano /etc/ssh/sshd_config
Для сохранения внесенных изменений необходимо нажать комбинацию клавиш Ctrl+X, затем Y и “Enter”. Centos имеет в своем составе редактор vi:
Сохранение информации осуществляется командой :x, после чего необходимо нажать “Enter”.
В sshd_config следует запретить вход с помощью учетной записи root, заменив
на
а также поменять порт SSH, используемый по умолчанию, заменив
например, на
Номер порта лучше выбирать из диапазона 49152-65535 — это позволит избежать возможных конфликтов с различными службами и сервисами Линукс. После описанных манипуляций необходимо перезапустить SSH. В Debian это делается так:
а в Centos:
Теперь необходимо переподключиться к серверу через назначенный порт под новой учетной записью, после чего настройку VDS можно продолжать.
Установка и настройка LEMP
Большинство современных CMS написаны на языке программирования PHP. Это означает, что для размещения практически любого сайта, независимо от типа и функционала, нам понадобится LEMP. Данная аббревиатура обозначает связку современного и очень быстрого веб-сервера Nginx, интерпретатора php-fpm и системы управления базами данных MySQL. Процедура установки достаточно проста и не займет много времени.
Установка Nginx
Начнем с установки Nginx. В Debian-подобных дистрибутивах это делается одной строчкой:
sudo apt-get install nginx
после чего сервер будет автоматически запущен.
В Centos сперва необходимо добавить репозиторий EPEL:
sudo yum install epel-release
и только после этого производить установку:
Финальный этап — запуск Nginx:
sudo systemctl start nginx
Установка MySQL
В Debian-подобных операционных системах сервис баз данных устанавливается командой:
sudo apt-get install mysql-server mysql-client
В процессе вас попросят задать пароль администратора MySQL.
В Centos-подобных дистрибутивах вместо MySQL используется форк MariaDB, обладающий теми же функциональными возможностями. После его установки:
sudo yum install mariadb-server mariadb
сервер баз данных необходимо запустить, а также добавить в список автозагрузки:
sudo systemctl start mariadb sudo systemctl enable mariadb
Настройка MySQL
Первичная настройка сервера баз данных осуществляется с помощью специального скрипта, идущего в комплекте с основным ПО:
sudo mysql_secure_installation
После запуска вас попросят ввести пароль администратора MySQL, который мы задали на предыдущем этапе, а затем зададут ряд вопросов, отвечать на которые необходимо кнопками Y (да) и N (нет), подтверждая выбор клавишей “Enter”:
- Хотите ли вы сменить пароль? (Change the root password?) — Нет (N)
- Удалить анонимных пользователей? (Remove anonymous users?) — Да (Y)
- Запретить удаленную авторизацию с правами суперпользователя? (Disallow root login remotely?) — Да (Y)
- Удалить тестовую базу данных? (Remove test database and access to it?) — Да (Y)
- Перезагрузить таблицу привилегий? (Reload privilege tables now?) — Да (Y)
Добавление новой базы данных
Управление базами данных осуществляется через консоль MySQL. Чтобы в нее войти, необходимо ввести команду:
после чего авторизоваться, используя пароль администратора.
Для размещения динамического сайта необходимо создать базу данных, с которой будет работать движок. Обычно для каждого проекта создается отдельная БД и отдельный пользователь, который может ей управлять. Давайте создадим базу данных sitedb, пользователя site_user, а затем передадим последнему права на управление sitedb (вы можете заменить предложенные имена на любые другие).
Делается это следующим образом:
Создаем базу данных:
Создаем пользователя (вместо password укажите уникальный пароль)
CREATE USER site_user@localhost IDENTIFIED BY 'password';
Передаем права управления sitedb пользователю site_user:
GRANT ALL PRIVILEGES ON sitedb.* TO site_user@localhost IDENTIFIED BY 'password';
Обновляем данные о привилегиях:
По завершении всех операций выйдите из консоли MySQL:
Установка PHP
Важный этап настройки VDS — установка и конфигурирование интерпретатора PHP. Команды для разных дистрибутивов Линукс отличаются. Инсталляция в Debian осуществляется так:
sudo apt-get install php5-fpm php5-mysql
В Centos — немного иначе:
sudo yum install php php-mysql php-fpm
Конфигурация PHP
Первый шаг — редактирование файла php.ini. В Debian и Ubuntu он располагается здесь:
sudo nano /etc/php5/fpm/php.ini
В Centos-подобных дистрибутивах — непосредственно в каталоге etc:
В обеих системах сперва необходимо раскомментировать и поменять значение в следующей строчке:
на
Таким образом, мы закрыли важную уязвимость, с помощью которой злоумышленники могли бы получить несанкционированный доступ к сайту. На этом настройка интерпретатора на Debian завершена, осталось перезапустить PHP-процессор:
sudo service php5-fpm restart
В Centos же необходимо отредактировать и файл www.conf:
sudo vi /etc/php-fpm.d/www.conf
Здесь требуется найти строчку
и заменить на
listen = /var/run/php-fpm/php-fpm.sock
Также меняем
listen.owner = nobody listen.group = nobody
на
user = nginx group = nginx
Далее запускаем интерпретатор, а также вручную добавляем его в автозагрузку:
sudo systemctl start php-fpm sudo systemctl enable php-fpm
Создание директории
Теперь необходимо создать каталог, в котором будут располагаться файлы вашего ресурса. В любой операционной системе Линукс это делается следующей командой:
sudo mkdir /var/www/sitename.ru/public_html
В данном примере sitename.ru необходимо заменить на доменное имя сайта. Что касается файлов CMS, их следует загрузить в папку public_html. По завершении загрузки необходимо передать права управления веб-серверу. Здесь есть различия в именах, используемых для обозначения Nginx. Для Debian-подобных дистрибутивов команда будет выглядеть так:
sudo chown -R www-data:www-data /var/www/html/*
В Centos иначе:
sudo chown -R nginx:nginx /var/www/html/*
Добавление нового хоста Nginx
Последний этап настройки VDS для размещения сайта — добавление виртуального хоста Nginx. Нам достаточно отредактировать файл default. В семействе Debian это делается так:
sudo nano /etc/nginx/sites-available/default
В Centos:
sudo vi /etc/nginx/conf.d/default.conf
Открыв файл, удалите из него всю информацию, заменив на код, представленный ниже (вместо sitename.ru подставьте актуальное имя сайта), и сохраните результат:
server { listen 80; server_name sitename.ru; server_name_in_redirect off; access_log /var/log/nginx/sitename.access_log; error_log /var/log/nginx/sitename.error_log; root /var/www/sitename.ru/public_html; index index.php index.html index.htm default.html default.htm; location / { try_files $uri $uri/ /index.php?$args; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ .php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Осталось перезапустить Nginx. Команда для дистрибутивов Debian:
sudo service nginx restart
Для Centos:
sudo systemctl restart nginx
Теперь виртуальный сервер полностью готов к эксплуатации, и можно начинать работу непосредственно с веб-ресурсом. Дальнейшие шаги зависят от выбранной CMS.
Использование VPS в качестве сетевого диска
127 просмотров 2023-04-19
Мы знаем, что вы много работаете. Основную часть дня вы работаете за рабочим компьютером в офисе. Вечерами и по выходным вы работаете за домашним компьютером…
Перенос сайта с использованием ISPmanager 6
45 просмотров 2023-04-12
В данной статье рассмотрим, как своими силами перенести сайт с одного сервера на другой. На сервере, который станет для нашего сайта новым, мы будем использовать…
Политика тестирования и релизы
72 просмотров 2023-03-01
Целый раздел или часть функций могут находиться в публичном Альфа тестировании. Все тестируемые функции помечены маркировкой альфа или бета. Функции, которые не маркированы этими значками,…
Первоначальная настройка сервера с Debian 11
2949 просмотров 2022-11-28
При установке чистой операционной системы Debian 11 необходимо сделать несколько несложных шагов по её настройке, которые являются частью базовой конфигурации виртуального сервера. Эти настройки позволят…
Как привязать банковскую карту
208 просмотров 2022-11-02
Для оплаты услуг на сайте RUVDS доступна опция прямого перечисления средств с банковской карты пользователя. Такой метод оплаты удобен по двум причинам. Во-первых, с помощью…
Введение в SELinux под Ubuntu 20.04
1221 просмотров 2022-10-11
В операционных системах семейства Linux существует такое понятие как Security Enhanced Linux (SELinux). Это – не что иное, как система контроля доступа. Данная система разрабатывалась…
Первоначальная настройка терминала Bitrix
719 просмотров 2022-02-16
Не секрет, что создать качественный сайт с большим набором опций и инструментов можно даже не обладая навыками программирования. Шаблон практически готового интернет-ресурса, обладающего необходимым функционалом,…
Вход для бухгалтера RUVDS
603 просмотров 2021-11-19
С 2020 года бизнес во всём мире живёт в новой “коронавирусной” реальности. Повседневностью большого количества людей стала “удалёнка”. При этом работа в режиме удалённого доступа…
Панель управления сервером ISPmanager 6 Lite
2502 просмотров 2021-11-15
Панель управления web-сервером ISPmanager Lite представляет собой web-интерфейс, позволяющий администратору сервера производить изменения в настройках и конфигурации сервера, управлять службами, приложениями и СУБД, работающими на…
Что такое протокол IPv6 и как он работает
5593 просмотров 2021-08-26
IPv6 представляет собой новую версию протокола IP (Internet Protocol), протокола сетевого уровня в стеке TCP/IP. IPv6 по сути является преемником четвёртой версии протокола IP, и…
Введение в SELinux под CentOS Stream
1483 просмотров 2021-03-22
Данное руководство – введение в SELinux под CentOS Stream. Security Enhanced Linux (SELinux) – это система контроля доступа, которая в настоящее время встраиватся в большинство…
Настройка пары ключей ssh на linux сервере
9739 просмотров 2020-12-14
Для повышения безопасности ssh-соединения рекомендуется отказаться от логина по паролю, и подключаться к удалённому серверу с помощью ключей. Это действие аналогично отпиранию замка с помощью…
Первичная настройка сервера с ОС Ubuntu 18.04
6946 просмотров 2020-12-14
Для того, чтобы максимально обезопасить ваш сервер, чтобы его не взломали и вы не потеряли свою работу и данные, рекомендуется провести первичную настройку сервера. Создание…
Как установить WordPress на VPS за одну минуту
2099 просмотров 2020-11-10
Это руководство для тех, кто хочет настроить CMS WordPress на виртуальном хостинге. Мы подготовили образ в маркетплейсе, который позволит поднять WordPress на VPS/VDS буквально за несколько…
Настройка локальной сети через ZeroTier
9113 просмотров 2020-11-10
Если вам нужно поднять локальную сеть, чтобы поиграть по ней с другом или забрать какие-то большие файлы (например, фильмы), вы можете сделать это на минимальном…
Инструкция для юридических лиц
1024 просмотров 2020-11-10
Воспользоваться нашими услугами и арендовать виртуальный сервер может как физическое лицо, так и юридическое, при этом стоимость для юридических лиц не отличается. Предоставление услуг осуществляется…
Как установить антивирусную защиту на VPS?
1061 просмотров 2020-11-10
Мы предлагаем использовать современную антивирусную защиту для вашего виртуального сервера от «Лаборатории Касперского» Kaspersky Security for Virtualization 4.0 Light Agent (легкий агент антивируса Касперского для виртуальных сред)….
Подключение к VPS Linux через SSH
8872 просмотров 2020-11-10
После того, как вы создали сервер в личном кабинете, вы можете войти на него используя протокол SSH. Скачайте SSH-клиент PuTTY здесь. После этого необходимо запустить программу…
Как создать тестовый VPS Windows сервер на RU VDS
4105 просмотров 2020-11-10
Создать тестовый VDS сервер от хостинг провайдера RUVDS можно совершенно бесплатно. Как сделать VPS сервер для тестирования? Подготовка. Зайдите на сайт https://ruvds.com, выберите вкладку «Войти»…
Что такое VPS хостинг?
4501 просмотров 2020-11-10
Для начала стоит расшифровать аббревиатуру. VPS – это Virtual Private Server. Наряду с виртуальным хостингом и выделенным сервером он может быть предоставлен клиенту провайдером с целью аренды….
Как не пропустить письма от RUVDS
745 просмотров 2020-11-10
В данном разделе нашего VPS справочника мы расскажем как всегда гарантированно получать письма от хостинг-провайдера RUVDS. В зависимости от того, на каком сервисе располагается ваш…
В этой статье мы собрали основные моменты, которые нужно учесть, когда вы начинаете работать с сервером.
Управление сервером
В первую очередь необходимо определиться, как вы хотите управлять сервером: через консоль или с помощью панели управления.
- Через консоль:
Для Linux-систем традиционным способом управления является консоль. Вы подключаетесь к серверу по SSH-протоколу и далее передаете на сервер необходимые команды, выполняя таким образом все необходимые действия с сервером: установку ПО, управление файлами и директориями, любые необходимые настройки и т.д.
Если на вашем компьютере используется MacOS или Linux, необходимая утилита — терминал — уже встроена в операционную систему. Встроенный SSH-клиент есть и в новых версиях Windows (начиная с Windows 10 1809) — вы можете подключаться по SSH с помощью Windows Powershell. Если же вы используете Windows более ранней версии, то для подключения по SSH потребуется специальная программа, например, PuTTY.
Подробно процесс подключения к серверу по SSH мы описали в отдельной инструкции.
- Через панель управления:
Если у вас нет навыков администрирования, проще всего работать с сервером с помощью специальных панелей — например, ISPmanager или Fastpanel.
В этом случае все управление будет вестись через понятный и наглядный интерфейс, в котором можно разобраться, даже не имея навыков работы с VDS-серверами. Мы также подготовили инструкции по работе с панелями.
Предварительно вы можете посмотреть на работу с панелями в их демо-версиях: ISPmanager, ISPConfig, Fastpanel, Hestia.
Также обратите внимание, что для использования ISPmanager потребуется приобрести лицензию (это можно сделать в разделе «Лицензии»); остальные перечисленные панели предоставляются бесплатно.
Установить панель можно автоматически, при создании сервера или переустановке системы.
Если изначально вы создали сервер без панели, но она вам все-таки нужна, можно выполнить переустановку ОС (обратите внимание, что при переустановке системы все данные с сервера будут удалены). Если этот вариант вам подходит, переустановить ОС можно в панели timeweb.cloud/my.
Если сервер с одной из панелей уже создан, вы можете переходить к работе с ними. Реквизиты доступа к панели управления можно найти в письме, отправленном на ваш контактный ящик после установки сервера.
Размещение сайта на сервере
Вы можете перенести сайт на сервер самостоятельно, используя наши инструкции:
- перенос сайта в панели ISPmanager;
- перенос сайта в панели Fastpanel;
- перенос сайта в панели Hestia;
- перенос сайта в панели ISPConfig;
- перенос сайта в панели BrainyCP;
- перенос сайта в панели Plesk;
- перенос сайта в панели aaPanel;
- перенос сайта без использования панелей.
Также вы можете обратиться за помощью к специалистам службы поддержки. Мы переносим сайты, как правило, в течение 24 часов; для выполнения переноса нам потребуется получить от вас определенные данные.
Подробности можно найти в статье Перенос сайта на сервер.
Если вы планируете размещать сайт, использующий CMS WordPress, для простого запуска WordPress на сервере рекомендуем воспользоваться нашей инструкцией.
Почта
Самый простой вариант для работы с почтой — это использовать почтовый сервис Timeweb, создав и настроив почтовые ящики в разделе «Почта» в панели timeweb.cloud/my. В этом случае все необходимые DNS-записи, включая SPF и DKIM, повышающие доверие почтовых сервисов к вашим письмам, будут настроены автоматически.
Перед созданием ящиков необходимо добавить ваш домен в раздел «Домены и поддомены». Подробнее о работе с почтой — в этом разделе.
Также вы можете настроить почту непосредственно на своем VDS. Мы подготовили инструкции о том, как это можно сделать в панелях управления:
- ISPmanager
- Fastpanel
- ISPConfig
- Hestia
Резервное копирование
Для сохранности своих данных вы можете использовать инструменты резервного копирования в панели timeweb.cloud/my или же функционал панели управления, установленной на сервере.
Бэкапы, создаваемые в панели timeweb.cloud/my, позволяют сделать как полноценный бэкап, так и снапшот, то есть снимок диска, который зафиксирует его состояние на момент создания копии. После можно восстановить данные частично или целиком.
Однако нужно учитывать, что при серьезном аппаратном сбое или при удалении сервера восстановить данные будет невозможно, поэтому имеет смысл создавать удаленные копии. Это можно реализовать с помощью панелей управления, настроив выгрузку бэкапов в сторонние хранилища. См. также статьи о резервном копировании в панелях управления:
- ISPmanager;
- Fastpanel;
- Hestia.
Поддержка
Если у вас возникнут вопросы, вы можете связаться с нами через раздел «Служба поддержки» в панели управления или по e-mail: info@timeweb.cloud.
Мы предоставляем бесплатную расширенную поддержку серверов 24/7 и всегда будем рады помочь вам в работе с сервером.