Archive

Archive for the ‘Linux’ Category

Установка связки Webmin + Virtualmin на Debian

December 15th, 2011 1 comment

Итак, сегодня я Вас познакомлю с очень классной штукой – свзязкой скриптов Webmin+Virtualmin. Первый позволяет передать полное управление через скрипты (веб-интерфейс) с малейшим знанием специфики Linux. Управление очень легкое и администрирование  Linux вместе с Webmin покажется легким даже новичку. Virtualmin – набор скриптов, который идет как дополнение к Webmin. Позволяет управлять так называемыми “виртуальными серверами”. Под этими самыми виртуальными серверами подразумеваются разные домены, которые подключены и добавлены в Virtualmin. С его помощью он автоматически создает для них свои виртуальные хосты для Apache, почтовых серверов, ftp и прочего. Одним словом, можно устраивать полноценный хостинг 🙂

Итак, теперь я расскажу, как это установить. Логинимся от рута, скачиваем в домашнюю директорию :  этот  deb-пакет:

# cd ~/
# dpkg -i <.deb>

Всё, Webmin установился. Теперь можно переходить к установке Virtualmin. Скачиваем установочный скрипт (не бойтесь, компилировать нам ничего не нужно, скрипт всё сделает за Вас):

# wget wget http://software.virtualmin.com/gpl/scripts/install.sh

Даем скрипту права на выполнение:

# chmod +x install.sh

Запускаем скрипт:

# ./install.sh

Ждем завершения установки. После этого вы можете зайти на адрес http://yourhostname.local:10000 и наслаждаться легким администрированием вашей любимой ОС.
P.S. статья еще не доработана, завтра напишу дополнения.

Делим терминал на множество частей, или упрощаем администрирование серверов на Linux

December 13th, 2011 No comments

Сегодня представлю Вам классную программу, которая украсит рабочее место любого администратора *nix 🙂 Представляю terminator’а – эмулятор терминала, который позволяет в одном окне открывать огромное количество терминалов, одновременно просматривая их.

И красиво, и удобно, не так ли? Установка проста:

# aptitude update && aptitude install terminator -y

Готово. Для вызова этого чуда используем команду:

$ terminator

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

qutIM: максимально удобный, привычный и функциональный IM клиент

November 30th, 2011 No comments

Представляю вашему вниманию qutIM – кроссплатформенный IM клиент, использующий фреймворк Qt. При правильной настройке очень сильно напоминает по своему виду и функционалу всем известный QIP, который работает под Windows.

Установка под Debian Lenny (добавляем строчку в sources.list):

deb http://qutim.org/debian/lenny lenny main

Далее добавляем ключ:

# wget -O – http://qutim.org/debian/archive.key | sudo apt-key add –

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

# aptitude update && aptitude install qutim qutim-languages

Установка в Debian Squezze (добавляем строчку в sources.list):

deb http://qutim.org/debian/squeeze squeeze main

Далее добавляем ключ:

#wget -O – http://qutim.org/debian/archive.key | sudo apt-key add –

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

# aptitude update && aptitude install qutim qutim-languages


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теперь настроим внешний вид. Для этого скачаем qutim.tar и положим это всё в /home/username/.config/qutim

После выбрать в настройках интерфейса русский язык, в качестве смайлов колобков и системные значки – xstatus.

VnStat + vnStat PHP frontend: связка в коллекцию домашнему роутеру

November 28th, 2011 No comments

Сколько ваша машинка, стоящая на линуксе, использует трафика в месяц? Вы никогда не задавались таким вопросом? Всё просто, есть же простые консольные утилиты, которые просто покажут статистику. А если… Построить график и статистику использования? Уже лучше? Тогда поехали!

 

Устанавливаем VnStat:

# aptitude update && aptitude install vnstat

Для RedHat производных систем:

# yum install vnstat

Всё, vnstat установлен, можно посмотреть, что он делает. По умолчанию он является сучной, но досточно информативной графической утилитой. Обновляем интерфейсы и запускаем сам VnStat:

