Как установить сайт на vds debian

Обновлено: 04.07.2024

Компоненты, являющиеся основой для веб-приложений, устанавливаются и настраиваются довольно просто. Не вызывает особых трудностей и установка LAMP в Debian 9 — одном из наиболее известных дистрибутивов бесплатной операционной системы Linux. Его невысокие системные требования позволяют развивать хорошую скорость на компьютерах с минимальными характеристиками.

Что такое LAMP


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

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

Из-за своей высокой производительности и популярности LAMP входит в состав большинства дистрибутивов Linux, распространяемых хостерами.

Установка LAMP

Пользователи Linux часто устанавливают ПО сайтов на локальную машину, чтобы протестировать всё перед отправкой в сеть. В этом смысле дистрибутив Debian пользуется высоким кредитом доверия и считается одним из самых стабильных.

В качестве практического примера, разберём установку и настройку LAMP на Debian 9 Stretch.

Особенности дистрибутива

Дистрибутив Debian 9, получивший при создании кодовое имя Stretch, вышел в 2017 году с пятилетним циклом выпуска обновлений. Он имеет развитое сообщество и поддержку множества языков, включая русский.

Для нормального функционирования Debian 9 достаточно:

  • процессора Pentium 4 c рабочей частотой 1 Ггц;
  • 10 Гбайт свободного места на диске;
  • 1 Гбайт оперативной памяти.

Пошаговый алгоритм установки

Веб-сервер и пакет модулей

Перед началом установки LAMP в рамках подготовки операционной системы необходимо проверить обновления с помощью команды:

Как установить LAMP на Debian 9


Обновление должно было произойти после настройки ОС, но если по какой-то причине этого не случилось, необходимо ввести:

Как установить LAMP на Debian 9


После этого устанавливается последняя версия Apache с дополнительными модулями посредством команды:

Как установить LAMP на Debian 9


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

Как установить LAMP на Debian 9


Корневая директория сайтов — document root — на Apache по умолчанию находится в /var/www/html.

Настройка языка PHP

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

Как установить LAMP на Debian 9


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

Как установить LAMP на Debian 9


Чтобы иметь возможность проверить работу PHP, в корневой директории создаётся информационный файл info.php. Это делается с помощью команды:

Как установить LAMP на Debian 9

Чтобы увидеть изменения в настройках сервера и PHP, следует открыть страницу с адресом /info.php.

Работа с базой MariaDB

Установка пакета БД производится по команде:

Как установить LAMP на Debian 9


Далее устанавливается защитная утилита и создаётся пароль root-пользователя:

Как установить LAMP на Debian 9


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

Как установить LAMP на Debian 9


С помощью команды: status определяется состояние сервера и готовность его к работе.

Установка LAMP в Debian 9 с последующей настройкой


После этого установка LAMP на Debian 9 и все настройки считается оконченной. Теперь можно приступать к работе.

Предположим, что вы установили на сервер LAMP (Linux, Apache, MySQL, PHP) — с помощью нашего рецепта или вручную. Теперь дело за малым — нужно настроить веб-сервер, создать базы данных и папки для сайтов.

Для начала настройки потребуется:

Шаг 0. Структура каталогов для размещения сайтов

Чтобы в будущем мы могли просто и непринуждённо добавлять новые сайты, настраивать FTP или sFTP-доступ для отдельных директорий, не помешает заранее определиться, как оптимально расположить их на сервере.

Самая простая структура выглядит так:

Директория веб-сервера для размещения сайтов

Она будет использоваться в качестве примера ниже.

Тем не менее, если вы планируете разместить на сервере только один сайт, можно не тратить время на настройки и просто загрузить файлы сайта в папку /var/www/html — сайт будет работать и так. Но в будущем это может привести к необходимости в перенастройке, например, когда потребуется разместить новый сайт.

Шаг 1. Создание директории сайта и файлов логов

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

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

Ubuntu и Debian:

CentOS:

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

Шаг 2. Создание конфигурационного файла сайта — VirtualHost

На CentOS требуется выполнить предварительную настройку.

Создадим папку для размещения конфигурационных файлов сайтов:

Откроем конфигурационный файл веб-сервера:

Добавим новую строку в конец списка параметров:

Сохраним и закроем файл.

Ubuntu и Debian:

CentOS:

Открываем созданный файл в любом консольном текстовом редакторе:

Ubuntu и Debian:

В качестве примера приведён редактор nano . Для сохранения файла нажмите сочетание Ctrl + O , проверьте имя файла и нажмите Enter . Для выхода из файла нажмите сочетание Ctrl + X .

