Жов 252023
 

Linux, с его открытым исходным кодом и богатой экосистемой разработки, является популярным выбором среди разработчиков. Python, как мощный и универсальный язык программирования, также пользуется большой популярностью. Давайте разберемся, как установить Python на Linux и создадим простую программу.

Установка Python

Прежде чем начать разрабатывать программы на Python, вам нужно убедиться, что интерпретатор Python установлен. В большинстве дистрибутивов Linux, Python по умолчанию уже присутствует. Чтобы проверить версию Python, выполните следующую команду в вашем терминале:

shell
python3 --version

Если Python уже установлен, эта команда отобразит версию интерпретатора.

Однако, версия Python может быть не самой последней. Если вам нужно установить последнюю доступную версию Python, выполните следующие команды:

shell
sudo apt-get update
sudo apt-get install python3

Если вам нужно установить конкретную версию Python, вы можете указать подверсию. Например, чтобы установить Python 3.10:

shell
sudo apt-get install python3.10

Для Python 3.11:

shell
sudo apt-get install python3.11

Запуск Python интерпретатора

После успешной установки Python вы можете начать создавать программы. Давайте создадим нашу первую программу. Откроем терминал и запустим интерпретатор Python следующей командой:

shell
python3

Вы окажетесь в интерактивном режиме Python. Теперь вы можете ввести следующую команду:

python
print("Привет, мир!")

Интерпретатор Python выведет строку “Привет, мир!”.

Создание файла программы

Однако в реальной разработке программы обычно разрабатываются во внешних файлах, а затем передаются интерпретатору для выполнения. Давайте создадим файл программы. Для этого создадим папку для скриптов Python и в этой папке создадим новый текстовый файл с расширением .py. Давайте назовем его hello.py.

Откроем файл hello.py в текстовом редакторе и добавим следующий код:

python
name = input("Введите ваше имя: ")
print("Привет, " + name + "!")

Созданный скрипт ожидает ввода вашего имени и затем приветствует вас по имени.

Теперь вернемся в терминал и перейдем в папку, где находится файл hello.py, с помощью команды cd. Затем выполним программу с помощью следующей команды:

shell
python3 hello.py

Программа запросит ваше имя и затем приветствует вас по имени. Поздравляем, вы только что создали и запустили свою первую программу на Python в среде Linux!

Лис 042012
 

Отказываемся от Cvsup на freebsd и делаем установку prtunne

Устанавливаем prtunne

Столкнулся с такой ситуацией, cvsup не может работать с прокси http, да и вообще от cvsup FreeBSD уже официально отказалось, подумав как быть в этом случае и решил воспользоваться prtunne.

1.
для начало в самом файле cvsup правим данные, строку
*default_host.
Правим на
*default host=localhost
2.
Ставим из портов сам prtunne
cd /usr/ports/net/prtunne && make install clean
3.
prtunnel —D —H прося —P порт —u пользак —p пароль 5999 cvsup3.ru.freebsd.org 5999
4.
cvsup —g —L 2 /etc/cvsupfile
Сер 172012
 

Установка Memcached под FreeBSD

cd /usr/ports/databases/memcached

make install clean
ee /etc/rc.conf

Добавляем строку:

memcached_enable="YES"
/usr/local/etc/rc.d/memcached start

Проверяем: netstat -an | grep 11211
Ставим расширение для php:

cd /usr/ports/databases/pecl-memcache

make install clean
/usr/local/bin/php -i | grep -i 'memcache'

apachectl restart

<?php
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");

$version = $memcache->getVersion();
echo "Server's version: ".$version."
\n";

$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;

$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)
\n";

$get_result = $memcache->get('key');
echo "Data from the cache:
\n";

var_dump($get_result);
?>
Сер 172012
 

Установка VoiP сервера Asterisk IP PBX на OS FreeBSD Устарела

 

Автор: Cancer.

Вот возникла как-то задача соединить Офис и Базу через 2 Шлюза DVG 2004S и DVG 3004S
Офис и база объединены Радиоканалом LAN.
И нужно было соединить АТС-Шлюз в офисе и Шлюз-АТС на базе по средствам VoiP сервера.
Как обычно задал на форуме что по чем и что лучше, мне заявили что мол Астериск супер.
Ну вот и решил его пробовать.

