На облачных VPS от Infobox можно развернуть сайт без необходимости ручной установки Linux, Apache, MySQL и PHP и без использования панелей управления сайтом благодаря использованию шаблона Ubuntu LAMP.

Можно использовать все возможности облака без необходимости длительной настройки ОС и установки ПО для хостинга сайта. Если вы используете классические VPS – мы сделали шаблон доступным и в этом сервисе.

Внутри шаблона Ubuntu 14.04 lamp предустановлено и настроено следующее ПО:
  • NGINX 1.4 (в качестве реверс-прокси)
  • Apache 2.4
  • PHP 5.5
  • MySQL 5.5
  • ProFTPD 1.3
  • PHPMyAdmin 4.0

Можно сразу развернуть сайт, пользоваться FTP и PHPMyAdmin без дополнительных настроек.

InfoboxCloud LAMP шаблон

В этой статье мы рассмотрим этот шаблон подробнее и покажем, как просто можно перенести сайт на облачные VPS от Infobox.

Создание облачной VPS


Если у вас еще нет облачной VPS – закажите ee. После заказа войдите в панель управления и создайте облачный сервер.



Установите необходимые параметры сервера, не устанавливайте галочку «Разрешить управление ядром ОС». Выделите серверу один публичный IP–адрес для того, чтобы сервер был доступен из интернета. Не забудьте установить необходимую скорость сети и нажмите «Далее».



Выберите шаблон «Ubuntu 14.04 lamp», как показано на скриншоте ниже, и завершите создание сервера. После создания вы получите данные для доступа к серверу на электронную почту.



Подключитесь к серверу по SSH.

Все уже готово к работе


После подключения к серверу вы увидите данные для доступа к базе данных MySQL и FTP. Сохраните их.



Первым делом установите обновления ОС, которые помогут исправить все найденные на данный момент проблемы и сделать работу сервера надежнее. Для этого введите команду:
apt-key update && apt-get update && apt-get -y upgrade


Загружаем файлы на облачный сервер по FTP


Давайте подключимся к серверу по FTP и положим файлы сайта на сервер. Для подключения можно использовать Filezilla Client. Скачайте и установите его.

После запуска введите внешний ip–адрес сервера (такой же, как вы использовали при подключении по SSH), логин и пароль. Для подключения нажмите QuickConnect.



Подключение будет успешно установлено. Перенесите файлы сайта на сервер.



Для примера установим MogutaCMS – систему управления интернет-магазином, у которой есть и бесплатная версия. Скачайте ее, распакуйте архив и положите файлы сайта на сервер через Filezilla.

Для удобства использования Filezilla в будущем можно сохранить данные для доступа к серверу. Для этого откройте Site Manager в Filezilla, как показано на скриншоте ниже.



Нажмите New Site и введите имя для сайта.



Введите ip–адрес, выберите тип логина «Normal». Затем введите логин и пароль от сайта и нажмите Connect.



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

Разрешаем выполнение index.php по-умолчанию


По-умолчанию сервер настроен на открытие index.html, если его нет — index.php. Наш сайт разработан на php. Самый простой вариант — просто удалить index.html на сервере через Filezilla и сайт откроется. Однако если в вашей CMS кроме index.php есть и index.html – нужно включить обработку index.php до index.html.

Делается это очень просто. В окне подключения по SSH выполните команду для установки редактора nano:
apt-get -y install nano

Затем отредактируйте файл конфигурации, выполнив команду:
nano /etc/apache2/sites-enabled/000-default.conf

Добавьте строку:
DirectoryIndex index.php index.html

как показано на скриншоте ниже:



Для сохранения изменений нажмите «Ctrl + X», затем «Y» и затем Enter.

Перезапустите Apache командой:
service apache2 restart


Откройте публичный ip–адрес сервера в браузере. Вы увидите окно установки MogutaCMS.



Устанавливаем MogutaCMS


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

MogutaCMS при установке требует библиотеку libcurl. Давайте установим ее:
apt-get install -y php5-curl

service apache2 restart

После этого установка MogutaCMS будет успешно выполнена.
На одном из этапов необходимо ввести данные для доступа к базе данных. В качестве сервера укажите «localhost», в качестве логина и пароля укажите данные из приветственного сообщения, которое выдается при подключении по SSH (и которые мы просили сохранить вас ранее).


Некоторые CMS умеют создавать базу данных, если ее еще нет. MogutaCMS не умеет и надо немного помочь ей. Откройте PHPMyAdmin по адресу:
публичный_ip_сервера/phpmyadmin

Введите пароль от базы данных (из приветственного сообщения SSH) и нажмите Ok.

Перейтите в раздел «Databases», введите имя базы данных на английском, выберите кодировку (utf8_general_ci, если разработчик CMS не просит иного) и нажмите Create.



Теперь установка MogutaCMS успешно продолжится, если указать созданную базу данных.

Введите название сайта, ваш email и пароль. Нажмите «Установить».



Теперь нажмите «Перейти на сайт».



Ваш сайт был успешно установлен.



F.A.Q.


