четверг, 23 декабря 2010 г.

Skype не подключается и не звонит

Уже 20 минут скайп не подключается. Сначала я мог хотя бы звонить, но значок скайпа крутился, словно переподключается. Сейчас совсем не работает. В linux-версии пишет P2P connection error. А в windows - просто крутится значок подключения. На пару минут подключился, но потом снова пропало соединение.
На форум скайпа не зайти из-за наплыва посетителей. 
В твиттере скайпа появилось сообщение: «Some of you may have problems signing in to Skype – we’re investigating, and we’re sorry for the disruption to your conversations»

пятница, 12 ноября 2010 г.

Шейпинг трафика VOIP

Приведу простой пример ограничения входящего трафика. В Интернете много примеров. Я приведу действующий скрипт для небольшой фирмы у которой сервер VOIP и шлюз в Интернет один и тот же физический сервер.

eth0 - смотрит в локальную сеть
eth1 - смотрит в Интернет (входящая скорость 7Мбит от провайдера)


Ограничивать будем на eth0, т.к. ограничивать возможно только исходящий трафик. Разобьем трафик на 3 части
Итак непосредственно пример:

#!/bin/sh
TCOP="add"
IPTOP="-A"
IF=eth0
if [ "$1" == "stop" ]; then
       echo "Stopping..."
       TCOP="del"
       IPTOP="-D"
fi


if [ "$1" == "stat" ]; then
    tc -d qdisc
    exit
fi
# RATE - минимально гарантированная скорость, CEIL - максимальная
RATE=6000
CEIL=7000
# Создаем корневой класс(неклассифицированный трафик попадает в канал 30)
tc qdisc ${TCOP} dev ${IF} root handle 1: htb default 30
# Создаем классы(шаблоны ограничений)
tc class ${TCOP} dev ${IF} parent 1:   classid 1:1 htb rate ${RATE}kbit ceil ${CEIL}kbit
# voip
tc class ${TCOP} dev ${IF} parent 1:1  classid 1:10 htb rate 1024kbit ceil 1500kbit prio 0
# http
tc class ${TCOP} dev ${IF} parent 1:1  classid 1:20 htb rate 1024kbit ceil 3000kbit prio 2
# other
tc class ${TCOP} dev ${IF} parent 1:1  classid 1:30 htb rate 256kbit ceil 2500kbit prio 3


# Указываем тип очередей
tc qdisc ${TCOP} dev ${IF} parent 1:10 handle 10: pfifo
tc qdisc ${TCOP} dev ${IF} parent 1:20 handle 20: sfq perturb 10
tc qdisc ${TCOP} dev ${IF} parent 1:30 handle 30: sfq perturb 10


# Указываем фильтры для очередей.
tc filter ${TCOP} dev ${IF} parent 1:0 protocol ip prio 0 handle 1 fw classid 1:10
tc filter ${TCOP} dev ${IF} parent 1:0 protocol ip prio 2 handle 2 fw classid 1:20
tc filter ${TCOP} dev ${IF} parent 1:0 protocol ip prio 3 handle 3 fw classid 1:30


# Непосредственно маркировка. 0x1 означает найти в "tc filter" "handle 1" назначить приоритет 0 и отправить в канал 1:10 и т.д. Обратите внимание на то что RTP пакеты маркируются в OUTPUT. Это связано с тем, что ASTERISK стоит на той же машине что и шлюз.


iptables -t mangle ${IPTOP} OUTPUT -p udp -m udp --sport 10000:15000 -j MARK --set-mark 0x1
iptables -t mangle ${IPTOP} OUTPUT -p udp -m udp --sport 10000:15000 -j RETURN


iptables -t mangle ${IPTOP} PREROUTING -p tcp -m tcp --sport 80 -j MARK --set-mark 0x2
iptables -t mangle ${IPTOP} PREROUTING -p tcp -m tcp --sport 80 -j RETURN


iptables -t mangle ${IPTOP} PREROUTING -p tcp -m tcp --sport 22 -j MARK --set-mark 0x2
iptables -t mangle ${IPTOP} PREROUTING -p tcp -m tcp --sport 22 -j RETURN


