Pull to refresh

Установка SilkJS на Centos 6

Reading time3 min
Views1.6K
Темой для топика послужила ситуация, в которую я попал, пытаясь установить SilkJS на OS Centos. Официально SilkJS может быть установлен на OSX и Ubuntu (& forks). Для OS Centos инсталлятор находится в стадии разработки, хотя makefile для Centos присутствует в пакете.

Итак, что такое SilkJS?

SilkJS — это командный процессор и супер-быстрый http-сервер, являющийся надстройкой над JavaScript-движком v8 разработанным компанией Google. Он оптимизирован для запуска server-side приложений, консольных приложений и сетевых серверов. Очевидный конкурент такому продукту, как NodeJS.
Вкратце, его особенности:
  • поддерживает выполнение сценариев JavaScript на стороне сервера
  • идеально подходит для RIA
  • предоставляет «легкое» API для доступа к системным функциям OS Linux и OSX
  • реализует Ajax-запросы как RPC
  • etc.


Установка.

Все действия производим от пользователя root:
[bash]# sudo su -

Проверяем версию OS:
[bash]# cat /etc/redhat-release
CentOS release 6.3 (Final)

Проверяем архитектуру:
[bash]# getconf LONG_BIT
64

Создаем папку src и переходим в нее и
[bash]# mkdir src
[bash]# cd src

Устанавливаем, если не установлены программы subversion и git
[bash]# yum install subversion git

Получаем копию git-репозитория программы:
[bash]# git clone https://github.com/mschwartz/SilkJS.git SilkJS

Переходим в папку SilkJS
[bash]# cd SilkJS


До сего момента процесс установки идет строго по инструкции размещенной на сайте разработчика.

Открываем и редактируем файл src/SilkJS/Makefile (здесь используется тектовой редактор Vim)
[bash]# vim src/SilkJS/Makefile

комментируем строки 5 — 12 в которых идет определение переменной MAKEFILE, в строке 3 присваиваем переменной MAKEFILE значение Makefile.centos


Далее открываем Makefile.centos
[bash]# vim src/SilkJS/src/Makefile.centos



и добавляем в строку 8 поддержку mysql (почему-то она отсутствовала для Centos)


Смотрим какие пакеты требуются для установки
 -lmysqlclient -lmm -lgd -lncurses -lssl -lpthread -lsqlite3 -lcurl -lssh2 -lmemcached -lcairo

После чего устанавливаем пакеты, необходимые для работы программы
[bash]# yum groupinstall "Development Tools"
[bash]# yum install openssl-devel.x86_64 gd-devel.x86_64 ncurses-devel.x86_64 libcurl-devel.x86_64 libssh2-devel.x86_64 cairo-devel.x86_64 sqlite-devel.x86_64 expat-devel.x86_64

Для установки libmemcached-devel нужно отключить (если подключен) репозиторий remi:
yum --disablerepo=remi libmemcached-devel

Если PHP использует libmemcached и был установлен из репозитория remi, то надо переустановить php-pecl-memcached:
[bash]# yum erase php-pecl-memcached libmemcached
[bash]# yum --disablerepo=remi php-pecl-memcached libmemcached

Далее устанавливаем пакет libmm, которого нет в стандартных репозиториях yum:
[bash]# wget ftp://ftp.pbone.net/mirror/download.fedora.redhat.com/pub/fedora/linux/releases/13/Everything/x86_64/os/Packages/mm-1.4.2-6.fc12.x86_64.rpm
[bash]# yum localinstall mm-1.4.2-6.fc12.x86_64.rpm

Отдельно надо сказать про поддержку MySQL.
У меня на машине установлена MariaDB, поэтому устанавливаем
[bash]#yum install MariaDB-devel.x86_64

Если же установлена MySQL, то следует установить еще пакет mysql-devel
[bash]#yum install mysql-devel.x86_64

На этом процес установки зависимостей закончен.

Далее переходим в папку ~/src/SilkJS и запускаем компиляцию
[bash]# cd ~/src/SilkJS
[bash]# make
[bash]# make install

Если процесс установки завершился удачно, можно попробовать запустить SilkJS:
[bash]# ./silkjs httpd/main.js &

Набираем в броузере
http://localhost:9090
и радуемся!
Tags:
Hubs:
Total votes 11: ↑8 and ↓3+5
Comments0

Articles