В этом разделе мы будем отвечать на вопросы, которые возникают у вас при использовании шаблона Ubuntu 14.04 lamp на облачных VPS. Если в процессе установки сайта у вас возникнут вопросы — напишите нам, и мы добавим ответ в этот раздел. У вас легко получится установить CMS на облачный сервер, все непонятные моменты мы постараемся описать в статье.

Как перенести базу данных существующего сайта?

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

1. Войдите в PHPMyAdmin на старом хостинге или сервере.
2. Выберите вашу базу данных. Перейдите в раздел «Export» и нажмите «Go».



Браузер скачает дамп базы данных.

Теперь войдите в PHPMyAdmin на облачном сервере в Infobox. Перейдите в раздел «Databases» и создайте пустую базу данных.



После создания выберите ее, перейдите в раздел «Import». Нажмите «Choose file» и выберите дамп базы с вашего компьютера. Убедитесть, что указана кодировка, соответствующая кодировке экспорта. Нажмите Go для завершения импорта.



База данных будет успешно импортирована.



Что, если размер базы слишком велик и база не загружается в phpmyadmin?

Настройкa реверс-прокси NGINX для загрузки баз более 20мб и менее 200 мб

Убедитесь, что дамп базы .sql упакован в архив zip, gzip или bzip2. Это поможет существенно уменьшить размер загружаемой базы.
Если упакованная база данных занимает по-прежнему более 20 мегабайт — увеличьте максимально разрешенный размер загружаемого файла в nginx, как показано ниже.