# vnstat -u -i eth1
# vnstat -u -i eth0
# vnstat

После, увидим что-то вроде этого:

[root@server ~]# vnstat

                      rx      /      tx      /     total    /   estimated
 eth0:
       Nov '11     35.71 GiB  /    9.26 GiB  /   44.97 GiB  /   49.10 GiB
     yesterday      3.41 GiB  /  432.40 MiB  /    3.83 GiB
         today      4.32 GiB  /    1.75 GiB  /    6.07 GiB  /   12.79 GiB

 eth1:
       Nov '11    670.68 MiB  /    2.56 GiB  /    3.21 GiB  /    3.50 GiB
      11/24/11      9.77 MiB  /   49.34 MiB  /   59.10 MiB
         today         0 KiB  /       0 KiB  /       0 KiB  /      --

Достаточно информативно, но мы же не за этим сюда пришли, да? Не буду объяснять смысл вводимых ключей, их всегда можно посмотреть при помощи man или vnstat –help. Само собой разумеется, что у нас должен быть установленный и настроенный вебсервер, что бы установить  vnStat PHP frontend. Будем считать, что он уже есть и переходим в каталог с будущим скриптом. У меня это /home/vnstat/ 🙂

# mkdir /home/vnstat/www

создаем VirtualHost у вашего вебсервера, можно и в корень вебсервера скрипты залить, можно просто папкой, дело вкуса, как говорится. Загружаем скрипты:

# wget http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz

Распаковываем скрипты:

# tar xvfz vnstat_php_frontend-1.5.1.tar.gz
# cp -r vnstat_php_frontend-1.5.1 vnstat
# cd vnstat

Настраиваем конфиги скрипта:

# nano config.php

Нам понадобится пункт $data_dir, отвечающий за расположение файлов баз данных VnStat. Для того, что бы создать базу данных, узнаем, какие сетевые интерфейсы присутствуют у Вас в системе:

# ifconfig

На выходе получаем:

eth0      Link encap:Ethernet  HWaddr 00:25:22:7c:24:3f
          inet addr:10.0.0.44  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::225:22ff:fe7c:243f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:154390 errors:0 dropped:0 overruns:0 frame:0
          TX packets:99387 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:146585928 (139.7 MiB)  TX bytes:16879039 (16.0 MiB)
          Interrupt:27 Base address:0xa000 

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:24992 errors:0 dropped:0 overruns:0 frame:0
          TX packets:24992 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1260801 (1.2 MiB)  TX bytes:1260801 (1.2 MiB)\

На данный момент нам нужен только eth0. Обновляем для него статистику, а после создаем БД:

# vnstat -u -i eth0
# vnstat –dumpdb -i eth0 > /var/lib/vnstat/dumps/vnstat_dump_eth0

И тем самым обновляем БД VnStat. Возвращаемся к нашему config.php и редактируем строчку $data_dir. /var/lib/vnstat/dumps/ является директорией, куда пишется БД.

$data_dir = ‘/var/lib/vnstat/dumps/’;

В принципе, уже можно посмотреть имеющиеся результаты, набрав в адресной строке браузера адрес хоста. Теперь, когда мы убедились, что всё работает, мы автоматизируем обновление БД с помощью crontab:

# cronab -e
# */10 * * * * sudo vnstat -u -i eth0
# */10 * * * * sudo vnstat –dumpdb -i eth0 > /var/lib/vnstat/dumps/vnstat_dump_eth0

Далее, скрипт можно русифицировать ) Создадим новый файл с именем ru.php:

# nano /<ServerRoot>/<vnstat>/lang/ru.php

И вставляем туда код:

<?php

// sidebar labels
$L['summary'] = 'Итог';
$L['hours'] = 'Часы';
$L['days'] = 'Дни';
$L['months'] = 'Месяцы';

// main table headers
$L['Summary'] = 'Итог';
$L['Top 10 days'] = 'Топ-10 нагрузки (дни)';
$L['Last 24 hours'] = 'За последние 24 часа';
$L['Last 30 days'] = 'За последние 30 дней';
$L['Last 12 months'] = 'За последние 12 месяцев';

