Forum OpenACS Q&A: aolserver and IPs?

Collapse
Posted by Rocael Hernández Rizzardini on
Hi all!
I have a problem and I believe that somebody in the commmunity can
help me.
I have one server with 4 IPs assignated, the address of the box is
209.217.53.170 and I'm running OpenACS there in port 8000, now I want
to run another service with other IP, lets say 209.217.53.171, I put
in my myservice.tcl file the new IP address but I got Error: nsssock:
" Cannot assign requested address', What I'm doing wrong and what
should I do??
thank you for your answers!
Collapse
Posted by Dave Bauer on
I have 5 IPs assigned to my server and it works fine. PLease post your servername.tcl file. That way it will be easier to diagnose. Are you sure that your computer knows about all 4 IPs? That could be the problem.

You did not mention what operating system or what version AOLserver you are using. That information will help alot.

Collapse
Posted by Michal Popieluch on
You must in name_your_service.ini
[ns/server/standard/module/nssock]
timeout=120
Address=209.217.53.170
^^^^^^^^^^^^^^^^^^^^^^change->209.217.53.171
Hostname=www.your.page.com
Port=8000
Voila!
Collapse
4: Here is the info! (response to 1)
Posted by Rocael Hernández Rizzardini on
Hi Dave!
you are right, I forgot to post somethings,
I'm running RedHat6.2 and aolserver 3.2+ad10

Also I don't know really if my system know about the 4 IPs, how can I check it and how can I configure my system to know about the IPs if it doesn't know yet?

Other question that I have is if my domain is www.mydomain.com, my aolserver will listen at:
www.mydomain.com,
mydomain.com,
209.217.53.170
it will listen to all of this by default or I need to configure it manually?

thanks for your help! :)

you can check the system running at http://aux-209-217-53-170.oklahoma.net:8000
here is the file: OPEN1.TCL

ns_log notice "nsd.tcl: starting to read config file..."

#
# If httpport is set to 80, you'll have to start AOLserver as root and pass the user
# AOLserver will run as in the command line. (e.g. ./nsd -u nsadmin -g nsadmin -t ../nsd.tcl)
# (assuming you're starting AOLserver from the {aolserverdir}/bin directory.

set httpport              8000
set httpsport            443

# Make sure your /etc/hostname is setup right, with your full domain. If you want AOLserver
# to listen to www.foobar.com instead of foobar.com then hard code the appropriate domain
# in the line below (e.g. set hostname www.foobar.com).
#
set hostname              [ns_info hostname]
set address              [ns_info address]

#
# You can name your server whatever you want, but you'll need a directory with that
# name under {aolserverdir}/servers/ writable by you AOLserver user.
#
# For example: if your AOLserver is in /usr/local/aolserver and your server is "server1"
# you will need a /usr/local/aolserver/servers/server1 directory.
#
set server          "open1"
set servername            "openacs"

#
# AOLserver's home and binary directories. Autoconfigurable.
#
set homedir                [file dirname [ns_info config]]
set bindir                  [file dirname [ns_info nsd]]

#
# Where are your pages going to live ?
#
set pageroot                /web/${server}/www
set directoryfile          index.adp,index.tcl,index.html,index.htm

#
# nsssl: Only loads if keyfile.pem and certfile.pem exist.
# If you are using SSL, make sure you have these dirs and files (refer
# to the AOLserver docs)

set sslkeyfile ${homedir}/servers/${server}/modules/nsssl/keyfile.pem

set sslcertfile ${homedir}/servers/${server}/modules/nsssl/certfile.pem

#
# Global server parameters
#

ns_section "ns/parameters"
        ns_param  home        $homedir
        ns_param  debug        false
        ns_param  MailHost    localhost
        ns_param  ServerLog    ${homedir}/log/server.log
        ns_param  LogRoll      on

#
# Thread library (nsthread) parameters
#
ns_section "ns/threads"
        ns_param  mutexmeter      true      ;# measure lock contention
        #ns_param  stacksize [expr 128*1024] ;# Per-thread stack size for hungry C modules

#
# MIME types.
#
#  Note: AOLserver already has an exhaustive list of MIME types, but in
#  case something is missing you can add it here.
#

ns_section "ns/mimetypes"
        ns_param  default        "*/*"    ;# MIME type for unknown extension
        ns_param  noextension    "*/*"    ;# MIME type for missing extension
        #ns_param  ".xls"        "application/vnd.ms-excel''

#
# Tcl Configuration
#
ns_section "ns/server/${server}/tcl"
        ns_param autoclose     "on"
        ns_param debug         "false"

# This is where this server's private Tcl library is. All .tcl files in this directory
# are parsed when AOLserver starts. The crucial procedures used in OpenACS are
# defined through this library
#
        ns_param library "/web/${server}/tcl"

############################################################
#
# Server-level configuration
#
#  There is only one server in AOLserver, but this is helpful when multiple
#  servers share the same configuration file.  This file assumes that only
#  one server is in use so it is set at the top in the "server" Tcl variable
#  Other host-specific values are set up above as Tcl variables, too.
#
ns_section "ns/servers"
        ns_param  $server    $servername

#
# Server parameters
#
ns_section "ns/server/${server}"
        ns_param  directoryfile        $directoryfile
        ns_param  pageroot            $pageroot
        ns_param  globalstats          false    ;# Enable built-in statistics
        ns_param  urlstats            false    ;# Enable URL statistics
        ns_param  maxurlstats          1000      ;# Max number of URL's to do stats on
        ns_param  enabletclpages      true      ;# Parse tcl files in pageroot (dangerous)

#
# If you want to customize AOLserver's response to things like ``Internal Server Error''
# and other HTTP responses. OpenACS comes with some in the directory www/global.

        ns_param  NotFoundResponse          "/global/file-not-found.html"
        ns_param  ServerBusyResponse          "/global/busy.html"
        ns_param  ServerInternalErrorResponse     "/global/error.html"
        ns_param  ForbiddenResponse          "/global/forbidden.html"
        ns_param  UnauthorizedResponse      "/global/unauthorized.html"

# Directory listings -- use an ADP or a Tcl proc to generate them.
#
        #ns_param  directoryadp    $pageroot/dirlist.adp ;# Choose one or the other
        ns_param  directoryproc    _ns_dirlist          ;#  ...but not both!
        ns_param  directorylisting  fancy                ;# Can be simple or fancy
#
# ADP (AOLserver Dynamic Page) configuration
#
ns_section "ns/server/${server}/adp"
        ns_param  map          "/*.adp"  ;# Extensions to parse as ADP's
        #ns_param  map          "/*.html" ;# Any extension can be mapped
        ns_param  enableexpire  false    ;# Set "Expires: now" on all ADP's
        ns_param  enabledebug  false    ;# Allow Tclpro debugging with "?debug"

# ADP special pages
        #ns_param  errorpage      ${pageroot}/errorpage.adp ;# Pretty-print ADP scripting errors

#
# ADP custom parsers -- see adp.c
#
ns_section "ns/server/${server}/adp/parsers"
        ns_param  fancy            ".adp"

#
# Socket driver module (HTTP)  -- nssock
#
ns_section "ns/server/${server}/module/nssock"
        ns_param  port        $httpport
        ns_param  hostname    $hostname
        ns_param  address      $address

#
# Socket driver module (HTTPS) -- nsssl
#
#  nsssl does not load unless sslkeyfile/sslcertfile exist (above).
#
ns_section "ns/server/${server}/module/nsssl"
        ns_param  port        $httpsport
        ns_param  hostname    $hostname
        ns_param  address    $address
        ns_param  keyfile    $sslkeyfile
        ns_param  certfile    $sslcertfile

#
# Database drivers
# The database driver is specified here. PostgreSQL driver being loaded.
# Make sure you have the driver compiled and put it in {aolserverdir}/bin
#
ns_section "ns/db/drivers"
    ns_param  postgres    ${bindir}/postgres.so  ;# Load PostgreSQL driver

#
# Database Pools: This is how AOLserver  ``talks'' to the RDBMS. You need three for
# OpenACS: main, log, subquery. Make sure to replace ``yourdb'' and ``yourpassword''
# with the actual values for your db name and the password for it.
# AOLserver can have different pools connecting to different databases and even different
# different database servers.
#
ns_section "ns/db/pools"
    ns_param  main      "OpenACS Main Pool"
    ns_param  log        "OpenACS Log Pool"
    ns_param  subquery  "OpenACS Subquery Pool"

ns_section "ns/db/pool/main"
    ns_param Driver postgres
    ns_param Connections 5                  ;# 5 is a good number. Increase according to your needs
    ns_param DataSource localhost::open1  ;# Replace 'yourdb' with the name of your database in PG
    ns_param User nsadmin                  ;# User and password AOLserver will use to connect
#    ns_param Password "yourpassword"
    ns_param Verbose Off                    ;# Set it to On to see all queries. Good for debugging SQL.
    ns_param LogSQLErrors On
    ns_param ExtendedTableInfo On
  # ns_param MaxOpen 1000000000            ;# Uncommenting these two cause AOLserver to keep the
  # ns_param MaxIdle=1000000000            ;# db connection open. Can be a good thing, up tp your needs.

ns_section "ns/db/pool/log"
    ns_param Driver postgres
    ns_param Connections 5
    ns_param DataSource localhost::open1
    ns_param User nsadmin
#    ns_param Password "yourpassword"
    ns_param Verbose On
    ns_param LogSQLErrors On
    ns_param ExtendedTableInfo On
  # ns_param MaxOpen 1000000000
  # ns_param MaxIdle=1000000000

ns_section "ns/db/pool/subquery"
    ns_param Driver postgres
    ns_param Connections 2
    ns_param DataSource localhost::open1
    ns_param User nsadmin
#    ns_param Password "yourpassword"
    ns_param Verbose On
    ns_param LogSQLErrors On
    ns_param ExtendedTableInfo On
  # ns_param MaxOpen 1000000000
  # ns_param MaxIdle=1000000000

