Админская фамилия

Make Sysadmins Great Again

Скрипт для поднятия pptp в Ubuntu

Каждый раз при включении компа прописыать роутинг и поднимать впн неудобно. Проще написать скрипт, который сделает всё это сам и кинуть его в автозагрузку.Вот скрипт:#!/bin/bash           #указываем кто будет выполнять скрипт (bash)route del default     #убираем дефолтный маршрутLOG="/var/log/pptp-run.log"     #логи будут писаться в /var/log/pptp-run.logwhile true;do echo -e “\n==============================================\n date” >> $LOG /usr/sbin/pptp vpn.server.ru >> $LOG     #вывод сообщений из pptp в pptp-run.log sleep 10;doneСохраняем его в /usr/local/bin/pptp-run-sh. Не забываем сделать его исполняемым: chmod +x pptp-run.shИ прописываем в автозагрузку:sudo nano /etc/rc.localпоследней строчкой указываем:  /usr/local/bin/pptp-run.shВсё! Скрипт будет выполняться при запуске системы с правами системы (а может и нет=)), а так же при очередном “отваливании” впн-соединения. 


Делаем FreeBSD удобной.

Итак, FreeBSD установлена (в моем случае 4.11), инет работает. Теперь надо сделать так, чтобы работать с системой было удобно. Первым делом ставим MidnightCommander (файловый менеджер)  и WebMin (web-интерфейс для удобной работы).MidnightCommanerЯ ставлю пакетами. pkg_add -r ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/4.11-RELEASE/packages/shells/mc-4.6.0_13.tgz  Это для версии 4.11. Для новых систем: pkg_add -r mc. Почему-то у меня командой mc командер не открывается. С помощью whereis mc смотрим где находится исполняемый файл. Запускаться командер будет так: /usr/local/bin/mc.WebMinpkg_add -r ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/4.11-RELEASE/packages/sysutils/webmin-1.170_5.tgz Пакет вытягивает все зависимости, распаковывается и дает указания по дальнейшей работе. Следуя им, переходим в каталог  cd /usr/local/lib/webmin. Запускаем установочный скрипт: ./setup.sh. Отвечаем на вопросы, всё подходит по умолчанию, использовать SSL - yes. У меня вебмин запустился сам (может из-за того, что я немного опередил его. Как я это сделал - дальше). Чтобы вебмин запускался сам при старте системы прописываем в /etc/rc.conf строчку webmin_enable=“YES” (с это MC легко делается - F4) (возможно мой вебмин запустился сам потому что я это сделал до запуска setup.sh). Ну если у вас сам не запустился, то гугл советует запускать так: /usr/local/etc/rc.d и запускаем файл webmin(webmin start) или перегружаем систему.Всё! теперь к вашей системе можно подключиться с любой (или не с любой - врать не буду) машины, у которой есть браузер по адресу: https://%IP_вашей_тачки%:10000. Все настройки наглядны, я ещё сам не освоил полностью возможностей. Дерзайте!Начало здесь:НачалоНастраиваем доступ в интернетУстановка софта


Asterisk настройка

Для удобной настройки IP-телефонии потребуется установить веб-интерфейс - через него всё делать гораздо удобнее (если вы - гуру линукс, то, наверное, вам будет проще редактировать конфигурационные файлы вручную).Итак, установка FreePBX:cd /usr/srcВыкачиваем установочные файлы wget http://mirror.freepbx.org/freepbx-2.8.0.tar.gz Распаковываем tar -xzvf freepbx-2.8.0.tar.gzcd freepbx-2.8.0Внимательно читаем INSTALL (cat INSTALL). В этом файле описано всё, что нужно для установки, в частности пакеты: libxml2, libxml2-devel, libtiff, libtiff-devel, lame, httpd (or Apache2), mysql (or mysql-client), mysql-devel (or libmysqlclient10-dev), mysql-server, php (or php4) , php4-pear, php-mysql, php-gd, openssl, openssl-devel (or libssl-dev), kernel-devel (or linux-source),      perl, perl-CPAN, bison, ncurses-devel (or libncurses5-dev), audiofile-devel (or libaudiofile-devel), curl,         sox. Проверяем, есть ли в нашей системе эти пакеты (rpm -q %название_пакета% (естественно без знака %)). Если пакет есть система покажет нам его версию. Если какого-то пакета нет - устанавливаем его. Я делаю это через yum (yum install %название_пакета%).


