Авг 302011
 
Ария - Эхо судного дня

Ария — Эхо судного дня

Год: 2011
Жанр: Heavy metal
Продолжительность: 01:53:03
Кодек: MP3
Битрейт: 320 kbps
Тип битрейта: CBR

Трек лист:
CD1
01. Прощай Норфолк
02. Колизей
03. Игра с огнем
04. Раскачаем этот мир
05. Крещение огнем
06. Антихрист
07. Кровь за кровь
08. Осколок льда
09. Там высоко
CD2
10. Последний закат
11. Штиль
12. Герой асфальта
13. Баллада о древнерусском воине
14. Улица роз
15. Замкнутый круг
16. Беспечный ангел
17. Дай жару
Continue reading »

Авг 272011
 

Ранее я уже писал о http://slik45.kiev.ua/freebsd/cacti-monitoring-raboty-apache , в этой статье я напишу о мониторинге нагрузке на веб сервер Nginx
Качаем сам скрипт для сбора статистики cacti-nginx.tar.gz, распаковываем его куда нибудь в удобное для нас место.
Заливаем файлы

get_nginx_client_status.pl
get_nginx_socket_status

в

/usr/local/share/cacti/scripts/

Даем им права на выполнение

chmod 755 /usr/local/share/cacti/scripts/get_nginx_socket_status.pl
chmod 755 /usr/local/share/cacti/scripts/get_nginx_clients_status.pl

Continue reading »

Авг 202011
 

В прошлой статье Создание и удаление баз данных описывалось как создать базу данных. Но, в этой базе нужно создать еще таблицу, собственно с которой мы и будем работать в дальнейшем.

Создание таблицы в базе данных

Создание таблицы производится командой CREATE TABLE.

CREATE TABLE table_name(column_name1 type, column_name2 type,...)

table_name — имя новой таблицы;
column_name — имена колонок (полей), которые будут присутствовать в создаваемой таблице.
type — определяет тип создаваемой колонки.

Пример

Нам нужно создать таблицу телефонных номеров друзей.
Наша таблица будет состоять из трех столбцов: ФИО, адрес и телефон.

CREATE TABLE contacts(fio text, address text, tel text)

В PHP это будет так:
$sql="CREATE TABLE contacts(fio text, address text, tel text)";
mysql_query($sql);

К типу данных можно присоединить модификаторы, которые задают его «поведение» и те операции, которые можно (или, наоборот, запрещено) выполнять с соответстующими столбцами.

not null — означает, что поле не может содержать неопределенное значение, т.е. поле обязательно должно быть инициализировано при вставке новой записи в таблицу (если не задано значение по умолчанию).

Например, для нашей таблицы с телефонами нужно указать, что поле с ФИО друга (поле fio) и его телефоном (поле tel) не может иметь неопределенного значения:

CREATE TABLE contacts(fio text NOT NULL, address text, tel text NOT NULL)

primary key — отражает, что поле является первичным ключом, т.е. идентификатором записи, на который можно ссылаться.

CREATE TABLE contacts(fio text, address text, tel text, PRIMARY KEY (fio))

auto_increment — при вставке новой записи поле получит уникальное значение, так что в таблице никогда не будут существовать два поля с одинаковыми номерами.

CREATE TABLE contacts(fio text AUTO_INCREMENT, address text, tel text)

default — задает значение по умолчанию для поля, которое будет использовано, если при вставке записи для этого поля небыло явно указано значение.

CREATE TABLE contacts(fio text, address text DEFAULT 'Не указан', tel text)

Удаление таблицы в базе данных

Continue reading »

Авг 202011
 

Создание базы данных

Для создания базы данных используют команду CREATE DATABASE.

CREATE DATABASE my_database
my_database — имя базы данных, которую мы хотим создать.

Пример

Нам нужно создать базу данных с именем test_db.
Создаем базу данных запросом:
CREATE DATABASE test_db

Создаем базу данных через PHP:
$sql="CREATE DATABASE test_db";
mysql_query($sql);

Удаление базы данных

Для удаления базы данных воспользуемся командой DROP DATABASE.

DROP DATABASE my_database
my_database — имя базы данных, которую нужно удалить.

Пример

Нам нужно удалить базу данных с именем test_db.

Удаляем запросом:
DROP DATABASE db_test

Удалить базу через PHP:
$sql="DROP DATABASE db_test";
mysql_query($sql);

Авг 202011
 

Решил понемногу изучать азы MySQL, ато получается, что знаком и не знаком с ней одновременно. Память у меня не резиновая и пользоватся этими знаниями постоянно мне тоже врятли понадобится. Для быстрого поиска нужной инфы я и буду её тут размещать. Что ж, поехали…

Как видно с названия, разговор пойдет о типах данных в БД Мускула (он же MySQL).

Строковые типы

