LINUX.ORG.RU

Сообщения no_Bra1n

 

Динамический хост nginx

Всем привет!

Почему эта бл**ская (часа полтора уже с ней просидел) конструкция не работает?

server
{
	server_name ~^(?<domain>[a-z0-9\-]+)\.dev.example.ru$ dev.example.ru;

	location / {
		proxy_pass         http://192.168.0.7:80/dev/$domain$uri$is_args$args;
		...
	}
}

http://dev.example.ru/test/ открывает, но хочется, чтобы по http://test.dev.example.ru/ открывалось то же самое

Дело точно не в экранировании точек в домене \.dev.example.ru, с \.dev\.example\.ru тоже не работает

Заранее спасибо за помощь!

 ,

no_Bra1n
()

Скорость R/W/U

Здравствуйте! Имеется след. сервер:

# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                12
On-line CPU(s) list:   0-11
Thread(s) per core:    2
Core(s) per socket:    6
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 44
Stepping:              2
CPU MHz:               2399.885
BogoMIPS:              4799.77
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              12288K
NUMA node0 CPU(s):     0-11

# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 44
model name      : Intel(R) Xeon(R) CPU           E5645  @ 2.40GHz
stepping        : 2
cpu MHz         : 2399.885
cache size      : 12288 KB
physical id     : 0
siblings        : 12
core id         : 0
cpu cores       : 6
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcnt lahf_lm ida arat epb dts tpr_shadow vnmi flexpriority ept vpid
bogomips        : 4799.77
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
# free
             total       used       free     shared    buffers     cached
Mem:      12186140    4113300    8072840          0     243176    2079056
-/+ buffers/cache:    1791068   10395072
Swap:      4192184          0    4192184
# cat /proc/version
Linux version 2.6.32-431.5.1.el6.x86_64 (mockbuild@c6b10.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Wed Feb 12 00:41:43 UTC 2014

Довольно таки неплохой, на мой взгляд, но настроен весь или только БД, как-то не очень, что ли..

my.cnf

[mysqld]
innodb_buffer_pool_size = 4G
innodb_flush_log_at_trx_commit = 2
innodb_flush_method=O_DIRECT
transaction-isolation=READ-COMMITTED
innodb_doublewrite=0
innodb_support_xa=0
innodb_thread_concurrency=16
innodb_log_buffer_size = 8M
innodb_log_file_size = 128M

join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

symbolic-links=0

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

init_connect                = 'SET collation_connection = utf8_general_ci,NAMES utf8'
collation_server            = utf8_general_ci
character_set_client        = utf8
character_set_server        = utf8
query_cache_limit = 128M
tmp_table_size = 1G
max_heap_table_size= 1G
thread_cache_size = 64
sync_binlog = 0
table_open_cache=5000
thread_stack = 256K
#auto_commit = 1
query_cache_type = on
query_cache_size = 128M
key_buffer = 32M
max_allowed_packet = 32M

expire_logs_days        = 10
max_binlog_size         = 100M

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

Имеем результаты:

База данных MySQL (запись) 	1 821 	5 600 	количество запросов на запись в секунду
База данных MySQL (чтение) 	7 800 	7 800 	количество запросов на чтение в секунду
База данных MySQL (изменение) 	4 254 	5 800 	количество запросов на изменение в секунду

На том же недорогом сервере hetzner у меня 20-30к показатели. Читал про ext4 и барьер=0 при монтировании, поможет? Или чисто с конфигом mysql можно подшаманить?

Заранее спасибо за помощь!

 

no_Bra1n
()

Общий proxy_pass

Приветствую!

Совсем недавно поднимал вопрос, но сейчас уже более конкретизировано :)

Один из серверов u00001.conf

server
{
    root /mnt/home/u00001/site1.ru/public_html;
    server_name site1.ru;
    index index.php;

    location ~ /\.ht {
            deny all;
    }

    location ~* ^.+\.(js|JPG|jpg|png|jpeg|gif|zip|tgz|gz|rar|doc|xls|exe|pdf|ppt|txt|wav|bmp|rtf)$ {
        expires 30d;
        root /mnt/home/u00001/site1.ru/public_html;
    }
    
    location /
	{
        proxy_pass         http://192.168.0.2:80;
        proxy_redirect     off;

        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

        proxy_connect_timeout      61;
        proxy_send_timeout         61;
        proxy_read_timeout         61;
	}
}

