iPXE Boot issue : boot.php permission denied


  • Server

    FOG Version: 1.5.9
    OS: CentOS 6.1 32 bits
    

    Description :

    When i boot a PC over PXE, I have this issue :

    iPXE initialising devices...ok
    
    
    
    iPXE 1.0.0+ (9907f) -- Open Source Network Boot Firmware -- http://ipxe.org
    Features: DNS FTP HTTP HTTPS iSCSI NFS TFTP SRP VLAN AoE EFI Menu
    Configuring (net0 00:0c:29:24:a2:e9)...... ok
    Received DHCP answer on interface net0
    tftp://192.168.1.10/default.ipxe... ok
    http://1923168.1.10/fog/service/ipxe/boot.php... Permission denied (http://ipxe.ogr/0216eb8f)
    Could not boot : Permission denied (http://ipxe.ogr/0216eb8f) 
    

    This is the default.ipxe file :

    #!ipxe
    cpuid --ext 29 && set arch x86_64 || set arch ${buildarch}
    params
    param mac0 ${net0/mac}
    param arch ${arch}
    param platform ${platform}
    param product ${product}
    param manufacturer ${product}
    param ipxever ${version}
    param filename ${filename}
    param sysuuid ${uuid}
    isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme
    isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme
    :bootme
    chain http://192.168.1.10/fog/service/ipxe/boot.php##params
    
    

    Here is the apache error_log file messages :

    [Sat May 02 11:04:09 2020] [error] [client 192.168.1.3] File does not exist: /var/www/html/fog/api, referer: https://server//fog/management/index.php?node=about&sub=settings
    [Sat May 02 11:05:09 2020] [error] [client 192.168.1.3] PHP Fatal error:  Uncaught UnexpectedValueException: RecursiveDirectoryIterator::__construct(/var/www/html/fog/fog/fog/commons): failed to open dir: Permission denied in /var/www/html/fog/commons/init.php:119\nStack trace:\n#0 [internal function]: RecursiveDirectoryIterator->__construct('/var/www/html/f...', 4096)\n#1 [internal function]: RecursiveDirectoryIterator->getChildren()\n#2 [internal function]: FilterIterator->next()\n#3 /var/www/html/fog/commons/init.php(119): iterator_to_array(Object(RegexIterator), true)\n#4 /var/www/html/fog/commons/init.php(257): Initiator->__construct()\n#5 /var/www/html/fog/commons/base.inc.php(48): Initiator::startInit()\n#6 /var/www/html/fog/status/getservertime.php(22): require('/var/www/html/f...')\n#7 {main}\n  thrown in /var/www/html/fog/commons/init.php on line 119, referer: https://server//fog/management/index.php?node=about&sub=settings
    [Sat May 02 11:06:09 2020] [error] [client 192.168.1.3] PHP Fatal error:  Uncaught UnexpectedValueException: RecursiveDirectoryIterator::__construct(/var/www/html/fog/fog/fog/commons): failed to open dir: Permission denied in /var/www/html/fog/commons/init.php:119\nStack trace:\n#0 [internal function]: RecursiveDirectoryIterator->__construct('/var/www/html/f...', 4096)\n#1 [internal function]: RecursiveDirectoryIterator->getChildren()\n#2 [internal function]: FilterIterator->next()\n#3 /var/www/html/fog/commons/init.php(119): iterator_to_array(Object(RegexIterator), true)\n#4 /var/www/html/fog/commons/init.php(257): Initiator->__construct()\n#5 /var/www/html/fog/commons/base.inc.php(48): Initiator::startInit()\n#6 /var/www/html/fog/status/getservertime.php(22): require('/var/www/html/f...')\n#7 {main}\n  thrown in /var/www/html/fog/commons/init.php on line 119, referer: https://server//fog/management/index.php?node=about&sub=settings
    [Sat May 02 11:07:08 2020] [error] [client 192.168.1.3] File does not exist: /var/www/html/fog/api, referer: https://server//fog/management/index.php?node=about&sub=settings
    [Sat May 02 11:08:08 2020] [error] [client 192.168.1.3] PHP Fatal error:  Uncaught UnexpectedValueException: RecursiveDirectoryIterator::__construct(/var/www/html/fog/fog/fog/commons): failed to open dir: Permission denied in /var/www/html/fog/commons/init.php:119\nStack trace:\n#0 [internal function]: RecursiveDirectoryIterator->__construct('/var/www/html/f...', 4096)\n#1 [internal function]: RecursiveDirectoryIterator->getChildren()\n#2 [internal function]: FilterIterator->next()\n#3 /var/www/html/fog/commons/init.php(119): iterator_to_array(Object(RegexIterator), true)\n#4 /var/www/html/fog/commons/init.php(257): Initiator->__construct()\n#5 /var/www/html/fog/commons/base.inc.php(48): Initiator::startInit()\n#6 /var/www/html/fog/status/getservertime.php(22): require('/var/www/html/f...')\n#7 {main}\n  thrown in /var/www/html/fog/commons/init.php on line 119, referer: https://server//fog/management/index.php?node=about&sub=settings
    

    Can anyone help me ?

  • Senior Developer

    I’m so confused.

    I see 2 posts now with:

    1923168.1.10...... One @Sebastian-Roth brought up, and the post directly after that also has the same typo.

    Is this a typo, or is this literally what’s being displayed on the Host machine?

  • Moderator

    @Sebastian-Roth I just had to look it up because I thought centos 6 went EOL a while ago, but its still supported by Centos until Nov 2020. With that said, the best suggestion for the OP is to spin up a new FOG server using centos 7. I can say fog installs and runs nicely on Centos 7

  • Senior Developer

    @Jimmy94 said in iPXE Boot issue : boot.php permission denied:

    httpproto=‘https’

    If you want to keep things simple you better change that line to httpproto='http' (removing the s at the end) and re-run the installer.

    Version: 1.5.8 Installer/Updater

    I thought you said you are using 1.5.9-RC1

    • Setting up and starting MySQL…/lib/common/functions.sh: line 1038: systemctl : commande introuvable
      …/lib/common/functions.sh: line 1039: systemctl : commande introuvable
      OK

    This seems really strange but as I see you are using CentOS 6.1 I can imagine this being caused. I haven’t used CentOS 6 in a long time and I don’t think I’ll find the time to get back to this and try to find and fix that issue. I can imagine CentOS 6 to cause some of the issues…


  • @Sebastian-Roth

    My .fogsetting file :

    Note : Linux user and Database user passwords have been changed in this file. Not the real password.

    ## Start of FOG Settings
    ## Created by the FOG Installer
    ## Find more information about this file in the FOG Project wiki:
    ##     https://wiki.fogproject.org/wiki/index.php?title=.fogsettings
    ## Version: 1.5.8
    ## Install time: ven. 01 mai 2020 00:20:41 CEST
    ipaddress='192.168.1.10'
    copybackold='0'
    interface='eth0'
    submask='255.255.255.0'
    hostname='SERVER'
    routeraddress='192.168.1.1'
    plainrouter='192.168.1.1'
    dnsaddress='192.168.1.10'
    username='fogproject'
    password='@kys9ndprTjs4NsZQllo'
    osid='1'
    osname='Redhat'
    dodhcp='y'
    bldhcp='1'
    dhcpd='dhcpd'
    blexports='1'
    installtype='N'
    snmysqluser='fogmaster'
    snmysqlpass='HDYih5=7SDT4sTr5xpkQ'
    snmysqlhost='localhost'
    mysqldbname='fog'
    installlang='1'
    storageLocation='/images'
    fogupdateloaded=1
    docroot='/var/www/html/'
    webroot='/fog/'
    caCreated='yes'
    httpproto='https'
    startrange='192.168.1.2'
    endrange='192.168.1.10'
    bootfilename='undionly.kpxe'
    packages='bc curl dhcp gcc gcc-c++ genisoimage gettext git gzip httpd lftp m4 make mod_ssl mtools mysql mysql-server net-tools nfs-utils php php-bcmath php-cli php-common php-fpm php-gd php-ldap php-mbstring php-mysqlnd php-process syslinux tar tftp-server unzip vsftpd wget xinetd xz-devel'
    noTftpBuild=''
    sslpath='/opt/fog/snapins/ssl/'
    backupPath='/home/'
    armsupport=''
    php_ver=''
    php_verAdds=''
    sslprivkey='/opt/fog/snapins/ssl//.srvprivate.key'
    ## End of FOG Settings
    

    I saved FOG install script messages :

    [root@SERVER bin]# ./installfog.sh
    Installing LSB_Release as needed
     * Attempting to get release information.......................Done
    ...
    
       Version: 1.5.8 Installer/Updater
    
    
     * Found FOG Settings from previous install at: /opt/fog/.fogsettings
    
     * Performing upgrade using these settings
    
    Starting Redhat based Installation
    
    ...
    
     * Here are the settings FOG will use:
     * Base Linux: Redhat
     * Detected Linux Distribution: CentOS
     * Interface: eth0
     * Server IP Address: 192.168.1.10
     * Server Subnet Mask: 255.255.255.0
     * Server Hostname: SERVER
     * Installation Type: Normal Server
     * Internationalization: 1
     * Image Storage Location: /images
     * Using FOG DHCP: Yes
     * DHCP router Address: 192.168.1.1
    
    
     * Are you sure you wish to continue (Y/N) y
    
     * Installation Started
    
     * Testing internet connection.................................Done
     * Adjusting repository (can take a long time for cleanup).....OK
     * Preparing Package Manager...................................OK
     * Packages to be installed:
    
            bc curl dhcp gcc gcc-c++ genisoimage gettext git gzip httpd lftp m4 make mod_ssl mtools mysql mysql-server net-tools nfs-utils php php-bcmath php-cli php-common php-fpm php-gd php-ldap php-mbstring php-mysqlnd php-process syslinux tar tftp-server unzip vsftpd wget xinetd xz-devel
    
    
     * Skipping package:   bc......................................(Already Installed)
     * Skipping package:   curl....................................(Already Installed)
     * Skipping package:   dhcp....................................(Already Installed)
     * Skipping package:   gcc.....................................(Already Installed)
     * Skipping package:   gcc-c++.................................(Already Installed)
     * Skipping package:   genisoimage.............................(Already Installed)
     * Skipping package:   gettext.................................(Already Installed)
     * Skipping package:   git.....................................(Already Installed)
     * Skipping package:   gzip....................................(Already Installed)
     * Skipping package:   httpd...................................(Already Installed)
     * Skipping package:   lftp....................................(Already Installed)
     * Skipping package:   m4......................................(Already Installed)
     * Skipping package:   make....................................(Already Installed)
     * Skipping package:   mod_ssl.................................(Already Installed)
     * Skipping package:   mtools..................................(Already Installed)
     * Skipping package:   mysql...................................(Already Installed)
     * Skipping package:   mysql-server............................(Already Installed)
     * Skipping package:   net-tools...............................(Already Installed)
     * Skipping package:   nfs-utils...............................(Already Installed)
     * Skipping package:   php.....................................(Already Installed)
     * Skipping package:   php-bcmath..............................(Already Installed)
     * Skipping package:   php-cli.................................(Already Installed)
     * Skipping package:   php-common..............................(Already Installed)
     * Skipping package:   php-fpm.................................(Already Installed)
     * Skipping package:   php-gd..................................(Already Installed)
     * Skipping package:   php-ldap................................(Already Installed)
     * Skipping package:   php-mbstring............................(Already Installed)
     * Skipping package:   php-mysqlnd.............................(Already Installed)
     * Skipping package:   php-process.............................(Already Installed)
     * Skipping package:   syslinux................................(Already Installed)
     * Skipping package:   tar.....................................(Already Installed)
     * Skipping package:   tftp-server.............................(Already Installed)
     * Skipping package:   unzip...................................(Already Installed)
     * Skipping package:   vsftpd..................................(Already Installed)
     * Skipping package:   wget....................................(Already Installed)
     * Skipping package:   xinetd..................................(Already Installed)
     * Skipping package:   xz-devel................................(Already Installed)
     * Updating packages as needed.................................OK
    
     * Confirming package installation
    
     * Checking package: bc........................................OK
     * Checking package: curl......................................OK
     * Checking package: dhcp......................................OK
     * Checking package: gcc.......................................OK
     * Checking package: gcc-c++...................................OK
     * Checking package: genisoimage...............................OK
     * Checking package: gettext...................................OK
     * Checking package: git.......................................OK
     * Checking package: gzip......................................OK
     * Checking package: httpd.....................................OK
     * Checking package: lftp......................................OK
     * Checking package: m4........................................OK
     * Checking package: make......................................OK
     * Checking package: mod_ssl...................................OK
     * Checking package: mtools....................................OK
     * Checking package: mysql.....................................OK
     * Checking package: mysql-server..............................OK
     * Checking package: net-tools.................................OK
     * Checking package: nfs-utils.................................OK
     * Checking package: php.......................................OK
     * Checking package: php-bcmath................................OK
     * Checking package: php-cli...................................OK
     * Checking package: php-common................................OK
     * Checking package: php-fpm...................................OK
     * Checking package: php-gd....................................OK
     * Checking package: php-ldap..................................OK
     * Checking package: php-mbstring..............................OK
     * Checking package: php-mysqlnd...............................OK
     * Checking package: php-process...............................OK
     * Checking package: syslinux..................................OK
     * Checking package: tar.......................................OK
     * Checking package: tftp-server...............................OK
     * Checking package: unzip.....................................OK
     * Checking package: vsftpd....................................OK
     * Checking package: wget......................................OK
     * Checking package: xinetd....................................OK
     * Checking package: xz-devel..................................OK
    
     * Configuring services
    
     * Setting up fogproject user..................................Skipped
     * Locking fogproject as a system account......................OK
     * Setting up fogproject password..............................OK
     * Stopping FOGMulticastManager Service........................OK
     * Stopping FOGImageReplicator Service.........................OK
     * Stopping FOGSnapinReplicator Service........................OK
     * Stopping FOGScheduler Service...............................OK
     * Stopping FOGPingHosts Service...............................OK
     * Stopping FOGSnapinHash Service..............................OK
     * Stopping FOGImageSize Service...............................OK
     * Setting up and starting MySQL................................./lib/common/functions.sh: line 1038: systemctl : commande introuvable
    ../lib/common/functions.sh: line 1039: systemctl : commande introuvable
    OK
     * Setting up MySQL user and database..........................Skipped
     * Backing up user reports.....................................Done
     * Stopping web service........................................OK
     * Removing vhost file.........................................OK
     * Setting up Apache and PHP files.............................OK
     * Testing and removing symbolic links if found................OK
     * Backing up old data.........................................OK
     * Copying new files to web folder.............................OK
     * Creating the language binaries..............................Done
     * Creating config file........................................OK
     * Downloading kernel, init and fog-client binaries............Done
     * Extracting the binaries archive.............................OK
     * Copying binaries to destination paths.......................OK
     * Enabling apache and fpm services on boot....................OK
     * Creating SSL Certificate....................................OK
     * Creating auth pub key and cert..............................OK
     * Resetting SSL Permissions...................................OK
     * Setting up Apache virtual host (SSL)........................OK
     * Starting and checking status of web services................OK
     * Changing permissions on apache log files....................OK
     * Backing up database.........................................Done
    
     * You still need to install/update your database schema.
     * This can be done by opening a web browser and going to:
    
       https://192.168.1.10/fog/management
    
     * Press [Enter] key when database is updated/installed.
    
     * Update fogstorage database password.........................OK
     * Granting access to fogstorage database user.................Skipped
     * Setting up storage..........................................OK
     * Setting up and starting DHCP Server.........................OK
     * Compiling iPXE binaries trusting your SSL certificate.......OK
     * Setting up and starting TFTP and PXE Servers................OK
     * Setting up and starting VSFTP Server........................OK
     * Setting up FOG Snapins......................................OK
     * Setting up UDPCast..........................................OK
     * Configuring UDPCast.........................................OK
     * Building UDPCast............................................OK
     * Installing UDPCast..........................................OK
     * Installing FOG System Scripts...............................OK
    
    
     * Configuring FOG System Services
    
    
     * Setting FOGMulticastManager script executable...............OK
     * Enabling FOGMulticastManager Service........................OK
     * Setting FOGImageReplicator script executable................OK
     * Enabling FOGImageReplicator Service.........................OK
     * Setting FOGSnapinReplicator script executable...............OK
     * Enabling FOGSnapinReplicator Service........................OK
     * Setting FOGScheduler script executable......................OK
     * Enabling FOGScheduler Service...............................OK
     * Setting FOGPingHosts script executable......................OK
     * Enabling FOGPingHosts Service...............................OK
     * Setting FOGSnapinHash script executable.....................OK
     * Enabling FOGSnapinHash Service..............................OK
     * Setting FOGImageSize script executable......................OK
     * Enabling FOGImageSize Service...............................OK
     * Setting up FOG Services.....................................OK
     * Starting FOGMulticastManager Service........................OK
     * Starting FOGImageReplicator Service.........................OK
     * Starting FOGSnapinReplicator Service........................OK
     * Starting FOGScheduler Service...............................OK
     * Starting FOGPingHosts Service...............................OK
     * Starting FOGSnapinHash Service..............................OK
     * Starting FOGImageSize Service...............................OK
     * Setting up exports file.....................................OK
     * Setting up and starting RPCBind.............................OK
     * Setting up and starting NFS Server..........................OK
     * Ensuring node username and passwords match..................Done
    
     * Setup complete
    
       You can now login to the FOG Management Portal using
       the information listed below.  The login information
       is only if this is the first install.
    
       This can be done by opening a web browser and going to:
    
       https://192.168.1.10/fog/management
    
       Default User Information
       Username: fog
       Password: password
    
    [root@SERVER bin]#
    

    Any idea?

  • Senior Developer

    @Jimmy94 Take a look at your /opt/fog/.fogsettings file on the FOG server. See what the line httpproto=... is set to and post here.

    And there is one thing that bugs me:

    ls -al /var/www/html/fog
    ...
    drwxrwxrwx   5 fogproject fogproject   4096  2 mai   11:07 fog
    ...
    

    This should not be a directory I think. Seems like there is something messed up with the web directory.

    Did you use any command line options when running the installer?


  • @george1421 FOG installer script have automaticaly created the certificate while installation was done but I don’t need any certificate, it’s just for home, not real professional use. I need to create a Linux based PXE server witch can deploy Windows 10 in UEFI. I tried FOG and have done a older configuration with success but after some change, the FOG PXE deployment don’t work. I’m trying to re-install properly a new working FOG PXE server configuration. That’s why I finnaly restarted the FOG installer script and now, after finishing configuration and trying again to boot a client PC, I have this error in FOG PXE boot splash screen :

    Usage:
    
      choose [-m|--menu <menu>] [-d|--default <default>] [-t|--timeout <timeout>] [-k|--keep] <setting>
    
    See http://ipxe.org/cmd/choose for further information
    Could not boot : Result too large (http://ipxe.org/46162085)
    Could not boot : Result too large (http://ipxe.org/46162085)
    Chainloading failed, hit ‘s’ for the iPXE shell; reboot in 10 seconds
    

    Any idea?

  • Moderator

    @Jimmy94 said in iPXE Boot issue : boot.php permission denied:

    What do you suggest?

    Reviewing this wiki: https://wiki.fogproject.org/wiki/index.php?title=HTTPS#Custom_CA_and_certificates

    Did you install fog using the https command line switch or did you adjust apache manually to support https?


  • @george1421 What do you suggest?


  • @Sebastian-Roth

    Yes you’re right : 1.5.9-RC1

    [root@SERVER ~]# ls -al /var/www
    total 24
    drwxr-xr-x.  6 root root 4096 30 avril 23:38 .
    drwxr-xr-x. 27 root root 4096  4 janv. 00:12 ..
    drwxr-xr-x.  2 root root 4096 19 juin   2018 cgi-bin
    drwxr-xr-x.  3 root root 4096 29 déc.   2018 error
    lrwxrwxrwx   1 root root   18 30 avril 23:38 fog -> /var/www/html/fog/
    drwxr-xr-x.  5 root root 4096  2 mai   11:03 html
    drwxr-xr-x.  3 root root 4096 15 avril 23:57 icons
    
    [root@SERVER ~]# ls -al /var/www/html
    total 20
    drwxr-xr-x.  5 root       root       4096  2 mai   11:03 .
    drwxr-xr-x.  6 root       root       4096 30 avril 23:38 ..
    drwxrwxrwx  11 fogproject fogproject 4096  2 mai   11:07 fog
    drwxrwxrwx   6 root       root       4096 15 nov.  06:21 ISO
    lrwxrwxrwx   1 root       root         12  1 mai   23:07 os -> /tftpboot/os
    
    [root@SERVER ~]# ls -al /var/www/html/fog
    total 412
    drwxrwxrwx  11 fogproject fogproject   4096  2 mai   11:07 .
    drwxr-xr-x.  5 root       root         4096  2 mai   11:03 ..
    drwxrwxrwx   2 fogproject fogproject   4096 30 avril 23:35 api
    drwxrwxrwx   2 fogproject fogproject   4096 30 avril 23:37 client
    drwxrwxrwx   2 fogproject fogproject   4096 30 avril 23:35 commons
    -rwxrwxrwx   1 fogproject fogproject 370070 30 avril 23:35 favicon.ico
    drwxrwxrwx   5 fogproject fogproject   4096  2 mai   11:07 fog
    drwxrwxrwx   2 fogproject fogproject   4096 30 avril 23:35 fogdoc
    -rwxrwxrwx   1 fogproject fogproject    572 30 avril 23:35 index.php
    drwxrwxrwx  13 fogproject fogproject   4096 30 avril 23:35 lib
    drwxrwxrwx  10 fogproject fogproject   4096 30 avril 23:35 management
    drwxrwxrwx   3 fogproject fogproject   4096 30 avril 23:35 service
    drwxrwxrwx   2 fogproject fogproject   4096 30 avril 23:35 status
    
    
    iPXE initialising devices...ok
    
    
    
    iPXE 1.0.0+ (9907f) -- Open Source Network Boot Firmware -- http://ipxe.org
    Features: DNS FTP HTTP HTTPS SRP¨VLAN AoE EFI Menu
    Configuring (net0 00:0c:29:24:a2:e9)...... ok
    Received DHCP answer on interface net0
    tftp://192.168.1.10/default.ipxe... ok
    http://1923168.1.10/fog/service/ipxe/boot.php... Permission denied (http://ipxe.ogr/0216eb8f)
    Could not noot : Permission denied (http://ipxe.ogr/0216eb8f) 
    iPXE> ping 192.168.1.10
    64 bytes from 192.168.1.10: seq=1
    64 bytes from 192.168.1.10: seq=2
    64 bytes from 192.168.1.10: seq=3
    64 bytes from 192.168.1.10: seq=4
    Finished: Operation canceled (http://ipxe.ogr/0b072095)
    
  • Senior Developer

    @Jimmy94 There are a few things confusing me:

    • FOG 1.5.9 is not released yet. I suppose you mean 1.5.9-RC1?
    • iPXE 1.0.0+ (9907f) This seems to be a custom build iPXE binary using this commit from iPXE repo. While this is not an issue per se we can’t really know what
    • http://1923168.1.10/fog/service/ipxe/boot.php... Permission denied (http://ipxe.ogr/0216eb8f) -> Check the IP address. Either there is a typo in the forum post or in your /tftpboot/default.ipxe file.
    • The apache error logs seem strange. Please run the following command as root and post output here: ls -al /var/www /var/www/html /var/www/html/fog
  • Moderator

    Did you setup https on this fog server? If so it looks like you didn’t recompile iPXE to support https needed for booting. In the error log I see references to https but in the iPXE error message I see its calling http:

392
Online

7.6k
Users

14.7k
Topics

138.4k
Posts