При занесении некоторого значения в поле такого типа из него автоматически вырезаются концевые пробелы.

VARCHAR — Может хранить не более 255 символов.
TINYTEXT — Может хранить не более 255 символов.
TEXT — Может хранить не более 65 535 символов.
MEDIUMTEXT — Может хранить не более 16 777 215 символов.
LONGTEXT — Может хранить не более 4 294 967 295 символов.
Чаще всего применяется тип TEXT, но если вы не уверены, что данные не будут превышать 65 536 символов, используйте LONGTEXT.

Бинарные данные

Бинарные данные — это почти то же самое, что и данные в формате TEXT, но только при поиске в них учитывается регистр символов.

TINYBLOB — Может хранить не более 255 символов.
BLOB — Может хранить не более 65 535 символов.
MEDIUMBLOB — Может хранить не более 16 777 215 символов.
LONGBLOB — Может хранить не более 4 294 967 295 символов.
BLOD-данные не перекодируются автоматически, если при работе с установленным соединением включена возможность перекодирования текста «на лету».
Continue reading »

Авг 202011
 

Казалось бы банальный вопрос, но многие не знают ответа на него. Чесно говоря, я тоже не знал. 🙂
На nix-ах делается следующим образом.

Открываем файл /etc/my.cf и описываем в него следующее:

[mysqld]
...
log-queries-not-using-indexes
log=/var/log/mysql/mysql-queries.log
log-error=/var/log/mysql/mysql-errors.log
log-slow-queries=/var/log/mysql/mysql-slow-queries.log
...

Файлы могут сами не появится, потому лучше их создать и выдать права самому.

touch /var/log/mysql/mysql-queries.log
touch /var/log/mysql/mysql-errors.log
touch /var/log/mysql/mysql-slow-queries.log
chown mysql:mysql /var/log/mysql/mysql*
chmod 640 /var/log/mysql/mysql*

Теперь осталось перезапустить сервис:
service mysqld restart

Вот и всё. 🙂

Авг 182011
 

В этой статье мы рассмотрим настройку полноценного почтового сервера.
В качестве связки я выбрал exim+dovecot+mysql+roundcube+spamprobe.
Связка довольно таки мощная, на настройку у меня ушло 3 дня 🙂 А все началось с того что мой postfix начал меня сильно раздражать.
Итак приступим.

Домен: slik45.kiev.ua
IP сервера: 193.110.79.79
Обратите внимание согласно RFC, необходимо, чтобы «прямая» и «обратная» запись в ДНС совпадали. Тоесть в нашем случае, необходимо чтобы запись slik45.kiev.ua «резолвилась» в IP-адресс сервера 193.110.79.79, а PTR-запись 193.110.79.79 была установлена в slik45.kiev.ua.

#host slik45.kiev.ua
slik45.kiev.ua has address 193.110.79.79
#host 193.110.79.79
79.79.110.193.in-addr.arpa domain name pointer slik45.kiev.ua.

Тут у нас все отлично, теперь проверям чтобы были прописаны mx-записи

#dig MX slik45.kiev.ua

; <<>> DiG 9.6.-ESV-R3 <<>> MX slik45.kiev.ua
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29509
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 8

;; QUESTION SECTION:
;slik45.kiev.ua.                        IN      MX

;; ANSWER SECTION:
slik45.kiev.ua.         14195   IN      MX      10 <strong>mail.slik45.kiev.ua</strong>.

;; AUTHORITY SECTION:
slik45.kiev.ua.         26038   IN      NS      ns11.uadns.com.
slik45.kiev.ua.         26038   IN      NS      ns10.uadns.com.
slik45.kiev.ua.         26038   IN      NS      ns12.uadns.com.

;; ADDITIONAL SECTION:
mail.slik45.kiev.ua.    5361    IN      A       <strong>193.110.79.79</strong>
ns10.uadns.com.         332     IN      A       213.186.114.9
ns10.uadns.com.         60      IN      AAAA    2002:d5ba:7209::2131:8611:4009
ns11.uadns.com.         332     IN      A       82.144.221.156
ns11.uadns.com.         60      IN      AAAA    2002:5290:dd9c::821:4422:1156
ns12.uadns.com.         332     IN      A       85.10.199.46
ns12.uadns.com.         332     IN      A       46.38.174.75
ns12.uadns.com.         60      IN      AAAA    2a01:4f8:62:2123::2

;; Query time: 19 msec
;; SERVER: 193.93.160.1#53(193.93.160.1)
;; WHEN: Thu Aug 18 18:05:20 2011
;; MSG SIZE  rcvd: 283

Вот мы все проверили, все записи у нас в полном порядке.
Приступаем к установке и настройке почты.

cd /usr/ports/mail/exim-mysql/ && make install clean

У нас появляется окно с выбором опций
Continue reading »