Шлюзы DVG 2004S и DVG 3004S

Схема сети

Схема сети!

Asterisk™ – это завершенное решение телефонной станции основанное на технологии VoIP.Работает Asterisk на платформе Linux и обеспечивает все возможности, которые Вы ожидаете от АТС и даже больше.Asterisk совместим практически со всеми современными стандартами и оборудованием, изпользуя сравнительно недорогое аппаратное обеспечение. Asterisk предоставляет сервис голосовой почты, конференц-связи, очереди вызовов. Поддерживает технологии Caller IDADSISIP и H.323. Asterisk поддерживает широкий диапазон протоколов TDM для обработки и передачи голосового трафика через средства традиционной телефонии. Asterisk поддерживает Американский и Европейский типы сигнализаций, используемых в бизнес приложениях. Asterisk позволяет построить мост между Интегрированными сетями передачи голоса и данных следующего поколения, и существующей инфраструктурой. Asterisk не только поддерживает традиционное телефонное оборудование, но и позволяет использовать его дополнительные возможности. Используя IAX™ (Inter-Asterisk™ eXchange) VoIP протокол, возможно безболезненное объединение голоса и данных в сетях. При использовании пакетной передачи голоса, возможно посылать данные, такие как например URL и изображения, присоединённые к голосовому трафику, то есть позволяет сильно интегрировать информацию. Asterisk включает в себя центральное ядро с четырьмя API для модульной загрузки приложений телефонии, аппаратных интерфейсов, обработки формата файлов и кодеков. Это позволяет прозрачно переключаться между всеми поддерживаемыми интерфейсами, соединять разнообразные голосовые системы с единой средой передачи данных. Asterisk первоначально был разработан на GNU/Linux для x/86. Известны компиляции работающие на OpenBSDFreeBSD, and Mac OS. Перенос на другие UNIX-платформы не должен вызвать затруднений и возможен при наличии времени и необходимых навыков. Существует Asterisk, доступный для тестирования на платформе Debian, он поддерживается Марком Пирселлом (Mark Purcell)

Устанавливаем Asterisk 1.4

 

//> cd /usr/ports/net/asterisk /usr/ports/net/asterisk/> make config

 

| [X] OGGVORBIS Enable Ogg Vorbis support
| [X] ODBC Enable ODBC support
| [ ] POSTGRES Enable PostgreSQL support
| [ ] RADIUS Enable RADIUS accounting support
| [X] SNMP Enable SNMP support
| [ ] H323 Enable H.323 support
| [X] FREETDS Enable FreeTDS support
| [X] JABBER Enable Jabber and Gtalk support
| [X] SQLITE Enable SQLITE support
| [X] CODEC_PATCH Apply codec negotiation patch
| [ ] ILBC Enable iLBC codec
| [ ] MISC_PATCHES Apply additional patches
//> make && make install && make clean


