MySQL Импортируем CSV файл

Вместо того, что бы писать скрипт, разбирающий .cvs файл, мы можем воспользоваться штаными средствами MySQL. Если вы собираетесь импортировать файл cvs созданый MS Excel, то для начала вам необходимо удалить заголовки и все пустоты в конце файла. Затем, в консоли MySQL:

load data local infile ‘uniq.csv’ into table tblUniq
fields terminated by ‘,’
enclosed by ‘»‘
lines terminated by ‘\n’
(uniqName, uniqCity, uniqComments)

Количество просмотров :2177

Подключаем Pyzor, Razor2 и DCC для борьбы со спамом

Спам, вещь неприятная, не то что бы вредная, но все же мешает. Для борьбы с этой заразой есть масса всевозможных средст, я же расскажу об установке Pyzor2, Razor и DCC. В моем случаи я буду устанавливать эти службы уже на рабочую связку Postfix+Amavis(Как пример это может быть IRedMail). Для начала нам нужно будет открыть некоторые порты на фаерволе:

DCC port 6277 UDP
Razor2 port 2307 TCP
Pyzor port 24441 UDP

После этого, подключите RPMForge, инструкция как это сделать ТУТ и Atomic Rocket Repo, инструкция ТУТ

Теперь приступим к установке:

yum install pyzor razor-agents

После, выполняем следующее:

chmod -R a+rX /usr/share/doc/pyzor-0.5.0 /usr/bin/pyzor /usr/bin/pyzord
chmod -R a+rX /usr/lib/python2.4/site-packages/pyzor
mkdir /var/spool/amavisd
chown amavis:amavis /var/spool/amavisd
su -m amavis -c ‘pyzor —homedir /var/spool/amavisd discover’
su -m amavis -c ‘razor-admin -home=/var/spool/amavisd -create’
su -m amavis -c ‘razor-admin -home=/var/spool/amavisd -register’

Теперь перейдем к установке DCC:

cd /tmp
# wget http://www.dcc-servers.net/dcc/source/dcc-dccproc.tar.Z
cd dcc-dccproc-1.3.139
./configure —with-uid=amavis
make
make install
chown -R amavis:amavis /var/dcc
ln -s /var/dcc/libexec/dccifd /usr/local/bin/dccifd

Если у вас появяться какие-то ошибки связанные с sendmail, просто игнорируйте их.

Время заняться настройкой Spamassassin открываем /etc/mail/spamassassin/local.cf и добавляем следующее:

#dcc 
use_dcc 1 
dcc_home /var/dcc 
dcc_path /usr/local/bin/dccproc 
dcc_timeout     10 
add_header all  DCC _DCCB_: _DCCR_   

#pyzor 
use_pyzor 1 
pyzor_path /usr/bin/pyzor   

#razor 
use_razor2 1 
razor_config /var/spool/amavisd/razor-agent.conf   

score RAZOR2_CHECK 2.500 
score PYZOR_CHECK 2.500 
score DCC_CHECK 4.000

Редактируем /etc/mail/spamassassin/v310.pre

# DCC — perform DCC message checks.
#
# DCC is disabled here because it is not open source. See the DCC
# license for more details.
#
loadplugin Mail::SpamAssassin::Plugin::DCC

Проверяем настройки spamassassin

# spamassassin —lint

Если ошибок нет, то перезапускаем Amavis

service amavisd restart

И в конце, можно протестировать работу

spamassassin -t -D razor2 < /usr/share/doc/spamassassin-3.2.5/sample-spam.txt
spamassassin -t -D pyzor < /usr/share/doc/spamassassin-3.2.5/sample-spam.txt
cdcc info

Количество просмотров :7875

Подключаем Atomic Rocket Turtle Repo

Yum репозитарий Atomic хорош тем, что там можно найти очень свежие пакеты. Установка учень проста, все что надо сделать это запустить вот такую команду:

wget -q -O — http://www.atomicorp.com/installers/atomic | sh

Количество просмотров :2781

Ошибка при подключения к SQL Server на Windows 2008 R2 через ASP.NET

Столкнулся я с такой ошибкой, при попыдтке подключиться средствами ASP.NET

Failed to generate a user instance of SQL Server due to failure in retrieving the user’s local application data path. Please make sure the user has a local user profile on the computer. The connection will be closed.

Как оказалось, проблема в том, что с IIS 7.5, Application Pool работает с уникальным identity, созданнного на основе имени пула. В IIS6 и IIS7 использловался NetworkService identity.

И так, решить проблему можно, либо вернувшись обратно на NetworkService или переключить identity на аккаунт пользователя с локальным профилем