Блоки запрета .ht* и proxy_pass повторяются в каждом сервере

Хотелось бы сервера nginx записывать след. образом:

server
{
	root /mnt/home/u00001/site1.ru/public_html;
	server_name site1.ru;
	index index.php;
	
	location ~* ^.+\.(js|JPG|jpg|png|jpeg|gif|zip|tgz|gz|rar|doc|xls|exe|pdf|ppt|txt|wav|bmp|rtf)$ {
		expires 30d;
		root /mnt/home/u00001/site1.ru/public_html;
	}
}

server
{
	root /mnt/home/u00001/site2.ru/public_html;
	server_name site2.ru;
	index index.php;
	
	location ~* ^.+\.(js|JPG|jpg|png|jpeg|gif|zip|tgz|gz|rar|doc|xls|exe|pdf|ppt|txt|wav|bmp|rtf)$ {
		expires 30d;
		root /mnt/home/u00002/site2.ru/public_html;
	}
}

А след. блоки вынести в основной конфигурационный файл nginx.conf:

location ~ /\.ht {
	deny all;
}

location /
{
    proxy_pass         http://192.168.0.2:80;
    proxy_redirect     off;

    proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

    proxy_connect_timeout      61;
    proxy_send_timeout         61;
    proxy_read_timeout         61;
}

Т.к. они повторяются и хотелось бы как-то привести в порядок все это дело

Я пробовал по-разному указывать в nginx.conf, но у меня не получилось завести. Гуглил - не нашел обсуждения подобного вопроса

Смотрю в сторону upstream, но сильно далек от настройки ngninx

В итоге хочется иметь обработку статики на ngnix, а все остальное отсылать на apache

Может кто делал подобное или сможет отправить куда надо? :) Спасибо за помощь!

 

no_Bra1n
()

Время отклика страницы

Всем доброго дня!

Имеется 3 контейнера:

nginx	(192.168.0.1; 1 GB)
apache	(192.168.0.2; 1 GB) PHP + APC, memcached (сессии)
mysql	(192.168.0.3; 4 GB)

MySQL ~15-20к запросов/сек на запись/чтение/изменение

При легком тестировании нагрузки слишком высокое время отклика, порядка 0.4-0.7 сек

Подскажите, пожалуйста, в какую сторону смотреть? Спасибо!

/etc/nginx/nginx.conf

user www-data;
worker_processes 8;
timer_resolution 100ms;
worker_rlimit_nofile 8192;
worker_priority -5;
pid /var/run/nginx.pid;

events {
	worker_connections 2048;
}