Далее привожу основные конфиги
Сразу говорю все что там в конфигах было оставлял без изменений, токо добавлял это все вниз кадого конфига
Да и еще решетки(#) конфиги asterisk`a не переваривают

//> ee /usr/local/etc/asterisk/sip.conf
; Только СИП пользователи

; Для подключения Шлюза Офис D-Link 2004S [200] type=friend host=dynamic username=200 secret=123 nat=no canreinvite=no context=office callerid=Office <200> allow=gsm allow=ulaw allow=alaw

; База D-Link 3004S [401] dtmfmode=auto type=friend host=dynamic username=401 secret=пароль nat=no canreinvite=no context=office callerid=Base <401> disallow=all allow=g729 allow=g723 allow=g723.1 allow=gsm allow=ulaw allow=alaw

; База D-Link 3004S [402] dtmfmode=auto type=friend host=dynamic username=402 secret=пароль nat=no canreinvite=no context=office callerid=Base <402> disallow=all allow=g729 allow=g723 allow=g723.1 allow=gsm allow=ulaw allow=alaw

; База D-Link 3004S [403] dtmfmode=auto type=friend host=dynamic username=403 secret=пароль nat=no canreinvite=no context=office callerid=Base <403> disallow=all allow=g729 allow=g723 allow=g723.1 allow=gsm allow=ulaw allow=alaw

; База D-Link 3004S [404] dtmfmode=auto type=friend host=dynamic username=404 secret=пароль nat=no canreinvite=no context=office callerid=Base <404> disallow=all allow=g729 allow=g723 allow=g723.1 allow=gsm allow=ulaw allow=alaw

; Обычный SIP пользователь [201] type=friend host=dynamic username=201 secret=пароль nat=no canreinvite=no context=office callerid=user1 <201> allow=gsm allow=ulaw allow=alaw

; Пользователь который звонит внутри фирмы,а по ; межгороду через sipnet.ru с зарегистрированного аккаунта. [202] type=friend host=dynamic username=202 secret=пароль nat=no canreinvite=no context=office callerid=user2 <202> allow=gsm allow=ulaw allow=alaw

; для 202 номера подключение к sipnet.ru [sipnet_202] host=sipnet.ru username=SIP_ID secret=пароль fromuser=SIP_ID fromdomain=sipnet.ru type=peer context=local disallow = all allow = alaw allow = ulaw allow = g729 nat=no canreinvite=nonat insecure=invite dtmfmode=info

Да и для того что бы была слышимость в обе стороны, когда звоните через SIPNET нужно пробросить порты 10000-20000 на машину с Asterisk'ом

 

//> ee /usr/local/etc/asterisk/extensions.conf
[office] ; Шлюз офис D-Link 2004 exten => 200,1, Dial(SIP/200,40) exten => 200,2, Playback(vm-nobodyavail) exten => 200,3, Hangup

; Номер 400 для того что бы на него позвонили ; и поподали на один из свободных 401 402 403 404 exten => 400,1, Queue(queue1|tT|||60) exten => 400,n, Hangup

; D-Link База 3004 exten => 401,1, Dial(SIP/401,40) exten => 401,2, Hangup

; D-Link База 3004 exten => 402,1, Dial(SIP/402,40) exten => 402,2, Hangup

; D-Link База 3004 exten => 403,1, Dial(SIP/403,40) exten => 403,2, Hangup

; D-Link База 3004 exten => 404,1, Dial(SIP/404,40) exten => 404,2, Hangup

, Voicemail(201@default) exten =>

, Voicemail(202@default) exten =>

; Номер 300 по которому можно услышать голосовые сообщения ; введя номер голосового ящика и его пароль exten =>300,1,VoiceMailMain(300)

; Конференция 999 exten => 999,1, MeetMe(999)

include => default


Добавляем очередь в конфиг queues.conf

// ee /usr/local/etc/asterisk/queues.conf
[queue1] music = default strategy = rrmemory member => SIP/401 member => SIP/402 member => SIP/403 member => SIP/404


Добавляем строку для автозапуска в /etc/rc.conf

//> echo 'asterisk_enable="YES"' >> /etc/rc.conf


Ну и запускаем сам Asterisk

//> /usr/local/etc/rc.d/asterisk start

Для того что что бы Работала конференция 999 нужно проделать следующее

//> cp /usr/local/lib/zaptel/zaptel.ko /boot/modules/ //> cp /usr/local/lib/zaptel/ztdummy.ko /boot/modules/

Запускаем модули

//> kldload -v /boot/modules/ztdummy.ko //> kldload -v /boot/modules/zaptel.ko

Добавляем в автозапуск

//> echo 'ztdummy_load="YES"' >> /boot/loader.conf
//> ee /usr/local/etc/asterisk/meetme.conf
[general] audiobuffers=32 [rooms] ; conf=>Номер конференции,пароль conf => 999,1234

Для того что бы пользователи получали уведомления на почтовый ящик по средствам sendmail нужно проделать такое :)

//> ee /usr/local/etc/asterisk/voicemail.conf
[general] format=wav49|gsm|wav serveremail=asterisk attach=yes skipms=3000 maxsilence=10 silencethreshold=128 maxlogins=3emaildateformat=%A, %d %B %Y at %H:%M:%S mailcmd=/usr/sbin/sendmail -t sendvoicemail=yes

