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

Содержание

Прописываем DNS-записи

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

Если покупали домен в Unihost:

  • Заходим в Личный кабинет.
  • Нажимаем Домены > Редактирование записей DNS.
  • Нажимаем Редактировать записи.
  • Прописываем во все А-записи IP адрес вашего сервера/VPS.
  • Нажимаем Сохранить внизу страницы.

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

ВАЖНО: Процесс смены DNS-записей может затянутся на два-три дня. Поэтому продолжаем пока настройку с помощью IP-адреса.

Делаем сайт на сервере через панель управления

Ко всем серверам и VPS Unihost прилагается лицензия на панель управления ISPmanager. Чтобы войти в панель, переходим по адресу http://ip_адрес_сервера:1500 и вводим логин и пароль, которые Unihost отправил нам на e-mail при покупке сервера.

Дальше следуем инструкциям из раздела ISPManager 5. Например устанавливаем CMS через Softaculous.

Делаем сайт на сервере без панели управления

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

Начало работы

  • Открываем терминал на своём ПК или другом устройстве (Ctrl+Alt+T или через меню приложений).
  • Подключаемся к серверу. Для этого выполняем в терминале команду: ssh имя_пользователя@ip_адрес_сервера.
    DS_171017_b16a29

Устанавливаем и настраиваем ПО для работы сайта на сервере

Для того, чтобы запустить сайт на VPS или сервере, нам понадобится специальный программный комплекс — LAMP. Он состоит из ОС Linux (L), веб-сервера Apache (A), системы управления базами данных MySQL (M) и препроцессора гипертекста PHP (P). От себя еще добавлю веб-интерфейс для MySQL под названием PHPMyAdmin, который сильно облегчает работу с базами данных.

Веб-сервер

Нужен для того, чтобы передавать файлы по протоколу HTTP, то есть для нормальной работы сервера.

  • Устанавливаем веб-сервер Apache командой: sudo apt install apache2.
    DS_171017_873a65 (1)
  • Вводим пароль, чтобы дать терминалу права суперпользователя.
    DS_171017_8b12cf
  • Нажимаем Y и Enter, чтобы подтвердить установку.DS_171017_20488e
  • Ждём окончания установки.
  • Переходим по адресу http://ip_адрес_сервера и видим тестовую страницу Apache.
    DS_171017_a42dec