ns_section "ns/server/${server}/db"
        ns_param Pools          "*"
        ns_param DefaultPool    "main"

#
# nscp: AOLserver Control Port - very useful for testing and evaluating.
# Uncomment the sample password below and do a "telnet localhost 9999"
# log in with "nsadmin", password "x", type "ns_crypt newpassword salt"
# and paste the new encrypted string below.
#
# Sample User="nsadmin", password="x"
set nscp_user              "nsadmin:t2GqvvaiIUbF2:"

# nscp: loads only if nscp_user is set
#

if { $nscp_user != "" } {
    ns_param nscp ${bindir}/nscp.so
} else {
    ns_log warning "nsd.tcl: nscp not loaded because user/password is not set."
}

#
# Control port -- nscp
#  nscp does not load unless nscp_user is a valid user.
#
ns_section "ns/server/${server}/module/nscp"
        ns_param  port            9999
        ns_param  address        "127.0.0.1" ;# LOCALHOST IS RECOMMENDED

ns_section "ns/server/${server}/module/nscp/users"
        ns_param  user            $nscp_user

#
# Access log -- nslog
#
ns_section "ns/server/${server}/module/nslog"
        ns_param  rolllog        true      ;# Should we roll log?
        ns_param  rollonsignal    true      ;# Roll log on SIGHUP
        ns_param  rollhour        0        ;# Time to roll log
        ns_param  maxbackup      5        ;# Max number to keep around when rolling

#
# nsjava - aolserver module that embeds a java virtual machine.  Needed to
#          support webmail.  See http://nsjava.sourceforge.net for further
#          details.
#

ns_section "ns/server/acs-pg/module/nsjava"
        ns_param  EnableJava          "off"  ;# Set to on to enable nsjava.
        ns_param  VerboseJvm          "off"  ;# Same as command line -debug.
        ns_param  LogLevel            "Notice"
        ns_param  DestroyJvm          "off"  ;# Destroy jvm on shutdown.
        ns_param  DisableJITCompiler  "off"
        ns_param  ClassPath "/usr/local/jdk/jdk118_v1/lib/classes.zip:/usr/local/aolserver/bin/nsjava.jar:/home/nsadmin/mirror/acs3-pg/www/webmail/java/activation.jar:/home/nsadmin/mirror/acs3-pg/www/webmail/java/mail.jar:/home/nsadmin/mirror/acs3-pg/www/webmail/java"

#
# CGI interface -- nscgi, if you have legacy stuff. Tcl or ADP files inside
# AOLserver are vastly superior to CGIs. I haven't tested these params but they
# should be right.
#
#ns_section "ns/server/${server}/module/nscgi"
#      ns_param  map "GET  /cgi-bin/ /web/$server/cgi-bin"
#      ns_param  map "POST /cgi-bin/ /web/$server/cgi-bin"
#      ns_param  Interps CGIinterps

#ns_section "ns/interps/CGIinterps"
#      ns_param .pl "/usr/bin/perl"

#
# Modules to load
#
ns_section "ns/server/${server}/modules"
        ns_param  nssock          ${bindir}/nssock.so
        ns_param  nslog            ${bindir}/nslog.so
        ns_param  nsperm          ${bindir}/nsperm.so
#        ns_param  nscgi          ${bindir}/nscgi.so
#        ns_param  nsjava          ${bindir}/libnsjava.so

#
## nsssl: loads only if requisite files already exist (see top of this
# file).
#
if { [file exists $sslcertfile] && [file exists $sslkeyfile] } {
    ns_param nsssl ${bindir}/nsssle.so
} else {
    ns_log warning "nsd.tcl: nsssl not loaded because key/cert files do not exist."
}

#
# To Source OpenACS Config File. You need a "yourservername.tcl" file in the
# OpenACS parameters dir. e.g.: say your server is "server1" then you'd need a
# file named /web/server1/parameters/server1.tcl
# (Hint: Rename ad.tcl to yourservername.tcl and edit it.)
#

source /web/${server}/parameters/${server}.tcl

ns_log notice "nsd.tcl: finished reading config file."

Collapse
Posted by Dave Bauer on
Short answer.

Type ifconfig at a command prompt to see what IPs your ethernet card is listening on.

Collapse
Posted by Rocael Hernández Rizzardini on
I did ifconfig and got this:
eth0      Link encap:Ethernet  HWaddr 00:D0:09:25:55:68
          inet addr:209.217.53.170  Bcast:209.217.53.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2627450 errors:0 dropped:0 overruns:0 frame:0
          TX packets:468950 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          Interrupt:3 Base address:0xc000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:3924  Metric:1
          RX packets:13440 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13440 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0

now what?
I also want to use this IP 209.217.53.171
bye,

Collapse
Posted by Dave Bauer on
You need to setup and IP Alias I think its called. Search around on www.linuxdoc.org for more information. This looks like a Linux problem, not AOLserver.