apache startup fail

You may sometimes encounter the following problem while starting apache server

====

[root@epsilon root]# /etc/init.d/httpd start
Starting httpd: (98)Address already in use: make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down
Unable to open logs
[FAILED]
====

To fix this run the following commands

fuser -k -n tcp 443

gnusys is now powered by nginx

gnusys.net has changed its webserver to the Russian legend nginx (pronounced engineX )

I have also added APC for caching the php bytecode ( APC is used by Yahoo Inc ,Wikipedia.org etc among others). I will post the configuration shortly over here…  What i liked more about nginx is its simple and clean configuration which i found what lighthttpd lacks (at least from my point of view!) . I had every subproject including the wiki ,proxy, domain registration stuff running fine now except the nagios cgi :(

the reason being that nginx does not support cgi inherently. but there are ways to accomplish this by fastcgi;maybe i will accomplish this at a later time

As of now i am happy with my brand new web server :)

Apache mod_proxy

Imagine your domain has ROR ( Ruby On Rails ) installed and it connects on port 1200

eg :- http://gnusys.net:1200 and you want to change the way it appears on the address bar as simply http://gnusys.net. Normally Apache won’t allow this as it is configured to work on port 80 as you all know. But there is a workaround for this issue ie by compiling Apache with mod_proxy . This module implements a proxy/gateway for Apache. I will now explain methods to compile this module in to Apache.

For a raw linux server ( with out any control panels ) you will get the mod_proxy module from the Apache source itself and if it is for any control panel specific server like Cpanel , Plesk etc just locate mod_proxy.c file and execute the follwoing command :-

/usr/local/apache/bin/apxs -cia /path/to/mod_proxy.c/file

and the compilation will be over in may be as fast as ten seconds. You can verify the compiled in module by running the command /usr/local/apache/bin/httpd -l

mod_proxy.c
proxy_connect.c
proxy_ftp.c
proxy_http.c

and you can also see the LoadModule option for mod_proxy inside httpd.conf .

Semaphore Arrays

Semaphore, it is a lot like a locking mechanism. In any server there is an order of precedence in which tasks must be accomplished. The semaphore is used to maintain that precedence order; more to the point, the precedence order is maintained by the semaphores. A succeeding task may not start until it has received the semaphores from all of it’s predecessors. Likewise  child processes of services gets killed or removed before it passes information to its succeeding processes. So it leads them to a hung state because of this incomplete transaction. This will result to failure of these services until we remove the Sem-ids manually from their arrays. Given below is a  small script to remove these arrays:-

ipcs -s | grep nobody | perl -e ‘while (<STDIN>) {
@a=split(/\s+/); print `ipcrm sem $a[1]`}’

There will be situations when Apache will fail because of the above reason , so you will need to just execute the above piece of code and restart Apache.

Plesk Control Panel icons missing!

Scenario:- Add Application icon missing or grayed out

“Add New Application” icon can be missing if “Hide all greyed out buttons by default” is enabled on the Server -> Interface management page in Plesk CP.

“Add New Application” can be greyed out if some application is already installed in the domains’ DocumentRoot folder (httpdocs or httpsdocs). It is impossible to add another application in this case because of possible applications conflict.

plesk DBWebadmin Access denied for user error

Sometimes you get the following error when accessing DBWebadmin (phpMyadmin ) in plesk

====

#1045 - Access denied for user ‘pma_tUuzljY3KmgS’@'localhost’ (using password: YES)

====

pma_tUuzljY3KmgS may vary according to your system

To fix this

vi /usr/local/psa/admin/htdocs/domains/databases/phpMyAdmin/libraries/config.default.php

and change the values of controluser , controlpass , pmadb to null

thats it ;save the file and now everything should work fine

Ref: http://forum.swsoft.com/showthread.php?s=&postid=167179#post167179

Howto manage qmail queue in Plesk linux

You can use third party programs like qmail-remove http://www.linuxmagic.com/opensource/qmail/qmail-remove to accomplish queue management in plesk control panel managed qmail

The Plesk control panel itself provides a modified version od qmHandle ( http://qmhandle.sourceforge.net/ )along with it that can be used with ease to manage the queue

To see the statistics of the queue:

/usr/local/psa/admin/bin/mailqueuemng -s
Messages in local queue:  0
Messages in remote queue: 0
Messages in todo queue:   0
Messages total:           0
Messages found:           0
Timestamp: 1215870834

From this you can see the status of qmails local,remote and todo list

If you wish to do a delivery of the queued messages now run the following command

/usr/local/psa/admin/bin/mailqueuemng -a

To list remote message queue:

/usr/local/psa/admin/bin/mailqueuemng -R

list local message queue:

/usr/local/psa/admin/bin/mailqueuemng -L

To list message queue:

list message queues -l

To delete messages with a particular pattern in the subject line

/usr/local/psa/admin/bin/mailqueuemng -S”text”

eg: /usr/local/psa/admin/bin/mailqueuemng -S”failure notice”

will delete all delivery failed messages

To delete all messages in the queue (Use with caution - possible data loss )

/usr/local/psa/admin/bin/mailqueuemng -D




Varnish,NginX,PHP,MySQL on a Debian GNU/Linux XEN domU