FreeBSD установка софта.

Как же установить сюда софт. По началу всё довольно страшно. Но как всегда гугл помог! Итак спсособов установки софта во фре как минимум 3: это система портов, система пакетов и компиляция из исходников.Установка из портов. Переходим в директорию /usr/ports. Ищем нужную программулину (по папкам ясно что где лежит). А ещё найти можно таким способом make search name=%название_программы% или make search key=%описание_программы%. Вообще об этом есть в Handbook. Заходим в директорию с нужной прогой и пишем make install.Установка из пакетов. Скачиваем нужный пакет, запускаем pkg_add %название_пакета%. Пакеты заканчиваются на .tgz. Если нужного пакета у вас нет, команда запускается с ключом -r. В моем случае (старинная система. Пакеты лежат в фтп-архиве) после этого ключа нужно добавить путь к месту с пакетом pkg_add -r ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/4.11-RELEASE/packages/shells/mc-4.6.0.tgzУстановка из исходников. Все, кто хоть как-то знаком с линукс-системами уже знают этот способ. Скачиваем тарбол (.tar.gz, .tar.bz, tar.bz2…). Распаковываем его - tar -xzvf %имя_тарбола%. Переходим в директорию с распакованными исходниками - cd %имя_папки%,  ./configure,  make,  make install.Первые два способа установки сами тянут все зависимости, поэтому можно о них не беспокоиться. А вот при установке третьим способом придется покурить мануалы и и файлы INSTALL, README, config и т.п.


Asterisk установка

Asterisk - OpenSource продукт для IP-телефонии. Википедия.Подробное описание есть в журнале “Системный администратор” №№ 2005 -6,7,8.Доки по установке:http://thin.kiev.ua/index.php?option=com_content&view=article&id=69:asterisk&catid=39:linux&Itemid=63,http://asterisk.ru/installation.Устанавливаем на CentOS.Сперва устанавливаем пакеты необходимые для работы.yum -y install kernel-devel gcc ncurses-devel openssl-devel gcc-c++ gnutls-devel makeln -s /usr/src/kernels/2.6.18.-53.1.4.e15-i686/ /usr/src/linuxyum -y install iftopyum -y install libtool-ltdl libtool-ltdl-develyum -y install iksemelyum -y install curl curl-devel newt newt-devel net-snmp net-snmp-libsyum -y install glibc-devel kernel-header db-devel gcc cpp binutils bison expat-devel ncurses openssl openssl-develЧасть из них у меня не встала, например iftop. Не знаю почему. Ещё нужно скачать сам Asterisk. Я это делал так:links asterisk.orgИдем по ссылке download и скачиваем тарболл (.tar.gz)tar -zxvf asterisk-1.8.0.tar.gzcd asterisk-1.8.0./configureИ тут он начал ругаться. Мне сказал, что нет пакетов для чтения и редактирования xml файлов. Исправляется это просто: yum install %название пакета на который ругается% ((БЕЗ ЗНАКОВ %)в моем случае libxml2 и libxml2-devel: yum install libxml2 yum install libxml2-devel).make Опять ругается: file make has modification time 2e+08 or future - как-то так. Оказалось у меня дата - 2003 год. А на дворе конец 2010-го. Меняем date 111111322010 (11-число, 11-месяц, 11-час, 32-минуты, 2010-год).После установки нормальной даты make отработал нормально и выдал следующее сообщение                            +————– Asterisk Build Complete ———+ + Asterisk has successfully been built, and + + can be installed by running:                         + +                                                                            + +                           make install                           + +———————————————————+make install. После его работы получаем следующее сообщение:                                                                                  +—- Asterisk Installation Complete ————————+ +                                                                                              + +    YOU MUST READ THE SECURITY DOCUMENT    + +                                                                                              + + Asterisk has successfully been installed.                   + + If you would like to install the sample                           + + configuration files (overwriting any                                + + existing config files), run:                                                 + +                                                                                               + +                make samples                                                   + +                                                                                               + +—————–  or ————————————————-+ +                                                                                               + + You can go ahead and install the asterisk                   + + program documentation now or later run:                    + +                                                                                               + +               make progdocs                                                   + +                                                                                               + + Note This requires that you have                            + + doxygen installed on your local system                       + +———————————————————————–+    Следуя этим указанием устанавливаем или обновляем doxygen (yum install doxygen) и делаем make progdocs. Это документация к софту. И make samples - примеры конфигурационных файлов.  Поздравляю всех! Мы только что установили Asterisk.  Теперь будем настраивать.                                                                          