iptables -t mangle ${IPTOP} PREROUTING -j MARK --set-mark 0x3
iptables -t mangle ${IPTOP} OUTPUT -j MARK --set-mark 0x3

Вот так все просто...Жду ваших дополнений и комментов!!!

понедельник, 19 июля 2010 г.

Что делать, если забыли пароль root или самый простой способ сменить пароль

Маленькая заметка для забывчивых админов.(Чтобы не забывать пароли рекомендую использовать программу http://keepass.info/)
Итак все очень просто. Вам не нужны никакие livecd, никакие утилиты по восстановлению паролей, вам нужно всего лишь одно: перегрузить вашу ОС и когда загрузится grub или lilo в параметры ядра дописать:
init=/bin/sh rw
Обращу внимание на параметр rw: если его не прописать, то ОС примонтирует корневой раздел "только на чтение" и любые манипуляции будут тщетны. Дальше продолжить загрузку после окончания которой вы сразу попадете в консоль под рутом. Можно менять пароль(как это делать не буду объяснять).

PS если вы забыли про параметр rw, то в консоли можно набрать:
# mount -o remount,rw /


Не забывай пароль, Админ! =)

суббота, 10 июля 2010 г.

Опрос

Я там справа внизу опросик для сисадминов(программистов) подкинул. Жду ваших ответов...

среда, 30 июня 2010 г.

Письмо счастья ))

У меня есть сайт alertme.ru. На нем пока практически ничего нет. Но сегодня на мыло упала следующая байда от лохотронщиков:


Приветствую Вас администратор сайта alertme.ru
Я, почетный член арбитражной комиссии, электронной платежной системы WebMoney, ник - FrichX, заявляю Вам, как вебмастеру портала alertme.ru, о том, что располагаю компрометирующими материалами, относительно Вашей деятельности в сети Интернет, которые нам любезно предоставил Ваш хостинг-провайдер alertme.ru. 85.142.63.82
Я предлагаю Вам, добровольно внести пожертвование, направленное на развитие платежной системы WebMoney, для отмены всех негативных процессов, которые были уже активированы относительно Вашего домена и WMID!
Деньги от Вас, должны быть переданы лично мне на телефон +380674380635, SMS-сообщением в виде реквизитов Паймер-карт, на общую сумму 800 WMZ, до 12 июля 2010 года, или, помимо публикации на Ваш WMID всех поданных нам претензий на Ваш сайт, я опубликую этот компромат также и в своих личных, многочисленных блогах, т.о. кроме блокирования вашего WM ID, вместе со всеми Вашими электронными деньгами, я могу Вам гарантировать существенный отток Ваших клиентов, а может быть и вовсе полное блокирование домена alertme.ru, его регистратором.
Вот ссылка на всего одну из аналогичных моих работ (множество аналогичных документов найдете через поиск KeyWord "gullon":
http://govori.info/Scandals/695-lohotron-gullon.html
Здесь фигурирует ставший сейчас скандальным сайт gullon.eu, раньше безупречной и процветающей испанской кондитерской фирмы Gullon, который был полностью парализован арбитражным сервисом WebMoney и лично мною, теперь его место вполне может занять ALERTME.RU!
Так что не затягивайте, потому что потом это будет гораздо дороже, а может быть и вовсе станет уже не возможно остановить негативный процесс, инициированный мною.
Также хочу Вас предупредить о том, что я не намерен вступать с Вами в переговоры, и в виде ответа на данное предупредительное сообщение, Вы можете отправить мне только реквизиты Paymer-чеков в выше оговоренной сумме, выше указанным способом, и ничего более!

FrichX

P.S. Любителям ссориться, и тем, кому хочется обвинить меня в мошенничестве или шантаже, советую ознакомиться с официальным опровержением этой версии, которое опубликовано на каждой странице моего сайта www.govori.info, к тому же взвешенно отнеситесь к своим скромным возможностям, и учтите, что у меня хорошие связи не только в WebMoney, электронных СМИ, доменных регистраторов и хостерах, но и в высших эшелонах власти Украины!


Так и хотелось написать: благодаря своим связям в России, у вас будет отключен газ ))) [я не имел ввиду всех украинцев, а только конкретно этого лохотронщика]

четверг, 10 июня 2010 г.

Пересылка с почты gmail apps

