Как поставить сайт на vds ubuntu

Обновлено: 02.07.2024

Установка и настройка веб-сервера для сайта в Ubuntu

Что такое LAMP

LAMP расшифровывается как Linux, Apache, MySQL, PHP. Связка технологий Apache, MySQL, PHP необходима для того, чтобы запустить веб-сайты как собственной разработки, так и сайты на популярных CMS: WordPress, Joomla, Prestashop, Drupal и прочих.

Каждый компонент мы будем устанавливать и настраивать по отдельности.

Установка Apache

Apache - это веб-сервер с открытым исходным кодом. Работу веб-сервера можно описать так: На каждый запрос, веб-сервер отдает ответ в зависимости от запроса.

Иными словами, по аналогии, если вы обратитесь с каким-либо вопросом к человеку, он вам ответит или не ответит.

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

Для того, чтобы установить веб-сервер Apache, введите команду в терминал:

Что такое команда sudo и зачем она нужна, вы можете прочитать в этой статье.

После установки Apache, для проверки работоспособности веб-сервера, введите в браузере ip адрес сервера.

Если вы устанавливали Apache сервер на локально, например на ваш домашний компьютер, введите в браузере 127.0.0.1 и вы должны увидеть страницу приветствия веб-сервера Apache.


Установка PHP

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

sudo apt-get install php5 php5-common libapache2-mod-php5 php5-cli php5-cgi php5-mysql

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

После выполнения команды выше, введите в терминале php -v и вы должны удивить версию php:

Если вы у себя это видите в терминале, это значит, что php установлен.

Установка MySQL

MySQL - это база данных, в которой хранятся данные вашего сайта. SQL - это язык запросов к базе данных MySQL. Подробнее о языке запросов SQL вы можете почитать в этой статье.

Установка MySQL на ваш с сервер с Ubuntu/Linux очень простая. Для установки введите команду:

sudo apt-get install mysql-server mysql-client

В процессе установки MySQL вас попросят ввести пароль для пользователя root в MySQL, затем попросят ввести пароль для root пользователя MySQL повторно.

Будьте внимательны, перед вводом запишите пароль.


В данной статье мы установили не только MySQL сервер, но и консольный MySQL клиент. Для удобства работы с MySQL давайте установим графический веб-клиент к MySQL - PhpMyAdmin.

Для установки PhpMyAdmin введите команду:

sudo apt-get install phpmyadmin

В процессе установки PhpMyAdmin вам предложат настроить связку веб-сервера и phpmyadmin автоматически. На этом шаге выберите автоконфигурацию для веб-сервера apache2.


На следующий вопрос о конфигурации ответьте Yes. После этого вас снова попросят ввести пароль к пользователю root.

После этого, установка и настройка phpmyadmin будет завершена. Для проверки работоспособности phpmyadmin введите в браузере ip адрес вашего веб-сервера и после слеша допишите phpmyadmin.

Если вы устанавливали phpmyadmin на локальный сервер, введите в браузере:

В результате вы увидите страницу авторизации phpmyadmin:


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

Настройка конфига веб-сервера Apache для работы на домене

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

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

После этого создайте каталог для вашего сайта:

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

Для этого введите в терминале команду:

А после этого команду:

sudo chown -R user:user superdomain

Последней командой мы поменяли владельца и группу каталога superdomain на вашего пользователя (вместо user:user напишите имя вашего пользователя)

Затем перейдите в созданный каталог superdomain и создайте в нем файл index.php и php скриптом.

Для этого в терминале введите команду:

и введите команду:

после этого вставьте php скрипт, например с таким содержимым:

Для того, чтобы сохранить изменения в редакторе nano, нажмите сочетание клавиш ctr+x и букву y, затем enter.

Команды Linux описаны в этой статье.

А сейчас мы настроим конфиг веб-сервера apache2.

Для этого введите команду:

и вставьте этот текст:

После этого нажмите сочетание клавиш ctr+x и букву y, затем enter.