CentOS:

В качестве примера приведён консольный редактор vim . Для входа в режим редактирования на клавиатуре нажмите I . Для выхода из режима редактирования нажмите Esc . Для сохранения и выхода из файла введите сочетание :wq Для выхода без сохранения введите :q!

Вставляем в файл следующий текст:

После завершения редактирования сохраните и закройте файл.

Для Ubuntu и Debian осталось активировать VirtualHost нового сайта и отключить текущий, включенный по умолчанию:

Перезапустим веб-сервер для применения изменений:

Ubuntu и Debian:

CentOS:

Шаг 3. Создание базы данных

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

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

После ввода пароля создадим новую базу данных exampleDB :

Далее добавим нового пользователя сервера баз данных ( exampleDB-user ) и предоставим ему доступы для работы с базой сайта. Важно: не забудьте сохранить название базы данных, имя пользователя и пароль — они потребуются для настройки сайта.

Выходим из консоли сервера баз данных:


Шаг 4. Загрузка файлов и проверка работы сайта

Осталось самое простое — загрузить файлы сайта.

Загрузка готового сайта


На CentOS tar по умолчанию не установлен. Для установки воспользуйтесь командой:

Разворачиваем дамп базы данных:

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

Установка CMS

Если вы хотите развернуть новый сайт — например, в целях разработки или тестирования, воспользуйтесь следующими инструкциями по установке CMS:

Инструкция по установке сайта на VDS

Сайт нельзя установить на «чистый» VDS — понадобится либо панель управления, либо настроенная конфигурация (чаще всего LAMP). Вы сами решаете, какой путь выбрать. Если коротко — с панелью управления проще. Но и ручная настройка VDS под сайт не займет много времени.

Подготовка VDS

Чтобы установить сайт, нужно подготовить VDS — развернуть на нем LAMP. В этот набор входит Linux, Apache, MySQL и PHP. Эти элементы требуются для корректной работы динамических сайтов и приложений.

Самый простой способ — установить LAMP при создании VDS. Например, так можно сделать на Timeweb.

Откройте панель управления VDS.

В разделе «Список VDS» нажмите «Создать сервер».

Укажите имя и комментарий, если он нужен.

Выберите операционную систему и программное обеспечение — например, Ubuntu 18.04 и LAMP.

Выберите подходящую конфигурацию VDS.

Добавьте SSH-ключ, если он уже создан.

Включите при необходимости защиту от DDoS.

После завершения установки у вас будет VDS с конфигурацией, подходящей для размещения веб-проектов.

Если у вас уже есть сервер, можно переустановить ПО и выбрать LAMP или добавить необходимые компоненты вручную через консоль. Для авторизации используйте логин и пароль, присланные хостером на почту при создании вирутального сервера. Linux уже должен быть установлен на VDS. Посмотрим на примере Ubuntu 18.04, как добавить другие компоненты: Apache, MySQL и PHP.

Установите веб-сервер Apache:

Добавьте Apache в автозагрузку:

Чтобы убедиться в том, что веб-сервер заработал, введите в адресной строке браузера IP-адрес сервера. На вкладке должно отобразиться приветственное окно Apache.

Следующий шаг — установка системы управления базами данных MySQL.

Задайте пароль суперпользователя (root), нажмите на Enter и введите пароль еще раз.

Запустите мастера настройки безопасности:

Ответьте на несколько вопросов системы:

Введите пароль от root, который указали ранее.

Включите или откажитесь от плагина VALIDATE PASSWORD. При его активации MySQL будет отвергать слабые пароли. Чтобы включить его, введите «y», в противном случае — «n».

Введите «n», чтобы не менять пароль.

Дальше будет еще четыре параметра. Во всех случаях введите «y», чтобы удалить анонимных пользователей, запретить удаленный доступ для суперпользователя, удалить тестовую базу и обновить таблицу привилегий пользователей.

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

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

Последний этап — установка PHP.

Это базовый набор. Можно добавить и другие модули, прописав их в команде выше или использовав отдельную команду типа apt-get install название_модуля.

После установки PHP проверьте его работоспособность. Создайте новый файл и откройте его в редакторе:

Внесите в него три строки и сохраните файл:

После установки LAMP (не имеет значения, автоматически или вручную) нужно добавить на сервер домен. Сделать это можно через одноименный раздел в панели управления VDS. Timeweb предлагает зарегистрировать новый домен, перенести существующее имя или воспользоваться бесплатным техническим доменом для проверки работоспособности ресурса.

