Since most companies that have a proxy server in their environment restrict direct internet access we have to configure linux (and fog) to communicate with the internet over the company authorized proxy server(s).
Most command line utilities will inspect the environment variables to check to see if they need to use the proxy protocol when attempting to access files and services on the internet.
These environment variables are http_proxy, https_proxy, and ftp_proxy (I’ve also seen these variables referenced in all upper case like HTTP_PROXY, HTTPS_PROXY and so on. To date I’ve only use the lower case env variables so I can’t say if case is important for all linux distros)
You could add these env variables to each command invocation, but typically system admins will add them to a common logon script so they are available to anyone who logs into the linux system. Most common is to add them to the bash shell logon script /etc/bashrc To make these variables persistent in the environment they must be defined with the export function as below.
export http_proxy=http://<proxy_server_ip>:<proxy_server_port>
export https_proxy=http://<proxy_server_ip>:<proxy_server_port>
export ftp_proxy=http://<proxy_server_ip>:<proxy_server_port>
In the case of the fog installer, we need to tell the fog installer to not use the proxy protocol when attempting to connect to the fog server directly. So we must also include this env variable.
export no_proxy=“<fog_server_ip>”
During the fog installation the installer script makes wget calls back into the running fog server for specific actions. Without the no_proxy setting the installer script would make that request to the proxy server. Some proxy servers won’t proxy requests to internal networks. So this setting is required.
There are some command line commands that don’t inspect the env variables but require specific settings in their config files. These include FOG, svn (I assume git too), cpan, and pear. For these you will need to update the appropriate config file. For FOG (proper) you need to update the proxy server settings in the fog management console. For SVN you need to create a file in /etc/subversion called servers and then populate it with the required settings.