// traffic table columns
$L['In'] = 'Входящий';
$L['Out'] = 'Исходящий';
$L['Total'] = 'Всего';

// summary rows
$L['This hour'] = 'За этот день';
$L['This day'] = 'За этот час';
$L['This month'] = 'За этот месяц';
$L['All time'] = 'За всё время';

// graph text
$L['Traffic data for'] = 'Информация о передаче данных';
$L['bytes in'] = 'Байт принято';
$L['bytes out'] = 'Байт отправлено';

// date formats
$L['datefmt_days'] = '%d %B';
$L['datefmt_days_img'] = '%d';
$L['datefmt_months'] = '%B %Y';
$L['datefmt_months_img'] = '%b';
$L['datefmt_hours'] = '%l%P';
$L['datefmt_hours_img'] = '%l';
$L['datefmt_top'] = '%d %B %Y';

После отредактируем config.php и приводим переменную $language к виду:

$language = ‘ru’;

Всё, теперь почти всё готово. Бывает, что хочется скрыть от всех статистику. И в этом нам поможет .htaccess 🙂
Создаем в папке со скриптами vnstat файл .htaccess:

# nano .htaccess

Вставляем туда

AuthType Basic
AuthName admin
require valid-user
AuthUserFile //.htpasswd

далее создаем .htpasswd:

# nano .htpasswd

Генерируем логин и пароль с помощью сервиса http://www.htaccesstools.com/htpasswd-generator/

admin:$apr1$E44h.Q1S$k0m/9eqoT/RkFjy6xye4g.

Теперь пароль в .htpasswd хранится в зашифрованном виде 🙂

Conky: мощный мониторинг для Linux

November 26th, 2011 No comments

Итак, сегодня я хочу познакомить Вас с великим и ужасным Conky. Conky – это такой системный монитор, маленькая невзрачная программка, которая, при наличии смекалки, прямых рук и просто хорошего вкуса превращается в шедевр. Многие берут готовые конфиги, некоторые пишут свои, но суть не изменяется – при использовании conky каждому приходится заморачиваться с conkyrc 🙂

Сегодня я покажу Вам как пользоваться Conky на примере одного простого готового конфига. Кстати программируется вся эта красота на Lua. Но нам этого знать не обязательно 😉

Для начала обновляем кеш репозитариев:

# aptitude update

Далее устанавливаем conky:

# aptitde install conky

теперь даже можно посмотреть, что получилось:

# conky

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пока это выглядит ужасно, и мы срочно нажмем Ctrl+C, что бы не видеть это 🙂

Всё, что нам сейчас нужно – это правка conkyrc. В нём будут содержаться все настройки, которые отвечают за размер окна программы, за вывод информации, за подключаемые lua. Взять можно где угодно, но а мы пойдем на gnome-look.org и возьмем вот этот  конфиг.

$ nano ~/.conkyrc

Туда вставляем конфиг, который только что скачали и сохраняем сочетанием клавиш Ctrl+o.

Теперь можно попробовать запустить и посмотреть, что у нас получилось:

$ conky

Вот так будет выглядеть: тыц.

Итак, всё почти готово, только надо подправить некоторые параметры:

gap_x 5
gap_y 25

Меняем на

gap_x 5
gap_y 90

Соответственно, после этого параметры top_right, bottom_left, bottom_right просто бесполезны 🙂  Теперь сделаем скрипт запуска conky, что бы он включался сам при старте системы:

$ nano .conkystart.sh

На самом деле имя может быть любым. Далее, в новый файл вставляем:

#!/bin/sh
sleep 10
exec
conky

Делается это для корректного старта conky при старте системы. Шак является обязательным, если у вас Gnome. Если conky будут стартовать сразу при запуске вашей учетной записи – то случится небольшой глюк, от которого conky не будут отображаться, либо будут отображаться некорректно.