Для этого отредактируйте файл /etc/nginx/nginx.conf, добавив внутрь блока http{} (например, под: # server_tokens off;) параметр:
client_max_body_size 200m;

В этом случае nginx будет разрешать загрузку файлов менее 200 мегабайт.

Отредактировать файл можно с помощью редактора nano. Если он еще не установлен, установите командой:
apt-key update && apt-get update && apt-get install -y nano

Теперь отредактируйте файл командой:
nano /etc/nginx/nginx.conf

и добавьте небоходимое значение client_max_body_size.



Для сохранения нажмите ctrl+x, Y, Enter.

Для применения изменений перезапустите nginx командой:
service nginx restart


Загрузка тяжелых баз данных в mysql

Если база данных mysql занимает более 200 мегабайт в архиве или процесс восстановления дампа базы на mysql после загрузки занимает более минуты, использование phpmyadmin импорта дампа — не самая лучшая идея. Вы можете получать ошибки вида " Script timeout passed, if you want to finish import, please resubmit same file and import will resume". Можно настройть таймауты phpmyadmin и nginx для поддержки выполнения длительных операций и увеличить лимиты загрузки nginx, apache и php, но лучше использовать нативные средства mysql для загрузки таких баз.

1. Скопируйте дамп базы на удаленный сервер (например в директорию /root). Это можно сделать с помощью Filezilla.
Создайте новое подключение SFTP. Укажите ip–адрес, логин и пароль от SSH–доступа к серверу и нажмите «Connect».



Поставьте галочку, соглашаясь, что доверяете данному серверу и нажмите «ОК».



Подключение будет установлено.

Выберите дамп базы на вашем компьютере в левой панели filezilla и переместите на правую. Файл будет скопирован в директорию /root сервера.



2. Подключитесь к серверу по ssh.

Создайте новую базу данных. В приведенном ниже примере my_db – имя создаваемой базы данных.
mysql -u root -p -e 'CREATE DATABASE `my_db`;'

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

При создании базы данных можно указать кодировку:
mysql -u root -p -e 'CREATE DATABASE `my_db` CHARACTER SET utf8 COLLATE utf8_general_ci;'

Теперь импортируйте дамп базы:
mysql -u root -p my_db < database.sql

, где database.sql – имя дампа базы данных для восстановления.

База данных будет успешно восстановлена.

Заключение


Использование шаблона Ubuntu 14.04 lamp на облачных VPS от Infobox позволит вам быстро разворачивать ваши сайты в облаке и постепенно научиться администрированию сервера для полного контроля за вашим сайтом. Мы всегда рады помочь вам, если не понятно, как что-то установить или настроить на этом образе, спрашивайте.

Успехов!

Комментарии (22)


  1. DevilStar
    17.04.2015 14:00

    Лучше бы шаблон с VestaCP сделали. А то зная как вы настраиваете сервера… ламп, наверное настроен так же как и всё остальное. А в Vesta есть хотя бы базовые конфиги, подходящие для большинства.


    1. infobox Автор
      17.04.2015 14:17

      Отличная идея, подумаем над созданием шаблона с Vesta Control Panel


  1. cat_crash
    17.04.2015 15:38
    +4

    Объясните ж мне глупенькому наконец, зачем на борту иметь Nginx и Apache + mod_php? Чем связка nginx + PHP FPM плоха, учитывая что у вас полноценный виртуальный сервак?


    1. infobox Автор
      17.04.2015 15:54

      Ничем не плоха, сделано ради обратной совместимости для того, чтобы клиенты могли настраивать свои CMS по готовым руководствам для Apache.


    1. kreatiff
      17.04.2015 16:16
      -2

      Например, для WordPress связка nginx + php pfm дает кучу ненужного гемороя с некоторыми плагинами. А правильно настроенный Apache работает ничуть не хуже. Вот, например, на моем сервере (кстати, размещенном на Infobox) вот такая нагрузка обычное дело. При этом, сайт на WordPress, онлайн одновременно от 20 до 60 человек. Средняя посещалка в районе 1600-2000 человек в сутки. Memcahed, Varnish и W3 Total Cache творят чудеса. Ну и правильная настройка сервака.

      image

      Кстати, многие хаят Infobox, но ИМХО вполне достойная контора. Были пару раз проблемы, но в целом и общем все окей. Сервера, правда, да, настроены не очень «из коробки». Но на то он и VPS, что бы самому разделять и властвовать на своем серваке.


      1. ambientos
        18.04.2015 22:25

        >>WordPress связка nginx + php pfm дает кучу ненужного гемороя с некоторыми плагинами

        Как разработчику сайтов на данной платформе, использующему на боевом сервере связку nginx+php-fpm — хотелось бы узнать, какие, конкретно, плагины дают кучу ненужного геморроя?


        1. kreatiff
          18.04.2015 23:10

          W3 Total Cache, iThemes Security. Все они завязаны на .htaccess. Со всеми вытекающими в виде переписывания правил под nginx и ко.


  1. bushart
    18.04.2015 16:07

    А чем это все выгодние по сравнению с поднятие серверов на пример на DigitalOcean с помощью PuPHPet?
    В плане настроек PuPHPet гибче, а цены на DigitalOcean приятние. Кроме того вы только выходите на рынок и не известно чего от вас ожидать, а DigitalOcean уже себя зарекомендовал.
    Вместо DigitalOcean можно подставить любой другой хостинг поддерживаемый PuPHPet.


    1. infobox Автор
      19.04.2015 16:00

      Мы уже более 12 лет на рынке. В отличие от DigitalOcean мы позволяем для серверов устанавливать необходимые значения CPU, Ram и диска независимо друг от друга. В InfoboxCloud вы создаете сервер, такой, как нужно именно вам. Например, на DO если вы создали сервер с 1 cpu, 1гб ram и 30гб диска, если вам надо просто добавить диска — нужно заказывать более дорогой инстанс. У нас просто вы двигаете ползунок диска и получаете больше диска. Аналогично и с другими ресурсами.



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

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


      1. infobox Автор
        19.04.2015 16:03

        >PUPHET
        PuPHPet


  1. das
    20.04.2015 09:50
    +1

    Держим VPS на инфобоксе, постоянно ошибки с сетью, я просто не понимаю, что там может постоянно ломаться, в итоге собираемся уходить, надоело, да и для продакшена абсолютно неприемлемо такое качество услуг.


    1. infobox Автор
      20.04.2015 10:32

      Напишите пожалуйста номера обращений в техническую поддержку, проанализируем. Спасибо за информацию.


      1. das
        20.04.2015 14:22

        101084, 98184, 96380, 96110, 81665, 78710, но думаю не проанализируете


        1. infobox Автор
          21.04.2015 09:17

          Ответили. Проблема одна, не массовая (затрагивает единственный аккаунт), будет исправлена. Спасибо вам.


          1. das
            17.05.2015 09:46

            В итоге повторяется снова, ничего не исправлено.


  1. UksusoFF
    20.04.2015 11:12

    У вас на сайте хелпдеск не работает. Естественно обновлял.

    Ошибка!
    Упс, сессия истекла. Обновите страницу.

    UPD: Но при этом тикет создается.


    1. infobox Автор
      20.04.2015 11:40

      Напишите, пожалуйста, какой браузер и какая ОС используется. Проверим. Спасибо. Прямая ссылка на Справочный центр https://helpdesk.infobox.ru/Knowledgebase/List.


      1. UksusoFF
        20.04.2015 11:47

        Я имею ввиду вот эту форму. Браузер:

        Google Chrome
        Google Chrome 42.0.2311.90 (Официальная сборка) m (32 бит)
        Версия 5d28207cac889976c94107da36f69ae01ff0223e-refs/branch-heads/2311_82@{#2}
        ОС Windows 8.1
        Blink 537.36 (@193294)
        JavaScript V8 4.2.77.14
        Flash 17.0.0.169
        User Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36
        Командная строка «C:\Program Files (x86)\Google\Chrome\Application\chrome.exe» --flag-switches-begin --disable-device-discovery-notifications --enable-panels --manual-enhanced-bookmarks --flag-switches-end


        1. infobox Автор
          20.04.2015 14:21

          Попробуйте почистить кэш браузера за все время. Ошибка пока не воспроизводится ни на Windows ни на OS X, ни на Linux в Google Chrome.

          Если после очистки кеша проблема сохранится, напишите пожалуйста нам.


          1. UksusoFF
            20.04.2015 14:26

            Тоже самое. Написал.


          1. UksusoFF
            21.04.2015 09:22

            Починили, спасибо.


            1. infobox Автор
              21.04.2015 09:23

              И вам спасибо за информацию :)