[zonemessages] eastern=America/New_York|’vm-received’ Q ‘digits/at’ IMp central=America/Chicago|’vm-received’ Q ‘digits/at’ IMp central24=America/Chicago|’vm-received’ q ‘digits/at’ H N ‘hours’ military=Zulu|’vm-received’ q ‘digits/at’ H N ‘hours’ ‘phonetic/z_p’ european=Europe/Copenhagen|’vm-received’ a d b ‘digits/at’ HM

= пароль, Sergey Batkovich, batkovich@domain.ru, attach=yes

Да и если кому нужны тут Звуковые файлы, для того что бы Asterisk говорил по русски 🙂

Asterisk sounds
файл скачан размер размещён примечание
asterisk.1.4.coresounds.ru.tar.bz2
2129 1.42mb 2008-11-06 Звуки для Asterisk'a на русском языке, качество конечно не супер!

 

Установка Asterisk-gui-0.0.1r20070801_3


Вот еще можно поставить довольно приятную Веб морду asterisk-gui

//> cd /usr/ports/www/asterisk-gui/ /usr/ports/www/asterisk-gui/> make config
| [X] SIP_QUEUES In queues register users as SIP, not Agents
| [X] SAMPLE_CONFIG Install sample configuration files
/usr/ports/www/asterisk-gui/> make install clean


Включаем поддержку Веб админки

//> /usr/local/etc/asterisk/http.conf
[general] enabled=yes enablestatic=yes bindaddr=ip_tachki bindport=8088 prefix=asterisk

Перезапустим Asterisk

//> asterisk -r asterisk*CLI> reload

Тут задаем логин и пароль для Веб Админки добавив вот такую запись в самый низ

//> /usr/local/etc/asterisk/manager.conf
[логин] secret = пароль read = system,call,log,verbose,command,agent,config,user write = system,call,log,verbose,command,agent,config,user
//> asterisk -r asterisk*CLI> reload

И заходим по такой ссылке и отвечаем на вопросы установки
http://ip_tachki:8088/asterisk/static/config/setup/install.html

Веб морда астериска

 

musiconhold.conf Настройка параметров «музыки при удержании» MusicOnHold cdr_mysql.conf Настройка хранения записей о звонках в MySQL manager.conf Настройка интерфейса Manager meetme.conf Настройка конференций (meetme) mgcp.conf Настройка параметров MGCP-устройств parking.conf Параметры «парковки» вызовов «Call parking» voicemail.conf Параметры голосовой почты (VoiceMail) agents.conf Агенты Asterisk extensions.conf Номерной план Asterisk iax.conf Настройка IAX-устройств modem.conf Настройка ISDN с использованием ISDN4Linux vpb.conf Настройка аппаратуры Voicetronix alsa.conf Настройки звукового драйвера ALSA для консольного пользователя festival.conf Параметры работы с синтезатором речи festival modules.conf Настройка модулей Asterisk zapata.conf Настройка аналоговых устройств телефонии digium asterisk.conf Определение расположения каталогов Asterisk indications.conf Настройка параметров аналоговых АТС различных стран rpt.conf Параметры протокола rtp logger.conf Параметры журналирования Asterisk


Клиент для IP телефонии X-lite можно скачать здесь

Документация
http://voip.rus.net/
http://asterisk.org.ru/
http://asterisk.org/
http://asteriskforum.ru/

Буду дописывать по мере успеха!!!(P.S понимаю что статья не идеальна, но все еще впереди)

PS….Виталий Сергеевич, посвящается вам за ваш вклад в мое развитие!

Взято:

http://www.lissyara.su/articles/freebsd/programms/voip_asterisk_ip_pbx/

Лип 292012
 

CentOS Установка подключения pppoe, настраиваем NAT

Редактируем:
/etc/sysctl.conf
Разрешаем форвард, для прохождения пакетов.
net.ipv4.ip_forward = 1

1)yum install rp-pppoe

2)pppoe-setup

3)
/sbin/iptables -t nat -F
/sbin/iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -d ! 192.168.80.1 -j MASQUERADE

4) В разных версиях по разному запуск и остановка соединения, за этим надо смотреть внимательней.
adsl-start
adsl-stop