Новости:

Форуму исполнилось 12 лет!

Мы в матрице .
Мы в телеге .

Главное меню

Yaws+erlang+zotonic

Автор bormant, 30 октября 2012, 15:01:41

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

bormant

По мотивам http://www.slackware.ru/forum/viewtopic.php?f=24&t=834

0. Подготовка
Здесь и ниже все команды от root-а.

mkdir ~/bld
export PKGTYPE=txz
export SBOREP=http://slackbuilds.org/slackbuilds/14.0


1. jdk (нужен для erlang-otp)
Идём браузером на http://www.oracle.com/technetwork/java/javase/downloads/index.html
переходим по ссылке JDK, соглашаемся с лицензией, загружаем, для определённости в /tmp, сообразно используемой архитектуре:
jdk-7u9-linux-x64.tar.gz
jdk-7u9-linux-i586.tar.gz

cd ~/bld
wget $SBOREP/development/jdk.tar.gz
tar xf jdk.tar.gz
cd jdk
less README
sed -i -e 's/7u7/7u9/g' -e 's/1\.7\.0_07/1.7.0_09/g' -e 's/BUILD:-[0-9]\+/BUILD:-1/' *Build
ln -s /tmp/jdk-7u9-linux-*.tar.gz ./
./*Build
upgradepkg --install-new /tmp/jdk-7u9-*t?z


2. erlang-otp

cd ~/bld
wget $SBOREP/development/erlang-otp.tar.gz
tar xf erlang-otp.tar.gz
cd erlang-otp
less README
sed -i -e 's/--build=/--with-ssl &/' *Build
. *info
wget $DOWNLOAD
./*Build
upgradepkg --install-new /tmp/erlang-otp-*t?z


3. yaws
Загружаем прилагаемый слакбилд (для определённости, в /tmp), собираем, ставим.

cd ~/bld
tar xf /tmp/yaws.tar.gz
cd yaws
. *info
wget $DOWNLOAD
./*Build
upgradepkg --install-new /tmp/yaws-*t?z


4. PostgreSQL (нужен для zotonic)

cd ~/bld
wget $SBOREP/system/postgresql.tar.gz
tar xf postgresql.tar.gz
less README
less README.SBo
groupadd -g 209 postgres
useradd -u 209 -g 209 -d /var/lib/pgsql postgres
. *info
wget $DOWNLOAD
./*Build
upgradepkg --install-new /tmp/postgresql-*t?z

su postgres -c "initdb -D /var/lib/pgsql/data"
chmod +x /etc/rc.d/rc.postgresql

[ -e /etc/rc.d/rc.local ] || echo '#!/bin/bash' > /etc/rc.d/rc.local
cat <<EOF >> /etc/rc.d/rc.local

# Startup postgresql
if [ -x /etc/rc.d/rc.postgresql ]; then
/etc/rc.d/rc.postgresql start
fi
EOF

[ -e /etc/rc.d/rc.local_shutdown ] || echo '#!/bin/bash' > /etc/rc.d/rc.local_shutdown
cat << EOF >> /etc/rc.d/rc.local_shutdown

# Stop postgres
if [ -x /etc/rc.d/rc.postgresql ]; then
/etc/rc.d/rc.postgresql stop
fi
EOF


5. zotonic
Читаем внимательно:
http://zotonic.com/install
http://zotonic.com/deploy

В его каталоге есть попытка заскриптовать установку для .deb-ориентированных, там ничего принципиально нового нет, кроме добавления строк в настройки postgresql в файл pg_hba.conf (но в Slackware у него несколько иной путь). Из полезного:

# cat << EOF | su -l postgres -c psql
CREATE USER zotonic WITH PASSWORD 'zotonic';
ALTER ROLE zotonic WITH CREATEDB;
CREATE DATABASE zotonic WITH OWNER = zotonic ENCODING = 'UTF8';
\c zotonic
CREATE LANGUAGE "plpgsql";
EOF


А вот нужно ли его опакечивать и что именно включать в пакет -- тут я, честно говоря, не совсем уверен. Живёт оно, насколько понимаю, внутри своего каталога в каталоге пользователя, где-то в $HOME/zotonic, в ~/.profile пользователю укладывается путь до $HOME/zotonic/bin... С другой стороны, создаётся /home/zotonic под пользователя zotonic.
Поддерживает ли оно установку "для всех" судить не могу, пробуйте, рассказывайте.

Graf

Цитата: bormant от 30 октября 2012, 15:01:41

1. jdk (нужен для erlang-otp)
Идём браузером на http://www.oracle.com/technetwork/java/javase/downloads/index.html
переходим по ссылке JDK, соглашаемся с лицензией, загружаем, для определённости в /tmp, сообразно используемой архитектуре:
jdk-7u9-linux-x64.tar.gz
jdk-7u9-linux-i586.tar.gz
Как ни странно, но качается оно как *.gz

Цитата: bormant от 30 октября 2012, 15:01:41

cd ~/bld
wget $SBOREP/development/jdk.tar.gz
tar xf jdk.tar.gz
cd jar # думаю, cd jdk
less README
sed -i -e 's/7u7/7u9/g' -e 's/1\.7\.0_07/1.7.0_09/g' -e 's/BUILD:-[0-9]\+/BUILD:-1/' *Build
ln -s /tmp/jdk-7u9-linux-*.tar.gz ./ # ln -s /tmp/jdk-7u9-linux-*.gz ./
./*Build
upgradepkg --install-new /tmp/jdk-7u9-*t?z

что самое не приятное в самом jdk.SlackBuild надо поменять tar.gz на gz  для jdk пакета, ну и заодно в jdk.info

bormant

Цитата: Graf от 06 ноября 2012, 18:37:37
Цитата: bormant от 30 октября 2012, 15:01:41

1. jdk (нужен для erlang-otp)
Идём браузером на http://www.oracle.com/technetwork/java/javase/downloads/index.html
переходим по ссылке JDK, соглашаемся с лицензией, загружаем, для определённости в /tmp, сообразно используемой архитектуре:
jdk-7u9-linux-x64.tar.gz
jdk-7u9-linux-i586.tar.gz
Как ни странно, но качается оно как *.gz
Opera Browser detected ;) Ну или ещё кто-то черезчур своевольный, все претензии туда. Поэтому в слакбилде менять нет смысла, достаточно переименовать тарбол как положено.
Про jar->jdk поправил выше.
/tmp/jdk-7u9-linux-*.tar.gz и ln -s /tmp/jdk-7u9-linux-*.gz ./ неразличимы в данном случае, просто второе чуть пошире, но не думаю, что в /tmp что-то будет присутствоать, попадающее под 2-ю маску и не попадающее под 1-ю. Или речь была не о том?

Graf

Цитата: bormant от 06 ноября 2012, 19:09:36
Opera Browser detected ;) Ну или ещё кто-то черезчур своевольный, все претензии туда. Поэтому в слакбилде менять нет смысла, достаточно переименовать тарбол как положено.

Ну, да, переименование тарбола - самое быстрое и, наверное, правильное решение в данном случаи
Как оказалось, ВЫНЬ-хром начудил.
Дома под слакой хром скачал как полагается tar.gz  :scratch_one-s_head_mini:

Цитата: bormant от 06 ноября 2012, 19:09:36
/tmp/jdk-7u9-linux-*.tar.gz и ln -s /tmp/jdk-7u9-linux-*.gz ./ неразличимы в данном случае, просто второе чуть пошире, но не думаю, что в /tmp что-то будет присутствоать, попадающее под 2-ю маску и не попадающее под 1-ю. Или речь была не о том?

Я, просто, предположил, что указав в скрипте *.gz , то и *tar.gz распакуется и *.gz
А вот в варианте *.tar.gz - скрип сразу сообщил, что файл не найден и я сильно удивился скаченному  jdk-7u9-linux-x64.gz :)