Ulimit and make_sock errors

10,628

The problem was a culmination of Permission errors and Phusion Passenger being installed incorrectly.

The issue was I was trying to run as a regular "user" instead of root. I fixed this by either sudo'ing my command, or sudo su'ing into root and running service apache2 restart. Evidently restarting apache2 as a regular user if okay, but Redmine and Ruby requires escalated permissions to run ulimit changes.

Share:
10,628

Related videos on Youtube

ehime
Author by

ehime

Updated on September 18, 2022

Comments

  • ehime
    ehime over 1 year

    I'm trying to configure Redmine for Ubuntu 11.10, using this method Redmine for 11.10 but ran into some crazy snag somewhere with apache. Upon issuing service apache2 restart I get the following errors.

     * Restarting web server apache2
    ulimit: 88: error setting limit (Operation not permitted)
    ulimit: 88: error setting limit (Operation not permitted)
    (13)Permission denied: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down
    Unable to open logs
    

    I haven't been able to make heads or tails of what exactly is going on with apache. I understand what ulimit does (monitor system wide resource allocation) but don't know why setting the limit would not be permitted?

    Here's the contents of /etc/apache2/sites-available/default, were the root of the problem might be...

    <VirtualHost *:80>
        ServerAdmin [email protected]
    
        DocumentRoot /var/www
        <Directory />
            Options FollowSymLinks
            AllowOverride None
        </Directory>
        <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
        </Directory>
    
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
        </Directory>
    
        ErrorLog ${APACHE_LOG_DIR}/error.log
    
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
    
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    
        Alias /doc/ "/usr/share/doc/"
        <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>
    
        # See 
        # http://www.modrails.com/documentation/Users%20guide%20Apache.html 
        # for details on what these options do.  They will lead to an increase
        # in memory usage, but significantly reduced access times.
    
    
        # Speeds up spawn time tremendously -- if your app is compatible. 
        # RMagick seems to be incompatible with smart spawning
        PassengerSpawnMethod smart
    
    
        # Keep the application instances alive longer. Default is 300 (seconds)
        PassengerPoolIdleTime 300
    
    
        # Additionally keep a copy of the Rails framework in memory. If you're 
        # using multiple apps on the same version of Rails, this will speed up
        # the creation of new RailsAppSpawners. This isn't necessary if you're
        # only running one or 2 applications, or if your applications use
        # different versions of Rails.
        RailsFrameworkSpawnerIdleTime 0
    
        # Just in case you're leaking memory, restart a listener 
        # after processing 5000 requests
        PassengerMaxRequests 5000
    
    
        # Only check for restart.txt et al up to once every 5 seconds, 
        # instead of once per processed request
        PassengerStatThrottleRate 5
    
        # Specify the minimum number of instances passenger can keep
        # while cleaning idle instances
        PassengerMinInstances 3
    
        <Location /redmine>
            Options Indexes -ExecCGI FollowSymLinks -MultiViews
            # AllowOverride None
            Order allow,deny
            Allow from all
    
            # mod_rails
            # PassengerUser redmine
            #RailsEnv edoceo_live
            RailsBaseURI /redmine
    
            # environment.rb
            # Redmine::Utils::relative_url_root = "/redmine"    
        </Location>
    
    </VirtualHost>
    
    # Then after the virtualhost is loaded, send it a request
    # to initialize the redmine installation
    PassengerPreStart http://2222.us/redmine
    

    EDIT I got the error log working through some fluke, here is the errors that I am receiving inside error.log, this might provide some insight.

    [Wed Dec 14 12:06:09 2011] [notice] caught SIGTERM, shutting down
    [Wed Dec 14 12:06:10 2011] [error] *** Passenger could not be initialized because of this error: Unable to start the Phusion Passenger watchdog because its executable (/usr/lib/phusion-passenger/agents/PassengerWatchdog) does not exist. This probably means that your Phusion Passenger installation is broken or incomplete, or that your 'PassengerRoot' directive is set to the wrong value. Please reinstall Phusion Passenger or fix your 'PassengerRoot' directive, whichever is applicable.
    [Wed Dec 14 12:06:10 2011] [error] *** Passenger could not be initialized because of this error: Unable to start the Phusion Passenger watchdog because its executable (/usr/lib/phusion-passenger/agents/PassengerWatchdog) does not exist. This probably means that your Phusion Passenger installation is broken or incomplete, or that your 'PassengerRoot' directive is set to the wrong value. Please reinstall Phusion Passenger or fix your 'PassengerRoot' directive, whichever is applicable.
    [Wed Dec 14 12:06:10 2011] [notice] Apache/2.2.20 (Ubuntu) Phusion_Passenger/3.0.11 PHP/5.3.6-13ubuntu3.2 with Suhosin-Patch configured -- resuming normal operations
    
  • Caesium
    Caesium over 12 years
    It would be great if you could briefly describe which permissions you had to fix, in order that this question/answer might be useful to future Googler visitors :)
  • ripper234
    ripper234 about 11 years
    I just changed apachectl configtest to sudo apachectl configtest and the error went away.
  • ehime
    ehime about 11 years
    @ripper234 That's because you weren't running it with the correct permissions, sudo(er) was needed.
  • ripper234
    ripper234 about 11 years
    Yeah, just wanted to make the solution explicit.