Установка MEAN.js Stack на сервер Ubuntu 14.04

Published by Leave your thoughts

MEAN.js – это полноценная связка для разработки, которая объединяет одни из лучших технологий JavaScript, позволяющих быстро и просто перейти со стадии разработки приложения на стадию производства. В MEAN.js входят MongoDB, ExpressJS, AngularJS и Node.js.

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

Предварительные требования

Чтобы следовать данному руководству, понадобится предварительно настроенный сервер Ubuntu 14.04, а также учетная запись пользователя (не-рут) с расширенными привилегиями sudo. Подробные инструкции по начальной настройке сервера (по созданию пользователя с привилегиями sudo в том числе) можно найти в данном руководстве.

Установка MongoDB и ее зависимостей

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

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

Для начала добавьте ключ MongoDB в список доверенных ключей, чтобы подтвердить, что пакеты являются подлинными. Следующая команда добавит правильный ключ в список (при желании можете проверить идентификатор ключа в официальной документации MongoDB)

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

Теперь, когда система доверяет пакетам, подписанным разработчиками MongoDB, добавьте ссылку на репозиторий в конфигурации apt. Можно создать отдельный файл дл яхранения ссылки на репозиторий, набрав:

echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

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

Итак, из этого репозитория можно установить базу данных MongoDB, git (понадобится для установки остальных программ), а также некоторые зависимости Node.js:

sudo apt-get update
sudo apt-get install mongodb-org git build-essential openssl libssl-dev pkg-config

После завершения установки можно приступать к компилированию Node.js.

Установка Node.js из исходного кода

Node.js – очень ходовой проект, который часто выпускает новые релизы. Чтобы получить последнюю актуальную версию Node, предназначенную для конкретной системы, загрузите исходный код и скомпилируйте бинарный файл вручную; это довольно простая процедура.

Сначала откройте раздел Downloads сайта Node.js. На этой странице размещены ссылки для скачивания, разделенные по операционным системам, а также ссылка на исходный код в правом верхнем углу.

Кликните правой кнопкой по ссылке на исходный код и выберите Copy link address (или другой похожий вариант).

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

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

cd ~
wget http://nodejs.org/dist/v0.10.33/node-v0.10.33.tar.gz

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

tar xzvf node-v*

Это создаст структуру каталогов, которая содержит исходный код. Перейдите в новый каталог:

cd node-v*

Поскольку все необходимые зависимости Node.js были установлены при помощи apt в предыдущем разделе, можно сразу приступать к сборке программы; для этого используйте команды:

./configure
make

После завершения сборки программного обеспечения установите его, набрав:

sudo make install

Готово! Node.js и все вспомогательные пакеты установлены. Прежде чем продолжить, нужно избавиться от архива с исходным кодом и исходного каталога, чтобы не засорять систему:

cd ~
rm -rf ~/node-v*

Установка остальных компонентов при помощи NPM, Git и Bower

После установки Node.js появляется доступ к менеджеру пакетов npm, который поможет установить некоторые необходимые пакеты.

Для управления пакетами фронт-энда MEAN.js использует отдельный менеджер пакетов по имени Bower, а для автоматизации рутинных задач – инструмент Grunt Task Runner. Поскольку эти пакеты управления будут необходимы для разработки любого приложения, нужно глобально установить их при помощи NPM:

sudo npm install -g bower grunt-cli

Итак, все необходимые пакеты установлены. Теперь нужно установить библиотеку стандартных текстов MEAN.js для создания приложений. Клонируйте репозиторий GitHub в каталог /opt/MEAN, чтобы получить последнюю актуальную версию проекта.

sudo git clone https://github.com/MEANjs/MEAN.git /opt/MEAN

Откройте каталог и при помощи npm установите все пакеты, на которые ссылается проект.

Примечание: находясь в системном каталоге, не забудьте использовать sudo.

cd /opt/MEAN
sudo npm install

Теперь нужно вызвать bower с привилегиями sudo и опцией —allow-root, чтобы установить и настроить пакеты фронт-энда.

sudo bower --allow-root --config.interactive=false install

Тестирование установки MEAN.js

Теперь программная связка MEAN.js полностью установлена. При помощи Grunt Task Runner в каталоге проекта можно запустить тестовое приложение. Чтобы запустить приложение и позволить ему принимать запросы, используйте следующие команды:

cd /opt/MEAN
grunt

Запустив процесс, посетите доменное имя или IP-адрес сервера в веб-браузере на (порт 3000):

http://домен_или_IP_срвера:3000

Появится тестовое приложение MEAN.js.

Заключение

Завершив установку MEAN.js, можете приступать к разработке приложений на этой надежной основе.

Дополнительную информацию о MEAN.js можно найти в официальной документации на сайте проекта.

Tags: , , , , , , , , , , ,

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>