Configuration of lighttpd:
server.modules = (
"mod_access",
"mod_alias",
"mod_accesslog",
"mod_compress",
"mod_rewrite",
"mod_redirect",
"mod_status",
"mod_glusterfs",
)
server.document-root = "/var/www/"
server.errorlog = "/var/log/lighttpd/error.log"
index-file.names = ( "index.php", "index.html",
"index.htm", "default.htm",
"index.lighttpd.html" )
accesslog.filename = "/var/log/lighttpd/access.log"
url.access-deny = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
server.port = 8081
server.pid-file = "/var/run/lighttpd.pid"
dir-listing.encoding = "utf-8"
server.dir-listing = "enable"
server.username = "www-data"
server.groupname = "www-data"
compress.cache-dir = "/var/cache/lighttpd/compress/"
compress.filetype = ("text/plain", "text/html", "application/x-_javascript_", "text/css")
include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
$HTTP["url"] =~ "^/" {
glusterfs.document-root = "/var/www"
glusterfs.prefix = "/"
glusterfs.logfile = "/var/log/lighttpd/glusterfs-lighttpd.log"
glusterfs.volume-specfile = "/etc/glusterfs/glusterfs-client.vol"
glusterfs.loglevel = "debug"
glusterfs.cache-timeout = 300
glusterfs.xattr-interface-size-limit = "65536"
}
glusterfs-client.vol:
volume server1
type protocol/client
option transport-type tcp
option remote-host 192.168.1.2
option remote-port 6996
option username user
option password *******
option remote-subvolume storage
end-volume
volume server2
type protocol/client
option transport-type tcp
option remote-host 192.168.1.2
option remote-port 6996
option username user
option password *******
option remote-subvolume storage
end-volume
volume replicate
type cluster/replicate
subvolumes server1 server2
end-volume
volume writebehind
type performance/write-behind
option aggregate-size 128KB
option window-size 1MB
option flush-behind on
subvolumes replicate
end-volume
volume cache
type performance/io-cache
option cache-size 512MB
subvolumes writebehind
end-volume
In debug mode log is writing:
2009-02-17 19:01:23 D [spec.y:187:new_section] parser: New node for 'client1'
2009-02-17 19:01:23 D [xlator.c:421:xlator_set_type] xlator: attempt to load file /usr/lib/glusterfs/2.0.0rc1/xlator/protocol/client.so
2009-02-17 19:01:23 D [spec.y:213:section_type] parser: Type:client1:protocol/client
2009-02-17 19:01:23 D [spec.y:288:section_option] parser: Option:client1:transport-type:tcp
2009-02-17 19:01:23 D [spec.y:288:section_option] parser: Option:client1:remote-host:192.168.1.1
2009-02-17 19:01:23 D [spec.y:288:section_option] parser: Option:client1:remote-port:6996
2009-02-17 19:01:23 D [spec.y:288:section_option] parser: Option:client1:username:user
2009-02-17 19:01:23 D [spec.y:288:section_option] parser: Option:client1:password:******
2009-02-17 19:01:23 D [spec.y:288:section_option] parser: Option:client1:remote-subvolume:storage
2009-02-17 19:01:23 D [spec.y:372:section_end] parser: end:client1
2009-02-17 19:01:23 D [spec.y:187:new_section] parser: New node for 'client2'
2009-02-17 19:01:23 D [xlator.c:421:xlator_set_type] xlator: attempt to load file /usr/lib/glusterfs/2.0.0rc1/xlator/protocol/client.so
2009-02-17 19:01:23 D [spec.y:213:section_type] parser: Type:client2:protocol/client
2009-02-17 19:01:23 D [spec.y:288:section_option] parser: Option:client2:transport-type:tcp
2009-02-17 19:01:23 D [spec.y:288:section_option] parser: Option:client2:remote-host:192.168.1.2
2009-02-17 19:01:23 D [spec.y:288:section_option] parser: Option:client2:remote-port:6996
2009-02-17 19:01:23 D [spec.y:288:section_option] parser: Option:client2:username:user
2009-02-17 19:01:23 D [spec.y:288:section_option] parser: Option:client2:password:*******
2009-02-17 19:01:23 D [spec.y:288:section_option] parser: Option:client2:remote-subvolume:storage
2009-02-17 19:01:23 D [spec.y:372:section_end] parser: end:client2
2009-02-17 19:01:23 D [spec.y:187:new_section] parser: New node for 'replicate'
2009-02-17 19:01:23 D [xlator.c:421:xlator_set_type] xlator: attempt to load file /usr/lib/glusterfs/2.0.0rc1/xlator/cluster/replicate.so
2009-02-17 19:01:23 D [spec.y:213:section_type] parser: Type:replicate:cluster/replicate
2009-02-17 19:01:23 D [spec.y:357:section_sub] parser: child:replicate->client1
2009-02-17 19:01:23 D [spec.y:357:section_sub] parser: child:replicate->client2
2009-02-17 19:01:23 D [spec.y:372:section_end] parser: end:replicate
2009-02-17 19:01:23 D [spec.y:187:new_section] parser: New node for 'writebehind'
2009-02-17 19:01:23 D [xlator.c:421:xlator_set_type] xlator: attempt to load file /usr/lib/glusterfs/2.0.0rc1/xlator/performance/write-behind.so
2009-02-17 19:01:23 D [xlator.c:461:xlator_set_type] xlator: dlsym(notify) on /usr/lib/glusterfs/2.0.0rc1/xlator/performance/write-behind.so: undefined symbol: notify -- neglecting
2009-02-17 19:01:23 D [spec.y:213:section_type] parser: Type:writebehind:performance/write-behind
2009-02-17 19:01:23 D [spec.y:288:section_option] parser: Option:writebehind:aggregate-size:128KB
2009-02-17 19:01:23 D [spec.y:288:section_option] parser: Option:writebehind:window-size:1MB
2009-02-17 19:01:23 D [spec.y:288:section_option] parser: Option:writebehind:flush-behind:on
2009-02-17 19:01:23 D [spec.y:357:section_sub] parser: child:writebehind->replicate
2009-02-17 19:01:23 D [spec.y:372:section_end] parser: end:writebehind
2009-02-17 19:01:23 D [spec.y:187:new_section] parser: New node for 'cache'
2009-02-17 19:01:23 D [xlator.c:421:xlator_set_type] xlator: attempt to load file /usr/lib/glusterfs/2.0.0rc1/xlator/performance/io-cache.so
2009-02-17 19:01:23 D [xlator.c:461:xlator_set_type] xlator: dlsym(notify) on /usr/lib/glusterfs/2.0.0rc1/xlator/performance/io-cache.so: undefined symbol: notify -- neglecting
2009-02-17 19:01:23 D [spec.y:213:section_type] parser: Type:cache:performance/io-cache
2009-02-17 19:01:23 D [spec.y:288:section_option] parser: Option:cache:cache-size:512MB
2009-02-17 19:01:23 D [spec.y:357:section_sub] parser: child:cache->writebehind
2009-02-17 19:01:23 D [spec.y:372:section_end] parser: end:cache
2009-02-17 19:01:23 D [inode.c:990:inode_table_new] libglusterfsclient: creating new inode table with lru_limit=14057
2009-02-17 19:01:23 D [inode.c:455:__inode_create] libglusterfsclient/inode: create inode(0)
2009-02-17 19:01:23 D [client-protocol.c:5986:init] client1: defaulting transport-timeout to 42
2009-02-17 19:01:23 D [transport.c:141:transport_load] transport: attempt to load file /usr/lib/glusterfs/2.0.0rc1/transport/socket.so
2009-02-17 19:01:23 D [xlator.c:152:_volume_option_value_validate] client1: no range check required for 'option remote-port 6996'
2009-02-17 19:01:23 W [client-protocol.c:6049:init] client1: WARNING: Failed to set 'ulimit -n 1M': Operation not permitted
2009-02-17 19:01:23 E [client-protocol.c:6057:init] client1: Failed to set max open fd to 64k: Operation not permitted
2009-02-17 19:01:23 D [xlator.c:551:xlator_init_rec] client1: Initialization done
2009-02-17 19:01:23 D [client-protocol.c:5986:init] client2: defaulting transport-timeout to 42
2009-02-17 19:01:23 D [transport.c:141:transport_load] transport: attempt to load file /usr/lib/glusterfs/2.0.0rc1/transport/socket.so
2009-02-17 19:01:23 D [xlator.c:152:_volume_option_value_validate] client2: no range check required for 'option remote-port 6996'
2009-02-17 19:01:23 W [client-protocol.c:6049:init] client2: WARNING: Failed to set 'ulimit -n 1M': Operation not permitted
2009-02-17 19:01:23 E [client-protocol.c:6057:init] client2: Failed to set max open fd to 64k: Operation not permitted
2009-02-17 19:01:23 D [xlator.c:551:xlator_init_rec] client2: Initialization done
2009-02-17 19:01:23 D [xlator.c:551:xlator_init_rec] replicate: Initialization done
2009-02-17 19:01:23 D [write-behind.c:1315:init] writebehind: using aggregate-size = 131072
2009-02-17 19:01:23 D [write-behind.c:1364:init] writebehind: aggregate-size is not zero, disabling flush-behind
2009-02-17 19:01:23 D [xlator.c:551:xlator_init_rec] writebehind: Initialization done
2009-02-17 19:01:23 D [io-cache.c:1308:init] cache: using cache-size 536870912
2009-02-17 19:01:23 D [xlator.c:551:xlator_init_rec] cache: Initialization done
2009-02-17 19:01:23 D [client-protocol.c:6296:notify] client1: got GF_EVENT_PARENT_UP, attempting connect on transport
2009-02-17 19:01:23 D [client-protocol.c:6296:notify] client2: got GF_EVENT_PARENT_UP, attempting connect on transport
2009-02-17 19:01:23 D [client-protocol.c:6296:notify] client1: got GF_EVENT_PARENT_UP, attempting connect on transport
2009-02-17 19:01:23 D [client-protocol.c:6296:notify] client2: got GF_EVENT_PARENT_UP, attempting connect on transport
2009-02-17 19:01:24 D [client-protocol.c:5684:client_protocol_reconnect] client1: attempting reconnect
2009-02-17 19:01:24 D [common-utils.c:92:gf_resolve_ip6] resolver: DNS cache not present, freshly probing hostname: 192.168.1.1
2009-02-17 19:01:24 D [common-utils.c:129:gf_resolve_ip6] resolver: returning ip-192.168.1.1 (port-6996) for hostname: 192.168.1.1 and port: 6996
2009-02-17 19:01:24 E [name.c:416:client_bind] client1: cannot bind inet socket (10) to port less than 1024 (Permission denied)
2009-02-17 19:01:24 D [client-protocol.c:5684:client_protocol_reconnect] client2: attempting reconnect
2009-02-17 19:01:24 D [common-utils.c:92:gf_resolve_ip6] resolver: DNS cache not present, freshly probing hostname: 192.168.1.2
2009-02-17 19:01:24 D [client-protocol.c:6328:notify] client1: got GF_EVENT_CHILD_UP
2009-02-17 19:01:24 D [socket.c:924:socket_connect] client1: connect () called on transport already connected
2009-02-17 19:01:24 D [common-utils.c:129:gf_resolve_ip6] resolver: returning ip-192.168.1.2 (port-6996) for hostname: 192.168.1.2 and port: 6996
2009-02-17 19:01:24 E [name.c:416:client_bind] client2: cannot bind inet socket (11) to port less than 1024 (Permission denied)
2009-02-17 19:01:24 D [client-protocol.c:6328:notify] client2: got GF_EVENT_CHILD_UP
2009-02-17 19:01:24 D [socket.c:924:socket_connect] client2: connect () called on transport already connected
After that lighttpd is died.
Lighttpd version 1.4.19.
Help please with this problem.
2009/2/17 Raghavendra G <raghavendra@xxxxxxxxxxxxx>
Hi,
These are warning messages. Even though it cannot bind to any port <= 1024, lighttpd goes ahead and binds to a non privileged port. But since client is bound to non-privileged port, the address based authentication do not accept the client. Hence client should be using login based authentication. More details about authentication methods can be found in <srcdir>/docs/authentication.txt
regards,On Fri, Feb 13, 2009 at 7:59 PM, Titov Alexander <titoff.a@xxxxxxxxx> wrote:
_______________________________________________I solved this error, I add one string to mod_glusterfs.h:
#include <glusterfs/mem-pool.h>"
But mod_glusterfs didn't work still. In lighttpd mod_glusterfs log I saw:
2009-02-13 18:50:31 E [name.c:416:client_bind] client1: cannot bind inet socket (10) to port less than 1024 (Permission denied)
2009-02-13 18:50:31 E [name.c:416:client_bind] client2: cannot bind inet socket (11) to port less than 1024 (Permission denied)
Lighttpd is runing with owner user www-data and www-data can't create socket with port less than 1024.
How I can solve this problem?
2009/2/13 Titov Alexander <titoff.a@xxxxxxxxx>
Hello!
I build glusterfs and lighttpd 1.4.19 with mod_glusterfs. When I try to start lighttpd, I get this error:
2009-02-13 14:42:13: (plugin.c.165) dlopen() failed for: /usr/lib/lighttpd/mod_glusterfs.so /usr/lib/lighttpd/mod_glusterfs.so: undefined symbol: CALLOC
2009-02-13 14:42:13: (server.c.621) loading plugins finally failed
Help me please with strange error.
--
Titov Alexander
--
С уважением,
Титов Александр
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxx
http://lists.nongnu.org/mailman/listinfo/gluster-devel
--
Raghavendra G
--
С уважением,
Титов Александр