Давно ничего не писал. Вот решил описать небольшой "костыль", который пришлось сделать для почты gmail apps. В одной организации, которую я обслуживаю, почтовая система привязана на gmail apps. Организация не большая - 20 сотрудников. Необходимо было просто создать ящик all@domain.com, почта с которого должна была пересылаться на ящики сотрудников. Вроде бы задача тривиальна, но не все так просто. Если пользоваться стандартными средствами gmail apps, переадресация происходила (если зайти через web-морду письмо лежит в ящике), но всякого рода outlook-и не хотели принимать переадресованное письмо. Я решил сделать это через алиасы на одном из linux серверов.
Общая схема проста: получаем почту с помощью fetchmail с ящика all@domain.com, прописываем алиасы и почта отсылается всем сотрудникам. Итак, что для этого надо:

1. Создаем пользователя для получения почты(можно конечно и root использовать, но тогда все что вам валится на почту root будет валиться пользователям, что не хорошо). Назовем его mailfwd:
#useradd mailfwd

2. В домашнем каталоге /home/mailfwd создаем конфигурационный файл .fetchmailrc следующего содержания (Обратите внимание на точку в имени файла.):

poll pop.gmail.com
port 995
proto POP3
user 'all@domain.com'
pass 'yourpassword'

3. Прописываем алиасы в файле /etc/aliases, добавив в конец строку вида:
mailfwd: admin@domain.com,user1@domain.com,user2@domain.com

И выполним команду:
# newaliases

4. Открываем планировщик /etc/crontab и добавляем строку:
00-59 * * * * mailfwd HOME=/home/mailfwd /usr/bin/fetchmail -s

Обратите внимание на параметр "s" - он говорит, что не нужно каждый раз слать отчет. А то вас отчетами завалит.

5. Отправляем тестовое сообщение на all@domain.com. Вот и все.

пятница, 7 мая 2010 г.

Жизнь после взлома Linux

Один из обслуживаемых серверов был в недавнем времени взломан. Поэтому я хочу опубликовать краткий обзор тех команд которые помогут вам вычислить, какие процессы и порты использует хакер. Итак начнем:

Программа 1. Команда top
Очень хорошая утилитка, которая покажет вам что у вас происходит в системе. Ее должен знать каждый уважающий себя(и даже не уважающий) админ.

debian:/etc# top
top - 17:46:27 up 1 day, 22:51, 1 user, load average: 0.02, 0.09, 0.07
Tasks: 59 total, 2 running, 57 sleeping, 0 stopped, 0 zombie
Cpu(s): 3.3%us, 0.7%sy, 0.0%ni, 95.4%id, 0.3%wa, 0.0%hi, 0.3%si, 0.0%st
Mem: 507408k total, 498848k used, 8560k free, 62672k buffers
Swap: 1485972k total, 68k used, 1485904k free, 336816k cached


PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2146 uucp 20 0 6188 4072 780 S 5.3 0.8 42:17.90 iaxmodem
2663 root 20 0 52488 21m 14m S 2.0 4.3 40:19.33 asterisk
471 root 20 0 2392 1104 884 R 0.7 0.2 0:00.02 top
1 root 20 0 2100 684 588 S 0.0 0.1 0:02.14 init
2 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 15 -5 0 0 0 S 0.0 0.0 0:05.24 ksoftirqd/0
5 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
6 root 15 -5 0 0 0 S 0.0 0.0 0:05.82 events/0
7 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 khelper
39 root 15 -5 0 0 0 S 0.0 0.0 0:00.84 kblockd/0
41 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kacpid
42 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kacpi_notify
110 root 15 -5 0 0 0 S 0.0 0.0 0:00.00 kseriod
146 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pdflush
147 root 20 0 0 0 0 S 0.0 0.0 0:02.44 pdflush
148 root 15 -5 0 0 0 S 0.0 0.0 0:00.56 kswapd0

Если ничего подозрительного вы не нашли, что идем к следующей программе.

Программа 2. nmap
Замечательная утилита, возможности которой просто безграничны.
debian:/etc# nmap -sT -v -v -v localhost

Starting Nmap 4.62 ( http://nmap.org ) at 2010-05-06 17:50 MSD
Initiating Connect Scan at 17:50
Scanning localhost (127.0.0.1) [1715 ports]
Discovered open port 53/tcp on 127.0.0.1
Discovered open port 25/tcp on 127.0.0.1
Discovered open port 2000/tcp on 127.0.0.1
Discovered open port 3306/tcp on 127.0.0.1
Discovered open port 953/tcp on 127.0.0.1
Discovered open port 139/tcp on 127.0.0.1
Discovered open port 445/tcp on 127.0.0.1
Completed Connect Scan at 17:50, 0.09s elapsed (1715 total ports)
Host localhost (127.0.0.1) appears to be up ... good.
Interesting ports on localhost (127.0.0.1):
Not shown: 1708 closed ports
PORT STATE SERVICE
25/tcp open smtp
53/tcp open domain
139/tcp open netbios-ssn
445/tcp open microsoft-ds
953/tcp open rndc
2000/tcp open callbook
3306/tcp open mysql


Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.142 seconds
Raw packets sent: 0 (0B) | Rcvd: 0 (0B)

Программа 3. tcpdump
Далее стоит запустить сниффер пакетов. Отсекая ненужные порты, запускаем:
debian:/etc# /usr/sbin/tcpdump -elXnvvv -i eth0 dst port not 22 and dst port not 80 and dst port not 53

Программа 3. netstat
Команда netstat показывает содержимое различных структур данных, связанных с сетью, в различных форматах в зависимости от указанных опций.
debian:/etc# netstat -lpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 2209/mysqld
tcp 0 0 0.0.0.0:25900 0.0.0.0:* LISTEN 2123/sshd
tcp 0 0 0.0.0.0:2000 0.0.0.0:* LISTEN 2663/asterisk
tcp 0 0 10.220.10.1:53 0.0.0.0:* LISTEN 2064/named
tcp 0 0 192.168.0.167:53 0.0.0.0:* LISTEN 2064/named
tcp 0 0 A.B.C.D:53 0.0.0.0:* LISTEN 2064/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 2064/named
tcp 0 0 A.B.C.D:1720 0.0.0.0:* LISTEN 2663/asterisk
tcp 0 0 A.B.C.D:1721 0.0.0.0:* LISTEN 2663/asterisk
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2533/exim4
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 2064/named
tcp6 0 0 :::139 :::* LISTEN 2562/smbd
tcp6 0 0 :::25900 :::* LISTEN 2123/sshd
tcp6 0 0 :::53 :::* LISTEN 2064/named
tcp6 0 0 ::1:953 :::* LISTEN 2064/named
tcp6 0 0 :::445 :::* LISTEN 2562/smbd
udp 0 0 0.0.0.0:5000 0.0.0.0:* 2663/asterisk
udp 0 0 10.220.10.1:137 0.0.0.0:* 2560/nmbd
udp 0 0 192.168.0.167:137 0.0.0.0:* 2560/nmbd
udp 0 0 A.B.C.D:137 0.0.0.0:* 2560/nmbd
udp 0 0 0.0.0.0:137 0.0.0.0:* 2560/nmbd
udp 0 0 10.220.10.1:138 0.0.0.0:* 2560/nmbd
udp 0 0 192.168.0.167:138 0.0.0.0:* 2560/nmbd
udp 0 0 A.B.C.D:138 0.0.0.0:* 2560/nmbd
udp 0 0 0.0.0.0:138 0.0.0.0:* 2560/nmbd
udp 0 0 127.0.0.1:161 0.0.0.0:* 2572/snmpd
udp 0 0 0.0.0.0:2727 0.0.0.0:* 2663/asterisk
udp 0 0 0.0.0.0:4520 0.0.0.0:* 2663/asterisk
udp 0 0 10.220.10.1:53 0.0.0.0:* 2064/named
udp 0 0 192.168.0.167:53 0.0.0.0:* 2064/named
udp 0 0 A.B.C.D:53 0.0.0.0:* 2064/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 2064/named
udp 0 0 0.0.0.0:5060 0.0.0.0:* 2663/asterisk
udp 0 0 0.0.0.0:4569 0.0.0.0:* 2146/iaxmodem
udp6 0 0 :::53 :::* 2064/named
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 4620 2026/acpid /var/run/acpid.socket
unix 2 [ ACC ] STREAM LISTENING 5605 2663/asterisk /var/run/asterisk.ctl
unix 2 [ ACC ] STREAM LISTENING 4910 2209/mysqld /tmp/mysql.sock
unix 2 [ ACC ] STREAM LISTENING 4640 2036/dbus-daemon /var/run/dbus/system_bus_socket

Программа 4. find
Да, вы не ослышались. Команду find будем использовать для поиска файлов которые были изменены. Пример поиска изменившихся файлов за последние час:

debian:/etc# find /etc -mtime -10
/etc
/etc/firewall.conf
/etc/asterisk
/etc/asterisk/extensions.conf
/etc/asterisk/h323.conf
/etc/asterisk/users.conf
/etc/asterisk/ooh323.conf
/etc/asterisk/screenlog.0
/etc/mtab
/etc/firewall.allow.conf
/etc/adjtime
/etc/network/run
/etc/network/run/ifstate

Эти файлы можно куда нибудь скопировать для дальнейшего изучения, что происходило с вашей системой. Так же порекомендую перенести файлы логов.

В заключение могу сказать, что универсальных способов поиска злополучных процессов, поэтому все что не относится к сервисам, которые должны работать в системе - под подозрением.

воскресенье, 25 апреля 2010 г.

Защищаем сервер Asterisk с помощью fail2ban

Итак, пришло время поговорить о защите. На написание поста меня сподвигла атака из США жестким брутом. Дело было так, я зашел на сервер оптимизировать конфиг users.conf(Об этом в следующей статье). После правки файла, я благополучно зашел в консоль Asterisk и увидел кучу сообщений (примерно 5 раз в секунду) о том, что с такого-то IP попытка зайти под пользователем 104. Меня это сначала смутило. А потом я решил поставить fail2ban, чтобы обезопасить себя. Итак, статья в моем стиле - поэтому никакой лишней инфы не будет, только то что нужно чтобы закрыть доступ для атакующего IP. Защищать будем Asterisk, ну и бонусом SSH.

Шаг 1. Установка fail2ban.
# apt-get install fail2ban

Шаг 2. Установка python и iptables. Возможно вам понадобиться установить эти пакеты, поэтому
# apt-get install iptables python

Шаг 3. Конфигурация fail2ban. Итак, займемся конфигурацией. Для этого перейдем в каталог  /etc/fail2ban/filter.d.
# cd /etc/fail2ban/filter.d
Создаем новый фильтр:
# touch asterisk.conf 

Содержимое файла /etc/fail2ban/filter.d/asterisk.conf должно быть примерно таким:
# Fail2Ban configuration file
# $Revision: 250 $
[INCLUDES]
# Read common prefixes. If any customizations available -- read them from
# common.local
#before = common.conf
[Definition]
#_daemon = asterisk
# Option:  failregex
# Notes.:  regex to match the password failures messages in the logfile. The
#          host must be matched by a group named "host". The tag "" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P\S+)
# Values:  TEXT
failregex = NOTICE.* .*: Registration from '.*' failed for '' - Wrong password
            NOTICE.* .*: Registration from '.*' failed for '' - No matching peer found
            NOTICE.* .*: Registration from '.*' failed for '' - Username/auth name mismatch
            NOTICE.* .*: Registration from '.*' failed for '' - Device does not match ACL
            NOTICE.* failed to authenticate as '.*'$
            NOTICE.* .*: No registration for peer '.*' \(from \)
            NOTICE.* .*: Host failed MD5 authentication for '.*' (.*)
            NOTICE.* .*: Failed to authenticate user .*@.*
# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
ignoreregex =
Шаг 4. Редактируем /etc/fail2ban/jail.conf. В конец файла добавляем следующее содержимое:

[asterisk-iptables]
enabled  = true
filter   = asterisk
action   = iptables-allports[name=ASTERISK, protocol=all]
sendmail-whois[name=ASTERISK, dest=root, sender=fail2ban@example.org]
logpath  = /var/log/asterisk/messages (Тут внимательно! Посмотрите где у вас логи храняться!)
maxretry = 5
bantime = 259200

Шаг 5. Логирование Asterisk. Открываем /etc/asterisk/logger.conf и раскомментируем:

[general]
dateformat=%F %T
В консоли перегружаем сервис логирования:
# asterisk -rx "logger reload" 


Шаг 6. Запуск.
# /etc/init.d/iptables start 


Проверим:
# iptables -L -v 


Должно появиться что то типа этого:

# iptables -L -v

Chain INPUT (policy ACCEPT 20100 packets, 3866K bytes)
 pkts bytes target     prot opt in     out     source               destination
   62  5692 fail2ban-ssh  tcp  --  any    any     anywhere             anywhere            multiport dports ssh
 2049  471K fail2ban-ASTERISK  all  --  any    any     anywhere             anywhere

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 18948 packets, 5246K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain fail2ban-ASTERISK (1 references)
 pkts bytes target     prot opt in     out     source               destination
 2049  471K RETURN     all  --  any    any     anywhere             anywhere

Chain fail2ban-ssh (1 references)
 pkts bytes target     prot opt in     out     source               destination
   62  5692 RETURN     all  --  any    any     anywhere             anywhere


Шаг 7. Автозапуск fail2ban и iptables:
# update-rc.d iptables defaults 
# update-rc.d fail2ban defaults 

четверг, 25 марта 2010 г.

Подключение нового жесткого диска

Итак, вы подключили новый жесткий диск и теперь его нужно инициализировать в системе. Для этого:

Шаг 1. Вводим следующую команду, чтобы посмотреть список доступных жестких дисков. Причем возможно нового вы тут не увидите.
# fdisk -l | grep '^Disk'

Или на выходе будет примерно так(подключили SDB):
Disk /dev/sda: 251.0 GB, 251000193024 bytes
Disk /dev/sdb: 251.0 GB, 251000193024 bytes

Теперь нужно разметить жесткий диск. Для этого в командной стоке вводим:
# fdisk /dev/sdb

Команды fdisk:
  • m - Помощь
  • p - Показать разделы жесткого диска
  • n - Создать новый раздел
  • d - Удалить раздел
  • q - Выйти без сохранения
  • w - Записать изменения и выйти
Шаг 2. Форматируем новый диск с помощью команды mkfs.ext3:
# mkfs.ext3 /dev/sdb1

Шаг 3. Монтируем раздел:
# mkdir /disk1
# mount /dev/sdb1 /disk1
# df -H

Шаг 4. Правим /etc/fstab:
# vi /etc/fstab

Добавляем строку:
/dev/sdb1 /disk1 ext3 defaults 1 2

Сохраняем и закрываем /etc/fstab.

Все. Можно прегрузиться и посмотреть подхватился ли новый жесткий диск.

среда, 17 марта 2010 г.

Требуется web-дизайнер

Добрый день, читатели моего блога. Для нашего интернет-стартапа требуется web-дизайнер. Работа удаленная и НЕ оплачивается, т.к. мы с моим товарищем сисадмином решили вложиться и все расходы берем на себя. После того, как проект будет запущен - оплата 15% от прибыли. Подробности можно получить по асе 312779094, или пишите на мыло tvs-admin@mail.ru.

А тут можно посмотреть про web 2.0

вторник, 16 февраля 2010 г.

Пересборка php5

Это небольшая заметка чисто для меня.
./configure --with-apxs2=/usr/bin/apxs2 --with-mysql --with-config-file-path=/etc/php5 --enable-force-cgi-redirect --disable-cgi --with-zlib --with-gettext --with-gd   --enable-sockets --enable-bcmath --enable-mbstring
--with-freetype-dir=/usr/lib


продвижение новых сайтов

вторник, 12 января 2010 г.

Бесплатная настройка Asterisk

Добрый день, уважаемые читатели. Для всех у кого есть проблемы с настройкой asteriskа - могу помочь. Поэтому, если возникло желание получить помощь - то прошу обращаться в асю 312779094 или на мыло tvs-admin@mail.ru

Услуга бесплатна!

PS На вопрос зачем мне это надо, отвечу просто - опыт бесценен ;)) Так что обращайтесь - не стеснятесь.

Кстати если у вас серьезные проблемы с Asterisk, советую обратить внимание на обычные аналоговые АТС. Вот отличная   модель kx tem824 от panasonic.