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

в 8:30, , рубрики: CentOS, linux, Веб-разработка, Песочница, метки:

Темой для топика послужила ситуация, в которую я попал, пытаясь установить 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
Установка SilkJS на Centos 6

Далее открываем Makefile.centos

[bash]# vim src/SilkJS/src/Makefile.centos

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

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

Смотрим какие пакеты требуются для установки

 -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

и радуемся!
Установка SilkJS на Centos 6

Автор: ignatoffCD

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js