http {
	sendfile on;
	keepalive_timeout 65;
	types_hash_max_size 2048;
	
	include /etc/nginx/mime.types;
	default_type application/octet-stream;
	
	access_log off;
	error_log /var/log/nginx/error.log;
	
	gzip on;
	gzip_min_length 1100;
	gzip_buffers 64 8k;
	gzip_comp_level 3;
	gzip_http_version 1.1;
	gzip_proxied any;
	gzip_types text/plain application/xml application/x-javascript text/css;
	
	include /etc/nginx/users/*;
}

/etc/nginx/users/u00001.conf

server {
	root /mnt/home/u00001/example.ru/public_html;
	server_name example.ru;
	index index.htm index.html index.php;
	
	location ~ /\.ht {
	        deny all;
	}
	
	location ~* ^.+\.(js|JPG|jpg|png|jpeg|gif|zip|tgz|gz|rar|doc|xls|exe|pdf|ppt|txt|wav|bmp|rtf)$ {
	    expires 30d;
	    root /mnt/home/u00001/example.ru/public_html;
	}
	
	location / {
		proxy_pass         http://192.168.0.2:80;
		proxy_redirect     off;
		
		proxy_set_header   Host             $host;
		proxy_set_header   X-Real-IP        $remote_addr;
		proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
		
		proxy_connect_timeout      61;
		proxy_send_timeout         61;
		proxy_read_timeout         61;
	}
}

Apache Server MPM: ITK

/etc/apache2/apache2.conf

KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 2

<IfModule mpm_prefork_module>
	StartServers		5
	MinSpareServers		5
	MaxSpareServers		75
	MaxClients			150
	MaxRequestsPerChild	0
</IfModule>

/etc/apache2/users/u00001.conf

<VirtualHost *:80>
        ServerName example.ru
        DocumentRoot /mnt/home/u00001/example.ru/public_html

        AssignUserID u00001 u00001

        php_admin_value open_basedir /mnt/home/u00001/example.ru/public_html
        php_admin_value doc_root /mnt/home/u00001/example.ru/public_html
        php_admin_value upload_tmp_dir /mnt/home/u00001/example.ru/tmp

        php_admin_value apc.enabled 1
        php_admin_value apc.shm_size 128M
        php_admin_value apc.mmap_file_mask /mnt/home/u00001/example.ru/tmp/apc.XXXXX
        php_admin_value apc.num_files_hint 20000
        php_admin_value apc.user_entries_hint 20000
        php_admin_value apc.ttl 86400
        php_admin_value apc.user_ttl 7200
        php_admin_value apc.gc_ttl 3600
        php_admin_value apc.max_file_size 4M


        ErrorLog /mnt/home/u00001/example.ru/logs/error.log
        TransferLog /mnt/home/u00001/example.ru/logs/access.log

        <Directory /mnt/home/u00001/example.ru/public_html>
                Options FollowSymLinks
                Order Allow,Deny
                AllowOverride All
                Allow from All
        </Directory>
</VirtualHost>

/etc/mysql/my.cnf

user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql

skip-external-locking

innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
innodb_buffer_pool_size = 2GB
innodb_doublewrite = 0
innodb_support_xa = 0
innodb_thread_concurrency = 16

transaction-isolation = READ-COMMITTED

table_open_cache=800
bind-address            = 0.0.0.0
key_buffer              = 32M
max_allowed_packet      = 32M
thread_stack            = 192K
thread_cache_size       = 8
myisam-recover			= BACKUP
query_cache_limit       = 64M
query_cache_size        = 32M
expire_logs_days        = 10
max_binlog_size         = 100M

/proc/user_beancounters

[nginx]

kmemsize                  3872872              7360512           1073741824           1073741824
lockedpages                  3194                16384                16384
privvmpages                 13588                16444           1073741824           1073741824
shmpages                        7                    7                 1152                 1152
numproc                        23                   42                  128                  128
numtcpsock                      1                  141                 1024                 1024
numflock                        1                    6                   50                   60
numpty                          4                   32                   32
numsiginfo                     21                  256                  256
tcpsndbuf                   17440              2476480           1073741824           1073741824
tcprcvbuf                   16384               577400              4194304              4194304
othersockbuf                18496                30136               135168               237568
dgramrcvbuf                135168               196608
numothersock                   43                   49                  100                  100
dcachesize                 400092               405466               405504               405504
numfile                       153                  330                 1024                 1024
numiptent                      20                   20                   64                   64

[apache]

kmemsize                  4760406             84217856           1073741824           1073741824
lockedpages                  3194                16384                16384
privvmpages                 50508               822778           1073741824           1073741824
shmpages                       26                   26                16384                16384
numproc                        21                  186                 1024                 1024
numtcpsock                      4                  294                 1024                 1024
numflock                        2                    6                   50                   60
numpty                          4                   32                   32
numsiginfo                     57                  256                  256
tcpsndbuf                   69760              5127360           1073741824           1073741824
tcprcvbuf                   65536               762968              4194304              4194304
othersockbuf                 4624                32304               135168               237568
dgramrcvbuf                  4624               135168               196608
numothersock                   40                   46                  100                  100
dcachesize                 396396               405503               405504               405504
numfile                       225                  640                 1024                 1024
numiptent                      20                   20                   64                   64
            
[mysql]

kmemsize                  2431247              4243456           4294967296           4294967296
lockedpages                  3194                16384                16384
privvmpages                639503               641670           1073741824           1073741824
shmpages                        6                    6                 1152                 1152
numproc                        34                  117                  128                  128
numtcpsock                      1                   68                 1024                 1024
numflock                        4                    9                   50                   60
numpty                          4                   32                   32
numsiginfo                     24                  256                  256
tcpsndbuf                  165680               524288               524288
tcprcvbuf                   16384               541728              4194304              4194304
othersockbuf                 2312                 8456               135168               237568
dgramrcvbuf                  2312               135168               196608
numothersock                   29                   35                  100                  100
dcachesize                 401016               405492               405504               405504
numfile                       133                  280                 1024                 1024
numiptent                      20                   20                   64                   64

 , , ,

no_Bra1n
()

Настройка роутинга

Всем привет!

192.168.0.1 - nginx
192.168.0.2 - apache

Есть такие правила:

iptables -t nat -A PREROUTING -p tcp -d IP --dport 80 -i eth0 -j DNAT --to-destination 192.168.0.1:80
iptables -t nat -A POSTROUTING -s 192.168.0.1 -o eth0 -j SNAT --to IP
iptables -t nat -A POSTROUTING -s 192.168.0.2 -o eth0 -j SNAT --to IP

Извне все прекрасно работает, но из контейнера apache (192.168.0.2) при открытии сокета на IP:80 Connection refused (пробовал на другие порты - работает)

Т.е. правилами на HN не ограничиться, надо добавлять в контейнере условие на 80 порт? Или все таки можно как-то настроить?

Спасибо за помощь!

 ,

no_Bra1n
()

Динамический doc root

Добрый вечер!

Обработку статики хочется повесить на nginx, а php обрабатывать прокси-апачем (ну как обычно :)

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

Структура следующая:

/mnt/home/u00001/test.ru/public_html
/mnt/home/u00001/test-2.ru/public_html
/mnt/home/u00002/example.com/public_html

Можно ли настроить nginx таким образом, чтобы root указать как-то так:

/mnt/home/u[0-9]+/$host/public_html

Спасибо :)

 , ,

no_Bra1n
()

Архитектура сервера, виртуализация

Всем привет!

Заказал на Hetzner установку самого простого сервера, жду готовности на буднях:
Intel® Core™ i7-4770 Quad-Core Haswell, 32 GB DDR3 RAM

Что я планирую сделать:
http://goo.gl/EgXzhV

В качестве ОС выберу debian-7, понравился мне этот дистрибутив после FreeBSD :)

Сервер делается под хостинг своих и клиентских сайтов

Буду делать на основе этой статьи:
http://habrahabr.ru/post/83656/

Вроде всё основное изложил, хотелось бы попросить советов у опытных линуксоидов, а именно:

1) На картинке у названия вирт. машины кол-во оперативной памяти, что бы изменили? Не все 32 GB сразу распихиваю, т.к. планирую просто создавать новые виртуалки apache/mysql для распределения нагрузки, надо будет смотреть как что будет работать, что тупить, где-то добавить, где-то уменьшить наоборот

2) Актуальна ли статья на хабре? Времени прошло достаточно, мало ли xen уже по умолчанию в ядре linux, как KVM, например

3) В общем плане как задумка? Как бы вы сделали?

Заранее огромное спасибо за помощь!

 , , , ,

no_Bra1n
()

Висит ожидание apache

Всем доброго времени суток!

Не так давно, а точнее вчера, начались странные проблемы.

Сервер на Амазон, перестали что-то открываться сайты. Пытаюсь зайти по ssh - не пускает, смотрю в AWS Console - с Инстансом всё окей!

Кое как зашел через JAVA в консоль, используя IE, перезагрузил apache и всё стало норм.

И вот сейчас недавно опять, висит «Ожидание..» при открытии страницы и всё, в top процессы apache2 висят, но ничего не едят, что не могу сказать о вчерашнем, было ощущение, что ддосили.

Перезагрузил apache сейчас, всё работает. Никто не сталкивался? В чем может быть проблема?

По логам только в пол первого

[Wed Nov 14 12:39:26 2012] [error] [client 89.221.48.203] PHP Fatal error:  Maximum execution time of 60 seconds exceeded in
но сайт перестал открываться только буквально минут 20 назад

 

no_Bra1n
()

(none):~#

Linux Debian
После внезапного ребута на AWS, подключаюсь, использую ключ для авторизации

(none):~# who
root pts/0 2012-10-21 19:57 (109.238.80.55)
(none):~# uname -a
Linux (none) 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 GNU/Linux
(none):~# echo $SHELL
/bin/bash

Всё работает, но смущает этот (none), в чем проблема?
Заранее спасибо за помощь!

 

no_Bra1n
()

Периодические проблемы с коммитом

Всем привет!

/mnt/svn/example.ru/ - репозиторий /mnt/svn/example.ru/hooks/post-commit:

#!/bin/sh
/usr/bin/svn update /mnt/home/example.ru/public_html

Виртуал хост svn.example.ru

DAV svn
SVNParentPath /mnt/svn/
SVNListParentPath on

2 копии проекта дома и на работе, работаю через TortoiseSVN, локально ничего не правлю

Проблема заключается в том, что могу править файлы, создавать директории, файлы, 2-3-4 раза подряд коммит проходит, изменения сразу видны (хук отрабатывает), но периодически выскакивает вот такое после отправки данных об изменениях в логе черепахи:

Server sent unexpected return value (400 Bad Request) in response to MERGE
Можно попробовать ещё раз сделать коммит - может пройти. Если нет, можно поробовать сделать svn update, а потом снова коммит. Если и снова не получится, то может произойти вот такая ошибка:
Server sent unexpected return value (500 Internal Server Error) in response to PUT request for
В итоге после svn update всё точно закоммитится. Не знаю в какую сторону и копать ;( ладно бы всё время не работало, а то вот так.

Заранее спасибо за помощь!

 , ,

no_Bra1n
()

Файлохранилище с возможностью монтировния, как сетевой диск

Всем привет, ребят!

Я так понял это решается только средствами samba?

У меня вопрос, будет ли это работать, если сервер нелокальный, а в интернетах?
Там же рабочие группы какие-то, все дела.

Заранее спасибо за помощь!

no_Bra1n
()

Виснет ретривинг в proftpd

Конфиг:

ServerName "FTP"
ServerType standalone
DefaultServer on
DeferWelcome off
Port 21
UseIPv6 off

ModulePath /usr/lib/proftpd

ModuleControlsACLs insmod,rmmod allow user root
ModuleControlsACLs lsmod allow user *

LoadModule mod_ldap.c

LDAPServer "ldap://localhost/??sub"
LDAPSearchScope sub
LDAPDNInfo "cn=admin,dc=example,dc=ru" q1w2e3LDAP
LDAPDoAuth on "ou=people,dc=example,dc=ru" "(&(uid=%v)(objectClass=person))"
LDAPDefaultGID 106
LDAPDefaultUID 65534
LDAPForceDefaultGID off
LDAPForceDefaultUID off
LDAPGenerateHomedirPrefix on

Umask 022
MaxInstances 30
User proftpd
Group nogroup
DefaultRoot /mnt/home
AllowOverwrite on

SystemLog   /var/log/proftpd/proftpd.log
DebugLevel 9
Логи:
Preparing to chroot to directory '/mnt/home'
ROOT PRIVS at auth.c:1356
RELINQUISH PRIVS at auth.c:1358
Environment successfully chroot()ed
ROOT PRIVS at mod_auth.c:1223
SETUP PRIVS at mod_auth.c:1235
in dir_check_full(): path = '/', fullpath = '/mnt/home/'.
dispatching POST_CMD command 'PASS (hidden)' to mod_cap
mod_cap/1.0: capabilities '= cap_net_bind_service,cap_audit_write+ep'
dispatching POST_CMD command 'PASS (hidden)' to mod_readme
dispatching POST_CMD command 'PASS (hidden)' to mod_delay
dispatching POST_CMD command 'PASS (hidden)' to mod_log
dispatching POST_CMD command 'PASS (hidden)' to mod_ls
dispatching POST_CMD command 'PASS (hidden)' to mod_auth
RELINQUISH PRIVS at mod_auth.c:1596
dispatching POST_CMD command 'PASS (hidden)' to mod_xfer
dispatching POST_CMD command 'PASS (hidden)' to mod_core
dispatching LOG_CMD command 'PASS (hidden)' to mod_log
dispatching LOG_CMD command 'PASS (hidden)' to mod_auth
USER anton: Login successful.
dispatching PRE_CMD command 'SYST' to mod_core
dispatching PRE_CMD command 'SYST' to mod_core
dispatching CMD command 'SYST' to mod_core
dispatching LOG_CMD command 'SYST' to mod_log
dispatching PRE_CMD command 'PWD' to mod_core
dispatching PRE_CMD command 'PWD' to mod_core
dispatching CMD command 'PWD' to mod_core
in dir_check_full(): path = '/', fullpath = '/mnt/home/'.
dispatching LOG_CMD command 'PWD' to mod_log
dispatching PRE_CMD command 'TYPE I' to mod_core
dispatching PRE_CMD command 'TYPE I' to mod_core
dispatching CMD command 'TYPE I' to mod_xfer
dispatching LOG_CMD command 'TYPE I' to mod_log
dispatching PRE_CMD command 'PASV' to mod_core
dispatching PRE_CMD command 'PASV' to mod_core
dispatching CMD command 'PASV' to mod_core
in dir_check_full(): path = '/', fullpath = '/mnt/home/'.
Entering Passive Mode (10,48,45,206,194,209).
dispatching LOG_CMD command 'PASV' to mod_log
dispatching PRE_CMD command 'CWD /' to mod_core
dispatching PRE_CMD command 'CWD /' to mod_core
dispatching CMD command 'CWD /' to mod_core
in dir_check_full(): path = '/', fullpath = '/mnt/home/'.
dispatching POST_CMD command 'CWD /' to mod_readme
dispatching LOG_CMD command 'CWD /' to mod_log
dispatching PRE_CMD command 'LIST' to mod_core
dispatching PRE_CMD command 'LIST' to mod_core
dispatching CMD command 'LIST' to mod_ls
mod_ldap/2.8.22: successfully unbound
mod_ldap/2.8.22: not unbinding to an already unbound connection.
FTP session closed.
mod_ldap/2.8.22: successfully unbound
mod_ldap/2.8.22: not unbinding to an already unbound connection.
FTP session closed.

 

no_Bra1n
()

proftpd + ldap

Всем привет!
Поискал по форуму, нашёл подобную проблему, но там посоветовали nss и pam использовать, я же всё таки хочу решить проблему без использование ещё чего-либо, если это возможно.

Лог proftpd:

ProFTPD 1.3.3a (maint) (built Sun Nov 13 2011 23:08:14 UTC) standalone mode STARTUP
FTP session opened.
dispatching PRE_CMD command 'USER anton' to mod_core
dispatching PRE_CMD command 'USER anton' to mod_core
dispatching PRE_CMD command 'USER anton' to mod_delay
dispatching PRE_CMD command 'USER anton' to mod_auth
mod_ldap/2.8.22: not unbinding to an already unbound connection.
mod_ldap/2.8.22: not unbinding to an already unbound connection.
dispatching CMD command 'USER anton' to mod_auth
dispatching POST_CMD command 'USER anton' to mod_delay
dispatching LOG_CMD command 'USER anton' to mod_log
dispatching PRE_CMD command 'PASS (hidden)' to mod_core
dispatching PRE_CMD command 'PASS (hidden)' to mod_core
dispatching PRE_CMD command 'PASS (hidden)' to mod_delay
dispatching PRE_CMD command 'PASS (hidden)' to mod_auth
mod_ldap/2.8.22: not unbinding to an already unbound connection.
mod_ldap/2.8.22: not unbinding to an already unbound connection.
dispatching CMD command 'PASS (hidden)' to mod_auth
mod_ldap/2.8.22: generated filter ou=people,dc=example,dc=ru from template ou=people,dc=example,dc=ru and value anton
mod_ldap/2.8.22: generated filter (&(uid=anton)(objectClass=person)) from template (&(uid=%v)(objectClass=person)) and value anton
mod_ldap/2.8.22: WARNING: LDAP URL search scopes default to 'base' (not 'sub') and may not be what you want.
mod_ldap/2.8.22: attempting connection to ldap://localhost
mod_ldap/2.8.22: set protocol version to 3
mod_ldap/2.8.22: connected to ldap://localhost
mod_ldap/2.8.22: successfully bound as cn=admin,dc=example,dc=ru with password МОЙ_ПАРОЛЬ
mod_ldap/2.8.22: set dereferencing to 0
mod_ldap/2.8.22: set query timeout to 5s
mod_ldap/2.8.22: searched under base DN ou=people,dc=example,dc=ru using filter (&(uid=anton)(objectClass=person))
mod_ldap/2.8.22: no entries for filter (&(uid=anton)(objectClass=person)) under base DN ou=people,dc=example,dc=ru
USER anton: no such user found from %IP% [%IP%] to %IP%:21
dispatching POST_CMD_ERR command 'PASS (hidden)' to mod_delay
dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_log
dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_auth
mod_ldap/2.8.22: successfully unbound
mod_ldap/2.8.22: not unbinding to an already unbound connection.
FTP session closed.

Ищем вручную:
ldapsearch -x -b «ou=people,dc=example,dc=ru» "(&(uid=anton)(objectClass=person))"

Находим:

dn: cn=anton,ou=people,dc=example,dc=ru
objectClass: top
objectClass: person
objectClass: inetOrgPerson
cn: anton
uid: anton
sn: Anton Totsky

В очередной раз заранее спасибо за помощь :)
Если подобная проблема уже решалась ранее - пните в поиск по форуму, буду исктаь лучше и дольше!

 ,

no_Bra1n
()

Автоматический svn update

Всем привет, ребята!

Имеются репозитории:

/mnt/svn/site1.ru/
/mnt/svn/site2.ru/

Имеются непосредственно папки с файлами:

/mnt/home/site1.ru/public_html/
/mnt/home/site2.ru/public_html/

Каким образом можно реализовать сабж в папке сайта?
Ибо если работать с репозиторием, то чтобы увидеть изменения на самом сайте, приходится заходить в корень и делать update.
Может как-то отслеживать изменения в папке репозитория и выполнять команду?
Или эта проблема решается довольно таки другим образом и организацией?

 ,

no_Bra1n
()

ldap: Кастомные атрибуты записей

Всем привет!

Хочется записывать в таком формате:

dn: cn=login@test.example.ru,ou=access,dc=example,dc=ru
objectClass: top
cn: login@test.example.ru
uid: login
domain: test.example.ru
developers: 1

Нужно объявить актрибуты domain и developers. Помню раньше реализовал это через добавление objectClass и атрибутТайпов к нему, но сейчас не получается. Сейчас пробую добавить просто атрибуты, без класса таким образом:

access.ldif

dn: cn=access,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: access
olcAttributeTypes: ( 1.3.6.1.4.1.42.2.27.4.1.6
 NAME 'domain'
 DESC 'Domain name for access levels'
 EQUALITY caseExactMatch
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
olcAttributeTypes: ( 1.3.6.1.4.1.42.2.27.4.1.7
 NAME 'developers'
 DESC 'Developers name for access levels'
 EQUALITY caseExactMatch
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )

И командой:

ldapadd -x -D "cn=admin,dc=example,dc=ru" -W -f access.ldif

Ошибка:

adding new entry "cn=access,cn=schema,cn=config"
ldap_add: Insufficient access (50)

До этого делал на FreeBSD, там через slapd.conf подключал schema, а в кастомной схеме указывал класс и нужные атрибуты.

Перешел на Debian, а тут всё хранится в /etc/ldap/slapd.d/* Пробовал через slaptest создавать файл ldif, но в директории, в которую указывал всё класть, не появлялся нужный ldif.

Заранее спасибо за помощь!

 

no_Bra1n
()

apache + ldap, фильтр

Всем доброго времени суток :)

Структура:

ou=people,dc=example,dc=ru - люди
ou=groups,dc=example,dc=ru - группы
ou=access,dc=example,dc=ru - уровни доступа

Для групп без проблем сделал:

AuthLDAPURL "ldap://127.0.0.1/ou=people,dc=example,dc=ru"
Require ldap-group cn=company,ou=groups,dc=example,dc=ru
Require ldap-group cn=outsource,ou=groups,dc=example,dc=ru

Но не получается сделать вот что:

dn: cn=user.project,ou=access,dc=example,dc=ru
objectClass: access
sn: user -> project.example.ru
domain: project
uid: user
cn: user.project

Нужно проверять, возвращает ли что-то ldap по запросу domain=project для авторизовавшегося юзера.

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

Как с этим разберусь, нужно будет сделать подобное для svn (через mod_svn_dav, там же в виртуалхосте Location /svn), только нужно будет проверять domain=project&developers=yes

Но это я сам смогу сделать, думаю, если подскажете с предыдущим

Заранее спасибо за помощь!

 ,

no_Bra1n
()

RSS подписка на новые темы