Производительные VDS с минимальным steal time – 15 дней бесплатно

Дарим 15 дней на тарифе Scarlett! Закажи VDS, внеси платеж от 50 рублей и активируй промокод community15.

Ручная установка сайта на VDS

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

логин и пароль от VDS;

номер порта — по умолчанию 22.

Если вы установили LAMP автоматически при создании сервера, то разместите сайт в директории /var/www/html.

Если вы установили LAMP вручную по инструкции выше, разместите сайт в директории /var/www/site1/public_html.

Теперь нужно разобраться с базой данных. Для этого нужно подключиться к серверу через SSH. Можно воспользоваться консолью в панели управления VDS.

Затем укажите имя БД, логин и пароль. Лучше сразу указать данные, прописанные в конфигурационном файле сайта.

Если есть дамп базы данных, загрузите его на сервер через SFTP в директорию /var/www/ и импортируйте в новую БД:

Для удобной работы с базами данных также можно установить на сервер phpMyAdmin.

Установка в ISPmanager

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

Откройте раздел «Учетные записи» — «Пользователи».

Нажмите на кнопку «Создать».

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

Укажите WWW-домен и создайте FTP-пользователя для подключения.

Нажмите «Завершить» для сохранения нового пользователя.

Вернитесь в меню «Учетные записи» — «Пользователи».

Выберите нового пользователя и нажмите «Войти».

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

Следующий этап — подключение домена. На сайте регистратора нужно указать для домена в качестве А-записи IP-адрес сервера. Если вы не добавили домен при создании пользователя, сделайте это сейчас:

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

Теперь нужно загрузить на добавленный домен файлы сайта.

Откройте раздел WWW — «WWW-домены».

Выделите домен и нажмите на кнопку «Каталог».

Удалите созданный по умолчанию файл index.html.

Нажмите на кнопку «Закачать» и укажите путь к архиву с файлами сайта.

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

Последний этап — создание базы данных.

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

Если у вас уже есть база данных, импортируйте ее содержимое через раздел «Инструменты» — phpMyAdmin. Для авторизации используйте логин и пароль, назначенные при создании базы данных.

Установка в VestaCP

Первый этап — создание нового пользователя.

Откройте раздел USER.

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

Заполните в форме все поля.

После создания пользователя вернитесь в раздел USER, выделите новый аккаунт и нажмите на кнопку «Войти».

Следующий этап — подключение домена. Первым делом укажите IP-адрес сервера в его А-записи. Это делается в личном кабинете на сайте регистратора доменов. Затем добавьте домен в панель Vesta:

Откройте раздел WEB.

Нажмите на зеленый значок плюса, чтобы добавить новый домен.

Введите имя домена и установите другие параметры его работы.

При необходимости перейдите по ссылке «Дополнительные опции». Здесь можно включить поддержку SSL, подключить аналитику, добавить еще один FTP-аккаунт (первый доступен по логину и паролю пользователя).

Обычно менять настройки не нужно. Вы просто добавляете в раздел WEB имя нового домена и сохраняете конфигурацию.

Затем нужно создать базу данных.

Откройте раздел DB.

Нажмите на зеленый значок, чтобы добавить новую БД.

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

Нажмите на кнопку PHPMYADMIN — она находится над списком баз данных.

Импортируйте дамп базы данных, если он у вас есть.

Измените конфигурационный файл сайта — укажите в нем имя БД, логин и пароль. Можно пойти другим путем — изначально указывать имя БД, логин и пароль, ранее записанные в конфигурационном файле.

Последний этап — загрузка файлов сайта на сервер. Используйте подключение через SFTP с помощью FileZilla. Введите следующие данные:

логин от аккаунта в панели управления Vesta;

пароль от аккаунта в панели управления Vesta;

порт 22 (по умолчанию).

Файлы нужно скопировать в директорию /web/домен/public_html.

Перенос сайта на другой VDS силами технической поддержки

Если сайт размещен на стороннем хостинге или VDS, можно перенести его на другой виртуальный сервер с помощью специалистов поддержки. Это не общая практика, но хорошие хостеры предлагают такую услугу. Например, попросить перенести сайт можно специалистов поддержки Timeweb. Они помогут при условии, что на VDS установлена панель управления (ISPmanager или VestaCP) или ОС Bitrix 7.

Поставить Bitrix на VDS можно при создании нового сервера. Если сервер уже создан, можно переустановить операционную систему или просто добавить на него панель управления.

Специалисты поддержки выполнят следующие работы:

скопируют все файлы на сервер;

импортируют базы данных и внесут изменения в файлы конфигурации;

установят и настроят ПО для работы с динамическими сайтами и приложениями;

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

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

доступ к FTP или SSH старого сервера;

доступ к панели phpMyAdmin старого сервера;

информацию о том, какие сайты и папки нужно перенести;

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

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

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

Если вы не знаете, что такое VPS (VDS), то посмотрите здесь. Если вы знаете о VPS, но по какой-то причине у вас его ещё нет, то перейдите сюда.

Настройка VPS (VDS) для тех, кто никогда этим не занимался — довольно непростая вещь. Для тех, кто знает, что вся установка осуществляется несколькими командами, это может показаться достаточно простой задачей. Тем не менее, эта простота иногда бывает обманчива. «Голый» Apache уязвим к DoS, «голый» SSH уязвим к брутфорсингу и т. д. Панели управления, phpMyAdmin уязвимы к сниффингу трафика, обычный FTP просто категорически не рекомендован.

На VPS хостингах предусмотрена «пакетная» установка (предустановка) сервера и компонентов — там устанавливаются такие же «голые» программы. Можно заказать услугу специалиста по настройке (примерно 700 рублей в час, покупать нужно минимум час, в стандартную цену входит те же самые Apache, PHP, MySQL и т. п. вещи, для всего другого нужно договариваться отдельно и отдельная цена…

Обеспечение безопасности сервера — это целая наука и профессия. Нельзя в инструкциях описать все необходимые действия и правила настройки. Тем не менее, для предотвращения «детских» атак, вполне возможно и самому настроить сервер правильно.

В данной серии инструкций в качестве операционной системы выбран Debian. Аналогичная серия готовится и для CentOS.

Приступим к настройке VPS

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

После настройке FQDN для вашей системы, проверьте его следующей командой, которая должна вернуть FQDN:

Шаг 1: Установка Apache

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

Для установки Apache на вашу систему наберите следующую команду:

Вас должны встретить дефолтная страница браузера:

28550

Шаг 2: Установка MySQL

Для любого маломальски сложно веб-приложения или сервиса нужна база данных. Чаще всего для этого используется MySQL. Последнее время, некоторые предпочитают MariaDB. При установке MariaDB все ваши сайты, которые работают на MySQL, будут работать точно также. Все команды и запросы к базе данных имеют один и тот же синтаксис. Установите любую (но только одну!) из этих систем управления базами данных.

Для установки MySQL

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

28551

28552

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

28553

Чтобы проверить аккаунт рута сервера MySQL (MariaDB) наберите следующую команду. Проверьте, можете ли вы войти с вашим паролем рута.

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

Шаг 3: Установка PHP

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

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

Чтобы посмотреть детальную информацию по конкретному PHP модулю используйте команду apt-cache.
Когда вы определились какой(какие) PHP модули будете устанавливать, установить их можно следующей командой:
Далее приведена команда для установки обязательных PHP модулей, без которых наш сервер не будет нормально работать. php5-mysql нужен для взаимодействия с базой данных и php5-mcrypt обеспечивает функции шифрования в PHP. php5-gd нужен для использования в веб-панеле phpMyAdmin.

Шаг 4: Настройка PHP

Перед тестированием конфигурации PHP вам нужно настроить временную зону для PHP, поскольку в дефолтном файле php.ini не установлена временная зона для функции даты, используемой во многих веб-приложениях. Для настройки временной зоаны timezone, отредактируйте /etc/php5/apache2/php.ini и задайте значение date.timezone в соответствии с физической временной зоной вашего сервера.

Узнать как правильно пишется Ваша временная зона можно так:
После настройки в PHP правильной временной зоны, перезапустите веб-сервер Apache для перегрузки конфигурации PHP и PHP модулей.

Например, я открываю так

28554

28555

Шаг 5: Установка phpMyAdmin

phpMyAdmin — это инструмент для управления базами данных MySQL/MariaDB через веб интерфейс.

Для установки phpMyAdmin на вашем сервере Linux наберите следующую команду:

Во время установки у вас спросят про настройку phpMyAdmin. Когда попросят выбрать веб сервер, выберете apache2, а когда попросят настроить базы данных через dbconfig-common, ответьте нет, поскольку мы уже настроили MySQL/MariaDB ранее.

28556

Это основное программное обеспечение для сервера. Сервер уже полностью рабочий, после перезагрузки все необходимые службы будут запускаться сами, теперь вы можете разместить ваш сайт и любые системы управления сайтами (CMS) WordPress, Drupal, Joomla, Opencart, Prestashop.

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