webmin на CentOS

Занялись на работе ИП-телефонией. Для этого решили поднять Asterisk на CentOS. Есть дистриб AsteriskNOW, который ставит всё и сразу. Но мы не ищем легких путей! поэтому поставили сначала CentOS - ставится с LiveCD - установка с интернета. Установка ОС достаточно проста, но скорость её зависит от скорости вашего интернет-соединения. У меня ушло часов 7.Чтобы рулить сервером было удобно, я решил поставить webmin - веб-интерфейс для управления линуксом. Установка достаточно проста. Мне помогли следующие сайты:http://www.lostop.ru/page/19/http://centos.name/?page/tipsandtricks/installwebminrepo/Итак, сначала ставим вебмин. Копируем в консоль (работаю через putty):(echo “[Webmin]name=Webmin Distribution Neutralbaseurl=http://download.webmin.com/download/yumenabled=1” >/etc/yum.repos.d/webmin.reporpm –import http://www.webmin.com/jcameron-key.ascyum -y install webmin)Вопрос никто не задает - всё довольно просто.Затем назначаем уровень безопасности:system-config-securitylevel-tuiДальше - Customize (уточнить) - Other ports (другие порты) - пишем там: 10000:tcp 20000:tcpВСЁ! К вебмину коннектимся по https, ип сервака, порт 10000.


FreeBSD интернет


OpenSource. Где найти софт, написанный профессионалом?

Хочу научиться программить не по-индусски. Для этого нужно читать и разбираться в чужом коде, желательно в профессиональном. Читать, естественно, справочники по языку и литературу по проектированию и алгоритмизации. В обязательном порядке когда-нибудь прочитаю Стива Макконнелла “Совершенный код”, ну и неплохо было бы Дональда Кнута “Искусство программирования” (говорят тяжелый труд).А вот исходники берутся здесь: github.com, sourceforge.net, code.google.com.


Тулза для проверки HDD с отчетом на e-mail.

Как-то на работе встал вопрос о необходимости такого софта. А работаю я в аутсорсе. Действительно, было бы удобно, чтобы харды у клиентов проверялись примерно раз в месяц на S.M.A.R.T. и бэды, а отчет по этому делу отправлялся на почту or в_аську or в_джабер or в_твиттер or etc. Вот я и задумал написать подобное. А так как кроме делфи я ничего толком не знаю (да и делфи то не знаю нормально :(( ), то писать придется на нем. Документация по работе со S.M.A.R.T. в делфе есть в RSDN. Буду дерзать. Если получится хоть что-то отпишусь.


Автоматизация

Недавно по работе понадобилась сделать так, чтобы при появлении окошка от программы, в нем автоматически нажимались определенные кнопки и окошко закрывалось(чтобы не грузить пользователей лишней работой). Первые мысли - батник или VBScript. VBScript я совсем не знаю, хотя ради такого можно было разобраться. А вот насчет батника гугл сказал, что не прокатит. В итоге остановился на прекрасной программке - AutoIT. Это программка со скриптовым языком, позволяющая автоматизировать работу.Всё предельно просто. Мой скрипт ждал появление окошка, затем жал на кнопочку, потом во втором окошке - ещё одну, снова ждём около минуты и нажимаем ОК. На всё про всё включая чтения FAQ, гугление и написание скрипта у меня ушло минут 15. Так что рекомендую!FAQ на OSZoneВот мой скрипт:If WinExists(@ScriptName) Then Exit                          ; Проверяем не запущена лиAutoItWinSetTitle(@ScriptName)                                 ; уже копия скриптаRun("\192.168.0.254\SoftwareInfentory\tniaudit.exe")    ; Запускаем софтинуWinWaitActive(“Confirm”)                                            ; Ждём окноSend("!y")                                                                  ; Жмем YesWinWaitActive(“Information”)                                       ; Ждём окноSend(’{ENTER}’)                                                         ; Жмём кнопку, выбранную                                                                                ; по умолчаниюWinWaitActive(“Information”)                                       ; Ждём окно Send(’{ENTER}’)                                                         ; Жмём кнопку, выбранную                                                                                ; по умолчаниюUPD 29.10.10.А сегодня появился пост на хабре на эту тему =)Ещё по AutoIt была серия статей в журнале Системный администратор (2005.4 - 2005.7)