Сервер базы данных

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

  • Устанавливаем сервер баз данных MySQL командой: sudo apt install mysql-server.
    DS_171017_e5521f
  • Нажимаем Y и Enter, чтобы подтвердить установку.
    DS_171017_588dd1
  • Придумываем пароль для MySQL. Вводим хоть «1234», всё равно мы сейчас будем менять этот пароль.DS_171017_cf5c39
  • Подтверждаем пароль.
    DS_171017_6626ba
  • Ждём окончания установки.
    DS_171017_4dbfe0
  • Выполняем команду /usr/bin/mysql_secure_installation для настройки MySQL.
    DS_171017_09774d
  • Вводим пароль, который придумали до этого.
    DS_171017_ff83b7
  • Соглашаемся на настройку плагина проверки пароля. Для этого нажимаем Y на клавиатуре и нажимаем Enter.
    DS_171017_83dfe6
  • Плагин предлагает три уровня сложности при проверке пароля.
    DS_171017_80dfde

    • Первый — только с проверкой на длину пароля. Если пароль будет короче восьми символов, плагин не даст его задать. Чтобы выбрать первый уровень, нажимаем 0 и нажимаем Enter.
    • Второй — еще и с проверкой на регистр (Аа), цифры и специальные символы (#@!). Чтобы выбрать второй уровень, нажимаем 1 и нажимаем Enter.
    • Третий уровень добавляет словарь наиболее частых слов и не даст задать пароль, в котором используются эти слова. Чтобы выбрать третий уровень, нажимаем 2 и нажимаем Enter.
    • Плагин оценивает наш текущий пароль по шкале 1-100 и предлагает его сменить. Нажимаем Y и нажимаем Enter.
      DS_171017_79ba5e
    • Вводим новый пароль. Нужно, чтобы он соответствовал стандартам, которые мы выбрали в предыдущем пункте.
      DS_171017_d2a77e
    • Плагин переоценивает наш пароль и спрашивает, хотим ли мы продолжить. Нажимаем Y нажимаем Enter.
      DS_171017_03a148
    • На все следующие запросы нажимаем Y и нажимаем Enter. Это удалит тестовые базы данных, тестовых пользователей и закроет несколько уязвимостей в безопасности MySQL.
      DS_171017_f00afe
    • Ждем окончания настройки.
      DS_171017_a1a32c

Препроцессор гипертекста

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

  • Устанавливаем PHP командой: sudo apt install php libapache2-mod-php php-mcrypt php-mysql.
    DS_171017_590e7c
  • Нажимаем Y и Enter, чтобы подтвердить установку.
    DS_171017_6a9896
  • Ждем окончания установки.
  • Создаем тестовый php-файл командой: sudo nano /var/www/html/info.php
    DS_171017_92c5b9
  • Вставляем в него этот код:
    <?php
    	phpinfo();
    	?>
    
    • Нажимаем Ctrl+X, чтобы закрыть редактор.
    • Нажимаем Y, чтобы подтвердить сохранение файла.
    • Нажимаем Enter, чтобы подтвердить перезапись файла.
    • Проверяем, работает ли PHP. Для этого переходим по адресу http://ip_адрес_сервера/info.php и смотрим на тестовую страницу PHP.
      DS_171017_72fe6e

Веб-интерфейс для MySQL

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

  • Устанавливаем PHPMyAdmin командой: sudo apt install phpmyadmin apache2-utils.
    DS_171017_9ea0e5
  • Нажимаем Y и Enter, чтобы подтвердить установку.DS_171017_869d85
  • В списке веб-серверов, выбираем apache2 и нажимаем Enter.DS_171017_ba1f90
  • На вопрос «Конфигурировать ли базу данных для phpMyAdmin с помощью db-common» выбираем Yes и нажимаем Enter.DS_171017_3f6a29
  • Вводим пароль к MySQL и нажимаем Enter.DS_171017_96b998
  • Вводим его еще раз и нажимаем Enter.DS_171017_1c0dcf
  • Ждем окончания установки.DS_171017_d0233e

  • Открываем файл настроек Apache: sudo nano /etc/phpmyadmin/apache.conf

    DS_171017_c28394

  • Находим фразу DirectoryIndex index.php.
  • Вставляем под неё AllowOverride All. Должно получиться:
    DS_171017_e1f09e

    <Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php
    AllowOverride All
            [...]
    
    • Нажимаем Ctrl+X, чтобы закрыть редактор.
      DS_171017_e1f09e
    • Нажимаем Y, чтобы подтвердить сохранение файла.
      DS_171017_795345
    • Нажимаем Enter, чтобы подтвердить перезапись файла.
      DS_171017_c88ede
    • Открываем файл настроек Apache: sudo nano /etc/apache2/apache2.conf
    • Нажимаем Ctrl+X, чтобы закрыть редактор.
    • Нажимаем Y, чтобы подтвердить сохранение файла.
    • Нажимаем Enter, чтобы подтвердить перезапись файла.
    • Дописываем в конец файла:
      # Include phpmyadmin configurations:
      Include /etc/phpmyadmin/apache.conf

      DS_171017_577052

    • Перезагружаем Apache: sudo service apache2 restart
    • Переходим по адресу http://ip_адрес_сервера/phpmyadmin и видим страницу входа в phpMyAdmin.
      DS_171017_d9c9c5

Когда закончили — закрываем терминал.

Загружаем файлы сайта на сервер

Когда веб-сервер успешно настроен и работает, можно загрузить на сервер файлы сайта. Например, установочные файлы WordPress.

  • Скачиваем файлы сайта на компьютер и распаковываем в папку /home/admin/Downloads/Wordpress или любую другую.
  • Загружать их на сервер мы будем по SFTP. Поэтому устанавливаем SFTP-клиент FileZilla.
    • На Ubuntu открываем терминал и выполняем команду sudo apt install filezilla.
    • На Windows скачиваем установщик с официального сайта и устанавливаем программу.
    • Теперь нужно открыть на сервере доступ по SFTP к папке, в которую мы будем загружать сайт. Для этого открываем терминал и выполняем команды sudo chown имя_пользователя:имя_пользователя /var/www/html и sudo chmod -R 775 /var/www
      DS_171017_d843a0

      • Запускаем FileZilla. Вверху окна заполняем панель быстрого доступа.
        • В поле Host вводим sftp://ip_адрес_вашего_сайта.
          DS_171017_5ccffe
        • В поле Username вводим имя пользователя сервера.
        • В поле Password вводим пароль к серверу.
        • В поле Port вводим 22.
        • Нажимаем Quickconnect и подключаемся к серверу.
        • В поле Remote site (справа) набираем /var/www/html и нажимаем Enter.
        • Кликаем правой кнопкой на файле index.html и выбираем Delete. Подтверждаем
          удаление, кликнув Yes. Это тестовый файл Apache и его обязательно нужно удалить, чтобы не было конфликтов.
          DS_171017_f50b66
        • В поле Local site (слева) набираем адрес папки, в которую мы распаковали файлы сайта.DS_171017_6665d6
        • Выделяем все файлы в папке слева и перетаскиваем их в папку справа. Процесс займёт около 10 минут. Если в папке много мелких файлов — может и дольше.
        • Когда в списке Queued files не останется файлов, можеи смело закрывать FileZilla — загрузка закончилась.DS_171017_27569c

Теперь можем перейти на адрес http://ip_адрес_вашего_сервера и посмотреть на страницу установки нашей CMS.
Но устанавливать её пока что нельзя, потому что у нас еще нет базы данных.
DS_171017_6cb4bb

Создаём базу данных

Устанавливаем CMS WordPress (или любую другую)

  • Переходим по адресу http://ip_адрес_вашего_сервера/
    DS_171017_6cb4bb (1)
  • В случае с WordPress, кликаем Let’s Go! и заполняем данные доступа к базе данных, после чего кликаем Submit.
  • WordPress хочет, чтобы я создал и загрузил в его папку на сервере файл wp-config.php с определенным содержимым.DS_171017_2ec443
  • Создаю в gEdit, загружаю с помощью FileZilla.
  • Возвращаюсь к установщику WordPress и кликаю Run the install.
  • Заполняю имя сайта, имя пользователя, e-mail и пароль администратора и кликаю Install WordPressDS_171017_864bc1
  • После установки заходим в админ-панель WordPress, используя логин и пароль из предыдущего пункта.DS_171017_45ce0a
  • Видим админ-панель и начинаем работать с сайтом.DS_171017_b2e466

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