Показаны сообщения с ярлыком freebsd. Показать все сообщения
Показаны сообщения с ярлыком freebsd. Показать все сообщения

вторник, 25 января 2011 г.

autoconf error

при сборке пакетов php5-extension вылезла ошибка

autoconf: required version 2.68 not found

далее список пакетов на обновление что бы она исчезла


libtool
libltdl
autoconf
automake
automake-wrapper
autoconfig-wrapper


среда, 13 октября 2010 г.

enable debug symbols in libc

в freebsd release не включен debug в libc , из-за чего нет возможности эффективно использовать gdb


cd /usr/src/lib/libc
make cleandir obj
make DEBUG_FLAGS=-g && make install

понедельник, 4 октября 2010 г.

php 5.3.3 freebsd 8.1 build error

error while build
main/spprintf.c:186 static declaration of 'strnlen' follows non-static declaration  freebsd
/usr/include/string.h:105: error: previous declaration of 'strnlen' was here

go to the line 186 in main/spprintf.c

find  this block of code and comment it
static size_t strnlen(const char *s, size_t maxlen) {
  char *r = memchr(s, '\0', maxlen);
  return r ? r-s : maxlen;
}

среда, 4 августа 2010 г.

pptp mpd5 config

part of pptp mpd5 config suitable for ipad vpn client working thru GSM providers

pptp:
    create bundle template B
    set iface enable proxy-arp
    set iface idle 1800
    set iface enable tcpmssfix
    set ipcp yes vjcomp

    set ippool add poolsat 192.168.0.2 192.168.0.100
    set ipcp ranges 192.168.0.1/32 ippool pool1
    set ipcp dns DNSIP_IFEXIST
    set bundle enable compression
    set ccp yes mppc
    set mppc yes e40
    set mppc yes e128
    set mppc yes stateless

    create link template L pptp
    set link action bundle B

    set link enable multilink
    set link yes acfcomp protocomp

    set link no pap chap
    set link enable chap
    set link enable chap-msv1
    set link enable chap-msv2

    set link keep-alive 10 60
    set link mtu 1460
    set pptp self REALVPN_IP
    set link enable incoming

пятница, 5 февраля 2010 г.

ipfw enable

в очередной раз наступив на свои любимые грабли.
как включить ipfw

firewall_logging="YES"
firewall_enable="YES"
firewall_quiet="YES"  #  если это не вписать то в случае если в /etc/ipfw.conf есть flush  будет запрос на рутовой консоли, и сервер не загрузится.
firewall_type="/etc/ipfw.conf"

четверг, 4 февраля 2010 г.

freebsd kernel 6.x -> 7.2

в FREEBSD 7 поменялись опции ядра касательно IPSEC

эти опции отсутствуют

options     IPSEC_ESP       #IP security (crypto; define w/ IPSEC)
options     IPSEC_FILTERGIF # Enbale to filter IPSEC GIF packets


ipsec теперь требует device crypto



device crypto
device enc
options IPSEC
options IPSEC_FILTERTUNNEL
 
 
 
*some notes 
# Set IPSEC_FILTERTUNNEL to change the default of the sysctl to force packets
# coming through a tunnel to be processed by any configured packet filtering
# twice. The default is that packets coming out of a tunnel are _not_ processed;
# they are assumed trusted.

вторник, 17 ноября 2009 г.

freebsd port-mgmt tips

посмотреть список портов на обновление

portversion -vL=

посмотреть текущий список уязвимого софта.

portaudit -Fa

среда, 2 сентября 2009 г.

Failed to modify UNIX password: Insufficient access

при очередном обновлении всей системы выползла ошибка в smbldap-tools

Failed to modify UNIX password: Insufficient access ... во время смены пароля.

Проблема в том что ldap стал слать нахер если к нему лезут с неизвестным полем.
в моем случае это shadowLastChange. Решение тривиально, закоментарить в скрипте smbldap-passwd

три строки
# replace => [userPassword => "$hash_password"],

и ещё раз чуть ниже

# replace => [shadowLastChange => "$shadowLastChange"]
# replace => [shadowLastChange => "$shadowLastChange"]


По умному надо схемы править, но пока быстрое решение.

четверг, 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/

типа все.

среда, 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
но оно у меня по другим причинам включено

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

geli remove boot promt

geli инициируют раздели по умолчанию при загрузке, для remote server подобное поведение не допустимо

решение

geli configure -B /dev/da0s1d.eli

вторник, 2 июня 2009 г.

mysql 5.4-6.0 compile error