Чтобы сделать это нужно перейти в IIS Manager (inetmgr), в нем перейти к узлу Application Pools, выбрать пул вашего приложения и нажать на Advanced Settings на правой панели. Перейдите Identity и выберете NetworkService в качестве «built-in account» или «Custom account» и введите пользователя/пароль.


Количество просмотров :3283

MySQL ‘too many connections’ error

Вот столкнулся с такой ошибкой —

too many connections

По умолчанию количество одновременных подключений к базе ограничено в 100. Для того, что бы проверить, заходим в консоль MySQL  и выполняем:

mysql> show variables like «max_connections»;

результат:

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 100   |
+-----------------+-------+

Для того что бы изменить это значение, открываем /etc/my.cnf и в секции [mysqld] добавляем:

max_connections = 200

Выбирайте количество соединений по силам сервера, иначе можно столкнуться с нехваткой памяти и прочими радостями.
 


Количество просмотров :2983

IPTV при помощи udpxy

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

tar zxvf udpxy.1.0-Chipmunk-19.tgz

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

make
make install

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

udpxy -p 4022 -m eth0 -l /var/log/udpxy.log

где eth0 интерфейс на котором мы принимаем мультикаст. Осталось лишь переделать плейлист от провайдер, если например у вас было  udp://@233.3.2.1:1234, то переделать необходимо в

http://127.0.0.1:4022/udp/233.3.2.1:1234

Вместо 127.0.0.1 вы можете подставить IP адрес вашего внутреннего интерфейса


Количество просмотров :25713

PHP Warning: date() [function.date]: It is not safe to rely on the system’s timezone settings.

Недавно, после апдейта сервера и его перезапуска отказался работать Cacti выдавая вот такую странную ошибочку —

PHP Warning: date() [<a href=’function.date’>function.date</a>]: It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Europe/Helsinki’ for ‘EEST/3.0/DST’ instead in /var/www/vhosts/cacti.eddnet.org/httpdocs/include/global_arrays.php on line 638, referer: http://cacti.eddnet.org/graph_view.php?action=tree&tree_id=1&leaf_id=511r

Решение оказалось очень простым. Раз уже система выбрала Europe/HelsinkЮ пусть так и будет, Хельсинки находится с Киевом в одной часовой зоне и меня вполне устраивает. В /etc/php.ini добавляем:

date.timezone = «Europe/Helsinki»

Количество просмотров :7537

Настраиваем DHCP и динамический DNS

Пускай у нас есть сетка 192.168.0.1/24 и мы хотим настроить в ней DHCP+DDNS, домен пусть будет eddnet.org, а сервер называеться gateway.eddnet.org. И начнем мы с настройки DHCP. Нам будет необходим ключь для общения DHCP и DNS. Для того, что бы его сгенерировать:

Читать продолжении статьи: Настраиваем DHCP и динамический DNS »


Количество просмотров :11702

Как определить программу использующую порт?

Можно использовать netstat или fuser для того, что бы найти программу использующую порт. А вот что бы просмотреть какие порты открыты воспользуемся nmap:

#nmap localhost

Результатом будет

Starting Nmap 5.00 ( http://nmap.org ) at 2011-04-07 11:50 EEST
Interesting ports on vl49-nd-app01 (127.0.0.1):
Not shown: 991 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
111/tcp open rpcbind
199/tcp open smux
631/tcp open ipp
3306/tcp open mysql
5666/tcp open nrpe
10000/tcp open snet-sensor-mgmt

Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds

И так, предположим что мы хотим узнать все про порт 631. Что бы узнать программу которая «висит » на этом порту:

#netstat -nlp |grep 631

результат

tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      2666/cupsd
udp        0      0 0.0.0.0:631                 0.0.0.0:*                               2666/cupsd

Что бы определить id процесса

fuser -n tcp 631

результат

631/tcp:              2666

Количество просмотров :7083

Оптимизация MySQL

Есть несколько параметров, которые могут поднять производительность MySQL, основные это :

key_buffer_size  — буфер для работы с ключами и индексами
query_cache_size — буфер для работы с очередью
thread_cache_size — указывает количество тредов (threads), уходящих в кеш при отключении клиента. При новом подключении тред (thread) не создается, а берется из кеша, что позволяет экономить ресурсы при больших нагрузках.

Ориентировочно, key_buffer_size должен быть равен 1/8 части всей памяти системы, query_cache_size это 1/4 от всей памяти. thread_cache_size подберите эмпирическим способом, изменяя значение от 4 до 20


Количество просмотров :1943