четверг, 30 июля 2009 г.

trac + subversion + apache22

заводим связку svn + trac + apache22 на FreeBSD
Весь софт ставится из портов.

ставим apache22 не забываем включить поддержку DBD

trac будет жить в папке www, а его базы в /var/trac


настраиваем apache

NameVirtualHost xx.xx.xx.xx:80
<VirtualHost projects.example.com:80>

DocumentRoot "/www/trac"
ServerName projects.example.com
ServerAlias projects

Options Indexes FollowSymlinks MultiViews

ErrorLog "/var/log/projects.example.com-error.log"
CustomLog "/var/log/projects.example.com-access.log" common


# Секция в которой мы говорим что все что /www/trac будет обрабатывать mod_python
<Location />
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/trac
PythonOption TracUriRoot /
</Location>


# У меня несколько проектов и занимаются или разные люди которые не должны иметь доступ к данным друг другу. Это простой способ разграничить доступ. Сам путь соответствует пути /var/trac/project1

<Location /project1 >
AuthType Basic
AuthName "Project1 svn AREA"
AuthUserFile /www/trac/access/.htpasswd_project1
Require valid-user
</Location>


#полезная информация.
<Location /mpinfo>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler mod_python.testhandler
</Location>

</VirtualHost>


Поскольку я обычно ставлю такие вещи отдельно в jail, web сервер кроме обслуживания trac больше ничем не занимается. Отсюда с точки зрения безопасности и просто удобства user и group указаны svn.

добавляем в /etc/rc.conf
apache22_enable="YES"

все на этом закончена настройка apache, запускать его не надо, тем более он все равно не запустить поскольку пользователь и группа svn, отсутствуют в системе.

--
Установка subversion

Все также ставится из портов
При установке обязательно посмотреть с какими параметрами будет устанавливаться svn

Обязательно поддержка DBD, APACHE2_APR, MOD_DAV_SVN если оный не был указан при установке apache)
после установки надо убедиться что пользователь и группа SVN присутствуют в системе


mkdir /svn

# создаем репозитарий проекта
svnadmin create /svn/project1

cd /svn/project/conf

# разбиваем на группы.
файл authz

[groups]
project1_users = user1,user2,user3

[project1:/]
@project1_users = rw
* =


# добавляем пароли
файл passwd

[users]
user1 = password1
user2 = password2


все, теперь chown -R svn:svn /svn; chmod 700 /svn

--
Ставим Trac, тоже из портов. Ставится он в /usr/local/lib/python2.6/site-packages/Trac-0.11.4-py2.6.egg/trac что для нас не очень удобно поэтому делаем symlink

ln -s /usr/local/lib/python2.6/site-packages/Trac-0.11.4-py2.6.egg/trac /www/trac

создаем htaccess /www/trac/access/.htpasswd_project1

инициализируем хранилище trac для проекта
trac-admin /var/trac/project1 initenv
отвечаем на заданные вопросы

наделяем правами админа пользователя user1
trac-admin /var/trac/project1 permission add user1 TRAC_ADMIN

выставляем права.
chown -R svn:svn /var/trac ; chmod 700 /var/trac


меняем лого

в файле /var/trac/project1/conf/trac.ini
находим секцию [header_logo]
src = /project1/chrome/common/my_logo.gif

сам файл с логотипом необходимо положить в /www/trac/htdocs/

типа все.

воскресенье, 26 июля 2009 г.

ssh remote fetch file

стащить и заархивировать файл на удаленном сервере.

ssh -l user remoteserver.local "tar -cjf - /tmp/file.xml" | cat - > file.xml.tar.bz2

пятница, 24 июля 2009 г.

lighttpd fastcgi catalyst

fastcgi.server = (
"" => (
"germion" => (
"socket" => "/tmp/germion.socket",
"check-local" => "disable",
"bin-path" => "/germion/script/germion_fastcgi.pl",
"min-procs" => 2,
"max-procs" => 5,
"idle-timeout" => 20,
)
)
)

среда, 15 июля 2009 г.

запуск zabbix_server в jail

в логе шла активная ругать
zabbix_server [1424]: Can not create Semaphore [Function not implemented]
zabbix_server [1424]: Unable to create mutex for log file


решение на хост системе поправить sysctl

sysctl -w security.jail.sysvipc_allowed=1
возможно ещё необходимо
sysctl -w security.jail.allow_raw_sockets=1
но оно у меня по другим причинам включено

xen grub setup

запись для xen3 в /boot/grub/menu.lst

title Xen [/boot/xen.gz]
root (hd0,2)
kernel /boot/xen-3.4.0.gz dom0_mem=524288
module /boot/vmlinuz-2.6.18.8-xen0 root=/dev/disk/by-uuid/239bf825-2e32-4c63-8029-564c74d146ec ro
module /boot/xen0.img

пятница, 10 июля 2009 г.

php следите за параметрами

поимел геморой с неработающими post запросами.

а php.ini добрый человек прописал

post_max_size = 11Mb

казалось бы в чем ошибка. Добрый php молча обнулит такую запись, но вам об этом не скажт просто у вас не будет post запросов, потому что мегабайты обозначают как 11M, одним символом.