Авг 072011
 

Один из самых популярных вопросов в конфе — «какой беспроводной роутер выбрать для дома?». И чаще всего на него отвечают: ASUS WL-500g Premium. При этом забывают упомянуть, что стоит эта железяка больше $100. Мне это кажется совершенно неоправданным. Более того, можно получить роутер с той же функциональностью и даже построенный на том же чипсете за половину от указанной суммы. Для этого потребуется купить роутер Dlink DIR-320 и воспользоваться приведенной ниже инструкцией. В результате мы получим мощный роутер, который можно использовать не только по прямому назначению, но и установить на него файл-сервер, принт-сервер, torrent-клиент и еще много-много всего.

Итак, поехали.

1. Скачиваем прошивку DD-WRT_mini_usb Eko c сайта dd-wrt.com

2. Прошиваем девайс согласно инструкции: http://www.dd-wrt.com/phpBB2/viewtopic.php?p=232838&sid=128eb1a54450aa3577d880e3d19dfd20
Наберитесь терпения. С первого раза может не получиться. Я смог залить прошивку только сменив компьютер.
Примечание: в статье по ссылке предлагается шиться версией Standart Generic. Это не совсем правильно, т.к., для данного роутера лучше подойдет именно версия Mini USB от Eko.
Continue reading »

Авг 072011
 

BSoD – «Синий экран смерти» (Blue Screen of Death). Объяснять, что это такое, думаю, нет смысла, все с этим сталкивались. Иногда синий экран вполне информативен, повествует нам о возникшей ошибке в виде ее кода (UNMOUNTABLE_BOOT_VOLUME, BAD_POOL_CALLER и т.п.) или напрямую пишет имя процесса, вызвавшего падение системы. Но, к сожалению, не всегда… бывает, что кроме советов проверить оперативную память, обновить драйвера и просканировать диски на ошибки, никакой информативности синий экран не несет.

В Windows существует такая вещь, как minidump. Это файл, который создается после сбоя работы системы с информацией о том, что к этому привело. Каждый BSoD сохраняется в системе в виде зашифрованного файла. По умолчанию, все эти логи находятся в папке Windows\Minidump. Хранятся в виде файлов формата «Mini[Дата]-[Номер].dmp», например, файл Mini060911-05.dmp хранит данные о синем экране, обрадовавшем нас 9 июня 2011 года, причем пятый раз за день. Но для того, чтобы просмотреть этот файл нужна специальная утилита.
О том как включить функцию Minidump и суметь прочитать его и пойдет речь в этой статье.

1. Включить Minidump

«Пуск» — «Настройка» — «Панель управления» — «Система», переходим во вкладку «Дополнительно», в блоке Загрузка и восстановление жмем «Параметры». Внизу должен быть выбран «Малый дамп памяти» и указан каталог, где он будет храниться:

Теперь, если друг система падает в Синий Экран Смерти (BSoD), то в каталоге C:\Windows\Minidump создастся файл, в имени которого будет текущая дата.

2. Расшифровать Minidump

Для этого нам понадобится установить Debugging Tools for Windows и скачать утилиту непосредственно для расшифровки файла дампа kdfe.cmd Continue reading »

Авг 072011
 

Эта статья описывает определенные шаги, которые должен предпринять админ для конфигурирования рабочей станции на основе FreeBSD 4.x. В общем говоря все это применимо и для сервера, но явно недостаточно — в случае сервера необходимо предпринять ряд дополнительных мер.

Основа

Известно, что FreeBSD одна из самых безопасных операционных систем, однако и для ее окончательного укрепления необходимо поработать ручками, не полагаясь на дефолтовые установки.

Прежде всего после установки ОС необходимо отключит все сервисы, которые не нужны. Допустим, что вам нужен лишь FTP и SSHD для работы в локальной сети. Для отключения всех сервисов подредактируйте /etc/rc.conf, примерно так как показано в этом файле.

Выключили? Замечательно. Теперь беремся за /etc/inetd.conf и разкомментируем там ftp. Все остальные службы в файле конфигурации должны быть закрыты до тех пор, пока они вам не понадобятся. Идем дальше: в /usr/local/etc/rc.d/. В этом (или из этого) месте httpd, rpcd и другие демоны инициализируются, так что делайте chmod -x всему тому, что вам не нужно. Или проще удалите/переместите удалите их если они вам не нужны. Перегружайте машину и выполняйте sockstat -l4. Примерно должно вылезти следующее:

root sshd 432 4 tcp4 *:22 *:*
root lpd 72 7 tcp4 *:515 *:*
root syslogd 60 5 udp4 *:514 *:*
root inetd 445 4 tcp4 *:21 *:*

Если видите что-то лишнее — возвращайтесь в /usr/local/etc/rc.d/ и убивайте все, что под руку попадется.
Continue reading »