Find the answer to your Linux question:
Results 1 to 2 of 2
Hello, I'm trying to connect to a PostgreSql database at the localhost using Apache 2.0 server. I'm working with Fedora Core 4. The cgi script is written in Python 2.4, ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Sep 2005
    Posts
    2

    Problems with connecting to Postgresql database via Apache


    Hello,

    I'm trying to connect to a PostgreSql database at the localhost using Apache 2.0 server.
    I'm working with Fedora Core 4.
    The cgi script is written in Python 2.4, I am using the PyGreSql library.
    The script works fine when started from command line, but when I start it via localhost I get the message:
    could not create socket: Permission denied

    Details:
    1. I created the user 'www' and granted him select privilege on the table to access
    2. I edited the httpd.conf, added "User www"
    3. The script looks like this
    *********
    #!/usr/bin/python2.4
    import cgi
    import cgitb; cgitb.enable()
    import pgdb

    print "Content-Type: text/html" # HTML is following
    print # blank line, end of headers
    print "<TITLE>CGI script output</TITLE>"
    print "<H1>This is my first CGI script</H1>"
    print "Hello, world!"
    con = pgdb.connect(host = 'localhost', database= 'words',user = 'www', password = '')
    cursor = con.cursor()
    select = "select * from main;"
    cursor.execute(select)
    data = cursor.fetchall()
    for i in data:
    print i
    ************
    4. When I start it from the apache server, I get the following:
    ********************
    InternalError Python 2.4.1: /usr/bin/python2.4
    Sun Sep 4 23:41:18 2005

    A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
    /var/www/cgi-bin/test.py
    9 print "<H1>This is my first CGI script</H1>"
    10 print "Hello, world!"
    11 con = pgdb.connect(host = 'localhost', database= 'words',user = 'www', password = '')
    12 cursor = con.cursor()
    13 select = "select * from main;"
    con undefined, pgdb = <module 'pgdb' from '/usr/lib/python2.4/site-packages/pgdb.pyc'>, pgdb.connect = <function connect>, host undefined, database undefined, user undefined, password undefined
    /usr/lib/python2.4/site-packages/pgdb.py in connect(dsn=None, user='www', password='', host='localhost', database='words')
    369 # open the connection
    370 cnx = _connect_(dbbase, dbhost, dbport, dbopt,
    371 dbtty, dbuser, dbpasswd)
    372 return pgdbCnx(cnx)
    373
    dbtty = '', dbuser = 'www', dbpasswd = ''

    InternalError: could not create socket: Permission denied
    args = ('could not create socket: Permission denied\n',)
    ************
    5. The previous experiments with granting privileges to public and to user apache led to the same result.

    What is wrong?

    Thanks in advance.
    Michael

  2. #2
    Just Joined!
    Join Date
    May 2006
    Posts
    1

    Exclamation

    There is a problem with selunix and postgres/apache. Try turning off selinux. It worked for me.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •