I'm running tinytiny RSS on OpenBSD httpd with PHP-FPM and MariaDB. In
order to get mail working for it, I also needed these copied from their
usual places into the /var/www chroot:

/var/www/usr/sbin/sendmail
/var/www/usr/lib/libutil.so.12.1
/var/www/usr/lib/libc.so.80.1
/var/www/usr/libexec/ld.so
/var/www/etc/resolv.conf
/var/www/etc/hosts

Hope this helps.


On Fri, Nov 4, 2016 at 1:38 PM, Otto Moerbeek <o...@drijf.net> wrote:

> On Fri, Nov 04, 2016 at 05:29:54PM +0000, Peter Fraser wrote:
>
> > I actually wanted to call php's mail function which I could not get to
> work, I
> > think I have tracked to problem down to exec not working
> > the details follow using a test web page datetest.php
> >
> >
> >
> > newweb:/var/www/htdocs/web # cat datetest.php
> > cat datetest.php
> > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> >
> > <HTML>
> > <HEAD>
> > <title>Date Test</title>
> > </HEAD>
> > <p>
> >   <?php
> >      ini_set('display_errors', 'On');
> >      error_reporting(E_ALL | E_STRICT);
> >      if(function_exists('exec')) {
> >           echo "exec is enabled";
> >      } else {
> >           echo "exec is disabled";
> >      }
> >      echo '<br>Date Test<br>';
> >      exec('/bin/date',$output);
> >      print_r($output);
> >      echo '<br>End Date test';
> > ?>
> > </p>
> > </HTML>
> > newweb:/var/www/htdocs/web # php-7.0 -f datetest.php
> > php-7.0 -f datetest.php
> > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> >
> > <HTML>
> > <HEAD>
> > <title>Date Test</title>
> > </HEAD>
> > <p>
> >   exec is enabled<br>Date Test<br>Array
> > (
> >     [0] => Fri Nov  4 13:16:35 EDT 2016
> > )
> > <br>End Date test</p>
> > </HTML>
> > newweb:/var/www/htdocs/web # # date has been copied under /var/www/bin
> for
> > testing
> > # date has been copied under /var/www/bin
> > newweb:/var/www/htdocs/web # ls -l /var/www/bin
> > ls -l /var/www/bin
> > total 4216
> > ----------  1 root  bin     249392 Jul 26 14:48 bgpctl
> > -rwxr-xr-x  1 root  daemon  119216 Nov  3 13:18 cat
> > -r-xr-xr-x  1 root  daemon  140112 Nov  4 12:52 date
> > -rwxr-xr-x  1 root  bin     271856 Jul 25 20:37 femail
> > -rwxr-xr-x  1 root  daemon  470096 Nov  3 12:49 ksh
> > -rwxr-xr-x  1 root  daemon    9816 Nov  3 12:51 logger
> > -rwxrwxrwx  1 root  daemon      27 Nov  3 15:56 mailtest
> > -rwxr-xr-x  1 root  bin     204240 Jul 26 14:48 ping
> > ----------  1 root  bin     207920 Jul 26 14:48 ping6
> > ----------  2 root  bin     179760 Jul 26 14:48 traceroute
> > ----------  2 root  bin     179760 Jul 26 14:48 traceroute6
> > newweb:/var/www/htdocs/web # chroot -u www /var/www /bin/date
> > chroot -u www /var/www /bin/date
> > Fri Nov  4 17:18:34 GMT 2016
> >
> > I believe this shows that the php web page is correct and that 'date'
> does
> > exist in the chroot,
> >
> > but when I invoke web page from a browser I get.
> >
> > exec is enabled
> > Date Test
> > Array ( )
> > End Date test
> >
> > What am I doing wrong.
>
> For exec to work you also need /bin/sh
>
>         -Otto

Reply via email to