при сборке mysql версий 5.4 и 6.0 на freebsd 6.4 вылетала ошибка компилятора


/var/tmp//ccdN1bO7.s: Assembler messages:
/var/tmp//ccdN1bO7.s:1571: Error: bad register name `%sil'
/var/tmp//ccdN1bO7.s:1697: Error: bad register name `%dil'
/var/tmp//ccdN1bO7.s:1915: Error: bad register name `%dil'
/var/tmp//ccdN1bO7.s:2804: Error: bad register name `%dil'
/var/tmp//ccdN1bO7.s:3647: Error: bad register name `%sil'

решение.
1. ставим из портов gcc42, появятся бинарники gcc42 и g++42
2. ./configure CC=gcc42 CXX=g++42
3. make ; make install
4. profit!

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

freebsd статистика

top -mio - показать I/O по процессам
top -S - показать ситемные процессы в топе (по дефолту они не показываются)
gstat - нагрузка на диски
systat -io start 1
diskinfo -t da0 - тест на дисковую производительность
tunefs -p /var/ - информация о настройках файловой системы
vmstat -z чего не хватает
vmstat -i прерывания по устройствам
netstat -i ошибки на интерфейсах
systat -ifstat - интенсивность передачи трафика
netstat -inb - передано через интерфейс в байтах
netstat -w1 - количество пакетов/ошибок/байт на интерфейсе

стибрил тут

четверг, 19 февраля 2009 г.

freebsd acl operate

setfacl -m u:username:rwx - установить ACL
getfacl dir/file - посмотреть текущие
setfacl -d -m u::rwx,g::---,o::rwx dir/file -выставить дефолтные ACL

так как ACL нет возможно выставить рекурсивно во FreeBSD,   пользуем find
find . -type d -exec setfacl -m u:username:rwx {} \;

понедельник, 2 февраля 2009 г.

freebsd acl

Enable ACL

Команда tunefs может быть применена на отмонтированной либо доступной только для чтения файловой системе. Это означает, что, обычно, Вы должны загрузиться в однопользовательском режиме перед запуском команды
/sbin/tunefs -a enable /fs ,
где /fs обозначает точку монтирования файловой системы (/, /usr, и так далее). Если Вы не имеете доступа к терминалу машины (например, в случае машины, находящейся на colocation), Вы можете добавить вызов команды tunefs в начало файла /etc/rc для включения ACL при последующей загрузке.
Если Вы используете файловую систему UFS2, включение ACL закончено. Для включения ACL необходима только строчка opions UFS_ACL, встроенная по умолчанию в GENERIC-конфигурацию ядра.

спер тут

пятница, 19 декабря 2008 г.

freebsd base update

обновление базовой системы freebsd

1. cvs -d anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs co -rRELENG_6_4 src (если хочется ветку stable, RELENG_6) , альтернативный вариант Here

2. Переносим текущую папку /usr/src в /usr/src.bk
3. Распаковываем свежие исходники /usr/src
4. Копируем из /usr/src.bk/sys/i386/conf/КОНФИГ_ЯДРА в /usr/src/sys/i386/conf/
5. Долго и упорно читаем файл /usr/src/UPDATING, если требуется правка ядра правим
6. make -s -j 4 buildworld (идем пить чай)
7. make -s -j 4 kernel KERNCONF=КОНФИГ_ЯДРА
6. mergemaster -p , смотрим думаем выбираем
7. стопим jail (если есть), и вообще все что лишнее, комментируем автозапуск
8. reboot
9. make installworld
10. make delete-old
10.1  make delete-old-libs (дважды подумать , софт придется пересобирать)
11. mergemaster
12. крестимся,ребут
13. загружаемся, запускаем, по очереди необходимые сервисы, кроме всего что связано с jail
14. смотрим на функционал
15. make installworld DESTDIR=/js/JAIL_NAME
16. mergemaster -i -C -D $JAIL (jail mergemaster)
17. запускаем jails

distclean

чиста старых distfile в FreeBSD

portsclean --distclean

среда, 19 ноября 2008 г.

работа с tape changer

работа с DDS лентами в ченджере

chio status - посмотреть статус
chio move slot 1 drive 0 - вставить ВТОРУЮ ленту в ченджер
chio return drive 0 - вернуть ленту обратно в стек

mt -f /dev/nsa0 rewind - перемотать ленту в начало
получение freebsd src через subversion


cd /download_dir
svn co svn://svn.freebsd.org/base/stable/7 src

Последующие разы
cd /download_dir
svn up