I second pileofrogs's comment.

Update: I forgot the "cross platform" requirement. I don't believe any of the following applies to Windows systems.

On Linux the kernel will not run scripts started with the first line "#! ..." setuid. I refer you to google: linux run script setuid

You could write a program and compile it to an executable file then make the executable setuid. Of course anyone who can execute that program can restart apache.

You could try using the "sudo" command. man.sudo(8). The idea is you can say that whatever user apache runs as is allowed to run the command "/path/to/apachectl restart" as another user (like root) without specifying a password.

Now suppose there is a CGI that updates the apache config files. Further suppose that one time this introduces an error in the configs. Now when the CGI to restart apache is run apache might not restart. I don't know what you are doing. This is just a thought brought on by experience. Think about what could go wrong with a system before building it.

In reply to Re^2: restart apache web server from CGI script by superfrink
in thread restart apache web server from CGI script by avo

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.