В этом конфиге мы создали указали пути к директории нашего сайта superdomain, указали название домена, правила, email веб-мастера, если пользователь будет видеть ошибку, пути к лог файлам apache и другие настройки.

После этого нам необходимо перейти в каталог apache :

и выполнить команду:

Если все сделали правильно после ввода этой команды вы должны увидеть это:

Если у вас нет понимания команд которые вы вводите в терминал Linux, прочитайте статью о Bash командах.

Файл hosts находится в Linux:

В операционной системе Winodows, файл hosts находится:

Все готово! Сохраните файл hosts и в браузере введите

В результате вы должы увидеть php вывод страницы index.php из каталога superdomain.

Выводы

В данной статье мы настроили LAMP сервер в операционной системе Ubuntu. Аналогично, вы можете создавать каталоги и конфиги apache2 для других ваших сайтов.

Мы показали базовые настройки LAMP. А если ваш проект перерастет во что-то большое, вы можете купить VDS сервер, от компании Timeweb с Ubuntu на борту и произвести настройку LAMP в нем.

В следующих статьях мы рассмотрим расширенные настройки PHP, Apache, MySQL и то, как настройть WAMP(Windows, Apache, PHP, MySQL).

Данное руководство описывает полный процесс настройки VPS под ваши сайты, на вашем виртуальном сервере под Linux, используя Apache, PHP 7, MySQL, phpmyadmin, vsftpd как FTP, и другие мелкие утилиты. Все что я нашел в интернете или не полное, или местами не подходило к современным реалиям. Я переносил с обычного виртуального хостинга свой сайт, так как уперся в ограничения большинства хостеров.

Если вы планируете продавать хостинг или устанавливать панель управления (ISP Manager, cPanel, Plesk и т.п.), данный метод настройки не подойдет. Настройки для такого развертывания иные. PHP7 имеет ряд серьезных преимуществ в быстродействии и оптимизации по сравнению с PHP 5. Мои проекты на WordPress, к примеру, заметно быстрее работают. Важно знать: если у вас не сильно известная CMS с последними обновлениями, а какой-то самописный проект, не оптимизированный под PHP7, то возможны нестыковки.

Настраиваем

Итак, у нас есть свежеустановленная на VPS система и доступ по SSH. Логинимся на сервер под рутом.

2. Добавляем нашего созданного пользователя в группу sudo, дабы выполнять команды из-под рута:

Плюс, добавим самого себя в группу администраторов:

3. Выходим из системы (logout) и логинимся под своим новым созданным пользователем на SSH. С этого момента, если нам нужно выполнить команду от имени рута, мы используем операнд sudo перед остальными операндами команды (примеры ниже).

4. Стоит вам только опубликовать ваш сайт-адрес сервера VPS, как всяческие хакинговые боты начнут стучаться к вам на терминальный порт 22. Поэтому, обезопасим терминал VPS, сменив порт с 22 на чтото другое. Как новый порт, вводим любое число от 1 до 65535. Нельзя использовать для этого порты 80, 443, 3306, 22, 21 и 8080. Они заняты под другие сервисы нашего VPS.

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

5. Разлогинтесь из терминала (logout), и подключитесь к серверу заново, используя новый порт.

6. Обновим источники приложений и сами приложения:

Соглашаемся на установку обновлений нажав Y и Enter.

7. Если у вас не самой последней версии система, имеет смысл обновить дистрибутив до последнего подрелиза (необязательный шаг):

Далее, нужно включить Prelink:

9. C системными предустановками пока закончим, ставим апач:

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

10. Далее, MySQL-сервер:

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

11. Ставим php7. На момент написания статьи, файловые репозитории Ubuntu не содержат PHP7, поэтому нам нужно будет добавить неофициальный репозиторий и из него поставить php7:

По окончанию добавления, спросит у вас окончательного согласия, подтверждаем на Y и Enter. Далее обновим список приложений и установим нужное:

Набор модулей тут мной определен эксперементально. Во всех источниках указаны разные, где-то нет mbstring, но он нужен для phpmyadmin, админки для MySQL. Где-то отсутствует curl и gd, но они нужны для капчи и некоторых плагинов CMS. В любом случае, дополнительные модули можно всегда доставить после.

12. Поднастроим Apache. Перейдем (cd) в каталог с настройками апача:

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

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

Это задаст хост по умолчанию для самоопределения апача (localhost) и отключит отображение версии системы и сервера на страницах ошибок. Это небезопасно. Как всегда, сохраняем, закрываем.

13. Поднастроим PHP.

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

Раздвинем ограничения по памяти и загрузке файлов:

14. Установим phpmyadmin. Это графическая панель управления базами данных MySQL. Первый раз когда я его ставил из apt репозитория, он не взлетел. Оказалось, репозитории ubuntu не содержат последней версии phpmyadmin, которая понимает PHP7, так как и самого PHP7 в этих репозиториях тоже нет.

Качаем, на момент написания, последняя версия 4.6.0:

Установим unzip, он понадобится:

Отредактируем конфиг-файл апача, чтобы он знал, гдеи скать наш phpmyadmin:

Все готово, перезапустим апач:

16. Создадим старницу phpinfo для проверки работы сервера:

Вставляем такой код в Nano и сохраняем:

VPS Phpinfo

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

17. Поставим FTP. Используем vsftpd:

После этого, можно логиниться на сервер по FTP, используя логин и пароль от системы. C этим конфигом, у вас будет доступ ко ВСЕЙ операционной системе. Если вам нужно ограничить доступ к папкам, поищите в интернете руководства.

18. Резервное копирование. Альфа и Омега администрирования VPS. Бэкапы надо делать хотя бы раз в неделю. Следующий скрипт создает архив с бэкапом папок /var/www (где обычно лежат сайты), /etc, /var/log и /root. Также бэкапит все базы MySQL. Скрипт следует исполнять от имени рута из папки, в которой будут хранится бэкапы. Также, желательно внести файл скрипта в cron. Собственно, скрипт:

Обратите внимание, верхние несколько строчек скрипта нужно изменить в соответствии с вашей конфигурацией MySQL.

Допустим, у нас в корне будет папка /backup и в ней будет и скрипт, и сами резервные копии. Переходим в корень файловой системы:

И вставляем туда скрипт выше. Сохраняем, назначаем его исполняемым:

Мы запустим процесс бэкапа. Для среднего сайта на средней мощности VPS это занимает 5-10 минут. После окончания процесса, в папке /backup будут несколько архивов с резервными копиями. Как я говорил выше, лучше всего этот скрипт запихнуть в cron. Погуглите, как это сделать.

Полезные утилиты

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

WP-CLI

Это командная утилита для администрирования WordPress из терминальной консоли Linux. Умеет очень много, бэкапить, копировать данные в базе данных, отключать и включать плагины и так далее. Очень полезно, в случаях если у вас конфликт плагинов, или вы где-то накосорезили и админка сайта у вас отвалилась. Подробнее тут.

Multitail

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

Htop

И вызывается (кто бы думал) командой:

Выбор VPS

Если вы ищите подходящий VPS/VDS хостинг, могу порекомендовать HexCore, которым сам и пользуюсь. По условиям все можете посмотреть сами у них на сайте. Меня лично подкупило наличие возможности поставить туда любую свою систему (позволяют загрузить свой .ISO образ); и регулярные полные бэкапы делаются автоматом.

Инструкция по установке сайта на 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 старого сервера;

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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

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


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

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

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

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


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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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


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

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

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

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

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


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

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

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

timedatectl list-timezones | grep K


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

timedatectl set-timezone Europe/Kiev

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


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

Установка Apache 2

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

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

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

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


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

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

Установка PHP

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


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

Установка MySQL

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


Выводы

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

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

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







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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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