четверг, 6 декабря 2012 г.

Nginx SSL (https, авторизация клиентов)


Используем https на сайте:
listen 80;
listen 443 ssl;

ssl on;
ssl_certificate      /etc/pki/mail/server_legal.crt;
ssl_certificate_key  /etc/pki/mail/server_legal.key;

ssl_session_timeout 10m;
ssl_protocols   SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers   on;
Используем авторизацию на сайте по выданным клиентским сертификатам:
ssl                  on;                                                               
ssl_certificate      /etc/nginx/conf.d/ssl/server_legal.crt;
ssl_certificate_key  /etc/nginx/conf.d/ssl/server_legal.key;
ssl_client_certificate  /etc/nginx/conf.d/ssl/ca.crt;

ssl_session_timeout 10m;

ssl_protocols   SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers   on;

ssl_verify_depth 3;
ssl_verify_client   on;

Перенос roundcube на другой сервер (пустая адресная книга)

Делаем дамп базы:
mysqldump -qp roundcubemail > dump.sql

Создаем базу на другом сервере, добавляем пользователя и даем ему права
# mysql
> CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
> GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost
IDENTIFIED BY 'password';
Старый пароль смотрим config/db.inc.php

Заливаем дамп:
# mysql -p roundcubemail < dump.sql

Копируем директорию roundcube на новый сервер.
Меняем адрес imap сервера в roundcubemail/config/main.inc.php
$rcmail_config['default_host'] = 'new server ip';

Чтобы не пропала адресная книга и подписи у пользователей, в mysql базе roundcubemail, меняем у пользователей mail_host на новый адрес imap сервера:
> USE roundcubemail;
> UPDATE users SET mail_host = 'new server ip' WHERE mail_host = 'old server ip';

проверяем что все ok:
> select user_id,username,mail_host from users order by user_id;

Обязательно необходим пакет php-xml, без него некоторые письма не открываются.
yum install php-xml

среда, 5 декабря 2012 г.

Sudo exec из php

Для выполнения кода на сервере, например такого:

Выполнение git pull из php скрипта:
<? php
exec('sudo -s username /usr/bin/git pull);
?>

Требуется, создать пользователя username, настроить для него git, добавить www-data в sudo:
$ vimsudo
www-data ALL = (username) NOPASSWD: /usr/bin/git pull, /bin/date, /usr/bin/tail, /usr/bin/rsync

htpasswd без apache (для nginx)


Иногда требуется создать .htpasswd для nginx, устанавливать apache для этого не требуется, достаточно выполнить в консоли:

printf "roman:$(openssl passwd -crypt 112233)\n"

Далее добавляем в nginx:

auth_basic "Mail Admin";
auth_basic_user_file /var/www/nginx.passwd;

пятница, 30 ноября 2012 г.

Dovecot на NFS

Для храниения почтовых папок на nfs серевере, необходимо добавить в /etc/dovecot.conf

mmap_disable=yes
dotlock_use_excl = yes
lock_method = dotlock

среда, 21 ноября 2012 г.

Вывод команды time в файл

Чтобы использовать опции команды time, необходимо указывать полный путь к ней: /usr/bin/time

-a дописывать информаци в файл
--output=time.log выводить информацию в файл time.log
-f "\n%E\n" выводить время выпонения комманды

В данном примере вывод команды wc сохраняется в 1.log, ее ошибки перенаправляются в /dev/null, а время выполнения записывается в time.log:

/usr/bin/time -f "\n%E\n" -a --output=time.log wc * 2> /dev/null >> /root/1.log

понедельник, 12 ноября 2012 г.

Включение Root в macos

Выполняем действия по официальной рекомендации:
http://support.apple.com/kb/HT1528?viewlocale=ru_RU

dhcpd: Unable to add forward map from

dhcpd: Unable to add forward map from xxx - означает что dhcpd не может добавить запись в dns, если это не требуется, то отключаем в конфиге dhcpd:

ddns-update-style none;

dhcpd: not authoritative for subnet

Исправляем - dhcpd: DHCPINFORM from 192.168.X.Y via eth0: not authoritative for subnet 192.168.X.Y

В конфиге dhcpd, в разделе подсети, добавляем: authoritative;

Отключение сообщения "unexpected rcode (refused) resolving"


Если BIND пишет в лог - unexpected rcode (refused) resolving,
то стоит отключить логирование зон не зарегестированных на вашем сервере.

logging {
        category lame-servers {null; };
};

пятница, 26 октября 2012 г.

Константы производительности


CPU L1 — 1 000 000 000 op/sec (1e9)
CPU L2, misbranch — 100 000 000 op/sec (1e8)
RAM Access — 10 000 000 op/sec (1e7)
SSD megaraid — 100 000 op/sec (1e5)
SSD — 10 000 op/sec (1e4)
LAN, 1MB RAM — 1 000 op/sec (1e3)
HDD seek, 1MB LAN — 100 op/sec (1e2)
WAN roundtrip — 10 op/sec (1e1)
Memcached access — 10 000 op/sec (1e4)
RDB simple select — 100 op/sec (1e2)

Phpldapadmin ошибка Undefined variable: _SESSION

Если вы столкнулись в PhpLdapAdmin с такой ошибкой:

Notice: Undefined variable: _SESSION in /usr/share/phpldapadmin/lib/page.php on line 379 Fatal error: Call to a member function getValue() on a non-object in /usr/share/phpldapadmin/lib/page.php on line 379

То, возможно у вас проблема с правами на файл /etc/phpldapadmin/config.php

среда, 3 октября 2012 г.

Удаляем информацию о старом raid (disk sda contains bios raid metadata)


Иногда при переустановке системы можно получить вот такое сообщение:
disk sda contains bios raid metadata but is not part of any recognized bios raid sets - ignoring disk sda

В этом случае, инсталятор не даст установить систему на диск sda. Удаление разделов, с помощью fdisk, не помогает.

Чтобы установка пошла, надо удалить информацию из суперблока диска(данные о программном raid). Вот пример нескольких команд, делающих это:

dmraid -rE

mdadm --zero-superblock dev/sda1

dd if=/dev/zero of=/dev/sda

вторник, 25 сентября 2012 г.

Создание(запись) ISO образа в консоли Linux

Копируем CD диск в iso образ.

Самый простой способ, но не надежный, т.к нет проверки ошибок на диске:
cat /dev/sr0 > cd.iso

Это способ, просто для запоминания:
dd if=/dev/sr0 of=cd.iso

Предпочтительный способ с проверной наличия ошибок на диске:
readom dev=/dev/sr0 f=cd.iso

Копирование DVD диска слегка отличается.

Узнаем размер блоков в файловой системе DVD диска.
isoinfo -d -i /dev/sr0 | grep size
dd if=/dev/sr0 of=cd.iso  bs=${logical_block_size} count=${volume_size}


Записываем ISO на диск.

wodim -v -eject cd.iso

Подключаем ISO образ:

mount -o loop cd.iso /mnt/iso

четверг, 13 сентября 2012 г.

Меняем название сетевых интерфейсов (eth0,1,2,3)


После переноса образа linux системы, на другой сервер (железо), могут измениться имена интерфейсов на новой системе. Например, были два интерфейса eth0 и eth1 в старой системе, а после переноса на другое железо linux показывает доступные eth2 и eth3. Если хочется использовать старые имена, то прийдется подправить udev:

Редактируем файл /etc/udev/rules.d/70-persistent-net.rules (в CentOS)

Комментируем, то что было раньше:

# PCI device 0x8086:0x10ef (e1000e)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:17:da:20:e9", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x10d3 (e1000e)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:17:da:20:e8", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

В описании новых интерфейсов прописываем нужные имена (eth1 и eth0):

# PCI device 0x8086:0x10d3 (e1000e)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:17:f0:f3:10", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x8086:0x10ef (e1000e)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:17:f0:f3:11", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

После этого стоит прописать правильные мак адреса (или закоментировать) в /etc/sysconfig/network-scripts/ifcfg-eth0 и ifcfg-eth1

Отключаем принтер в Samba

В случае неиспользования системы печати, рекомендую в конфиг Samba в секцию Global, добавить следующие строчки:

load printers = no
show add printer wizard = no
disable spoolss = yes
printing = bsd
printcap name = /dev/null

show add printer wizard - отключение иконки "Добавить принтер"
disable spoolss - отлючение загрузки драйверов принтеров с samba сервера
printing - тип подсистемы печати
printcap name - размещение рабочего файла принтера

Это позволит избежать ошибок:  Unable to connect to CUPS server localhost:631,
 в логах samba

пятница, 7 сентября 2012 г.

Клонирование linux с помощью tar и ssh.

Один из самых простых способов склонировать linux машину на другой сервер, без перезагрузки сервера.

1.Устанавлинаем чистую систему на новом сервере, настраиваем сеть.
2. На сервере, который надо скопировать:

cd /
tar --exclude /dev \
--exclude /boot \
--exclude /etc/fstab \
--exclude /etc/mtab \
--exclude /etc/blkid \
--exclude /etc/modprobe.conf \
--exclude /mnt \
--exclude /sys \
--exclude /proc \
-cvpzf - . | ssh root@192.168.1.1 'cat > servercopy.tgz'

Т.е. мы с помощью tar создаем сжатый образ системы в файл servercopy.tgz, с сохраненим прав доступа. Исключаем из архива папки boot,sys,proc и т.д. Сам архив через ssh сразу передается в /root нового сервера (192.168.1.1).

3. Загружаем новый сервер с установочного диска (или LiveCD) в режиме linux rescue (режим восстановления)

В зависимости от linux дистрибутива, монтирование системы должно произойти автоматически. Например для CentOS в /mnt/sysimage. Далее разархивируем образ в точку монтирования.

cd /mnt/sysimage/root
tar -xvpf servercopy.tgz -C /mnt/sysimage

4. Правим если требуется ip, hostname конфиги, перезагружаемся.

среда, 29 августа 2012 г.

SyntaxHighlighter для вашего кода

Замечательная подсветка вашего кода на web страницах
http://alexgorbatchev.com/SyntaxHighlighter/

/** SyntaxHighlighter */
 function foo()
  {
   if (counter <= 10)
   return;
   // it works!
  }
К сожалению есть баг, при котором в chrome нумерация линий сдвигается. Победил это
следующим кодом перед <pre class="brush: js">
<style>
.syntaxhighlighter table td.gutter .line {
  padding: 0 !important;
}
</style>

вторник, 28 августа 2012 г.

Nginx: из исходников, nginx-upload-module, nginx-upload-progress-module

Скачиваем модули
git clone https://github.com/vkholodkov/nginx-upload-module.git
git clone -b 2.2 git://github.com/vkholodkov/nginx-upload-module.git nginx-upload-module-2.2m
(git clone https://github.com/masterzen/nginx-upload-progress-module.git)

Ставим пакеты необходимые для сборки nginx
yum install pcre pcre-devel
yum install perl-devel perl-ExtUtils-Embed perl-ExtUtils-CBuilder perl-CPAN
yum install openssl-devel
yum install libxml2-devel libxslt-devel
yum install gd-devel
yum install GeoIP-devel

Скачиваем стабильную версию nginx:
http://nginx.org/ru/download.html

Nginx: php-fpm, ограничение скорости, no-cache

Подключаем php-fpm
yum install php-fpm
chkconfig --level 235 php-fpm on
location ~ \.php$ {
root          /var/www/html;
fastcgi_pass  127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include        fastcgi_params;
}
Ограничение скорости скачивания
После скачивания 1500k скорость урезается до 100k/sec
set $limit_rate 100k;
set $limit_rate_after 1500k;
Отсылаем заголовок no-cache
location nocache.html {
expires    -1;
}

понедельник, 27 августа 2012 г.

Получаем загрузку CPU из WEB страницы (IE)

Скрипт работает только в IE. Требуется добавить ваш сервер в надежные узлы и для них в параметрах безопасности включить "Разрешить сценарии" и включить "Разрешить использовать\запуск ActiveX".

<script language="javascript">
var myTimer;    // переменная управления таймером
var countCpu;   // сумма всех подсчетов cpu
var countCpuI;  // количество подсчетов cpu
var countMax;   // max значение cpu

function showCpu(){
 
  var obj = new ActiveXObject("WbemScripting.SWbemLocator");
  var s = obj.ConnectServer(".");
  var colItems = s.ExecQuery("SELECT * FROM Win32_Processor"); 

понедельник, 13 августа 2012 г.

понедельник, 6 августа 2012 г.

Root доступ к IPAD под linux

Из cydia устанавливаем пакет afc2add
На своем linux (для примера ubuntu) устанавливаем ifuse
apt-get install ifuse
Создаем папку, куда будем монтировать ipad
sudo mkdir /mnt/ipad
Подключаем ipad, через usb, и выполняем команду
sudo ifuse /mnt/ipad --root
P.S. отключаем командой: sudo umount /mnt/ipad
P.S.S. метод также подходит и для iphone

P.S.S.S. путь к Installous: /mnt/ipad/private/var/mobile/Documents/Installous/Downloads

Смотри у меня: Зарядка IPAD в linux

пятница, 3 августа 2012 г.

RTMPDump + ffmpeg (установка за 30 сек)

cкачиваем последнюю версию из git
git clone git://git.ffmpeg.org/rtmpdump
cd rtmpdump

собираем из исходников
make SYS=posix
make install
ldconfig

сохраняем поток прогоняя его через ffmpeg
rtmpdump -r rtmp://192.168.10.10/apple/apple -o - | ffmpeg -i - -ac 2 -acodec libmp3lame -ar 44100 -ab 128k -f mp3 test.mp3

среда, 1 августа 2012 г.

Monit + Nginx (установка за 30 сек)

Устанавливаем monit (из centos репозитария epel)
wget -c http://mirror.yandex.ru/epel/RPM-GPG-KEY-EPEL-6
rpm --import RPM-GPG-KEY-EPEL-6
wget -c http://mirror.yandex.ru/epel/6/x86_64/epel-release-6-7.noarch.rpm
rpm -ihv epel-release-6-7.noarch.rpm

yum install monit

Простые настройки конфига /etc/monit.conf
set daemon  10         # делаем опрос каждые 10 секунд
with start delay 20    # задержка при старте моита
 set logfile syslog facility log_daemon  
# настройка почтового оповещения
 set mailserver localhost
 set mail-format { from: monit@localhost }
 set alert root@localhost


# порт с логином и паролем, для просмотра состояния через web
 set httpd port 2812 and
      allow admin:password

Для примера минимальный конфиг для nginx
/etc/monit.d/nginx.conf

check process nginx with pidfile /var/run/nginx.pid
  start program = "/etc/init.d/nginx start"
  stop program  = "/etc/init.d/nginx stop"

среда, 25 июля 2012 г.

FlowPlayer (с плагинами для ipad и rtmp)

Для транслирования файлов я использую Wowza Media Server.
Как его настроить читаем тут: 
http://rfedorov.blogspot.com/2012/07/wowza-media-server-centos-6.html


Cкачиваем и распаковываем 
wget http://releases.flowplayer.org/flowplayer/flowplayer-3.2.12.zip 
wget http://releases.flowplayer.org/js/flowplayer.ipad-3.2.10.min.js
wget http://releases.flowplayer.org/flowplayer.rtmp/flowplayer.rtmp-3.2.10.swf

Показываем видео файл на Apple IOS с web сервера (apache/nginx)
Создаем файл html


<html><head>
<title>test</title>
<script type="text/javascript" src="flowplayer-3.2.11.min.js"></script>
<script type="text/javascript" src="flowplayer.ipad-3.2.10.min.js"></script>
</head>
<body>


<div id="ipad" style="display:block;width:425px;height:300px;"></div>
<script type="text/javascript">
$f("ipad", "flowplayer-3.2.12.swf", { 
   clip: {
   ipadUrl: 'http://192.168.1.1/video.mp4'}
   }).ipad();
</script>
</body></html>

Установка Wowza Media Server (CentOS 6)

Устанавливаем java
yum install java-openjdk

Скачиваем и устанавливаем Wowza Media Server
wget http://www.wowzamedia.com/downloads/WowzaMediaServer-2-2-4/WowzaMediaServer-2.2.4.rpm.bin

/usr/local/WowzaMediaServer/bin/./startup
6M3VA-H4NNM-NXHK8-8UCWT-H9M9K

/etc/init.d/WowzaMediaServer start

chkconfig --level 345 WowzaMediaServer on

Проверяем в браузере
http://192.168.1.1:1935

Создаем свою трансляцию (для примера назову ее live)
mkdir /usr/local/WowzaMediaServer/applications/live
mkdir /usr/local/WowzaMediaServer/conf/live

cp /usr/local/WowzaMediaServer/conf/Application.xml /usr/local/WowzaMediaServer/conf/live

четверг, 12 июля 2012 г.

Установка SAMBA с авторизацией в LDAP (Centos 6)

Преведущая часть 1: Установка Proftpd [tls] с авторизацией в LDAP [ssl, tlc] (CentOS 6)
Преведущая часть 2: Установка Netatalk (AFP) с аунтентификацией в LDAP (Centos 6)


# Включаем авторизацию через LDAP (или проверяем, что она вкл)
authconfig-tui
[*] Use Ldap
[*] Use LDAP Authentication

[ ] Use TLS_CACERTDIR
Server: ldap://127.0.0.1/
Base DN: dc=ldap,dc=srv

( для повышенной секретности можно включить локальное шифрование ldap )
vim /etc/openldap/ldap.conf
TLS_CACERT /etc/pki/tls/certs/ca-bundle.crt
TLS_REQCERT demand

vim /etc/nslcd.conf
tls_cacertfile /etc/pki/tls/certs/ca-bundle.crt
tls_reqcert never

service nslcd restart


# Устанвливаем Samba
yum install samba

Установка Netatalk (AFP) с аунтентификацией в LDAP (Centos 6)

Предыдущее часть 1: Установка Proftpd [tls] с авторизацией в LDAP [ssl, tlc] (CentOS 6)


# Ставим Netatalk из EPEL
yum install netatalk

# Avahi ставить не обязательно (нужен для отображения в Bonjour в LAN)
yum install avahi nss-mdns
service messagebus start
service avahi-daemon start )


vim /etc/netatalk/afpd.conf
- -transall -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword -advertise_ssh -setuplog "default log_info /var/log/afpd.log"

вторник, 3 июля 2012 г.

Установка Proftpd [tls] с авторизацией в LDAP [ssl, tlc] (CentOS 6)

# Первоночальная настройка системы
hostname ldap.srv
vim /etc/hosts
> 127.0.0.1  ldap.srv

vim /etc/sysconfig/selinux
> SELINUX=disabled

# Устанавливаем OpenLDAP 
yum install openldap-servers openldap-clients

slappasswd

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown -R ldap:ldap /var/lib/ldap/

vim /etc/openldap/slapd.d/cn=config/olcDatabase\=\{2\}bdb.ldif
> olcSuffix: dc=etha,dc=srv
> olcRootDN: cn=admin,dc=ldap,dc=srv
> olcRootPW: {SSHA}ZHT7jn9LL+rh71DWxMm2ijPqkEQZtioJ   #1qazse432W

vim /etc/openldap/slapd.d/cn=config/olcDatabase\=\{1\}monitor.ldif
> olcAccess: {0}to *  by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=externa
 l,cn=auth" read  by dn.base="cn=admin,dc=ldap,dc=srv" read  by * none

slaptest -u
service slapd start
chkconfig slapd on

Установка Cassandra (CentOS 6)

# Устанавливаем Java
yum install java-1.6.0-openjdk.x86_64

# Скачиваем cassandra и разархивируем в /opt/cassandra
curl -O http://www.sai.msu.su/apache/cassandra/1.1.0/apache-cassandra-1.1.0-bin.tar.gz

# Создаем необходимые каталоги
mkdir /var/log/cassandra
mkdir /var/lib/cassandra


# Редактируем конфиг
/opt/cassandra/conf/cassandra.yaml
cluster_name: 'test'
initial_token: 0

# Делаем тестовый запуск
/opt/cassandra/bin/./cassandra -f

Устанавливаем Chef Server (CentOS 6)

Синхронизируем время
yum install ntp
ntpdate 0.centos.pool.ntp.org

Подключаем RBEL репозиторий
rpm -Uvh http://rbel.co/rbel6

Устанавливаем Chef Server (самую свежую версию надо собирать из исходников)
yum install rubygem-chef-server

Запускаем скрипт первоночальной настройки
setup-chef-server.sh

Перезапускаем Chef сервер
/etc/init.d/chef-server restart
/etc/init.d/chef-server-webui restart

Редактируем конфиг /etc/chef/server.rb
chef_server_url    "http://192.168.1.100:4040"
(странно но работает с любым значением)

Пробуем зайти в web-админку
http://192.168.1.100:4000
с дефолтовым паролем admin \ chef321go

среда, 23 мая 2012 г.

Настраиваем Apple Magic Mouse в Ubuntu 12.04

# Создаем файл настройки для модуля ядра
echo "options hid_magicmouse scroll-speed=45 scroll-acceleration=1" \
> /etc/modprobe.d/magicmouse.conf

# Перезагружаем модуль ядра
rmmod hid_magicmouse
modprobe hid_magicmouse

# Пробуем как работает скролл
# Скорость курсора настраиваем через Параметры Системы (ubuntu)

# P.S. посмотреть остальные параметры модуля ядра
modinfo hid_magicmouse

# P.S.S. поиграть с параметрами из командной строки
modprobe hid_magicmouse scroll-speed=45 scroll-acceleration=1

Заряжаем IPAD от компьютера с Ubuntu 12.04

# Устанавливаем необходимые пакеты
sudo apt-get install libusb-1.0-0 libusb-1.0-0-dev

# Скачиваем исходники необходимого для зарядки пакета
git-clone git://github.com/mkorenkov/ipad_charge.git

# Компилируем и устанавливаем
cd ipad_charge
make
sudo make install

# Подключаем ipad, и проверяем что нормально отображается процесс зарядки

Смотри у меня: Root доступ к IPAD из linux

вторник, 15 мая 2012 г.

Ntlm авторизация в Apache

Вместо устаревшего mod_ntlm предлагаю использовать libapache2-authenntlm-perl
apt-get install libapache2-authenntlm-perl 

Для использования  .htaccess, надо добавить "AllowOverride All" в http.conf

Содержимое .htaccess:

PerlAuthenHandler Apache2::AuthenNTLM
AuthType ntlm
AuthName "DC.LAN"
#require user username1
require valid-user

PerlAddVar ntdomain "DC.LAN dcserver1 dcserver2"
PerlSetVar defaultdomain DC.LAN
PerlSetVar ntlmsemtimeout 2
PerlSetVar ntlmdebug 0
PerlSetVar splitdomainprefix 1

Онлайн документация:
http://search.cpan.org/~speeves/Apache2-AuthenNTLM-0.02/AuthenNTLM.pm

Определение пользователя в PHP:

<?php echo "You are logged in as <b>" . $_SERVER['REMOTE_USER'] . "</b>"; ?>

Настройки у клиентов:
В Windows для автоматического входа, надо добавить ресурс в Местную Интрасеть.
http://windows.microsoft.com/ru-RU/windows-vista/Security-zones-adding-or-removing-websites

В Windows 7 дополнительно включить использование NTLMv1:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\LMCompatibilityLevel 1
http://support.microsoft.com/kb/954387/ru


Если в LAN используется прокси сервер, то необходимо добавить в исключения для вашего ресурса.

Для Firefox надо включить поддержку NTLM для Вашего сайта:В адресной строке вводим - about:configИщем параметр - network.automatic-ntlm-auth.trusted-urisВводим url нашего внутреннего сайта - http://corp.dc.lan

Opera не поддерживает прозрачную аунтентификацию и будет запрашивать пароль при открытии сайта.

Настройка автоматического конфигурирования прокси через WPAD

Создаем файл wpad.dat в /var/www (для apache)

function FindProxyForURL(url, host)
{ 
// var ip_host  = dnsResolve(host); 
// var localnet = "192.168.0.0"; 
// var localhost = "127.0.0.1"; 

// отключаем проксирование внутренних узлов 
if (isInNet( host, "192.168.0.0", "255.255.252.0") || 
    shExpMatch( host, "*.lan")) 
{ return "DIRECT"; }

if (dnsDomainIs( host, "web.dc.lan" ) || 
    dnsDomainIs( host, "crm.dc.lan" ) || 
    dnsDomainIs( host, "seo.dc.lan" )) 
{ return "DIRECT"; } 

return "PROXY squid.dc.lan:3128"; 
}

# Добавляем AddType в /etc/apache2/mods-enabled/mime.conf
AddType application/x-ns-proxy-autoconfig .dat

# Перезапускаем apache
service apache2 restart

Несколько напоминалок для Linux

управление сервисами в debian
apt-get install sysv-rc-conf
sysv-rc-conf

или update-rc.d


установка аппаратного времени
hwclock -d 01/25/2012 -t 11:16:00Ж

конвертор unixtime в человеческий из консоли
date -d @1343808159

дата днем ранее (пример вывода 20120230)
date --date="-1 days" +%Y%m%d

пример использования AWK:
вывод третьего слова в строке
awk '{ print $3 }'

пример CUT:
вывести только с 6 по 40 символы
cut -c 6-40

поиск файлов с окончанием на .[цифру] и удаляем их
find . -regex '.*\.[1-9]$' | xargs rm -f



обновляем базу для locate
updatedb
locate libcrypto.so.6



ищем в каком пакете находится файл
yum provides libcrypto.so.6 


прописываем пути к библиотекам и обновляем информацию
 /etc/ld.so.conf.d/local.conf   
 ldconfig


распаковываем RPM пакет в текущую директорию
rpm2cpio packet.rpm | cpio -idmuv --no-absolute-filenames
rpm2cpio packet.rpm |lzma -d | cpio -idmuv --no-absolute-filenames



обновляем порты в Gentoo
emerge portage
# если конфликт блокировок, то:
 emerge -1 packagename
# если пакет залокирован, то в /etc/portage/package.keywords добавляем его
# проверка блокировок: emerge -avuDN @system #world
# пробуем ставить без слияния: 
emerge --unmerge app-misc/realpath