Updated from Fog v1.50 to V1.52 issue
-
Hello,
I have recently upgraded my fog server from version 1.52 from my original version of 1.50. I am running Ubuntu server 16.04 LTS. My old installation of 1.50 was running great until the upgrade.
Issues:
-
When I go to the Fog IP <10.0.0.6> it now shows a generic “Index of /” page with the FOG and and HTML folder. The old version would go straight to the Fog server with just the IP address. See image below.
-
After the Upgrade, PCs are not seeing the PXE server. (I assume that it is issue 1 above)
I can still access the Fog Server web panel by typing 10.0.0.6/fog. It logs in without issues and states that it is on the current version of 1.52.
If you know a fix for this or If you need any additional information, please let me know.
-
-
I found what the installer did incorrectly.
This is the default config file
/etc/apache2/sites-enabled/001-fog.conf
.<VirtualHost *:80> <FilesMatch "\.php$"> SetHandler "proxy:fcgi://127.0.0.1:9000/" </FilesMatch> KeepAlive Off ServerName 10.0.0.6 DocumentRoot /var/www/ RewriteEngine On RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F] <Directory /var/www/fog/> DirectoryIndex index.php index.html index.htm RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d RewriteRule ^/(.*)$ /fog/api/index.php [QSA,L] </Directory> </VirtualHost>
The closing
</Directory>
directive is in the wrong place. It should look like this:<VirtualHost *:80> <FilesMatch "\.php$"> SetHandler "proxy:fcgi://127.0.0.1:9000/" </FilesMatch> KeepAlive Off ServerName 10.0.0.6 DocumentRoot /var/www/ RewriteEngine On RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F] <Directory /var/www/fog/> DirectoryIndex index.php index.html index.htm </Directory> RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d RewriteRule ^/(.*)$ /fog/api/index.php [QSA,L] </VirtualHost>
Note: I also indent corrected the rewrite rules
If you correct your/etc/apache2/sites-enabled/001-fog.conf
how I listed above FOG 1.5.2 will work correctly. -
Are you using the fog server for anything else other than FOG?
Your screen shot tells me that something happened to the apache configuration. There was one major change between 1.5.0 and 1.5.2 was enabling php-fpm (a dedicated php execution engine). This has caused centos 6.9 issues, but I don’t think that is your case. This looks more like an apache configuration issue.
-
Thanks for the reply George. To answer your question, Nothing else was running on the Fog Server. I decided to run an update and it downloaded the newest Ubuntu 18.04 . This didn’t work either so I formatted the drives.
I then reinstalled Ubuntu 16.04, Then installed the newest Fog 1.52 and received the same results as before. I bet something else is going on.
-
@bigsease30 So just to be clear, if you enter the /fog path FOG works OK, its just the redirect from / to /fog that is broken?
-
@george1421 Correct, The GUI seems to work when I am logged in and navigating around if I open it by the IP/Fog addres but the PXE portion is not working. I am assuming that they are related.
-
@bigsease30 For full disclosure I’m a RHEL guy, but I do have fog 1.4.4 running on a raspberry pi in my home.
There should be a file in /etc/apache2/sites-enabled called 001-fog.conf. That file should contain apache directives for the FOG site.
NameVirtualHost *:80 <VirtualHost *:80> KeepAlive Off ServerName {fog_server_ip} DocumentRoot /var/www/ <Directory /var/www/fog/> DirectoryIndex index.php index.html index.htm </Directory> RewriteEngine On RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d RewriteRule ^/(.*)$ /fog/api/index.php [QSA,L] </VirtualHost>
The rewrite rules are what forward the requests from / to /fog
-
I have the same issue with the web page but everyting else works fine.
How to fix this? -
@wouwie I see from your post that you are running Debian, wll you also confirm the existence of the file I referenced?
-
@george1421 said in Updated from Fog v1.50 to V1.52 issue:
/etc/apache2/sites-enabled
Yes George, I have confirmed the file is there. I will post the output below.
<VirtualHost *:80> <FilesMatch "\.php$"> SetHandler "proxy:fcgi://127.0.0.1:9000/" </FilesMatch> KeepAlive Off ServerName 10.0.0.6 DocumentRoot /var/www/ RewriteEngine On RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F] <Directory /var/www/fog/> DirectoryIndex index.php index.html index.htm RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d RewriteRule ^/(.*)$ /fog/api/index.php [QSA,L] </Directory> </VirtualHost> <VirtualHost *:80> <FilesMatch "\.php$">
-
@bigsease30 While I don’t think this is your issue there was a new feature added to 1.5.1 and 1.5.2 which turned on php-pfm (dedicated php engine). We have see this cause a problem with centos 6.9 installs, but never Debian based systems.
In the config file you posted, I want you to edit it. Update the file match section to look like this
<FilesMatch "\.php$"> #SetHandler "proxy:fcgi://127.0.0.1:9000/" SetHandler application/x-httpd-php </FilesMatch>
Save and then restart apache on your server. What this does is turn off the php-fpm and resumes apache’s built in php engine. I really don’t think this is the issue, but this is one of the major changes introduced in 1.5.1.
-
@george1421 Yes, the file exists and contains this:
<VirtualHost :80>
<FilesMatch “.php$”>
SetHandler “proxy:fcgi://127.0.0.1:9000/”
</FilesMatch>
KeepAlive Off
ServerName 10.1.0.111
DocumentRoot /var/www/
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule . - [F]
<Directory /var/www/fog/>
DirectoryIndex index.php index.html index.htm
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)$ /fog/api/index.php [QSA,L]
</Directory>
</VirtualHost> -
@bigsease30 said in Updated from Fog v1.50 to V1.52 issue:
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F]
I just saw another add on that was released in 1.5.1 in your config file. If the first step I asked you to do didn’t work, revert it (you really will need pphp-fpm working) and then comment out these two lines.
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F]
These rules were added to avoid a noted vulnerability attack against the apache server. These were added because of a PCI audit observation.
-
@george1421 Adding that line essentially kills the apache server on my machine. I have reinstalled v1.52 again from a new install, verified that the server and GUI were accessible, made the change that was suggested and the server is no longer accessible. Restarting the server nor service has any effect.
I may just go back to the v1.5.0 since for me, it seemed to be stable and worked. I am open to other suggestions that you may have and would like to try.
-
@bigsease30 That is really interesting turning back on apache’s php engine killed apache. FOG 1.5.0 is really slow because of many new features, the developers enabled php-fpm to speed up php execution.
Try removing the following by commenting it out and restart apache.
# RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) # RewriteRule .* - [F]
Moving back to 1.5.0 is not really an option because it has its own issues. 1.5.3 is getting ready for release. If we can figure out what is going on here we can get the fix into 1.5.3. FOG is installed against 8 major linux distributions ever day. All 8 are passing as of yesterday, so we need to understand what is unique about your 2 builds (both of you). If we can identify the root of the issue the devs will surely fix it.
-
@bigsease30 mind installing the working branch? There issues and most likely they’re somewhat related to how storage nodes are tested. I’ve made a few changes and also fixed an api related issue that directly handled dealing with the rewrite rules.
cd /path/to/fog/repo git checkout working git pull cd bin ./installfog.sh -y
-
@tom-elliott Hello Tom. I am not familiar with the instructions that you provided. From looking it up I was able to find this GitHub Group but it references v1.5.1 and not the current version. Could you kindly point me in the correct direction?
Regards,
-
@bigsease30 How did you install FOG on your server? Did you download the tarball or use the preferred github method?
-
If you used the tarball method, make sure your fog server has internet access and then use this process to create a local fog repo on your fog server.
sudo -i git clone https://github.com/FOGProject/fogproject.git /root/fogproject cd /root/fogproject git checkout working cd bin ./installfog.sh
Then when FOG 1.5.3 is released you would do this to switch back to the main release.
cd /root/fogproject git checkout master cd bin ./installfog.sh
-
@george1421 Hello George,
I used the following steps:
- wget https://github.com/FOGProject/fogproject/archive/1.5.2.tar.gz (https://fogproject.org/download)
- tar -xzvf 1.5.2.tar.gz
- cd fogproject-1.5.2/bin
- sudo ./installfog.sh
- Followed all steps to completion.
-
@bigsease30 Yeah, that is the tarball approach, its not as flexible as the github route. I would follow my steps to build a local fog repo and then reinstall FOG from there. That is the only way you can get hot fixes between releases.