<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://ebasso.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ebasso</id>
	<title>Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://ebasso.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ebasso"/>
	<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Special:Contributions/Ebasso"/>
	<updated>2026-09-01T18:54:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_CloudPak_for_Data&amp;diff=10262</id>
		<title>IBM CloudPak for Data</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_CloudPak_for_Data&amp;diff=10262"/>
		<updated>2026-07-29T21:22:00Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing the CLI ==&lt;br /&gt;
&lt;br /&gt;
Before using CPD, set up the required CLI tools on a Linux VM, jump server, or bastion host. This approach is often more reliable than running the tools locally on a Mac with Docker or Podman.&lt;br /&gt;
&lt;br /&gt;
Download the required binaries:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/IBM/cpd-cli/releases/download/v14.4.0.3/cpd-cli-linux-SE-14.4.0.tgz&lt;br /&gt;
wget https://mirror.openshift.com/pub/openshift-v4/clients/oc/4.18/linux/oc.tar.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting an OpenShift Login Token ==&lt;br /&gt;
&lt;br /&gt;
You can obtain your OpenShift API token from the OpenShift web console:&lt;br /&gt;
&lt;br /&gt;
# Log in to the OpenShift console.&lt;br /&gt;
# Click your username in the upper-right corner.&lt;br /&gt;
# Select &#039;&#039;&#039;Copy login command&#039;&#039;&#039;.&lt;br /&gt;
# Authenticate again if prompted.&lt;br /&gt;
# Copy the token from the displayed &#039;&#039;&#039;oc login&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc login --token=sha256~xxxxxxxxxxxxxxxxxxxxxxxx --server=https://api.cluster.example.com:6443&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Logging in to OpenShift with cpd-cli ==&lt;br /&gt;
&lt;br /&gt;
After starting the container, log in to OpenShift using &#039;&#039;&#039;cpd-cli&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Provide the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cpd-cli manage login-to-ocp --token=sha256~xxxxxxxxxxxxxxxxxxxxxxxx --server=https://api.cluster.example.com:6443&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create the Global Pull Secret ==&lt;br /&gt;
&lt;br /&gt;
The global pull secret is required to allow OpenShift to pull images from the IBM container registry using your entitlement key.&lt;br /&gt;
&lt;br /&gt;
Run the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export IBM_ENTITLEMENT_KEY=.....&lt;br /&gt;
&lt;br /&gt;
./cpd-cli manage add-icr-cred-to-global-pull-secret ${IBM_ENTITLEMENT_KEY}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ROKS, worker nodes may need to be reloaded before the updated pull secret takes effect. To speed up the process, you can temporarily reduce the worker pool to a single node before applying the change.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configure a Tethered Namespace ==&lt;br /&gt;
&lt;br /&gt;
Use the following command to configure a tethered namespace for a Cognos Analytics instance. This allows the CPD instance running in the primary namespace to work with services deployed in the tethered namespace.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cpd-cli manage setup-tethered-ns --cpd_instance_ns=ibm-cpd --tethered_instance_ns=cognos-hmg&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ibm-cpd&#039;&#039;&#039; is the Cloud Pak for Data instance namespace.&lt;br /&gt;
* &#039;&#039;&#039;cognos-hmg&#039;&#039;&#039; is the tethered namespace where Cognos Analytics is deployed.&lt;br /&gt;
&lt;br /&gt;
After the command completes successfully, the required permissions and configuration will be created so that CPD can communicate with the Cognos Analytics deployment.&lt;br /&gt;
&lt;br /&gt;
= Veja também=&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM CP4D]]&lt;br /&gt;
[[Category:IBM Cognos]]&lt;br /&gt;
[[Category:Cognos]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_CloudPak_for_Data&amp;diff=10261</id>
		<title>IBM CloudPak for Data</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_CloudPak_for_Data&amp;diff=10261"/>
		<updated>2026-07-29T21:17:41Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* Configure a Tethered Namespace */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing the CLI ==&lt;br /&gt;
&lt;br /&gt;
Before using CPD, set up the required CLI tools on a Linux VM, jump server, or bastion host. This approach is often more reliable than running the tools locally on a Mac with Docker or Podman.&lt;br /&gt;
&lt;br /&gt;
Download the required binaries:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/IBM/cpd-cli/releases/download/v12.0.5/cpd-cli-linux-EE-12.0.5.tgz&lt;br /&gt;
wget https://mirror.openshift.com/pub/openshift-v4/clients/oc/4.6/linux/oc.tar.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting an OpenShift Login Token ==&lt;br /&gt;
&lt;br /&gt;
You can obtain your OpenShift API token from the OpenShift web console:&lt;br /&gt;
&lt;br /&gt;
# Log in to the OpenShift console.&lt;br /&gt;
# Click your username in the upper-right corner.&lt;br /&gt;
# Select &#039;&#039;&#039;Copy login command&#039;&#039;&#039;.&lt;br /&gt;
# Authenticate again if prompted.&lt;br /&gt;
# Copy the token from the displayed &#039;&#039;&#039;oc login&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc login --token=sha256~xxxxxxxxxxxxxxxxxxxxxxxx --server=https://api.cluster.example.com:6443&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Logging in to OpenShift with cpd-cli ==&lt;br /&gt;
&lt;br /&gt;
After starting the container, log in to OpenShift using &#039;&#039;&#039;cpd-cli&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Provide the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cpd-cli manage login-to-ocp --token=sha256~xxxxxxxxxxxxxxxxxxxxxxxx --server=https://api.cluster.example.com:6443&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create the Global Pull Secret ==&lt;br /&gt;
&lt;br /&gt;
The global pull secret is required to allow OpenShift to pull images from the IBM container registry using your entitlement key.&lt;br /&gt;
&lt;br /&gt;
Run the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export IBM_ENTITLEMENT_KEY=.....&lt;br /&gt;
&lt;br /&gt;
./cpd-cli manage add-icr-cred-to-global-pull-secret ${IBM_ENTITLEMENT_KEY}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ROKS, worker nodes may need to be reloaded before the updated pull secret takes effect. To speed up the process, you can temporarily reduce the worker pool to a single node before applying the change.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configure a Tethered Namespace ==&lt;br /&gt;
&lt;br /&gt;
Use the following command to configure a tethered namespace for a Cognos Analytics instance. This allows the CPD instance running in the primary namespace to work with services deployed in the tethered namespace.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cpd-cli manage setup-tethered-ns --cpd_instance_ns=ibm-cpd --tethered_instance_ns=cognos-hmg&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ibm-cpd&#039;&#039;&#039; is the Cloud Pak for Data instance namespace.&lt;br /&gt;
* &#039;&#039;&#039;cognos-hmg&#039;&#039;&#039; is the tethered namespace where Cognos Analytics is deployed.&lt;br /&gt;
&lt;br /&gt;
After the command completes successfully, the required permissions and configuration will be created so that CPD can communicate with the Cognos Analytics deployment.&lt;br /&gt;
&lt;br /&gt;
= Veja também=&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM CP4D]]&lt;br /&gt;
[[Category:IBM Cognos]]&lt;br /&gt;
[[Category:Cognos]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_CloudPak_for_Data&amp;diff=10260</id>
		<title>IBM CloudPak for Data</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_CloudPak_for_Data&amp;diff=10260"/>
		<updated>2026-07-29T21:17:17Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* Create the Global Pull Secret */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing the CLI ==&lt;br /&gt;
&lt;br /&gt;
Before using CPD, set up the required CLI tools on a Linux VM, jump server, or bastion host. This approach is often more reliable than running the tools locally on a Mac with Docker or Podman.&lt;br /&gt;
&lt;br /&gt;
Download the required binaries:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/IBM/cpd-cli/releases/download/v12.0.5/cpd-cli-linux-EE-12.0.5.tgz&lt;br /&gt;
wget https://mirror.openshift.com/pub/openshift-v4/clients/oc/4.6/linux/oc.tar.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting an OpenShift Login Token ==&lt;br /&gt;
&lt;br /&gt;
You can obtain your OpenShift API token from the OpenShift web console:&lt;br /&gt;
&lt;br /&gt;
# Log in to the OpenShift console.&lt;br /&gt;
# Click your username in the upper-right corner.&lt;br /&gt;
# Select &#039;&#039;&#039;Copy login command&#039;&#039;&#039;.&lt;br /&gt;
# Authenticate again if prompted.&lt;br /&gt;
# Copy the token from the displayed &#039;&#039;&#039;oc login&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc login --token=sha256~xxxxxxxxxxxxxxxxxxxxxxxx --server=https://api.cluster.example.com:6443&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Logging in to OpenShift with cpd-cli ==&lt;br /&gt;
&lt;br /&gt;
After starting the container, log in to OpenShift using &#039;&#039;&#039;cpd-cli&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Provide the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cpd-cli manage login-to-ocp --token=sha256~xxxxxxxxxxxxxxxxxxxxxxxx --server=https://api.cluster.example.com:6443&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create the Global Pull Secret ==&lt;br /&gt;
&lt;br /&gt;
The global pull secret is required to allow OpenShift to pull images from the IBM container registry using your entitlement key.&lt;br /&gt;
&lt;br /&gt;
Run the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export IBM_ENTITLEMENT_KEY=.....&lt;br /&gt;
&lt;br /&gt;
./cpd-cli manage add-icr-cred-to-global-pull-secret ${IBM_ENTITLEMENT_KEY}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ROKS, worker nodes may need to be reloaded before the updated pull secret takes effect. To speed up the process, you can temporarily reduce the worker pool to a single node before applying the change.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configure a Tethered Namespace ==&lt;br /&gt;
&lt;br /&gt;
Use the following command to configure a tethered namespace for a Cognos Analytics instance. This allows the CPD instance running in the primary namespace to work with services deployed in the tethered namespace.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cpd-cli manage setup-tethered-ns --cpd_instance_ns=ibm-cpd --tethered_instance_ns=cognos-hmg&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ibm-cpd&amp;lt;/code&amp;gt; is the Cloud Pak for Data instance namespace.&lt;br /&gt;
* &amp;lt;code&amp;gt;cognos-hmg&amp;lt;/code&amp;gt; is the tethered namespace where Cognos Analytics is deployed.&lt;br /&gt;
&lt;br /&gt;
After the command completes successfully, the required permissions and configuration will be created so that CPD can communicate with the Cognos Analytics deployment.&lt;br /&gt;
&lt;br /&gt;
= Veja também=&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM CP4D]]&lt;br /&gt;
[[Category:IBM Cognos]]&lt;br /&gt;
[[Category:Cognos]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_CloudPak_for_Data&amp;diff=10259</id>
		<title>IBM CloudPak for Data</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_CloudPak_for_Data&amp;diff=10259"/>
		<updated>2026-07-29T21:14:32Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing the CLI ==&lt;br /&gt;
&lt;br /&gt;
Before using CPD, set up the required CLI tools on a Linux VM, jump server, or bastion host. This approach is often more reliable than running the tools locally on a Mac with Docker or Podman.&lt;br /&gt;
&lt;br /&gt;
Download the required binaries:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/IBM/cpd-cli/releases/download/v12.0.5/cpd-cli-linux-EE-12.0.5.tgz&lt;br /&gt;
wget https://mirror.openshift.com/pub/openshift-v4/clients/oc/4.6/linux/oc.tar.gz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting an OpenShift Login Token ==&lt;br /&gt;
&lt;br /&gt;
You can obtain your OpenShift API token from the OpenShift web console:&lt;br /&gt;
&lt;br /&gt;
# Log in to the OpenShift console.&lt;br /&gt;
# Click your username in the upper-right corner.&lt;br /&gt;
# Select &#039;&#039;&#039;Copy login command&#039;&#039;&#039;.&lt;br /&gt;
# Authenticate again if prompted.&lt;br /&gt;
# Copy the token from the displayed &#039;&#039;&#039;oc login&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc login --token=sha256~xxxxxxxxxxxxxxxxxxxxxxxx --server=https://api.cluster.example.com:6443&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Logging in to OpenShift with cpd-cli ==&lt;br /&gt;
&lt;br /&gt;
After starting the container, log in to OpenShift using &#039;&#039;&#039;cpd-cli&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Provide the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cpd-cli manage login-to-ocp --token=sha256~xxxxxxxxxxxxxxxxxxxxxxxx --server=https://api.cluster.example.com:6443&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create the Global Pull Secret ==&lt;br /&gt;
&lt;br /&gt;
The global pull secret is required to allow OpenShift to pull images from the IBM container registry using your entitlement key.&lt;br /&gt;
&lt;br /&gt;
Run the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export IBM_ENTITLEMENT_KEY=.....&lt;br /&gt;
&lt;br /&gt;
./cpd-cli manage add-icr-cred-to-global-pull-secret ${IBM_ENTITLEMENT_KEY}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On ROKS, worker nodes may need to be reloaded before the updated pull secret takes effect. To speed up the process, you can temporarily reduce the worker pool to a single node before applying the change.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Veja também=&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM CP4D]]&lt;br /&gt;
[[Category:IBM Cognos]]&lt;br /&gt;
[[Category:Cognos]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_CloudPak_for_Data&amp;diff=10258</id>
		<title>IBM CloudPak for Data</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_CloudPak_for_Data&amp;diff=10258"/>
		<updated>2026-07-29T21:10:31Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* Getting an OpenShift Login Token */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting an OpenShift Login Token ==&lt;br /&gt;
&lt;br /&gt;
You can obtain your OpenShift API token from the OpenShift web console:&lt;br /&gt;
&lt;br /&gt;
# Log in to the OpenShift console.&lt;br /&gt;
# Click your username in the upper-right corner.&lt;br /&gt;
# Select &#039;&#039;&#039;Copy login command&#039;&#039;&#039;.&lt;br /&gt;
# Authenticate again if prompted.&lt;br /&gt;
# Copy the token from the displayed &#039;&#039;&#039;oc login&#039;&#039;&#039; command.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc login --token=sha256~xxxxxxxxxxxxxxxxxxxxxxxx --server=https://api.cluster.example.com:6443&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Logging in to OpenShift with cpd-cli ==&lt;br /&gt;
&lt;br /&gt;
After starting the container, log in to OpenShift using &#039;&#039;&#039;cpd-cli&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Provide the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cpd-cli manage login-to-ocp --token=sha256~xxxxxxxxxxxxxxxxxxxxxxxx --server=https://api.cluster.example.com:6443&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Veja também=&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM CP4D]]&lt;br /&gt;
[[Category:IBM Cognos]]&lt;br /&gt;
[[Category:Cognos]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_CloudPak_for_Data&amp;diff=10257</id>
		<title>IBM CloudPak for Data</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_CloudPak_for_Data&amp;diff=10257"/>
		<updated>2026-07-29T21:10:05Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* Logging in to OpenShift with cpd-cli */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting an OpenShift Login Token ==&lt;br /&gt;
&lt;br /&gt;
You can obtain your OpenShift API token from the OpenShift web console:&lt;br /&gt;
&lt;br /&gt;
# Log in to the OpenShift console.&lt;br /&gt;
# Click your username in the upper-right corner.&lt;br /&gt;
# Select &#039;&#039;&#039;Copy login command&#039;&#039;&#039;.&lt;br /&gt;
# Authenticate again if prompted.&lt;br /&gt;
# Copy the token from the displayed &amp;lt;code&amp;gt;oc login&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc login --token=sha256~xxxxxxxxxxxxxxxxxxxxxxxx --server=https://api.cluster.example.com:6443&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Logging in to OpenShift with cpd-cli ==&lt;br /&gt;
&lt;br /&gt;
After starting the container, log in to OpenShift using &#039;&#039;&#039;cpd-cli&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Provide the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cpd-cli manage login-to-ocp --token=sha256~xxxxxxxxxxxxxxxxxxxxxxxx --server=https://api.cluster.example.com:6443&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Veja também=&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM CP4D]]&lt;br /&gt;
[[Category:IBM Cognos]]&lt;br /&gt;
[[Category:Cognos]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_CloudPak_for_Data&amp;diff=10256</id>
		<title>IBM CloudPak for Data</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_CloudPak_for_Data&amp;diff=10256"/>
		<updated>2026-07-29T21:09:24Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* Getting an OpenShift Login Token */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting an OpenShift Login Token ==&lt;br /&gt;
&lt;br /&gt;
You can obtain your OpenShift API token from the OpenShift web console:&lt;br /&gt;
&lt;br /&gt;
# Log in to the OpenShift console.&lt;br /&gt;
# Click your username in the upper-right corner.&lt;br /&gt;
# Select &#039;&#039;&#039;Copy login command&#039;&#039;&#039;.&lt;br /&gt;
# Authenticate again if prompted.&lt;br /&gt;
# Copy the token from the displayed &amp;lt;code&amp;gt;oc login&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc login --token=sha256~xxxxxxxxxxxxxxxxxxxxxxxx --server=https://api.cluster.example.com:6443&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Logging in to OpenShift with cpd-cli ==&lt;br /&gt;
&lt;br /&gt;
After starting the container, log in to OpenShift using &#039;&#039;&#039;cpd-cli&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The OpenShift token can be found in the &amp;lt;code&amp;gt;env.sh&amp;lt;/code&amp;gt; file. You can either export it as &amp;lt;code&amp;gt;OCP_TOKEN&amp;lt;/code&amp;gt; or copy and paste it directly into the command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cpd-cli manage login-to-ocp --token=sha256~xxxxxxxxxxxxxxxxxxxxxxxx --server=https://api.cluster.example.com:6443&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This login is stored by &#039;&#039;&#039;cpd-cli&#039;&#039;&#039; inside the running container and is separate from a standard &amp;lt;code&amp;gt;oc login&amp;lt;/code&amp;gt; session.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Veja também=&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM CP4D]]&lt;br /&gt;
[[Category:IBM Cognos]]&lt;br /&gt;
[[Category:Cognos]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_CloudPak_for_Data&amp;diff=10255</id>
		<title>IBM CloudPak for Data</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_CloudPak_for_Data&amp;diff=10255"/>
		<updated>2026-07-29T21:09:04Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: Created page with &amp;quot;== Getting an OpenShift Login Token ==  You can obtain your OpenShift API token from the OpenShift web console:  # Log in to the OpenShift console. # Click your username in the upper-right corner. # Select &amp;#039;&amp;#039;&amp;#039;Copy login command&amp;#039;&amp;#039;&amp;#039;. # Authenticate again if prompted. # Copy the token from the displayed &amp;lt;code&amp;gt;oc login&amp;lt;/code&amp;gt; command.  Example:  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt; oc login --token=sha256~xxxxxxxxxxxxxxxxxxxxxxxx --server=https://api.cluster.example.com:6443 &amp;lt;/synt...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting an OpenShift Login Token ==&lt;br /&gt;
&lt;br /&gt;
You can obtain your OpenShift API token from the OpenShift web console:&lt;br /&gt;
&lt;br /&gt;
# Log in to the OpenShift console.&lt;br /&gt;
# Click your username in the upper-right corner.&lt;br /&gt;
# Select &#039;&#039;&#039;Copy login command&#039;&#039;&#039;.&lt;br /&gt;
# Authenticate again if prompted.&lt;br /&gt;
# Copy the token from the displayed &amp;lt;code&amp;gt;oc login&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc login --token=sha256~xxxxxxxxxxxxxxxxxxxxxxxx --server=https://api.cluster.example.com:6443&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Use the value after &amp;lt;code&amp;gt;--token=&amp;lt;/code&amp;gt; as the &amp;lt;code&amp;gt;OCP_TOKEN&amp;lt;/code&amp;gt; variable.&lt;br /&gt;
``&lt;br /&gt;
&lt;br /&gt;
== Logging in to OpenShift with cpd-cli ==&lt;br /&gt;
&lt;br /&gt;
After starting the container, log in to OpenShift using &#039;&#039;&#039;cpd-cli&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The OpenShift token can be found in the &amp;lt;code&amp;gt;env.sh&amp;lt;/code&amp;gt; file. You can either export it as &amp;lt;code&amp;gt;OCP_TOKEN&amp;lt;/code&amp;gt; or copy and paste it directly into the command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./cpd-cli manage login-to-ocp --token=sha256~xxxxxxxxxxxxxxxxxxxxxxxx --server=https://api.cluster.example.com:6443&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This login is stored by &#039;&#039;&#039;cpd-cli&#039;&#039;&#039; inside the running container and is separate from a standard &amp;lt;code&amp;gt;oc login&amp;lt;/code&amp;gt; session.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Veja também=&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM CP4D]]&lt;br /&gt;
[[Category:IBM Cognos]]&lt;br /&gt;
[[Category:Cognos]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Mailpit:_Servidor_SMTP_Fake_para_testes_no_OpenShift&amp;diff=10254</id>
		<title>Mailpit: Servidor SMTP Fake para testes no OpenShift</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Mailpit:_Servidor_SMTP_Fake_para_testes_no_OpenShift&amp;diff=10254"/>
		<updated>2026-07-15T14:52:14Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* 4. Obter a URL da interface web */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;O &#039;&#039;&#039;Mailpit&#039;&#039;&#039; é uma solução leve que simula um servidor SMTP: aceita qualquer e-mail enviado pela aplicação e os exibe em uma interface web, sem encaminhar mensagens reais.&lt;br /&gt;
&lt;br /&gt;
Esta página descreve como implantar o Mailpit no OpenShift e integrar sua aplicação a ele.&lt;br /&gt;
&lt;br /&gt;
Escolhi o Mailpit por ser o sucessor do MailHog, ter compatibilidade nativa com as restrições de contexto de segurança (SCC) do OpenShift e manutenção ativa pela comunidade.&lt;br /&gt;
&lt;br /&gt;
== Implantação ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Criar o projeto ===&lt;br /&gt;
&lt;br /&gt;
 oc new-project mailpit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 2. Criar o manifesto ===&lt;br /&gt;
&lt;br /&gt;
Crie o arquivo &amp;lt;code&amp;gt;mailpit.yaml&amp;lt;/code&amp;gt; com os recursos abaixo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
# Deployment&lt;br /&gt;
apiVersion: apps/v1&lt;br /&gt;
kind: Deployment&lt;br /&gt;
metadata:&lt;br /&gt;
  name: mailpit&lt;br /&gt;
spec:&lt;br /&gt;
  replicas: 1&lt;br /&gt;
  selector:&lt;br /&gt;
    matchLabels:&lt;br /&gt;
      app: mailpit&lt;br /&gt;
  template:&lt;br /&gt;
    metadata:&lt;br /&gt;
      labels:&lt;br /&gt;
        app: mailpit&lt;br /&gt;
    spec:&lt;br /&gt;
      containers:&lt;br /&gt;
        - name: mailpit&lt;br /&gt;
          image: axllent/mailpit:latest&lt;br /&gt;
          ports:&lt;br /&gt;
            - containerPort: 1025  # SMTP&lt;br /&gt;
            - containerPort: 8025  # Interface Web&lt;br /&gt;
---&lt;br /&gt;
# Service&lt;br /&gt;
apiVersion: v1&lt;br /&gt;
kind: Service&lt;br /&gt;
metadata:&lt;br /&gt;
  name: mailpit&lt;br /&gt;
spec:&lt;br /&gt;
  selector:&lt;br /&gt;
    app: mailpit&lt;br /&gt;
  ports:&lt;br /&gt;
    - name: smtp&lt;br /&gt;
      port: 1025&lt;br /&gt;
      targetPort: 1025&lt;br /&gt;
    - name: web&lt;br /&gt;
      port: 8025&lt;br /&gt;
      targetPort: 8025&lt;br /&gt;
---&lt;br /&gt;
# Route (acesso à interface web)&lt;br /&gt;
apiVersion: route.openshift.io/v1&lt;br /&gt;
kind: Route&lt;br /&gt;
metadata:&lt;br /&gt;
  name: mailpit-ui&lt;br /&gt;
spec:&lt;br /&gt;
  to:&lt;br /&gt;
    kind: Service&lt;br /&gt;
    name: mailpit&lt;br /&gt;
  port:&lt;br /&gt;
    targetPort: web&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. Aplicar no cluster ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc apply -f mailpit.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. Obter a URL da interface web ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route mailpit-ui&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesse a URL retornada no navegador para visualizar os e-mails capturados.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://mailpit-ui-mailpit.apps.&amp;lt;domain&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuração da Aplicação ==&lt;br /&gt;
&lt;br /&gt;
Configure sua aplicação para usar o Mailpit como SMTP, através do endereço de Service:&lt;br /&gt;
&lt;br /&gt;
 mailpit.mailpit.svc.cluster.local:1025&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ver também =&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
*[[Postfix: Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
*[[Linux e Unix: Ferramentas de Monitoracao e Performance]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Linux|  Mais Artigos sobre Linux / UNIX / AIX]]&lt;br /&gt;
*[[Tecnologias|  Mais Artigos sobre Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Tecnologias]]&lt;br /&gt;
[[Category:SMTP]]&lt;br /&gt;
[[Category:Kubernetes]]&lt;br /&gt;
[[Category:OpenShift]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Mailpit:_Servidor_SMTP_Fake_para_testes_no_OpenShift&amp;diff=10253</id>
		<title>Mailpit: Servidor SMTP Fake para testes no OpenShift</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Mailpit:_Servidor_SMTP_Fake_para_testes_no_OpenShift&amp;diff=10253"/>
		<updated>2026-07-15T14:50:26Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: Created page with &amp;quot;O &amp;#039;&amp;#039;&amp;#039;Mailpit&amp;#039;&amp;#039;&amp;#039; é uma solução leve que simula um servidor SMTP: aceita qualquer e-mail enviado pela aplicação e os exibe em uma interface web, sem encaminhar mensagens reais.  Esta página descreve como implantar o Mailpit no OpenShift e integrar sua aplicação a ele.  Escolhi o Mailpit por ser o sucessor do MailHog, ter compatibilidade nativa com as restrições de contexto de segurança (SCC) do OpenShift e manutenção ativa pela comunidade.  == Implantação ==...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;O &#039;&#039;&#039;Mailpit&#039;&#039;&#039; é uma solução leve que simula um servidor SMTP: aceita qualquer e-mail enviado pela aplicação e os exibe em uma interface web, sem encaminhar mensagens reais.&lt;br /&gt;
&lt;br /&gt;
Esta página descreve como implantar o Mailpit no OpenShift e integrar sua aplicação a ele.&lt;br /&gt;
&lt;br /&gt;
Escolhi o Mailpit por ser o sucessor do MailHog, ter compatibilidade nativa com as restrições de contexto de segurança (SCC) do OpenShift e manutenção ativa pela comunidade.&lt;br /&gt;
&lt;br /&gt;
== Implantação ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Criar o projeto ===&lt;br /&gt;
&lt;br /&gt;
 oc new-project mailpit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 2. Criar o manifesto ===&lt;br /&gt;
&lt;br /&gt;
Crie o arquivo &amp;lt;code&amp;gt;mailpit.yaml&amp;lt;/code&amp;gt; com os recursos abaixo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
# Deployment&lt;br /&gt;
apiVersion: apps/v1&lt;br /&gt;
kind: Deployment&lt;br /&gt;
metadata:&lt;br /&gt;
  name: mailpit&lt;br /&gt;
spec:&lt;br /&gt;
  replicas: 1&lt;br /&gt;
  selector:&lt;br /&gt;
    matchLabels:&lt;br /&gt;
      app: mailpit&lt;br /&gt;
  template:&lt;br /&gt;
    metadata:&lt;br /&gt;
      labels:&lt;br /&gt;
        app: mailpit&lt;br /&gt;
    spec:&lt;br /&gt;
      containers:&lt;br /&gt;
        - name: mailpit&lt;br /&gt;
          image: axllent/mailpit:latest&lt;br /&gt;
          ports:&lt;br /&gt;
            - containerPort: 1025  # SMTP&lt;br /&gt;
            - containerPort: 8025  # Interface Web&lt;br /&gt;
---&lt;br /&gt;
# Service&lt;br /&gt;
apiVersion: v1&lt;br /&gt;
kind: Service&lt;br /&gt;
metadata:&lt;br /&gt;
  name: mailpit&lt;br /&gt;
spec:&lt;br /&gt;
  selector:&lt;br /&gt;
    app: mailpit&lt;br /&gt;
  ports:&lt;br /&gt;
    - name: smtp&lt;br /&gt;
      port: 1025&lt;br /&gt;
      targetPort: 1025&lt;br /&gt;
    - name: web&lt;br /&gt;
      port: 8025&lt;br /&gt;
      targetPort: 8025&lt;br /&gt;
---&lt;br /&gt;
# Route (acesso à interface web)&lt;br /&gt;
apiVersion: route.openshift.io/v1&lt;br /&gt;
kind: Route&lt;br /&gt;
metadata:&lt;br /&gt;
  name: mailpit-ui&lt;br /&gt;
spec:&lt;br /&gt;
  to:&lt;br /&gt;
    kind: Service&lt;br /&gt;
    name: mailpit&lt;br /&gt;
  port:&lt;br /&gt;
    targetPort: web&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. Aplicar no cluster ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc apply -f mailpit.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. Obter a URL da interface web ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route mailpit-ui&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Acesse a URL retornada no navegador para visualizar os e-mails capturados.&lt;br /&gt;
&lt;br /&gt;
== Configuração da Aplicação ==&lt;br /&gt;
&lt;br /&gt;
Configure sua aplicação para usar o Mailpit como SMTP, através do endereço de Service:&lt;br /&gt;
&lt;br /&gt;
 mailpit.mailpit.svc.cluster.local:1025&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Ver também =&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
*[[Postfix: Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
*[[Linux e Unix: Ferramentas de Monitoracao e Performance]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Linux|  Mais Artigos sobre Linux / UNIX / AIX]]&lt;br /&gt;
*[[Tecnologias|  Mais Artigos sobre Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Tecnologias]]&lt;br /&gt;
[[Category:SMTP]]&lt;br /&gt;
[[Category:Kubernetes]]&lt;br /&gt;
[[Category:OpenShift]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Clamav:_Installing_and_Configuring_ICAP_on_ClamAV&amp;diff=10252</id>
		<title>Clamav: Installing and Configuring ICAP on ClamAV</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Clamav:_Installing_and_Configuring_ICAP_on_ClamAV&amp;diff=10252"/>
		<updated>2026-07-15T14:41:41Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* Ver também */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The integration of c-icap with ClamAV is commonly used to provide antivirus scanning for web traffic, email, or other content passing through proxy servers (like Squid) or gateway services. This setup helps intercept and scan potentially harmful content before it reaches end users or systems.&lt;br /&gt;
&lt;br /&gt;
Overview of c-icap and ClamAV Integration&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;c-icap&#039;&#039;&#039;&lt;br /&gt;
: It&#039;s a high-performance, open-source server that implements the ICAP (Internet Content Adaptation Protocol). ICAP is commonly used by proxy servers (such as Squid) to offload tasks like content modification or virus scanning to specialized servers.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ClamAV&#039;&#039;&#039;&lt;br /&gt;
: ClamAV is an open-source antivirus engine designed to detect malware and viruses. It&#039;s widely used for scanning files on mail gateways, web proxies, and other points where potentially harmful files might pass.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can checkout files from this GitHub https://github.com/ebasso/ibm-secure-proxy-icap-clamav-demo&lt;br /&gt;
&lt;br /&gt;
= Procedure =&lt;br /&gt;
&lt;br /&gt;
== Install Packages on RHEL 9 ==&lt;br /&gt;
&lt;br /&gt;
1) Install EPEL Repository in RHEL 9&lt;br /&gt;
&lt;br /&gt;
 subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms&lt;br /&gt;
&lt;br /&gt;
2) run dnf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) Install Clamav packages&lt;br /&gt;
&lt;br /&gt;
 dnf -y install clamav clamav-data clamav-devel clamav-freshclam clamav-filesystem clamav-lib clamd&lt;br /&gt;
&lt;br /&gt;
4) Install C-ICAP packages&lt;br /&gt;
&lt;br /&gt;
 dnf -y install c-icap c-icap-libs c-icap-modules&lt;br /&gt;
&lt;br /&gt;
== Clamav Server ==&lt;br /&gt;
&lt;br /&gt;
=== Update Virus definition ===&lt;br /&gt;
&lt;br /&gt;
Check install with update virus definition&lt;br /&gt;
&lt;br /&gt;
 freshclam&lt;br /&gt;
&lt;br /&gt;
Enable as service&lt;br /&gt;
&lt;br /&gt;
 systemctl enable clamav-freshclam.service&lt;br /&gt;
 &lt;br /&gt;
 systemctl start clamav-freshclam.service&lt;br /&gt;
&lt;br /&gt;
Check status&lt;br /&gt;
&lt;br /&gt;
 systemctl status clamav-freshclam.service&lt;br /&gt;
&lt;br /&gt;
=== Configure clamav ===&lt;br /&gt;
&lt;br /&gt;
1) Backup default ICAP server configuration file:&lt;br /&gt;
&lt;br /&gt;
 cd /etc/clamd.d&lt;br /&gt;
 &lt;br /&gt;
 mv scan.conf scan.conf_original&lt;br /&gt;
&lt;br /&gt;
2) Create a scan.conf and add the following content:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
LogFile /var/log/clamd.scan.log&lt;br /&gt;
LogFileMaxSize 10M&lt;br /&gt;
LogTime yes&lt;br /&gt;
LogClean yes&lt;br /&gt;
LogVerbose yes&lt;br /&gt;
LogRotate yes&lt;br /&gt;
TCPSocket 3310&lt;br /&gt;
PidFile /run/clamd.scan/clamd.pid&lt;br /&gt;
LocalSocket /run/clamd.scan/clamd.sock&lt;br /&gt;
User clamscan&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and exit the file&lt;br /&gt;
&lt;br /&gt;
=== Start the Clamav Server ===&lt;br /&gt;
&lt;br /&gt;
 systemctl enable clamd@scan.service&#039;&lt;br /&gt;
 &lt;br /&gt;
 systemctl start clamd@scan.service&lt;br /&gt;
&lt;br /&gt;
== Configure ICAP Server ==&lt;br /&gt;
&lt;br /&gt;
1) Backup default ICAP server configuration file:&lt;br /&gt;
&lt;br /&gt;
 cd /etc/c-icap&lt;br /&gt;
 &lt;br /&gt;
 mv c-icap.conf c-icap.conf_original&lt;br /&gt;
 mv virus_scan.conf virus_scan.conf_original&lt;br /&gt;
 mv clamd_mod.conf clamd_mod.conf_original&lt;br /&gt;
&lt;br /&gt;
=== c-icap.conf ===&lt;br /&gt;
&lt;br /&gt;
Create a c-icap.conf and add the following content:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
Include virus_scan.conf&lt;br /&gt;
Include srv_content_filtering.conf&lt;br /&gt;
PidFile /run/c-icap/c-icap.pid&lt;br /&gt;
CommandsSocket /run/c-icap/c-icap.ctl&lt;br /&gt;
Timeout 300&lt;br /&gt;
MaxKeepAliveRequests 100&lt;br /&gt;
KeepAliveTimeout 600&lt;br /&gt;
StartServers 3&lt;br /&gt;
MaxServers 10&lt;br /&gt;
MinSpareThreads     10&lt;br /&gt;
MaxSpareThreads     20&lt;br /&gt;
ThreadsPerChild     10&lt;br /&gt;
MaxRequestsPerChild  0&lt;br /&gt;
Port 1344&lt;br /&gt;
ServerAdmin you@your.address&lt;br /&gt;
ServerName YourServerName&lt;br /&gt;
TmpDir /var/tmp&lt;br /&gt;
MaxMemObject 131072&lt;br /&gt;
DebugLevel 1&lt;br /&gt;
Pipelining on&lt;br /&gt;
SupportBuggyClients off&lt;br /&gt;
ModulesDir /usr/lib64/c_icap&lt;br /&gt;
ServicesDir /usr/lib64/c_icap&lt;br /&gt;
TemplateDir /usr/share/c_icap/templates/&lt;br /&gt;
TemplateDefaultLanguage en&lt;br /&gt;
LoadMagicFile /etc/c-icap/c-icap.magic&lt;br /&gt;
RemoteProxyUsers off&lt;br /&gt;
RemoteProxyUserHeader X-Authenticated-User&lt;br /&gt;
RemoteProxyUserHeaderEncoded on&lt;br /&gt;
acl all src 0.0.0.0/0.0.0.0&lt;br /&gt;
acl PERMIT_REQUESTS type REQMOD RESPMOD OPTIONS&lt;br /&gt;
icap_access allow all PERMIT_REQUESTS&lt;br /&gt;
ServerLog /var/log/c-icap/server.log&lt;br /&gt;
AccessLog /var/log/c-icap/access.log&lt;br /&gt;
Service echo srv_echo.so&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and exit the file&lt;br /&gt;
&lt;br /&gt;
=== virus_scan.conf ===&lt;br /&gt;
&lt;br /&gt;
Create a virus_scan.conf and add the following content:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
Service antivirus_module virus_scan.so&lt;br /&gt;
ServiceAlias srv_clamav virus_scan&lt;br /&gt;
ServiceAlias avscan virus_scan?allow204=on&amp;amp;sizelimit=off&amp;amp;mode=simple&lt;br /&gt;
virus_scan.ScanFileTypes TEXT DATA EXECUTABLE ARCHIVE GIF JPEG MSOFFICE&lt;br /&gt;
virus_scan.SendPercentData 5&lt;br /&gt;
virus_scan.StartSendPercentDataAfter 2M&lt;br /&gt;
virus_scan.MaxObjectSize  5M&lt;br /&gt;
virus_scan.DefaultEngine clamd&lt;br /&gt;
Include clamd_mod.conf&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== clamd_mod.conf ===&lt;br /&gt;
&lt;br /&gt;
Create a clamd_mod.conf and add the following content:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
Module common clamd_mod.so&lt;br /&gt;
clamd_mod.ClamdSocket /run/clamd.scan/clamd.sock&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and exit the file&lt;br /&gt;
&lt;br /&gt;
=== srv_content_filtering.conf ===&lt;br /&gt;
&lt;br /&gt;
Create a new file srv_content_filtering.conf and add the following content:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
Service srv_cfg_filter srv_content_filtering.so&lt;br /&gt;
srv_content_filtering.RequireContentLength off&lt;br /&gt;
srv_content_filtering.MaxBodyData 5M&lt;br /&gt;
srv_content_filtering.Match demoScore body /(icap_test|icap-block|test-icap)/i score=200&lt;br /&gt;
srv_content_filtering.Match badHeader Header{ICAP-TEST} /BLOCK/&lt;br /&gt;
srv_content_filtering.Action block score{demoScore&amp;gt;5}&lt;br /&gt;
srv_content_filtering.Action block score{badHeader}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and exit the file&lt;br /&gt;
&lt;br /&gt;
=== Start the ICAP Server ===&lt;br /&gt;
&lt;br /&gt;
 systemctl enable c-icap.service&lt;br /&gt;
 &lt;br /&gt;
 systemctl start c-icap.service&lt;br /&gt;
&lt;br /&gt;
== Verify Configuration ==&lt;br /&gt;
&lt;br /&gt;
1) Testing your instalation&lt;br /&gt;
&lt;br /&gt;
To test your c-icap server you can use the c-icap-client utility which included in c-icap package.&lt;br /&gt;
&lt;br /&gt;
 c-icap-client&lt;br /&gt;
&lt;br /&gt;
Sample result:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;c-icap-client&lt;br /&gt;
ICAP server:localhost, ip:127.0.0.1, port:1344&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
	Allow 204: Yes&lt;br /&gt;
	Allow 206: No&lt;br /&gt;
	Preview: 1024&lt;br /&gt;
	Keep alive: Yes&lt;br /&gt;
&lt;br /&gt;
ICAP HEADERS:&lt;br /&gt;
	ICAP/1.0 200 OK&lt;br /&gt;
	Methods: RESPMOD, REQMOD&lt;br /&gt;
	Service: C-ICAP/0.6.2 server - Echo demo service&lt;br /&gt;
	ISTag: &amp;quot;CI0001-XXXXXXXXX&amp;quot;&lt;br /&gt;
	Transfer-Preview: *&lt;br /&gt;
	Options-TTL: 3600&lt;br /&gt;
	Date: Mon, 30 Sep 2024 19:49:43 GMT&lt;br /&gt;
	Preview: 1024&lt;br /&gt;
	Allow: 204&lt;br /&gt;
	X-Include: X-Authenticated-User, X-Authenticated-Groups&lt;br /&gt;
	Encapsulated: null-body=0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Ensure there are no errors in the log file&lt;br /&gt;
&lt;br /&gt;
 tail -f /var/log/c-icap/server.log&lt;br /&gt;
&lt;br /&gt;
 tail -f /var/log/c-icap/access.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Know Problems ==&lt;br /&gt;
&lt;br /&gt;
=== C-ICAP: Cannot connect to clamd server ===&lt;br /&gt;
&lt;br /&gt;
In /var/log/c-icap/server.log, I had the following error:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;Tue Oct  1 08:10:44 2024, main proc, clamd_connect: Can not connect to clamd server on /run/clamd.scan/clamd.sock!&lt;br /&gt;
Tue Oct  1 08:10:44 2024, main proc, clamd_init: Error while sending command to clamd server&lt;br /&gt;
Tue Oct  1 08:10:44 2024, main proc, Registry &#039;virus_scan::engines&#039; does not exist!&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To fix, change permissions of clamd.scan directory:&lt;br /&gt;
&lt;br /&gt;
 chmod g+rx,o+rx /run/clamd.scan&lt;br /&gt;
&lt;br /&gt;
= Ver também =&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
*[[Postfix: Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
*[[Linux e Unix: Ferramentas de Monitoracao e Performance]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Linux|  Mais Artigos sobre Linux / UNIX / AIX]]&lt;br /&gt;
*[[Tecnologias|  Mais Artigos sobre Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Tecnologias]]&lt;br /&gt;
[[Category:Clamav]]&lt;br /&gt;
[[Category:Postfix]]&lt;br /&gt;
[[Category:SMTP]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Installing_and_Configuring_ICAP_on_ClamAV&amp;diff=10251</id>
		<title>Installing and Configuring ICAP on ClamAV</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Installing_and_Configuring_ICAP_on_ClamAV&amp;diff=10251"/>
		<updated>2026-07-15T14:41:09Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: Ebasso moved page Installing and Configuring ICAP on ClamAV to Clamav: Installing and Configuring ICAP on ClamAV&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Clamav: Installing and Configuring ICAP on ClamAV]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Clamav:_Installing_and_Configuring_ICAP_on_ClamAV&amp;diff=10250</id>
		<title>Clamav: Installing and Configuring ICAP on ClamAV</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Clamav:_Installing_and_Configuring_ICAP_on_ClamAV&amp;diff=10250"/>
		<updated>2026-07-15T14:41:09Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: Ebasso moved page Installing and Configuring ICAP on ClamAV to Clamav: Installing and Configuring ICAP on ClamAV&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The integration of c-icap with ClamAV is commonly used to provide antivirus scanning for web traffic, email, or other content passing through proxy servers (like Squid) or gateway services. This setup helps intercept and scan potentially harmful content before it reaches end users or systems.&lt;br /&gt;
&lt;br /&gt;
Overview of c-icap and ClamAV Integration&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;c-icap&#039;&#039;&#039;&lt;br /&gt;
: It&#039;s a high-performance, open-source server that implements the ICAP (Internet Content Adaptation Protocol). ICAP is commonly used by proxy servers (such as Squid) to offload tasks like content modification or virus scanning to specialized servers.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ClamAV&#039;&#039;&#039;&lt;br /&gt;
: ClamAV is an open-source antivirus engine designed to detect malware and viruses. It&#039;s widely used for scanning files on mail gateways, web proxies, and other points where potentially harmful files might pass.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can checkout files from this GitHub https://github.com/ebasso/ibm-secure-proxy-icap-clamav-demo&lt;br /&gt;
&lt;br /&gt;
= Procedure =&lt;br /&gt;
&lt;br /&gt;
== Install Packages on RHEL 9 ==&lt;br /&gt;
&lt;br /&gt;
1) Install EPEL Repository in RHEL 9&lt;br /&gt;
&lt;br /&gt;
 subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms&lt;br /&gt;
&lt;br /&gt;
2) run dnf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) Install Clamav packages&lt;br /&gt;
&lt;br /&gt;
 dnf -y install clamav clamav-data clamav-devel clamav-freshclam clamav-filesystem clamav-lib clamd&lt;br /&gt;
&lt;br /&gt;
4) Install C-ICAP packages&lt;br /&gt;
&lt;br /&gt;
 dnf -y install c-icap c-icap-libs c-icap-modules&lt;br /&gt;
&lt;br /&gt;
== Clamav Server ==&lt;br /&gt;
&lt;br /&gt;
=== Update Virus definition ===&lt;br /&gt;
&lt;br /&gt;
Check install with update virus definition&lt;br /&gt;
&lt;br /&gt;
 freshclam&lt;br /&gt;
&lt;br /&gt;
Enable as service&lt;br /&gt;
&lt;br /&gt;
 systemctl enable clamav-freshclam.service&lt;br /&gt;
 &lt;br /&gt;
 systemctl start clamav-freshclam.service&lt;br /&gt;
&lt;br /&gt;
Check status&lt;br /&gt;
&lt;br /&gt;
 systemctl status clamav-freshclam.service&lt;br /&gt;
&lt;br /&gt;
=== Configure clamav ===&lt;br /&gt;
&lt;br /&gt;
1) Backup default ICAP server configuration file:&lt;br /&gt;
&lt;br /&gt;
 cd /etc/clamd.d&lt;br /&gt;
 &lt;br /&gt;
 mv scan.conf scan.conf_original&lt;br /&gt;
&lt;br /&gt;
2) Create a scan.conf and add the following content:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
LogFile /var/log/clamd.scan.log&lt;br /&gt;
LogFileMaxSize 10M&lt;br /&gt;
LogTime yes&lt;br /&gt;
LogClean yes&lt;br /&gt;
LogVerbose yes&lt;br /&gt;
LogRotate yes&lt;br /&gt;
TCPSocket 3310&lt;br /&gt;
PidFile /run/clamd.scan/clamd.pid&lt;br /&gt;
LocalSocket /run/clamd.scan/clamd.sock&lt;br /&gt;
User clamscan&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and exit the file&lt;br /&gt;
&lt;br /&gt;
=== Start the Clamav Server ===&lt;br /&gt;
&lt;br /&gt;
 systemctl enable clamd@scan.service&#039;&lt;br /&gt;
 &lt;br /&gt;
 systemctl start clamd@scan.service&lt;br /&gt;
&lt;br /&gt;
== Configure ICAP Server ==&lt;br /&gt;
&lt;br /&gt;
1) Backup default ICAP server configuration file:&lt;br /&gt;
&lt;br /&gt;
 cd /etc/c-icap&lt;br /&gt;
 &lt;br /&gt;
 mv c-icap.conf c-icap.conf_original&lt;br /&gt;
 mv virus_scan.conf virus_scan.conf_original&lt;br /&gt;
 mv clamd_mod.conf clamd_mod.conf_original&lt;br /&gt;
&lt;br /&gt;
=== c-icap.conf ===&lt;br /&gt;
&lt;br /&gt;
Create a c-icap.conf and add the following content:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
Include virus_scan.conf&lt;br /&gt;
Include srv_content_filtering.conf&lt;br /&gt;
PidFile /run/c-icap/c-icap.pid&lt;br /&gt;
CommandsSocket /run/c-icap/c-icap.ctl&lt;br /&gt;
Timeout 300&lt;br /&gt;
MaxKeepAliveRequests 100&lt;br /&gt;
KeepAliveTimeout 600&lt;br /&gt;
StartServers 3&lt;br /&gt;
MaxServers 10&lt;br /&gt;
MinSpareThreads     10&lt;br /&gt;
MaxSpareThreads     20&lt;br /&gt;
ThreadsPerChild     10&lt;br /&gt;
MaxRequestsPerChild  0&lt;br /&gt;
Port 1344&lt;br /&gt;
ServerAdmin you@your.address&lt;br /&gt;
ServerName YourServerName&lt;br /&gt;
TmpDir /var/tmp&lt;br /&gt;
MaxMemObject 131072&lt;br /&gt;
DebugLevel 1&lt;br /&gt;
Pipelining on&lt;br /&gt;
SupportBuggyClients off&lt;br /&gt;
ModulesDir /usr/lib64/c_icap&lt;br /&gt;
ServicesDir /usr/lib64/c_icap&lt;br /&gt;
TemplateDir /usr/share/c_icap/templates/&lt;br /&gt;
TemplateDefaultLanguage en&lt;br /&gt;
LoadMagicFile /etc/c-icap/c-icap.magic&lt;br /&gt;
RemoteProxyUsers off&lt;br /&gt;
RemoteProxyUserHeader X-Authenticated-User&lt;br /&gt;
RemoteProxyUserHeaderEncoded on&lt;br /&gt;
acl all src 0.0.0.0/0.0.0.0&lt;br /&gt;
acl PERMIT_REQUESTS type REQMOD RESPMOD OPTIONS&lt;br /&gt;
icap_access allow all PERMIT_REQUESTS&lt;br /&gt;
ServerLog /var/log/c-icap/server.log&lt;br /&gt;
AccessLog /var/log/c-icap/access.log&lt;br /&gt;
Service echo srv_echo.so&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and exit the file&lt;br /&gt;
&lt;br /&gt;
=== virus_scan.conf ===&lt;br /&gt;
&lt;br /&gt;
Create a virus_scan.conf and add the following content:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
Service antivirus_module virus_scan.so&lt;br /&gt;
ServiceAlias srv_clamav virus_scan&lt;br /&gt;
ServiceAlias avscan virus_scan?allow204=on&amp;amp;sizelimit=off&amp;amp;mode=simple&lt;br /&gt;
virus_scan.ScanFileTypes TEXT DATA EXECUTABLE ARCHIVE GIF JPEG MSOFFICE&lt;br /&gt;
virus_scan.SendPercentData 5&lt;br /&gt;
virus_scan.StartSendPercentDataAfter 2M&lt;br /&gt;
virus_scan.MaxObjectSize  5M&lt;br /&gt;
virus_scan.DefaultEngine clamd&lt;br /&gt;
Include clamd_mod.conf&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== clamd_mod.conf ===&lt;br /&gt;
&lt;br /&gt;
Create a clamd_mod.conf and add the following content:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
Module common clamd_mod.so&lt;br /&gt;
clamd_mod.ClamdSocket /run/clamd.scan/clamd.sock&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and exit the file&lt;br /&gt;
&lt;br /&gt;
=== srv_content_filtering.conf ===&lt;br /&gt;
&lt;br /&gt;
Create a new file srv_content_filtering.conf and add the following content:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
Service srv_cfg_filter srv_content_filtering.so&lt;br /&gt;
srv_content_filtering.RequireContentLength off&lt;br /&gt;
srv_content_filtering.MaxBodyData 5M&lt;br /&gt;
srv_content_filtering.Match demoScore body /(icap_test|icap-block|test-icap)/i score=200&lt;br /&gt;
srv_content_filtering.Match badHeader Header{ICAP-TEST} /BLOCK/&lt;br /&gt;
srv_content_filtering.Action block score{demoScore&amp;gt;5}&lt;br /&gt;
srv_content_filtering.Action block score{badHeader}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and exit the file&lt;br /&gt;
&lt;br /&gt;
=== Start the ICAP Server ===&lt;br /&gt;
&lt;br /&gt;
 systemctl enable c-icap.service&lt;br /&gt;
 &lt;br /&gt;
 systemctl start c-icap.service&lt;br /&gt;
&lt;br /&gt;
== Verify Configuration ==&lt;br /&gt;
&lt;br /&gt;
1) Testing your instalation&lt;br /&gt;
&lt;br /&gt;
To test your c-icap server you can use the c-icap-client utility which included in c-icap package.&lt;br /&gt;
&lt;br /&gt;
 c-icap-client&lt;br /&gt;
&lt;br /&gt;
Sample result:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;c-icap-client&lt;br /&gt;
ICAP server:localhost, ip:127.0.0.1, port:1344&lt;br /&gt;
&lt;br /&gt;
OPTIONS:&lt;br /&gt;
	Allow 204: Yes&lt;br /&gt;
	Allow 206: No&lt;br /&gt;
	Preview: 1024&lt;br /&gt;
	Keep alive: Yes&lt;br /&gt;
&lt;br /&gt;
ICAP HEADERS:&lt;br /&gt;
	ICAP/1.0 200 OK&lt;br /&gt;
	Methods: RESPMOD, REQMOD&lt;br /&gt;
	Service: C-ICAP/0.6.2 server - Echo demo service&lt;br /&gt;
	ISTag: &amp;quot;CI0001-XXXXXXXXX&amp;quot;&lt;br /&gt;
	Transfer-Preview: *&lt;br /&gt;
	Options-TTL: 3600&lt;br /&gt;
	Date: Mon, 30 Sep 2024 19:49:43 GMT&lt;br /&gt;
	Preview: 1024&lt;br /&gt;
	Allow: 204&lt;br /&gt;
	X-Include: X-Authenticated-User, X-Authenticated-Groups&lt;br /&gt;
	Encapsulated: null-body=0&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Ensure there are no errors in the log file&lt;br /&gt;
&lt;br /&gt;
 tail -f /var/log/c-icap/server.log&lt;br /&gt;
&lt;br /&gt;
 tail -f /var/log/c-icap/access.log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Know Problems ==&lt;br /&gt;
&lt;br /&gt;
=== C-ICAP: Cannot connect to clamd server ===&lt;br /&gt;
&lt;br /&gt;
In /var/log/c-icap/server.log, I had the following error:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;small&amp;gt;&amp;lt;nowiki&amp;gt;Tue Oct  1 08:10:44 2024, main proc, clamd_connect: Can not connect to clamd server on /run/clamd.scan/clamd.sock!&lt;br /&gt;
Tue Oct  1 08:10:44 2024, main proc, clamd_init: Error while sending command to clamd server&lt;br /&gt;
Tue Oct  1 08:10:44 2024, main proc, Registry &#039;virus_scan::engines&#039; does not exist!&amp;lt;/nowiki&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To fix, change permissions of clamd.scan directory:&lt;br /&gt;
&lt;br /&gt;
 chmod g+rx,o+rx /run/clamd.scan&lt;br /&gt;
&lt;br /&gt;
== Ver também ==&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
*[[Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
*[[Linux e Unix: Ferramentas de Monitoracao e Performance]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Linux|  Mais Artigos sobre Linux / UNIX / AIX]]&lt;br /&gt;
*[[Tecnologias|  Mais Artigos sobre Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Tecnologias]]&lt;br /&gt;
[[Category:Clamav]]&lt;br /&gt;
[[Category:Postfix]]&lt;br /&gt;
[[Category:SMTP]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10249</id>
		<title>Tecnologias</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10249"/>
		<updated>2026-07-15T14:38:56Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Mailpit: Servidor SMTP Fake para testes no OpenShift]]&lt;br /&gt;
&lt;br /&gt;
= OpenSSL =&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Criando uma Autoridade Certificadora (CA)]]&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Assinando um CSR com a nossa CA]]&lt;br /&gt;
&lt;br /&gt;
= LDAP =&lt;br /&gt;
&lt;br /&gt;
*[[Java: Pega Grupos do Usuario no LDAP| Pega os Grupos de um Usuário no LDAP]]&lt;br /&gt;
&lt;br /&gt;
*[[Pesquisa LDAP com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[LDAP: Listando Atributos com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[Filtros de Busca por Diretório]]&lt;br /&gt;
&lt;br /&gt;
OpenLDAP é um servidor LDAP&lt;br /&gt;
*[[OpenLDAP:Configurando um LDAP Proxy]]&lt;br /&gt;
&lt;br /&gt;
= Antispam e Email = &lt;br /&gt;
&lt;br /&gt;
ASSP is a Anti-Spam SMTP Proxy Server implements multiple spam filters&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Inicializacao Automatica do ASSP]]&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
&lt;br /&gt;
Clamav is an open-source antivirus&lt;br /&gt;
*[[Clamav: Automatizando a atualizacao do Clamav]]&lt;br /&gt;
&lt;br /&gt;
Postfix is SMTP Server&lt;br /&gt;
*[[Postfix: Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Postfix: Gerenciamento do Postfix]]&lt;br /&gt;
&lt;br /&gt;
= Serviços de Rede =&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DHCP]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DNS]]&lt;br /&gt;
&lt;br /&gt;
= Web/HTTP Servers/Proxy Servers =&lt;br /&gt;
&lt;br /&gt;
== Apache HTTP Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Apache HTTP Server| Artigos sobre o Apache HTTP Server]]&lt;br /&gt;
&lt;br /&gt;
==== AWSTATS ====&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Configurando o AWSTATS]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Agrupando os arquivos access.log]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Gerando um html estático]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Schedulando a atualização automatica no MS Windows]]&lt;br /&gt;
&lt;br /&gt;
== Apache Tomcat Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Tomcat:Script que checa se o Tomcat está no Ar|Script que checa se o Tomcat está no Ar]]&lt;br /&gt;
&lt;br /&gt;
== Squid Proxy Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Squid autenticando com o Samba|Squid autenticando na Rede Windows ou Samba]]&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Limpando o Cache do Squid|Limpando o Cache do Squid]]&lt;br /&gt;
&lt;br /&gt;
= Banco de Dados = &lt;br /&gt;
&lt;br /&gt;
*[[MySQL:Configurando o MySQL]]&lt;br /&gt;
&lt;br /&gt;
= Diversos = &lt;br /&gt;
&lt;br /&gt;
Elgg é uma rede social&lt;br /&gt;
* [[Elgg:The requested URL elgg html action systemsettings install was not found on this server]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Watchit é uma ferramenta para monitoração, debugar e coletar dados de performance em ambiente Sametime, Domino, Traveler, Connections, LDAP, database e network.&lt;br /&gt;
&lt;br /&gt;
*[[Watchit: Install Watchit on SLES 11 SP2 x86_64]]&lt;br /&gt;
&lt;br /&gt;
SAP é um ERP&lt;br /&gt;
*[[SAP: Transacoes Uteis]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10248</id>
		<title>Tecnologias</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10248"/>
		<updated>2026-07-15T14:37:51Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* Web/HTTP Servers/Proxy Servers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OpenSSL =&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Criando uma Autoridade Certificadora (CA)]]&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Assinando um CSR com a nossa CA]]&lt;br /&gt;
&lt;br /&gt;
= LDAP =&lt;br /&gt;
&lt;br /&gt;
*[[Java: Pega Grupos do Usuario no LDAP| Pega os Grupos de um Usuário no LDAP]]&lt;br /&gt;
&lt;br /&gt;
*[[Pesquisa LDAP com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[LDAP: Listando Atributos com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[Filtros de Busca por Diretório]]&lt;br /&gt;
&lt;br /&gt;
OpenLDAP é um servidor LDAP&lt;br /&gt;
*[[OpenLDAP:Configurando um LDAP Proxy]]&lt;br /&gt;
&lt;br /&gt;
= Antispam e Email = &lt;br /&gt;
&lt;br /&gt;
ASSP is a Anti-Spam SMTP Proxy Server implements multiple spam filters&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Inicializacao Automatica do ASSP]]&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
&lt;br /&gt;
Clamav is an open-source antivirus&lt;br /&gt;
*[[Clamav: Automatizando a atualizacao do Clamav]]&lt;br /&gt;
&lt;br /&gt;
Postfix is SMTP Server&lt;br /&gt;
*[[Postfix: Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Postfix: Gerenciamento do Postfix]]&lt;br /&gt;
&lt;br /&gt;
= Serviços de Rede =&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DHCP]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DNS]]&lt;br /&gt;
&lt;br /&gt;
= Web/HTTP Servers/Proxy Servers =&lt;br /&gt;
&lt;br /&gt;
== Apache HTTP Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Apache HTTP Server| Artigos sobre o Apache HTTP Server]]&lt;br /&gt;
&lt;br /&gt;
==== AWSTATS ====&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Configurando o AWSTATS]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Agrupando os arquivos access.log]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Gerando um html estático]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Schedulando a atualização automatica no MS Windows]]&lt;br /&gt;
&lt;br /&gt;
== Apache Tomcat Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Tomcat:Script que checa se o Tomcat está no Ar|Script que checa se o Tomcat está no Ar]]&lt;br /&gt;
&lt;br /&gt;
== Squid Proxy Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Squid autenticando com o Samba|Squid autenticando na Rede Windows ou Samba]]&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Limpando o Cache do Squid|Limpando o Cache do Squid]]&lt;br /&gt;
&lt;br /&gt;
= Banco de Dados = &lt;br /&gt;
&lt;br /&gt;
*[[MySQL:Configurando o MySQL]]&lt;br /&gt;
&lt;br /&gt;
= Diversos = &lt;br /&gt;
&lt;br /&gt;
Elgg é uma rede social&lt;br /&gt;
* [[Elgg:The requested URL elgg html action systemsettings install was not found on this server]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Watchit é uma ferramenta para monitoração, debugar e coletar dados de performance em ambiente Sametime, Domino, Traveler, Connections, LDAP, database e network.&lt;br /&gt;
&lt;br /&gt;
*[[Watchit: Install Watchit on SLES 11 SP2 x86_64]]&lt;br /&gt;
&lt;br /&gt;
SAP é um ERP&lt;br /&gt;
*[[SAP: Transacoes Uteis]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10247</id>
		<title>Tecnologias</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10247"/>
		<updated>2026-07-15T14:33:46Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* Banco de Dados */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OpenSSL =&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Criando uma Autoridade Certificadora (CA)]]&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Assinando um CSR com a nossa CA]]&lt;br /&gt;
&lt;br /&gt;
= LDAP =&lt;br /&gt;
&lt;br /&gt;
*[[Java: Pega Grupos do Usuario no LDAP| Pega os Grupos de um Usuário no LDAP]]&lt;br /&gt;
&lt;br /&gt;
*[[Pesquisa LDAP com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[LDAP: Listando Atributos com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[Filtros de Busca por Diretório]]&lt;br /&gt;
&lt;br /&gt;
OpenLDAP é um servidor LDAP&lt;br /&gt;
*[[OpenLDAP:Configurando um LDAP Proxy]]&lt;br /&gt;
&lt;br /&gt;
= Antispam e Email = &lt;br /&gt;
&lt;br /&gt;
ASSP is a Anti-Spam SMTP Proxy Server implements multiple spam filters&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Inicializacao Automatica do ASSP]]&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
&lt;br /&gt;
Clamav is an open-source antivirus&lt;br /&gt;
*[[Clamav: Automatizando a atualizacao do Clamav]]&lt;br /&gt;
&lt;br /&gt;
Postfix is SMTP Server&lt;br /&gt;
*[[Postfix: Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Postfix: Gerenciamento do Postfix]]&lt;br /&gt;
&lt;br /&gt;
= Serviços de Rede =&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DHCP]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DNS]]&lt;br /&gt;
&lt;br /&gt;
= Web/HTTP Servers/Proxy Servers =&lt;br /&gt;
&lt;br /&gt;
== AWSTATS ==&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Configurando o AWSTATS]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Agrupando os arquivos access.log]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Gerando um html estático]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Schedulando a atualização automatica no MS Windows]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apache HTTP Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Apache HTTP Server| Artigos sobre o Apache HTTP Server]]&lt;br /&gt;
&lt;br /&gt;
== Apache Tomcat Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Tomcat:Script que checa se o Tomcat está no Ar|Script que checa se o Tomcat está no Ar]]&lt;br /&gt;
&lt;br /&gt;
== Squid Proxy Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Squid autenticando com o Samba|Squid autenticando na Rede Windows ou Samba]]&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Limpando o Cache do Squid|Limpando o Cache do Squid]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Banco de Dados = &lt;br /&gt;
&lt;br /&gt;
*[[MySQL:Configurando o MySQL]]&lt;br /&gt;
&lt;br /&gt;
= Diversos = &lt;br /&gt;
&lt;br /&gt;
Elgg é uma rede social&lt;br /&gt;
* [[Elgg:The requested URL elgg html action systemsettings install was not found on this server]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Watchit é uma ferramenta para monitoração, debugar e coletar dados de performance em ambiente Sametime, Domino, Traveler, Connections, LDAP, database e network.&lt;br /&gt;
&lt;br /&gt;
*[[Watchit: Install Watchit on SLES 11 SP2 x86_64]]&lt;br /&gt;
&lt;br /&gt;
SAP é um ERP&lt;br /&gt;
*[[SAP: Transacoes Uteis]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10246</id>
		<title>Tecnologias</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10246"/>
		<updated>2026-07-15T14:33:24Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* Diversos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OpenSSL =&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Criando uma Autoridade Certificadora (CA)]]&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Assinando um CSR com a nossa CA]]&lt;br /&gt;
&lt;br /&gt;
= LDAP =&lt;br /&gt;
&lt;br /&gt;
*[[Java: Pega Grupos do Usuario no LDAP| Pega os Grupos de um Usuário no LDAP]]&lt;br /&gt;
&lt;br /&gt;
*[[Pesquisa LDAP com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[LDAP: Listando Atributos com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[Filtros de Busca por Diretório]]&lt;br /&gt;
&lt;br /&gt;
OpenLDAP é um servidor LDAP&lt;br /&gt;
*[[OpenLDAP:Configurando um LDAP Proxy]]&lt;br /&gt;
&lt;br /&gt;
= Antispam e Email = &lt;br /&gt;
&lt;br /&gt;
ASSP is a Anti-Spam SMTP Proxy Server implements multiple spam filters&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Inicializacao Automatica do ASSP]]&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
&lt;br /&gt;
Clamav is an open-source antivirus&lt;br /&gt;
*[[Clamav: Automatizando a atualizacao do Clamav]]&lt;br /&gt;
&lt;br /&gt;
Postfix is SMTP Server&lt;br /&gt;
*[[Postfix: Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Postfix: Gerenciamento do Postfix]]&lt;br /&gt;
&lt;br /&gt;
= Serviços de Rede =&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DHCP]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DNS]]&lt;br /&gt;
&lt;br /&gt;
= Web/HTTP Servers/Proxy Servers =&lt;br /&gt;
&lt;br /&gt;
== AWSTATS ==&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Configurando o AWSTATS]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Agrupando os arquivos access.log]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Gerando um html estático]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Schedulando a atualização automatica no MS Windows]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apache HTTP Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Apache HTTP Server| Artigos sobre o Apache HTTP Server]]&lt;br /&gt;
&lt;br /&gt;
== Apache Tomcat Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Tomcat:Script que checa se o Tomcat está no Ar|Script que checa se o Tomcat está no Ar]]&lt;br /&gt;
&lt;br /&gt;
== Squid Proxy Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Squid autenticando com o Samba|Squid autenticando na Rede Windows ou Samba]]&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Limpando o Cache do Squid|Limpando o Cache do Squid]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Banco de Dados = &lt;br /&gt;
&lt;br /&gt;
== MySQL Server ==&lt;br /&gt;
&lt;br /&gt;
*[[MySQL:Configurando o MySQL|Configurando o MySQL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Diversos = &lt;br /&gt;
&lt;br /&gt;
Elgg é uma rede social&lt;br /&gt;
* [[Elgg:The requested URL elgg html action systemsettings install was not found on this server]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Watchit é uma ferramenta para monitoração, debugar e coletar dados de performance em ambiente Sametime, Domino, Traveler, Connections, LDAP, database e network.&lt;br /&gt;
&lt;br /&gt;
*[[Watchit: Install Watchit on SLES 11 SP2 x86_64]]&lt;br /&gt;
&lt;br /&gt;
SAP é um ERP&lt;br /&gt;
*[[SAP: Transacoes Uteis]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10245</id>
		<title>Tecnologias</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10245"/>
		<updated>2026-07-15T14:33:13Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OpenSSL =&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Criando uma Autoridade Certificadora (CA)]]&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Assinando um CSR com a nossa CA]]&lt;br /&gt;
&lt;br /&gt;
= LDAP =&lt;br /&gt;
&lt;br /&gt;
*[[Java: Pega Grupos do Usuario no LDAP| Pega os Grupos de um Usuário no LDAP]]&lt;br /&gt;
&lt;br /&gt;
*[[Pesquisa LDAP com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[LDAP: Listando Atributos com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[Filtros de Busca por Diretório]]&lt;br /&gt;
&lt;br /&gt;
OpenLDAP é um servidor LDAP&lt;br /&gt;
*[[OpenLDAP:Configurando um LDAP Proxy]]&lt;br /&gt;
&lt;br /&gt;
= Antispam e Email = &lt;br /&gt;
&lt;br /&gt;
ASSP is a Anti-Spam SMTP Proxy Server implements multiple spam filters&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Inicializacao Automatica do ASSP]]&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
&lt;br /&gt;
Clamav is an open-source antivirus&lt;br /&gt;
*[[Clamav: Automatizando a atualizacao do Clamav]]&lt;br /&gt;
&lt;br /&gt;
Postfix is SMTP Server&lt;br /&gt;
*[[Postfix: Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Postfix: Gerenciamento do Postfix]]&lt;br /&gt;
&lt;br /&gt;
= Serviços de Rede =&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DHCP]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DNS]]&lt;br /&gt;
&lt;br /&gt;
= Web/HTTP Servers/Proxy Servers =&lt;br /&gt;
&lt;br /&gt;
== AWSTATS ==&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Configurando o AWSTATS]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Agrupando os arquivos access.log]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Gerando um html estático]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Schedulando a atualização automatica no MS Windows]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apache HTTP Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Apache HTTP Server| Artigos sobre o Apache HTTP Server]]&lt;br /&gt;
&lt;br /&gt;
== Apache Tomcat Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Tomcat:Script que checa se o Tomcat está no Ar|Script que checa se o Tomcat está no Ar]]&lt;br /&gt;
&lt;br /&gt;
== Squid Proxy Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Squid autenticando com o Samba|Squid autenticando na Rede Windows ou Samba]]&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Limpando o Cache do Squid|Limpando o Cache do Squid]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Banco de Dados = &lt;br /&gt;
&lt;br /&gt;
== MySQL Server ==&lt;br /&gt;
&lt;br /&gt;
*[[MySQL:Configurando o MySQL|Configurando o MySQL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Diversos = &lt;br /&gt;
&lt;br /&gt;
Elgg é uma rede social&lt;br /&gt;
* [[Elgg:The requested URL elgg html action systemsettings install was not found on this server]]&lt;br /&gt;
&lt;br /&gt;
Watchit é uma ferramenta para monitoração, debugar e coletar dados de performance em ambiente Sametime, Domino, Traveler, Connections, LDAP, database e network.&lt;br /&gt;
&lt;br /&gt;
*[[Watchit: Install Watchit on SLES 11 SP2 x86_64]]&lt;br /&gt;
&lt;br /&gt;
SAP é um ERP&lt;br /&gt;
*[[SAP: Transacoes Uteis]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10244</id>
		<title>Tecnologias</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10244"/>
		<updated>2026-07-15T14:31:38Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* LDAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OpenSSL =&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Criando uma Autoridade Certificadora (CA)]]&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Assinando um CSR com a nossa CA]]&lt;br /&gt;
&lt;br /&gt;
= LDAP =&lt;br /&gt;
&lt;br /&gt;
*[[Java: Pega Grupos do Usuario no LDAP| Pega os Grupos de um Usuário no LDAP]]&lt;br /&gt;
&lt;br /&gt;
*[[Pesquisa LDAP com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[LDAP: Listando Atributos com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[Filtros de Busca por Diretório]]&lt;br /&gt;
&lt;br /&gt;
OpenLDAP é um servidor LDAP&lt;br /&gt;
*[[OpenLDAP:Configurando um LDAP Proxy]]&lt;br /&gt;
&lt;br /&gt;
= Antispam e Email = &lt;br /&gt;
&lt;br /&gt;
ASSP is a Anti-Spam SMTP Proxy Server implements multiple spam filters&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Inicializacao Automatica do ASSP]]&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
&lt;br /&gt;
Clamav is an open-source antivirus&lt;br /&gt;
*[[Clamav: Automatizando a atualizacao do Clamav]]&lt;br /&gt;
&lt;br /&gt;
Postfix is SMTP Server&lt;br /&gt;
*[[Postfix: Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Postfix: Gerenciamento do Postfix]]&lt;br /&gt;
&lt;br /&gt;
= Serviços de Rede =&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DHCP]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DNS]]&lt;br /&gt;
&lt;br /&gt;
= Web/HTTP Servers/Proxy Servers =&lt;br /&gt;
&lt;br /&gt;
== AWSTATS ==&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Configurando o AWSTATS]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Agrupando os arquivos access.log]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Gerando um html estático]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Schedulando a atualização automatica no MS Windows]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apache HTTP Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Apache HTTP Server| Artigos sobre o Apache HTTP Server]]&lt;br /&gt;
&lt;br /&gt;
== Apache Tomcat Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Tomcat:Script que checa se o Tomcat está no Ar|Script que checa se o Tomcat está no Ar]]&lt;br /&gt;
&lt;br /&gt;
== Squid Proxy Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Squid autenticando com o Samba|Squid autenticando na Rede Windows ou Samba]]&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Limpando o Cache do Squid|Limpando o Cache do Squid]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Banco de Dados = &lt;br /&gt;
&lt;br /&gt;
== MySQL Server ==&lt;br /&gt;
&lt;br /&gt;
*[[MySQL:Configurando o MySQL|Configurando o MySQL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Diversos = &lt;br /&gt;
== Elgg ==&lt;br /&gt;
&lt;br /&gt;
* [[Elgg:The requested URL elgg html action systemsettings install was not found on this server]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Watchit=&lt;br /&gt;
&lt;br /&gt;
Watchit é uma ferramenta para monitoração, debugar e coletar dados de performance em ambiente Sametime, Domino, Traveler, Connections, LDAP, database e network.&lt;br /&gt;
&lt;br /&gt;
*[[Watchit: Install Watchit on SLES 11 SP2 x86_64]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SAP ==&lt;br /&gt;
&lt;br /&gt;
*[[SAP: Transacoes Uteis]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10243</id>
		<title>Tecnologias</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10243"/>
		<updated>2026-07-15T14:31:12Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* Antispam e Email */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OpenSSL =&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Criando uma Autoridade Certificadora (CA)]]&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Assinando um CSR com a nossa CA]]&lt;br /&gt;
&lt;br /&gt;
= LDAP =&lt;br /&gt;
&lt;br /&gt;
*[[Java: Pega Grupos do Usuario no LDAP| Pega os Grupos de um Usuário no LDAP]]&lt;br /&gt;
&lt;br /&gt;
*[[Pesquisa LDAP com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[LDAP: Listando Atributos com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[Filtros de Busca por Diretório]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[OpenLDAP:Configurando um LDAP Proxy]]&lt;br /&gt;
&lt;br /&gt;
= Antispam e Email = &lt;br /&gt;
&lt;br /&gt;
ASSP is a Anti-Spam SMTP Proxy Server implements multiple spam filters&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Inicializacao Automatica do ASSP]]&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
&lt;br /&gt;
Clamav is an open-source antivirus&lt;br /&gt;
*[[Clamav: Automatizando a atualizacao do Clamav]]&lt;br /&gt;
&lt;br /&gt;
Postfix is SMTP Server&lt;br /&gt;
*[[Postfix: Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Postfix: Gerenciamento do Postfix]]&lt;br /&gt;
&lt;br /&gt;
= Serviços de Rede =&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DHCP]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DNS]]&lt;br /&gt;
&lt;br /&gt;
= Web/HTTP Servers/Proxy Servers =&lt;br /&gt;
&lt;br /&gt;
== AWSTATS ==&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Configurando o AWSTATS]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Agrupando os arquivos access.log]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Gerando um html estático]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Schedulando a atualização automatica no MS Windows]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apache HTTP Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Apache HTTP Server| Artigos sobre o Apache HTTP Server]]&lt;br /&gt;
&lt;br /&gt;
== Apache Tomcat Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Tomcat:Script que checa se o Tomcat está no Ar|Script que checa se o Tomcat está no Ar]]&lt;br /&gt;
&lt;br /&gt;
== Squid Proxy Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Squid autenticando com o Samba|Squid autenticando na Rede Windows ou Samba]]&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Limpando o Cache do Squid|Limpando o Cache do Squid]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Banco de Dados = &lt;br /&gt;
&lt;br /&gt;
== MySQL Server ==&lt;br /&gt;
&lt;br /&gt;
*[[MySQL:Configurando o MySQL|Configurando o MySQL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Diversos = &lt;br /&gt;
== Elgg ==&lt;br /&gt;
&lt;br /&gt;
* [[Elgg:The requested URL elgg html action systemsettings install was not found on this server]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Watchit=&lt;br /&gt;
&lt;br /&gt;
Watchit é uma ferramenta para monitoração, debugar e coletar dados de performance em ambiente Sametime, Domino, Traveler, Connections, LDAP, database e network.&lt;br /&gt;
&lt;br /&gt;
*[[Watchit: Install Watchit on SLES 11 SP2 x86_64]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SAP ==&lt;br /&gt;
&lt;br /&gt;
*[[SAP: Transacoes Uteis]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10242</id>
		<title>Tecnologias</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10242"/>
		<updated>2026-07-15T14:30:38Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* Antispam e Email */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OpenSSL =&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Criando uma Autoridade Certificadora (CA)]]&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Assinando um CSR com a nossa CA]]&lt;br /&gt;
&lt;br /&gt;
= LDAP =&lt;br /&gt;
&lt;br /&gt;
*[[Java: Pega Grupos do Usuario no LDAP| Pega os Grupos de um Usuário no LDAP]]&lt;br /&gt;
&lt;br /&gt;
*[[Pesquisa LDAP com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[LDAP: Listando Atributos com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[Filtros de Busca por Diretório]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[OpenLDAP:Configurando um LDAP Proxy]]&lt;br /&gt;
&lt;br /&gt;
= Antispam e Email = &lt;br /&gt;
&lt;br /&gt;
ASSP is a Anti-Spam SMTP Proxy Server implements multiple spam filters&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Inicializacao Automatica do ASSP]]&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
&lt;br /&gt;
*[[Clamav: Automatizando a atualizacao do Clamav]]&lt;br /&gt;
&lt;br /&gt;
*[[Postfix: Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Postfix: Gerenciamento do Postfix]]&lt;br /&gt;
&lt;br /&gt;
= Serviços de Rede =&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DHCP]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DNS]]&lt;br /&gt;
&lt;br /&gt;
= Web/HTTP Servers/Proxy Servers =&lt;br /&gt;
&lt;br /&gt;
== AWSTATS ==&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Configurando o AWSTATS]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Agrupando os arquivos access.log]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Gerando um html estático]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Schedulando a atualização automatica no MS Windows]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apache HTTP Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Apache HTTP Server| Artigos sobre o Apache HTTP Server]]&lt;br /&gt;
&lt;br /&gt;
== Apache Tomcat Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Tomcat:Script que checa se o Tomcat está no Ar|Script que checa se o Tomcat está no Ar]]&lt;br /&gt;
&lt;br /&gt;
== Squid Proxy Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Squid autenticando com o Samba|Squid autenticando na Rede Windows ou Samba]]&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Limpando o Cache do Squid|Limpando o Cache do Squid]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Banco de Dados = &lt;br /&gt;
&lt;br /&gt;
== MySQL Server ==&lt;br /&gt;
&lt;br /&gt;
*[[MySQL:Configurando o MySQL|Configurando o MySQL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Diversos = &lt;br /&gt;
== Elgg ==&lt;br /&gt;
&lt;br /&gt;
* [[Elgg:The requested URL elgg html action systemsettings install was not found on this server]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Watchit=&lt;br /&gt;
&lt;br /&gt;
Watchit é uma ferramenta para monitoração, debugar e coletar dados de performance em ambiente Sametime, Domino, Traveler, Connections, LDAP, database e network.&lt;br /&gt;
&lt;br /&gt;
*[[Watchit: Install Watchit on SLES 11 SP2 x86_64]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SAP ==&lt;br /&gt;
&lt;br /&gt;
*[[SAP: Transacoes Uteis]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Gerenciamento_do_Postfix&amp;diff=10241</id>
		<title>Gerenciamento do Postfix</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Gerenciamento_do_Postfix&amp;diff=10241"/>
		<updated>2026-07-15T14:30:28Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: Ebasso moved page Gerenciamento do Postfix to Postfix: Gerenciamento do Postfix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Postfix: Gerenciamento do Postfix]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Postfix:_Gerenciamento_do_Postfix&amp;diff=10240</id>
		<title>Postfix: Gerenciamento do Postfix</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Postfix:_Gerenciamento_do_Postfix&amp;diff=10240"/>
		<updated>2026-07-15T14:30:28Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: Ebasso moved page Gerenciamento do Postfix to Postfix: Gerenciamento do Postfix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Abaixo segue algumas dicas para gerenciamento do Postfix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Verificando o tempo que uma mensagem está na fila  ==&lt;br /&gt;
&lt;br /&gt;
você pode verificar o número de mensagem em cada fila e o tempo que ela&lt;br /&gt;
se encontra lá com o comando qshape nomedafila, exemplo:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;$ qshape deferred&#039;&#039;&#039; &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;$ qshape active&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Resultado:&#039;&#039;&#039;&lt;br /&gt;
                         T  5 10 20 40 80 160 320 640 1280 1280+&lt;br /&gt;
                  TOTAL 30  2  1  4  1  0   0   0   1    0    21&lt;br /&gt;
        dominioa.com.br  4  2  0  2  0  0   0   0   0    0     0&lt;br /&gt;
              yahoo.com 14  0  0  1  0  0   0   0   1    0    12&lt;br /&gt;
              gmail.com  4  0  0  0  0  0   0   0   0    0     4&lt;br /&gt;
                aol.com  1  0  1  0  0  0   0   0   0    0     0&lt;br /&gt;
              golde.com  1  0  0  0  0  0   0   0   0    0     1&lt;br /&gt;
           hotmaial.com  1  0  0  0  0  0   0   0   0    0     1&lt;br /&gt;
            hotmail.com  1  0  0  0  0  0   0   0   0    0     1&lt;br /&gt;
             dominio.it  1  0  0  0  1  0   0   0   0    0     0&lt;br /&gt;
              ig.com.br  1  0  0  0  0  0   0   0   0    0     1&lt;br /&gt;
              walla.com  1  0  0  0  0  0   0   0   0    0     1&lt;br /&gt;
&lt;br /&gt;
Onde &lt;br /&gt;
&lt;br /&gt;
* A coluna &amp;quot;T&amp;quot; representa o total (neste caso para envio) para cada domínio. &lt;br /&gt;
* As colunas com os números ao lado dela representam o minutos que as mensagens estão na fila&lt;br /&gt;
* Em &amp;quot;TOTAL&amp;quot; mostra a soma por domínio &lt;br /&gt;
 &lt;br /&gt;
Neste exemplo, existem 14 mensagens aguardando para serem entregues para o domínio yahoo.com, sendo que 1 entre 10 à 20 minutos aguardando, 1 entre 320 e 640 minutos e 12 mais de 1280 minutos.(1 dia = 1440 minutos)&lt;br /&gt;
&lt;br /&gt;
== Utilizando o mailq ==&lt;br /&gt;
&lt;br /&gt;
Você pode verificar as mensagem na fila e o status de envio através do comando:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;# mailq&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Resultado:&#039;&#039;&#039;&lt;br /&gt;
 -Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------&lt;br /&gt;
 4AD7427CAC*    6435 Mon Feb 25 11:20:20  gerente@meudominio.com.br&lt;br /&gt;
                                         fulano@gmail.com&lt;br /&gt;
                                         ciclano@gmail.com&lt;br /&gt;
                                         beltrano@gmail.com&lt;br /&gt;
                                         mane@gmail.com&lt;br /&gt;
                                         joaoquim@gmail.com&lt;br /&gt;
                                         maria@gmail.com&lt;br /&gt;
                                         jose@gmail.com&lt;br /&gt;
 &lt;br /&gt;
 CAD8A28C04   124443 Fri Feb 22 23:37:19  noticias@meudominio.com.br&lt;br /&gt;
 (lost connection with yahoo.com.br[200.XXX.XX.X] while receiving the initial server greeting)&lt;br /&gt;
                                         recrutamento@yahoo.com.br&lt;br /&gt;
 &lt;br /&gt;
 CF3AF28B35     3328 Thu Feb 21 09:28:42  juridico.representacoes@meudominio.com.br&lt;br /&gt;
                  (connect to hotmaial.com[209.XX.XX.XXX]: Connection refused)&lt;br /&gt;
                                         advogados@hotmaial.com&lt;br /&gt;
 &lt;br /&gt;
 2F38628B01     2907 Wed Feb 20 15:07:16  compras@meudominio.com.br&lt;br /&gt;
           (connect to uol.com.br[164.XXX.XX.XXX]: Connection timed out)&lt;br /&gt;
                                         brasil@uol.com.br&lt;br /&gt;
 &lt;br /&gt;
 ABCB828A82   133240 Wed Feb 20 15:26:17  noticias@meudominio.com.br&lt;br /&gt;
 (lost connection with yahoo.com.br[200.XXX.XX.X] while receiving the initial server greeting)&lt;br /&gt;
                                         ciclano@yahoo.com.br&lt;br /&gt;
 &lt;br /&gt;
 A4E6F28ADA   133391 Thu Feb 21 15:19:33  noticias@meudominio.com.br&lt;br /&gt;
 (lost connection with yahoo.com.br[200.XXX.XX.X] while receiving the initial server greeting)&lt;br /&gt;
                                         fulano@yahoo.com.br&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Utilizando o pfqueue  ==&lt;br /&gt;
&lt;br /&gt;
O pfqueue é um programa que permite a visualização das filas. Você pode baixar ele através do site [http://pfqueue.sourceforge.net/ pfqueue na Source Forge].&lt;br /&gt;
&lt;br /&gt;
Para utilizá-lo é necessário ter a biblioteca ncurses&lt;br /&gt;
&lt;br /&gt;
Mas se preferir pode instalar via yum&lt;br /&gt;
&lt;br /&gt;
 $ yum -y install pfqueue&lt;br /&gt;
&lt;br /&gt;
Para usar digite&lt;br /&gt;
&lt;br /&gt;
 $ pfqueue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comandos de utilização:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Setas&#039;&#039;&#039; - Caminha sobre as mensagens&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;Enter&amp;gt;&#039;&#039;&#039; - Abre a mensagem corrente&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;q&#039;&#039;&#039; - (Quit) Sair&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;d&#039;&#039;&#039; - (Delete) Deletar e-mail&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;b&#039;&#039;&#039; - (Body) Mostra o corpo da mensagem&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;h&#039;&#039;&#039; - (Hold) Põe a mensagem em hold&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;l&#039;&#039;&#039; - (reLease) Libera uma mensagem&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;r&#039;&#039;&#039; - (Requeue) Recoloca na fila a mensagem&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;/&#039;&#039;&#039; - Find first message matching a POSIX regexp; the regexp you use can be prefixed by  one  of  f:, t:,  e:,  s:  which  will  limit the search in, respectively, the From, To, From-or-To, Subject               fields. The default is to search everywhere.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;n&#039;&#039;&#039; - Find next message matching last used regexp.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;p&#039;&#039;&#039; - Find previous message matching last used regexp.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ver também ==&lt;br /&gt;
*[[Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
*[[Linux: Configurando um servidor DHCP]]&lt;br /&gt;
*[[Linux: Configurando um servidor DNS]]&lt;br /&gt;
*[[Linux e Unix: Ferramentas de Monitoracao e Performance]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Linux|  Mais Artigos sobre Linux / UNIX / AIX]]&lt;br /&gt;
*[[Tecnologias|  Mais Artigos sobre Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Tecnologias]]&lt;br /&gt;
[[Category:ASSP]]&lt;br /&gt;
[[Category:Postfix]]&lt;br /&gt;
[[Category:SMTP]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Configurando_o_Postfix_como_SmartHost_do_ASSP&amp;diff=10239</id>
		<title>Configurando o Postfix como SmartHost do ASSP</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Configurando_o_Postfix_como_SmartHost_do_ASSP&amp;diff=10239"/>
		<updated>2026-07-15T14:29:55Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: Ebasso moved page Configurando o Postfix como SmartHost do ASSP to Postfix: Configurando o Postfix com SmartHost do ASSP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Postfix: Configurando o Postfix com SmartHost do ASSP]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Postfix:_Configurando_o_Postfix_com_SmartHost_do_ASSP&amp;diff=10238</id>
		<title>Postfix: Configurando o Postfix com SmartHost do ASSP</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Postfix:_Configurando_o_Postfix_com_SmartHost_do_ASSP&amp;diff=10238"/>
		<updated>2026-07-15T14:29:55Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: Ebasso moved page Configurando o Postfix como SmartHost do ASSP to Postfix: Configurando o Postfix com SmartHost do ASSP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Editando o Arquivo master.cf ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Vá no diretório /etc/postfix&lt;br /&gt;
&lt;br /&gt;
2) Edite o arquivo &#039;&#039;&#039;master.cf&#039;&#039;&#039;, &lt;br /&gt;
&lt;br /&gt;
3) comente a seguinte entrada&lt;br /&gt;
&lt;br /&gt;
 #smtp      inet  n       -       n       -       -       smtpd&lt;br /&gt;
&lt;br /&gt;
4) Logo abaixo dela adicione a seguinte entrada&lt;br /&gt;
&lt;br /&gt;
 325        inet  n       -       n       -       -       smtpd&lt;br /&gt;
&lt;br /&gt;
5) Vá para a última linha e adicione a seguinte entrada&lt;br /&gt;
&lt;br /&gt;
 null      unix  -       n       n       -       -       pipe&lt;br /&gt;
   user=nobody argv=/usr/local/bin/null.sh ${user}&lt;br /&gt;
&lt;br /&gt;
6) Salve e Feche o Arquivo &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Criando o arquivo null.sh ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Vá no diretório &#039;&#039;&#039;/usr/local/bin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
2) Edite o arquivo &#039;&#039;&#039;null.sh&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
3) Adicione o seguinte conteúdo:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 echo 0;&lt;br /&gt;
&lt;br /&gt;
4) Salve e Feche o Arquivo&lt;br /&gt;
&lt;br /&gt;
5) Não se esqueça de alterar a permissão de execução&lt;br /&gt;
&lt;br /&gt;
 chmod a+x null.sh&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Editando o Arquivo main.cf ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Vá no diretório /etc/postfix&lt;br /&gt;
&lt;br /&gt;
2) Edite o arquivo &#039;&#039;&#039;main.cf&#039;&#039;&#039;, &lt;br /&gt;
&lt;br /&gt;
3) Altere as seguintes entrada&lt;br /&gt;
&lt;br /&gt;
 myhostname = mail.minhaempresa.com.br&lt;br /&gt;
&lt;br /&gt;
 mydomain = minhaempresa.com.br&lt;br /&gt;
&lt;br /&gt;
 inet_interfaces = localhost&lt;br /&gt;
&lt;br /&gt;
 delay_warning_time = 4h&lt;br /&gt;
&lt;br /&gt;
4) Salve e Feche o Arquivo&lt;br /&gt;
&lt;br /&gt;
Reinicie o postfix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Ver também ==&lt;br /&gt;
&lt;br /&gt;
*[[Gerenciamento do Postfix]]&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
*[[Linux: Configurando um servidor DHCP]]&lt;br /&gt;
*[[Linux: Configurando um servidor DNS]]&lt;br /&gt;
*[[Linux e Unix: Ferramentas de Monitoracao e Performance]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Linux|  Mais Artigos sobre Linux / UNIX / AIX]]&lt;br /&gt;
*[[Tecnologias|  Mais Artigos sobre Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Tecnologias]]&lt;br /&gt;
[[Category:ASSP]]&lt;br /&gt;
[[Category:Postfix]]&lt;br /&gt;
[[Category:SMTP]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10237</id>
		<title>Tecnologias</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10237"/>
		<updated>2026-07-15T14:29:08Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* Antispam e Email */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OpenSSL =&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Criando uma Autoridade Certificadora (CA)]]&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Assinando um CSR com a nossa CA]]&lt;br /&gt;
&lt;br /&gt;
= LDAP =&lt;br /&gt;
&lt;br /&gt;
*[[Java: Pega Grupos do Usuario no LDAP| Pega os Grupos de um Usuário no LDAP]]&lt;br /&gt;
&lt;br /&gt;
*[[Pesquisa LDAP com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[LDAP: Listando Atributos com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[Filtros de Busca por Diretório]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[OpenLDAP:Configurando um LDAP Proxy]]&lt;br /&gt;
&lt;br /&gt;
= Antispam e Email = &lt;br /&gt;
&lt;br /&gt;
ASSP is a Anti-Spam SMTP Proxy Server implements multiple spam filters&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Inicializacao Automatica do ASSP]]&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Clamav: Automatizando a atualizacao do Clamav]]&lt;br /&gt;
&lt;br /&gt;
== Postfix Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Gerenciamento do Postfix]]&lt;br /&gt;
&lt;br /&gt;
= Serviços de Rede =&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DHCP]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DNS]]&lt;br /&gt;
&lt;br /&gt;
= Web/HTTP Servers/Proxy Servers =&lt;br /&gt;
&lt;br /&gt;
== AWSTATS ==&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Configurando o AWSTATS]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Agrupando os arquivos access.log]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Gerando um html estático]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Schedulando a atualização automatica no MS Windows]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apache HTTP Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Apache HTTP Server| Artigos sobre o Apache HTTP Server]]&lt;br /&gt;
&lt;br /&gt;
== Apache Tomcat Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Tomcat:Script que checa se o Tomcat está no Ar|Script que checa se o Tomcat está no Ar]]&lt;br /&gt;
&lt;br /&gt;
== Squid Proxy Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Squid autenticando com o Samba|Squid autenticando na Rede Windows ou Samba]]&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Limpando o Cache do Squid|Limpando o Cache do Squid]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Banco de Dados = &lt;br /&gt;
&lt;br /&gt;
== MySQL Server ==&lt;br /&gt;
&lt;br /&gt;
*[[MySQL:Configurando o MySQL|Configurando o MySQL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Diversos = &lt;br /&gt;
== Elgg ==&lt;br /&gt;
&lt;br /&gt;
* [[Elgg:The requested URL elgg html action systemsettings install was not found on this server]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Watchit=&lt;br /&gt;
&lt;br /&gt;
Watchit é uma ferramenta para monitoração, debugar e coletar dados de performance em ambiente Sametime, Domino, Traveler, Connections, LDAP, database e network.&lt;br /&gt;
&lt;br /&gt;
*[[Watchit: Install Watchit on SLES 11 SP2 x86_64]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SAP ==&lt;br /&gt;
&lt;br /&gt;
*[[SAP: Transacoes Uteis]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Automatizando_a_atualizacao_do_Clamav&amp;diff=10236</id>
		<title>Automatizando a atualizacao do Clamav</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Automatizando_a_atualizacao_do_Clamav&amp;diff=10236"/>
		<updated>2026-07-15T14:28:55Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: Ebasso moved page Automatizando a atualizacao do Clamav to Clamav: Automatizando a atualizacao do Clamav&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Clamav: Automatizando a atualizacao do Clamav]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Clamav:_Automatizando_a_atualizacao_do_Clamav&amp;diff=10235</id>
		<title>Clamav: Automatizando a atualizacao do Clamav</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Clamav:_Automatizando_a_atualizacao_do_Clamav&amp;diff=10235"/>
		<updated>2026-07-15T14:28:55Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: Ebasso moved page Automatizando a atualizacao do Clamav to Clamav: Automatizando a atualizacao do Clamav&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;No Clamav, a lista de vírus normalmente é atualizada todos os dias automaticamente. Mas o programa não.&lt;br /&gt;
&lt;br /&gt;
A seguir temos um procedimentos de como automatizar a Atualização do Clamav&lt;br /&gt;
&lt;br /&gt;
Procedimento:&lt;br /&gt;
&lt;br /&gt;
1) vá no diretório &#039;&#039;&#039;/etc/cron.daily&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
2) Crie o arquivo &#039;&#039;&#039;clamav-update&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
3) Adicione o seguinte conteúdo&lt;br /&gt;
&lt;br /&gt;
 #!/bin/sh&lt;br /&gt;
 &lt;br /&gt;
 ### A simple update script for the clamav virus database.&lt;br /&gt;
 ### This could as well be replaced by a SysV script.&lt;br /&gt;
 &lt;br /&gt;
 /usr/bin/yum -y update clamav&lt;br /&gt;
&lt;br /&gt;
4) Salve e Feche o arquivo&lt;br /&gt;
&lt;br /&gt;
5) Mude a permissão &lt;br /&gt;
&lt;br /&gt;
 chmod a+x clamav-update&lt;br /&gt;
&lt;br /&gt;
== Ver também ==&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
*[[Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
*[[Linux e Unix: Ferramentas de Monitoracao e Performance]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Linux|  Mais Artigos sobre Linux / UNIX / AIX]]&lt;br /&gt;
*[[Tecnologias|  Mais Artigos sobre Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Tecnologias]]&lt;br /&gt;
[[Category:Clamav]]&lt;br /&gt;
[[Category:Postfix]]&lt;br /&gt;
[[Category:SMTP]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10234</id>
		<title>Tecnologias</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10234"/>
		<updated>2026-07-15T14:28:23Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* Antispam e Email */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OpenSSL =&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Criando uma Autoridade Certificadora (CA)]]&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Assinando um CSR com a nossa CA]]&lt;br /&gt;
&lt;br /&gt;
= LDAP =&lt;br /&gt;
&lt;br /&gt;
*[[Java: Pega Grupos do Usuario no LDAP| Pega os Grupos de um Usuário no LDAP]]&lt;br /&gt;
&lt;br /&gt;
*[[Pesquisa LDAP com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[LDAP: Listando Atributos com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[Filtros de Busca por Diretório]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[OpenLDAP:Configurando um LDAP Proxy]]&lt;br /&gt;
&lt;br /&gt;
= Antispam e Email = &lt;br /&gt;
&lt;br /&gt;
ASSP is a Anti-Spam SMTP Proxy Server implements multiple spam filters&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Inicializacao Automatica do ASSP]]&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Automatizando a atualizacao do Clamav]]&lt;br /&gt;
&lt;br /&gt;
== Postfix Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Gerenciamento do Postfix]]&lt;br /&gt;
&lt;br /&gt;
= Serviços de Rede =&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DHCP]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DNS]]&lt;br /&gt;
&lt;br /&gt;
= Web/HTTP Servers/Proxy Servers =&lt;br /&gt;
&lt;br /&gt;
== AWSTATS ==&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Configurando o AWSTATS]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Agrupando os arquivos access.log]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Gerando um html estático]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Schedulando a atualização automatica no MS Windows]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apache HTTP Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Apache HTTP Server| Artigos sobre o Apache HTTP Server]]&lt;br /&gt;
&lt;br /&gt;
== Apache Tomcat Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Tomcat:Script que checa se o Tomcat está no Ar|Script que checa se o Tomcat está no Ar]]&lt;br /&gt;
&lt;br /&gt;
== Squid Proxy Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Squid autenticando com o Samba|Squid autenticando na Rede Windows ou Samba]]&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Limpando o Cache do Squid|Limpando o Cache do Squid]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Banco de Dados = &lt;br /&gt;
&lt;br /&gt;
== MySQL Server ==&lt;br /&gt;
&lt;br /&gt;
*[[MySQL:Configurando o MySQL|Configurando o MySQL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Diversos = &lt;br /&gt;
== Elgg ==&lt;br /&gt;
&lt;br /&gt;
* [[Elgg:The requested URL elgg html action systemsettings install was not found on this server]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Watchit=&lt;br /&gt;
&lt;br /&gt;
Watchit é uma ferramenta para monitoração, debugar e coletar dados de performance em ambiente Sametime, Domino, Traveler, Connections, LDAP, database e network.&lt;br /&gt;
&lt;br /&gt;
*[[Watchit: Install Watchit on SLES 11 SP2 x86_64]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SAP ==&lt;br /&gt;
&lt;br /&gt;
*[[SAP: Transacoes Uteis]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10233</id>
		<title>Tecnologias</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10233"/>
		<updated>2026-07-15T14:26:47Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* LDAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OpenSSL =&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Criando uma Autoridade Certificadora (CA)]]&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Assinando um CSR com a nossa CA]]&lt;br /&gt;
&lt;br /&gt;
= LDAP =&lt;br /&gt;
&lt;br /&gt;
*[[Java: Pega Grupos do Usuario no LDAP| Pega os Grupos de um Usuário no LDAP]]&lt;br /&gt;
&lt;br /&gt;
*[[Pesquisa LDAP com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[LDAP: Listando Atributos com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[Filtros de Busca por Diretório]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[OpenLDAP:Configurando um LDAP Proxy]]&lt;br /&gt;
&lt;br /&gt;
= Antispam e Email = &lt;br /&gt;
&lt;br /&gt;
== ASSP ==&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Inicializacao Automatica do ASSP]]&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
&lt;br /&gt;
== Clamav ==&lt;br /&gt;
&lt;br /&gt;
*[[Automatizando a atualizacao do Clamav]]&lt;br /&gt;
&lt;br /&gt;
== Postfix Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Gerenciamento do Postfix]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Serviços de Rede =&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DHCP]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DNS]]&lt;br /&gt;
&lt;br /&gt;
= Web/HTTP Servers/Proxy Servers =&lt;br /&gt;
&lt;br /&gt;
== AWSTATS ==&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Configurando o AWSTATS]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Agrupando os arquivos access.log]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Gerando um html estático]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Schedulando a atualização automatica no MS Windows]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apache HTTP Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Apache HTTP Server| Artigos sobre o Apache HTTP Server]]&lt;br /&gt;
&lt;br /&gt;
== Apache Tomcat Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Tomcat:Script que checa se o Tomcat está no Ar|Script que checa se o Tomcat está no Ar]]&lt;br /&gt;
&lt;br /&gt;
== Squid Proxy Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Squid autenticando com o Samba|Squid autenticando na Rede Windows ou Samba]]&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Limpando o Cache do Squid|Limpando o Cache do Squid]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Banco de Dados = &lt;br /&gt;
&lt;br /&gt;
== MySQL Server ==&lt;br /&gt;
&lt;br /&gt;
*[[MySQL:Configurando o MySQL|Configurando o MySQL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Diversos = &lt;br /&gt;
== Elgg ==&lt;br /&gt;
&lt;br /&gt;
* [[Elgg:The requested URL elgg html action systemsettings install was not found on this server]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Watchit=&lt;br /&gt;
&lt;br /&gt;
Watchit é uma ferramenta para monitoração, debugar e coletar dados de performance em ambiente Sametime, Domino, Traveler, Connections, LDAP, database e network.&lt;br /&gt;
&lt;br /&gt;
*[[Watchit: Install Watchit on SLES 11 SP2 x86_64]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SAP ==&lt;br /&gt;
&lt;br /&gt;
*[[SAP: Transacoes Uteis]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10232</id>
		<title>Tecnologias</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10232"/>
		<updated>2026-07-15T14:26:17Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* LDAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OpenSSL =&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Criando uma Autoridade Certificadora (CA)]]&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Assinando um CSR com a nossa CA]]&lt;br /&gt;
&lt;br /&gt;
= LDAP =&lt;br /&gt;
&lt;br /&gt;
*[[Java: Pega Grupos do Usuario no LDAP| Pega os Grupos de um Usuário no LDAP]]&lt;br /&gt;
&lt;br /&gt;
*[[Pesquisa LDAP com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[LDAP: Listando Atributos com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[Filtros de Busca por Diretório]]&lt;br /&gt;
&lt;br /&gt;
== OpenLDAP Server ==&lt;br /&gt;
&lt;br /&gt;
*[[OpenLDAP:Configurando um LDAP Proxy|Configurando um LDAP Proxy]]&lt;br /&gt;
&lt;br /&gt;
= Antispam e Email = &lt;br /&gt;
&lt;br /&gt;
== ASSP ==&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Inicializacao Automatica do ASSP]]&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
&lt;br /&gt;
== Clamav ==&lt;br /&gt;
&lt;br /&gt;
*[[Automatizando a atualizacao do Clamav]]&lt;br /&gt;
&lt;br /&gt;
== Postfix Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Gerenciamento do Postfix]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Serviços de Rede =&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DHCP]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DNS]]&lt;br /&gt;
&lt;br /&gt;
= Web/HTTP Servers/Proxy Servers =&lt;br /&gt;
&lt;br /&gt;
== AWSTATS ==&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Configurando o AWSTATS]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Agrupando os arquivos access.log]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Gerando um html estático]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Schedulando a atualização automatica no MS Windows]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apache HTTP Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Apache HTTP Server| Artigos sobre o Apache HTTP Server]]&lt;br /&gt;
&lt;br /&gt;
== Apache Tomcat Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Tomcat:Script que checa se o Tomcat está no Ar|Script que checa se o Tomcat está no Ar]]&lt;br /&gt;
&lt;br /&gt;
== Squid Proxy Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Squid autenticando com o Samba|Squid autenticando na Rede Windows ou Samba]]&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Limpando o Cache do Squid|Limpando o Cache do Squid]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Banco de Dados = &lt;br /&gt;
&lt;br /&gt;
== MySQL Server ==&lt;br /&gt;
&lt;br /&gt;
*[[MySQL:Configurando o MySQL|Configurando o MySQL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Diversos = &lt;br /&gt;
== Elgg ==&lt;br /&gt;
&lt;br /&gt;
* [[Elgg:The requested URL elgg html action systemsettings install was not found on this server]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Watchit=&lt;br /&gt;
&lt;br /&gt;
Watchit é uma ferramenta para monitoração, debugar e coletar dados de performance em ambiente Sametime, Domino, Traveler, Connections, LDAP, database e network.&lt;br /&gt;
&lt;br /&gt;
*[[Watchit: Install Watchit on SLES 11 SP2 x86_64]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SAP ==&lt;br /&gt;
&lt;br /&gt;
*[[SAP: Transacoes Uteis]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10231</id>
		<title>Tecnologias</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10231"/>
		<updated>2026-07-15T14:24:55Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= OpenSSL =&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Criando uma Autoridade Certificadora (CA)]]&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Assinando um CSR com a nossa CA]]&lt;br /&gt;
&lt;br /&gt;
= LDAP =&lt;br /&gt;
&lt;br /&gt;
== Artigos sobre LDAP ==&lt;br /&gt;
&lt;br /&gt;
*[[Java: Pega Grupos do Usuario no LDAP| Pega os Grupos de um Usuário no LDAP]]&lt;br /&gt;
&lt;br /&gt;
*[[Pesquisa LDAP com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[LDAP: Listando Atributos com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[Filtros de Busca por Diretório]]&lt;br /&gt;
&lt;br /&gt;
== OpenLDAP Server ==&lt;br /&gt;
&lt;br /&gt;
*[[OpenLDAP:Configurando um LDAP Proxy|Configurando um LDAP Proxy]]&lt;br /&gt;
&lt;br /&gt;
= Antispam e Email = &lt;br /&gt;
&lt;br /&gt;
== ASSP ==&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Inicializacao Automatica do ASSP]]&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
&lt;br /&gt;
== Clamav ==&lt;br /&gt;
&lt;br /&gt;
*[[Automatizando a atualizacao do Clamav]]&lt;br /&gt;
&lt;br /&gt;
== Postfix Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Gerenciamento do Postfix]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Serviços de Rede =&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DHCP]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DNS]]&lt;br /&gt;
&lt;br /&gt;
= Web/HTTP Servers/Proxy Servers =&lt;br /&gt;
&lt;br /&gt;
== AWSTATS ==&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Configurando o AWSTATS]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Agrupando os arquivos access.log]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Gerando um html estático]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Schedulando a atualização automatica no MS Windows]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apache HTTP Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Apache HTTP Server| Artigos sobre o Apache HTTP Server]]&lt;br /&gt;
&lt;br /&gt;
== Apache Tomcat Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Tomcat:Script que checa se o Tomcat está no Ar|Script que checa se o Tomcat está no Ar]]&lt;br /&gt;
&lt;br /&gt;
== Squid Proxy Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Squid autenticando com o Samba|Squid autenticando na Rede Windows ou Samba]]&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Limpando o Cache do Squid|Limpando o Cache do Squid]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Banco de Dados = &lt;br /&gt;
&lt;br /&gt;
== MySQL Server ==&lt;br /&gt;
&lt;br /&gt;
*[[MySQL:Configurando o MySQL|Configurando o MySQL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Diversos = &lt;br /&gt;
== Elgg ==&lt;br /&gt;
&lt;br /&gt;
* [[Elgg:The requested URL elgg html action systemsettings install was not found on this server]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Watchit=&lt;br /&gt;
&lt;br /&gt;
Watchit é uma ferramenta para monitoração, debugar e coletar dados de performance em ambiente Sametime, Domino, Traveler, Connections, LDAP, database e network.&lt;br /&gt;
&lt;br /&gt;
*[[Watchit: Install Watchit on SLES 11 SP2 x86_64]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SAP ==&lt;br /&gt;
&lt;br /&gt;
*[[SAP: Transacoes Uteis]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10230</id>
		<title>Tecnologias</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=Tecnologias&amp;diff=10230"/>
		<updated>2026-07-15T14:24:33Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
*[[Watchit: Install Watchit on SLES 11 SP2 x86_64]]&lt;br /&gt;
&lt;br /&gt;
= OpenSSL =&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Criando uma Autoridade Certificadora (CA)]]&lt;br /&gt;
&lt;br /&gt;
* [[OpenSSL: Assinando um CSR com a nossa CA]]&lt;br /&gt;
&lt;br /&gt;
= LDAP =&lt;br /&gt;
&lt;br /&gt;
== Artigos sobre LDAP ==&lt;br /&gt;
&lt;br /&gt;
*[[Java: Pega Grupos do Usuario no LDAP| Pega os Grupos de um Usuário no LDAP]]&lt;br /&gt;
&lt;br /&gt;
*[[Pesquisa LDAP com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[LDAP: Listando Atributos com o ldapsearch]]&lt;br /&gt;
&lt;br /&gt;
*[[Filtros de Busca por Diretório]]&lt;br /&gt;
&lt;br /&gt;
== OpenLDAP Server ==&lt;br /&gt;
&lt;br /&gt;
*[[OpenLDAP:Configurando um LDAP Proxy|Configurando um LDAP Proxy]]&lt;br /&gt;
&lt;br /&gt;
= Antispam e Email = &lt;br /&gt;
&lt;br /&gt;
== ASSP ==&lt;br /&gt;
&lt;br /&gt;
*[[ASSP:Inicializacao Automatica do ASSP]]&lt;br /&gt;
*[[ASSP:Automatizando o Rebuild.pl]]&lt;br /&gt;
&lt;br /&gt;
== Clamav ==&lt;br /&gt;
&lt;br /&gt;
*[[Automatizando a atualizacao do Clamav]]&lt;br /&gt;
&lt;br /&gt;
== Postfix Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Configurando o Postfix com SmartHost do ASSP]]&lt;br /&gt;
*[[Gerenciamento do Postfix]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Serviços de Rede =&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando DHCP e BIND com DNS Dinamico]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DHCP]]&lt;br /&gt;
&lt;br /&gt;
*[[Linux: Configurando um servidor DNS]]&lt;br /&gt;
&lt;br /&gt;
= Web/HTTP Servers/Proxy Servers =&lt;br /&gt;
&lt;br /&gt;
== AWSTATS ==&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Configurando o AWSTATS]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Agrupando os arquivos access.log]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Gerando um html estático]]&lt;br /&gt;
&lt;br /&gt;
*[[AWSTATS: Schedulando a atualização automatica no MS Windows]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Apache HTTP Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Apache HTTP Server| Artigos sobre o Apache HTTP Server]]&lt;br /&gt;
&lt;br /&gt;
== Apache Tomcat Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Tomcat:Script que checa se o Tomcat está no Ar|Script que checa se o Tomcat está no Ar]]&lt;br /&gt;
&lt;br /&gt;
== Squid Proxy Server ==&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Squid autenticando com o Samba|Squid autenticando na Rede Windows ou Samba]]&lt;br /&gt;
&lt;br /&gt;
*[[Squid:Limpando o Cache do Squid|Limpando o Cache do Squid]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Banco de Dados = &lt;br /&gt;
&lt;br /&gt;
== MySQL Server ==&lt;br /&gt;
&lt;br /&gt;
*[[MySQL:Configurando o MySQL|Configurando o MySQL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Diversos = &lt;br /&gt;
== Elgg ==&lt;br /&gt;
&lt;br /&gt;
* [[Elgg:The requested URL elgg html action systemsettings install was not found on this server]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Watchit=&lt;br /&gt;
&lt;br /&gt;
Watchit é uma ferramenta para monitoração, debugar e coletar dados de performance em ambiente Sametime, Domino, Traveler, Connections, LDAP, database e network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SAP ==&lt;br /&gt;
&lt;br /&gt;
*[[SAP: Transacoes Uteis]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10229</id>
		<title>IBM Maximo: Containerized NGINX server with authentication to securely host and distribute customization files.zip</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10229"/>
		<updated>2026-07-06T17:50:50Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* 6) Download a File with curl */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nginx container running on OpenShift to provide &#039;&#039;&#039;customization_files.zip&#039;&#039;&#039; file sharing between containers, with token-protected uploads.&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ curl / another container ]&lt;br /&gt;
         │&lt;br /&gt;
    PUT /files/&amp;lt;filename&amp;gt;          ← protected by X-Upload-Token&lt;br /&gt;
    GET /files/&amp;lt;filename&amp;gt;          ← public (download)&lt;br /&gt;
         │&lt;br /&gt;
  ┌──────▼───────────────────────┐&lt;br /&gt;
  │   nginx-fileserver Pod       │&lt;br /&gt;
  │   image: nginx-unprivileged  │&lt;br /&gt;
  │   port: 8080                 │&lt;br /&gt;
  └──────────────────────────────┘&lt;br /&gt;
         │&lt;br /&gt;
  PersistentVolumeClaim: /data/files&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Procedure = &lt;br /&gt;
&lt;br /&gt;
== 1) Clone repository ==&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &#039;&#039;&#039;UPLOAD_TOKEN&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ebasso/mas-nginx-customization-file-server.git&lt;br /&gt;
&lt;br /&gt;
cd mas-nginx-customization-file-server/yamls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2) Configure the Secret Token ==&lt;br /&gt;
&lt;br /&gt;
Generate a strong token using &lt;br /&gt;
&lt;br /&gt;
 openssl rand -hex 32&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &#039;&#039;&#039;UPLOAD_TOKEN&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
stringData:&lt;br /&gt;
  UPLOAD_TOKEN: &amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3) Full Deployment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project mas-nginx&lt;br /&gt;
&lt;br /&gt;
# Apply all resources in the correct order&lt;br /&gt;
oc apply -f secret-upload-token.yaml&lt;br /&gt;
oc apply -f configmap-nginx.yaml&lt;br /&gt;
oc apply -f pvc-nginx-files.yaml&lt;br /&gt;
oc apply -f deployment-nginx.yaml&lt;br /&gt;
oc apply -f service-nginx.yaml&lt;br /&gt;
oc apply -f route-nginx.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4) Verify the Route URL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;nowiki&amp;gt;nginx-fileserver-mas-nginx.apps.cluster.example.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5) Upload a File with curl ==&lt;br /&gt;
&lt;br /&gt;
Via Route (External Access)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=http://nginx-fileserver.mas-nginx.svc:8080&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6) Download a File with curl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=http://nginx-fileserver.mas-nginx.svc:8080&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 6.1) List Available Files ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;curl &amp;quot;https://${NGINX_HOST}/files/&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or internally:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;curl &amp;quot;http://nginx-fileserver.mas-nginx.svc:8080/files/&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Cloud| Artigos sobre Cloud]]&lt;br /&gt;
* [[Tecnologias|  Mais Artigos sobre Cloud / WebDev / Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM Maximo]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10228</id>
		<title>IBM Maximo: Containerized NGINX server with authentication to securely host and distribute customization files.zip</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10228"/>
		<updated>2026-07-06T17:49:58Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* 6.1) List Available Files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nginx container running on OpenShift to provide &#039;&#039;&#039;customization_files.zip&#039;&#039;&#039; file sharing between containers, with token-protected uploads.&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ curl / another container ]&lt;br /&gt;
         │&lt;br /&gt;
    PUT /files/&amp;lt;filename&amp;gt;          ← protected by X-Upload-Token&lt;br /&gt;
    GET /files/&amp;lt;filename&amp;gt;          ← public (download)&lt;br /&gt;
         │&lt;br /&gt;
  ┌──────▼───────────────────────┐&lt;br /&gt;
  │   nginx-fileserver Pod       │&lt;br /&gt;
  │   image: nginx-unprivileged  │&lt;br /&gt;
  │   port: 8080                 │&lt;br /&gt;
  └──────────────────────────────┘&lt;br /&gt;
         │&lt;br /&gt;
  PersistentVolumeClaim: /data/files&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Procedure = &lt;br /&gt;
&lt;br /&gt;
== 1) Clone repository ==&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &#039;&#039;&#039;UPLOAD_TOKEN&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ebasso/mas-nginx-customization-file-server.git&lt;br /&gt;
&lt;br /&gt;
cd mas-nginx-customization-file-server/yamls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2) Configure the Secret Token ==&lt;br /&gt;
&lt;br /&gt;
Generate a strong token using &lt;br /&gt;
&lt;br /&gt;
 openssl rand -hex 32&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &#039;&#039;&#039;UPLOAD_TOKEN&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
stringData:&lt;br /&gt;
  UPLOAD_TOKEN: &amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3) Full Deployment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project mas-nginx&lt;br /&gt;
&lt;br /&gt;
# Apply all resources in the correct order&lt;br /&gt;
oc apply -f secret-upload-token.yaml&lt;br /&gt;
oc apply -f configmap-nginx.yaml&lt;br /&gt;
oc apply -f pvc-nginx-files.yaml&lt;br /&gt;
oc apply -f deployment-nginx.yaml&lt;br /&gt;
oc apply -f service-nginx.yaml&lt;br /&gt;
oc apply -f route-nginx.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4) Verify the Route URL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;nowiki&amp;gt;nginx-fileserver-mas-nginx.apps.cluster.example.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5) Upload a File with curl ==&lt;br /&gt;
&lt;br /&gt;
Via Route (External Access)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=http://nginx-fileserver.mas-nginx.svc:8080&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6) Download a File with curl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=http://nginx-fileserver.mas-nginx.svc:8080&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 6.1) List Available Files ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;curl &amp;quot;https://${NGINX_HOST}/files/&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or internally:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;curl &amp;quot;http://nginx-fileserver.mas-nginx.svc:8080/files/&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Cloud| Artigos sobre Cloud]]&lt;br /&gt;
* [[Tecnologias|  Mais Artigos sobre Cloud / WebDev / Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM Maximo]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10227</id>
		<title>IBM Maximo: Containerized NGINX server with authentication to securely host and distribute customization files.zip</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10227"/>
		<updated>2026-07-06T17:49:35Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* 6.1) List Available Files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nginx container running on OpenShift to provide &#039;&#039;&#039;customization_files.zip&#039;&#039;&#039; file sharing between containers, with token-protected uploads.&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ curl / another container ]&lt;br /&gt;
         │&lt;br /&gt;
    PUT /files/&amp;lt;filename&amp;gt;          ← protected by X-Upload-Token&lt;br /&gt;
    GET /files/&amp;lt;filename&amp;gt;          ← public (download)&lt;br /&gt;
         │&lt;br /&gt;
  ┌──────▼───────────────────────┐&lt;br /&gt;
  │   nginx-fileserver Pod       │&lt;br /&gt;
  │   image: nginx-unprivileged  │&lt;br /&gt;
  │   port: 8080                 │&lt;br /&gt;
  └──────────────────────────────┘&lt;br /&gt;
         │&lt;br /&gt;
  PersistentVolumeClaim: /data/files&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Procedure = &lt;br /&gt;
&lt;br /&gt;
== 1) Clone repository ==&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &#039;&#039;&#039;UPLOAD_TOKEN&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ebasso/mas-nginx-customization-file-server.git&lt;br /&gt;
&lt;br /&gt;
cd mas-nginx-customization-file-server/yamls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2) Configure the Secret Token ==&lt;br /&gt;
&lt;br /&gt;
Generate a strong token using &lt;br /&gt;
&lt;br /&gt;
 openssl rand -hex 32&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &#039;&#039;&#039;UPLOAD_TOKEN&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
stringData:&lt;br /&gt;
  UPLOAD_TOKEN: &amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3) Full Deployment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project mas-nginx&lt;br /&gt;
&lt;br /&gt;
# Apply all resources in the correct order&lt;br /&gt;
oc apply -f secret-upload-token.yaml&lt;br /&gt;
oc apply -f configmap-nginx.yaml&lt;br /&gt;
oc apply -f pvc-nginx-files.yaml&lt;br /&gt;
oc apply -f deployment-nginx.yaml&lt;br /&gt;
oc apply -f service-nginx.yaml&lt;br /&gt;
oc apply -f route-nginx.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4) Verify the Route URL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;nowiki&amp;gt;nginx-fileserver-mas-nginx.apps.cluster.example.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5) Upload a File with curl ==&lt;br /&gt;
&lt;br /&gt;
Via Route (External Access)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=http://nginx-fileserver.mas-nginx.svc:8080&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6) Download a File with curl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=http://nginx-fileserver.mas-nginx.svc:8080&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 6.1) List Available Files ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;curl &amp;quot;https://${NGINX_HOST}/files/&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or internally:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;curl &amp;quot;http://nginx-fileserver:8080/files/&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Cloud| Artigos sobre Cloud]]&lt;br /&gt;
* [[Tecnologias|  Mais Artigos sobre Cloud / WebDev / Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM Maximo]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10226</id>
		<title>IBM Maximo: Containerized NGINX server with authentication to securely host and distribute customization files.zip</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10226"/>
		<updated>2026-07-06T17:48:49Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* 6) Download a File with curl */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nginx container running on OpenShift to provide &#039;&#039;&#039;customization_files.zip&#039;&#039;&#039; file sharing between containers, with token-protected uploads.&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ curl / another container ]&lt;br /&gt;
         │&lt;br /&gt;
    PUT /files/&amp;lt;filename&amp;gt;          ← protected by X-Upload-Token&lt;br /&gt;
    GET /files/&amp;lt;filename&amp;gt;          ← public (download)&lt;br /&gt;
         │&lt;br /&gt;
  ┌──────▼───────────────────────┐&lt;br /&gt;
  │   nginx-fileserver Pod       │&lt;br /&gt;
  │   image: nginx-unprivileged  │&lt;br /&gt;
  │   port: 8080                 │&lt;br /&gt;
  └──────────────────────────────┘&lt;br /&gt;
         │&lt;br /&gt;
  PersistentVolumeClaim: /data/files&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Procedure = &lt;br /&gt;
&lt;br /&gt;
== 1) Clone repository ==&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &#039;&#039;&#039;UPLOAD_TOKEN&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ebasso/mas-nginx-customization-file-server.git&lt;br /&gt;
&lt;br /&gt;
cd mas-nginx-customization-file-server/yamls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2) Configure the Secret Token ==&lt;br /&gt;
&lt;br /&gt;
Generate a strong token using &lt;br /&gt;
&lt;br /&gt;
 openssl rand -hex 32&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &#039;&#039;&#039;UPLOAD_TOKEN&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
stringData:&lt;br /&gt;
  UPLOAD_TOKEN: &amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3) Full Deployment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project mas-nginx&lt;br /&gt;
&lt;br /&gt;
# Apply all resources in the correct order&lt;br /&gt;
oc apply -f secret-upload-token.yaml&lt;br /&gt;
oc apply -f configmap-nginx.yaml&lt;br /&gt;
oc apply -f pvc-nginx-files.yaml&lt;br /&gt;
oc apply -f deployment-nginx.yaml&lt;br /&gt;
oc apply -f service-nginx.yaml&lt;br /&gt;
oc apply -f route-nginx.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4) Verify the Route URL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;nowiki&amp;gt;nginx-fileserver-mas-nginx.apps.cluster.example.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5) Upload a File with curl ==&lt;br /&gt;
&lt;br /&gt;
Via Route (External Access)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=http://nginx-fileserver.mas-nginx.svc:8080&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6) Download a File with curl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=http://nginx-fileserver.mas-nginx.svc:8080&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 6.1) List Available Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl &amp;quot;https://${NGINX_HOST}/files/&amp;quot;&lt;br /&gt;
# or internally:&lt;br /&gt;
curl &amp;quot;http://nginx-fileserver:8080/files/&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Cloud| Artigos sobre Cloud]]&lt;br /&gt;
* [[Tecnologias|  Mais Artigos sobre Cloud / WebDev / Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM Maximo]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10225</id>
		<title>IBM Maximo: Containerized NGINX server with authentication to securely host and distribute customization files.zip</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10225"/>
		<updated>2026-07-06T17:48:31Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* 5) Upload a File with curl */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nginx container running on OpenShift to provide &#039;&#039;&#039;customization_files.zip&#039;&#039;&#039; file sharing between containers, with token-protected uploads.&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ curl / another container ]&lt;br /&gt;
         │&lt;br /&gt;
    PUT /files/&amp;lt;filename&amp;gt;          ← protected by X-Upload-Token&lt;br /&gt;
    GET /files/&amp;lt;filename&amp;gt;          ← public (download)&lt;br /&gt;
         │&lt;br /&gt;
  ┌──────▼───────────────────────┐&lt;br /&gt;
  │   nginx-fileserver Pod       │&lt;br /&gt;
  │   image: nginx-unprivileged  │&lt;br /&gt;
  │   port: 8080                 │&lt;br /&gt;
  └──────────────────────────────┘&lt;br /&gt;
         │&lt;br /&gt;
  PersistentVolumeClaim: /data/files&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Procedure = &lt;br /&gt;
&lt;br /&gt;
== 1) Clone repository ==&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &#039;&#039;&#039;UPLOAD_TOKEN&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ebasso/mas-nginx-customization-file-server.git&lt;br /&gt;
&lt;br /&gt;
cd mas-nginx-customization-file-server/yamls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2) Configure the Secret Token ==&lt;br /&gt;
&lt;br /&gt;
Generate a strong token using &lt;br /&gt;
&lt;br /&gt;
 openssl rand -hex 32&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &#039;&#039;&#039;UPLOAD_TOKEN&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
stringData:&lt;br /&gt;
  UPLOAD_TOKEN: &amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3) Full Deployment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project mas-nginx&lt;br /&gt;
&lt;br /&gt;
# Apply all resources in the correct order&lt;br /&gt;
oc apply -f secret-upload-token.yaml&lt;br /&gt;
oc apply -f configmap-nginx.yaml&lt;br /&gt;
oc apply -f pvc-nginx-files.yaml&lt;br /&gt;
oc apply -f deployment-nginx.yaml&lt;br /&gt;
oc apply -f service-nginx.yaml&lt;br /&gt;
oc apply -f route-nginx.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4) Verify the Route URL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;nowiki&amp;gt;nginx-fileserver-mas-nginx.apps.cluster.example.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5) Upload a File with curl ==&lt;br /&gt;
&lt;br /&gt;
Via Route (External Access)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=http://nginx-fileserver.mas-nginx.svc:8080&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6) Download a File with curl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=http://nginx-fileserver:8080&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 6.1) List Available Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl &amp;quot;https://${NGINX_HOST}/files/&amp;quot;&lt;br /&gt;
# or internally:&lt;br /&gt;
curl &amp;quot;http://nginx-fileserver:8080/files/&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Cloud| Artigos sobre Cloud]]&lt;br /&gt;
* [[Tecnologias|  Mais Artigos sobre Cloud / WebDev / Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM Maximo]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10224</id>
		<title>IBM Maximo: Containerized NGINX server with authentication to securely host and distribute customization files.zip</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10224"/>
		<updated>2026-07-06T17:47:24Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* 2) Configure the Secret Token */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nginx container running on OpenShift to provide &#039;&#039;&#039;customization_files.zip&#039;&#039;&#039; file sharing between containers, with token-protected uploads.&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ curl / another container ]&lt;br /&gt;
         │&lt;br /&gt;
    PUT /files/&amp;lt;filename&amp;gt;          ← protected by X-Upload-Token&lt;br /&gt;
    GET /files/&amp;lt;filename&amp;gt;          ← public (download)&lt;br /&gt;
         │&lt;br /&gt;
  ┌──────▼───────────────────────┐&lt;br /&gt;
  │   nginx-fileserver Pod       │&lt;br /&gt;
  │   image: nginx-unprivileged  │&lt;br /&gt;
  │   port: 8080                 │&lt;br /&gt;
  └──────────────────────────────┘&lt;br /&gt;
         │&lt;br /&gt;
  PersistentVolumeClaim: /data/files&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Procedure = &lt;br /&gt;
&lt;br /&gt;
== 1) Clone repository ==&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &#039;&#039;&#039;UPLOAD_TOKEN&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ebasso/mas-nginx-customization-file-server.git&lt;br /&gt;
&lt;br /&gt;
cd mas-nginx-customization-file-server/yamls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2) Configure the Secret Token ==&lt;br /&gt;
&lt;br /&gt;
Generate a strong token using &lt;br /&gt;
&lt;br /&gt;
 openssl rand -hex 32&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &#039;&#039;&#039;UPLOAD_TOKEN&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
stringData:&lt;br /&gt;
  UPLOAD_TOKEN: &amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3) Full Deployment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project mas-nginx&lt;br /&gt;
&lt;br /&gt;
# Apply all resources in the correct order&lt;br /&gt;
oc apply -f secret-upload-token.yaml&lt;br /&gt;
oc apply -f configmap-nginx.yaml&lt;br /&gt;
oc apply -f pvc-nginx-files.yaml&lt;br /&gt;
oc apply -f deployment-nginx.yaml&lt;br /&gt;
oc apply -f service-nginx.yaml&lt;br /&gt;
oc apply -f route-nginx.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4) Verify the Route URL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;nowiki&amp;gt;nginx-fileserver-mas-nginx.apps.cluster.example.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5) Upload a File with curl ==&lt;br /&gt;
&lt;br /&gt;
Via Route (External Access)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access) &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6) Download a File with curl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=http://nginx-fileserver:8080&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 6.1) List Available Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl &amp;quot;https://${NGINX_HOST}/files/&amp;quot;&lt;br /&gt;
# or internally:&lt;br /&gt;
curl &amp;quot;http://nginx-fileserver:8080/files/&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Cloud| Artigos sobre Cloud]]&lt;br /&gt;
* [[Tecnologias|  Mais Artigos sobre Cloud / WebDev / Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM Maximo]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10223</id>
		<title>IBM Maximo: Containerized NGINX server with authentication to securely host and distribute customization files.zip</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10223"/>
		<updated>2026-07-06T17:47:18Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* 1) Clone repository */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nginx container running on OpenShift to provide &#039;&#039;&#039;customization_files.zip&#039;&#039;&#039; file sharing between containers, with token-protected uploads.&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ curl / another container ]&lt;br /&gt;
         │&lt;br /&gt;
    PUT /files/&amp;lt;filename&amp;gt;          ← protected by X-Upload-Token&lt;br /&gt;
    GET /files/&amp;lt;filename&amp;gt;          ← public (download)&lt;br /&gt;
         │&lt;br /&gt;
  ┌──────▼───────────────────────┐&lt;br /&gt;
  │   nginx-fileserver Pod       │&lt;br /&gt;
  │   image: nginx-unprivileged  │&lt;br /&gt;
  │   port: 8080                 │&lt;br /&gt;
  └──────────────────────────────┘&lt;br /&gt;
         │&lt;br /&gt;
  PersistentVolumeClaim: /data/files&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Procedure = &lt;br /&gt;
&lt;br /&gt;
== 1) Clone repository ==&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &#039;&#039;&#039;UPLOAD_TOKEN&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ebasso/mas-nginx-customization-file-server.git&lt;br /&gt;
&lt;br /&gt;
cd mas-nginx-customization-file-server/yamls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2) Configure the Secret Token ==&lt;br /&gt;
&lt;br /&gt;
Generate a strong token using &lt;br /&gt;
&lt;br /&gt;
 openssl rand -hex 32&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
stringData:&lt;br /&gt;
  UPLOAD_TOKEN: &amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3) Full Deployment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project mas-nginx&lt;br /&gt;
&lt;br /&gt;
# Apply all resources in the correct order&lt;br /&gt;
oc apply -f secret-upload-token.yaml&lt;br /&gt;
oc apply -f configmap-nginx.yaml&lt;br /&gt;
oc apply -f pvc-nginx-files.yaml&lt;br /&gt;
oc apply -f deployment-nginx.yaml&lt;br /&gt;
oc apply -f service-nginx.yaml&lt;br /&gt;
oc apply -f route-nginx.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4) Verify the Route URL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;nowiki&amp;gt;nginx-fileserver-mas-nginx.apps.cluster.example.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5) Upload a File with curl ==&lt;br /&gt;
&lt;br /&gt;
Via Route (External Access)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access) &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6) Download a File with curl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=http://nginx-fileserver:8080&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 6.1) List Available Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl &amp;quot;https://${NGINX_HOST}/files/&amp;quot;&lt;br /&gt;
# or internally:&lt;br /&gt;
curl &amp;quot;http://nginx-fileserver:8080/files/&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Cloud| Artigos sobre Cloud]]&lt;br /&gt;
* [[Tecnologias|  Mais Artigos sobre Cloud / WebDev / Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM Maximo]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10222</id>
		<title>IBM Maximo: Containerized NGINX server with authentication to securely host and distribute customization files.zip</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10222"/>
		<updated>2026-07-06T17:46:49Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* 1) Clone repository */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nginx container running on OpenShift to provide &#039;&#039;&#039;customization_files.zip&#039;&#039;&#039; file sharing between containers, with token-protected uploads.&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ curl / another container ]&lt;br /&gt;
         │&lt;br /&gt;
    PUT /files/&amp;lt;filename&amp;gt;          ← protected by X-Upload-Token&lt;br /&gt;
    GET /files/&amp;lt;filename&amp;gt;          ← public (download)&lt;br /&gt;
         │&lt;br /&gt;
  ┌──────▼───────────────────────┐&lt;br /&gt;
  │   nginx-fileserver Pod       │&lt;br /&gt;
  │   image: nginx-unprivileged  │&lt;br /&gt;
  │   port: 8080                 │&lt;br /&gt;
  └──────────────────────────────┘&lt;br /&gt;
         │&lt;br /&gt;
  PersistentVolumeClaim: /data/files&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Procedure = &lt;br /&gt;
&lt;br /&gt;
== 1) Clone repository ==&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ebasso/mas-nginx-customization-file-server.git&lt;br /&gt;
&lt;br /&gt;
cd mas-nginx-customization-file-server/yamls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2) Configure the Secret Token ==&lt;br /&gt;
&lt;br /&gt;
Generate a strong token using &lt;br /&gt;
&lt;br /&gt;
 openssl rand -hex 32&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
stringData:&lt;br /&gt;
  UPLOAD_TOKEN: &amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3) Full Deployment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project mas-nginx&lt;br /&gt;
&lt;br /&gt;
# Apply all resources in the correct order&lt;br /&gt;
oc apply -f secret-upload-token.yaml&lt;br /&gt;
oc apply -f configmap-nginx.yaml&lt;br /&gt;
oc apply -f pvc-nginx-files.yaml&lt;br /&gt;
oc apply -f deployment-nginx.yaml&lt;br /&gt;
oc apply -f service-nginx.yaml&lt;br /&gt;
oc apply -f route-nginx.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4) Verify the Route URL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;nowiki&amp;gt;nginx-fileserver-mas-nginx.apps.cluster.example.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5) Upload a File with curl ==&lt;br /&gt;
&lt;br /&gt;
Via Route (External Access)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access) &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6) Download a File with curl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=http://nginx-fileserver:8080&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 6.1) List Available Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl &amp;quot;https://${NGINX_HOST}/files/&amp;quot;&lt;br /&gt;
# or internally:&lt;br /&gt;
curl &amp;quot;http://nginx-fileserver:8080/files/&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Cloud| Artigos sobre Cloud]]&lt;br /&gt;
* [[Tecnologias|  Mais Artigos sobre Cloud / WebDev / Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM Maximo]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10221</id>
		<title>IBM Maximo: Containerized NGINX server with authentication to securely host and distribute customization files.zip</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10221"/>
		<updated>2026-07-06T17:45:31Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* 6) Download a File with curl */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nginx container running on OpenShift to provide &#039;&#039;&#039;customization_files.zip&#039;&#039;&#039; file sharing between containers, with token-protected uploads.&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ curl / another container ]&lt;br /&gt;
         │&lt;br /&gt;
    PUT /files/&amp;lt;filename&amp;gt;          ← protected by X-Upload-Token&lt;br /&gt;
    GET /files/&amp;lt;filename&amp;gt;          ← public (download)&lt;br /&gt;
         │&lt;br /&gt;
  ┌──────▼───────────────────────┐&lt;br /&gt;
  │   nginx-fileserver Pod       │&lt;br /&gt;
  │   image: nginx-unprivileged  │&lt;br /&gt;
  │   port: 8080                 │&lt;br /&gt;
  └──────────────────────────────┘&lt;br /&gt;
         │&lt;br /&gt;
  PersistentVolumeClaim: /data/files&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Procedure = &lt;br /&gt;
&lt;br /&gt;
== 1) Clone repository ==&lt;br /&gt;
&lt;br /&gt;
Edit [[secret-upload-token.yaml]] and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ebasso/mas-nginx-customization-file-server.git&lt;br /&gt;
&lt;br /&gt;
cd mas-nginx-customization-file-server/yamls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2) Configure the Secret Token ==&lt;br /&gt;
&lt;br /&gt;
Generate a strong token using &lt;br /&gt;
&lt;br /&gt;
 openssl rand -hex 32&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
stringData:&lt;br /&gt;
  UPLOAD_TOKEN: &amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3) Full Deployment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project mas-nginx&lt;br /&gt;
&lt;br /&gt;
# Apply all resources in the correct order&lt;br /&gt;
oc apply -f secret-upload-token.yaml&lt;br /&gt;
oc apply -f configmap-nginx.yaml&lt;br /&gt;
oc apply -f pvc-nginx-files.yaml&lt;br /&gt;
oc apply -f deployment-nginx.yaml&lt;br /&gt;
oc apply -f service-nginx.yaml&lt;br /&gt;
oc apply -f route-nginx.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4) Verify the Route URL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;nowiki&amp;gt;nginx-fileserver-mas-nginx.apps.cluster.example.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5) Upload a File with curl ==&lt;br /&gt;
&lt;br /&gt;
Via Route (External Access)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access) &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6) Download a File with curl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=http://nginx-fileserver:8080&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 6.1) List Available Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl &amp;quot;https://${NGINX_HOST}/files/&amp;quot;&lt;br /&gt;
# or internally:&lt;br /&gt;
curl &amp;quot;http://nginx-fileserver:8080/files/&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Cloud| Artigos sobre Cloud]]&lt;br /&gt;
* [[Tecnologias|  Mais Artigos sobre Cloud / WebDev / Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM Maximo]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10220</id>
		<title>IBM Maximo: Containerized NGINX server with authentication to securely host and distribute customization files.zip</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10220"/>
		<updated>2026-07-06T17:44:43Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* 5) Upload a File with curl */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nginx container running on OpenShift to provide &#039;&#039;&#039;customization_files.zip&#039;&#039;&#039; file sharing between containers, with token-protected uploads.&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ curl / another container ]&lt;br /&gt;
         │&lt;br /&gt;
    PUT /files/&amp;lt;filename&amp;gt;          ← protected by X-Upload-Token&lt;br /&gt;
    GET /files/&amp;lt;filename&amp;gt;          ← public (download)&lt;br /&gt;
         │&lt;br /&gt;
  ┌──────▼───────────────────────┐&lt;br /&gt;
  │   nginx-fileserver Pod       │&lt;br /&gt;
  │   image: nginx-unprivileged  │&lt;br /&gt;
  │   port: 8080                 │&lt;br /&gt;
  └──────────────────────────────┘&lt;br /&gt;
         │&lt;br /&gt;
  PersistentVolumeClaim: /data/files&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Procedure = &lt;br /&gt;
&lt;br /&gt;
== 1) Clone repository ==&lt;br /&gt;
&lt;br /&gt;
Edit [[secret-upload-token.yaml]] and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ebasso/mas-nginx-customization-file-server.git&lt;br /&gt;
&lt;br /&gt;
cd mas-nginx-customization-file-server/yamls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2) Configure the Secret Token ==&lt;br /&gt;
&lt;br /&gt;
Generate a strong token using &lt;br /&gt;
&lt;br /&gt;
 openssl rand -hex 32&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
stringData:&lt;br /&gt;
  UPLOAD_TOKEN: &amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3) Full Deployment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project mas-nginx&lt;br /&gt;
&lt;br /&gt;
# Apply all resources in the correct order&lt;br /&gt;
oc apply -f secret-upload-token.yaml&lt;br /&gt;
oc apply -f configmap-nginx.yaml&lt;br /&gt;
oc apply -f pvc-nginx-files.yaml&lt;br /&gt;
oc apply -f deployment-nginx.yaml&lt;br /&gt;
oc apply -f service-nginx.yaml&lt;br /&gt;
oc apply -f route-nginx.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4) Verify the Route URL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;nowiki&amp;gt;nginx-fileserver-mas-nginx.apps.cluster.example.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5) Upload a File with curl ==&lt;br /&gt;
&lt;br /&gt;
Via Route (External Access)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access) &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6) Download a File with curl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 6.1) List Available Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl &amp;quot;https://${NGINX_HOST}/files/&amp;quot;&lt;br /&gt;
# or internally:&lt;br /&gt;
curl &amp;quot;http://nginx-fileserver:8080/files/&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Cloud| Artigos sobre Cloud]]&lt;br /&gt;
* [[Tecnologias|  Mais Artigos sobre Cloud / WebDev / Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM Maximo]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10219</id>
		<title>IBM Maximo: Containerized NGINX server with authentication to securely host and distribute customization files.zip</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10219"/>
		<updated>2026-07-06T17:44:26Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* 6) Download a File with curl */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nginx container running on OpenShift to provide &#039;&#039;&#039;customization_files.zip&#039;&#039;&#039; file sharing between containers, with token-protected uploads.&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ curl / another container ]&lt;br /&gt;
         │&lt;br /&gt;
    PUT /files/&amp;lt;filename&amp;gt;          ← protected by X-Upload-Token&lt;br /&gt;
    GET /files/&amp;lt;filename&amp;gt;          ← public (download)&lt;br /&gt;
         │&lt;br /&gt;
  ┌──────▼───────────────────────┐&lt;br /&gt;
  │   nginx-fileserver Pod       │&lt;br /&gt;
  │   image: nginx-unprivileged  │&lt;br /&gt;
  │   port: 8080                 │&lt;br /&gt;
  └──────────────────────────────┘&lt;br /&gt;
         │&lt;br /&gt;
  PersistentVolumeClaim: /data/files&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Procedure = &lt;br /&gt;
&lt;br /&gt;
== 1) Clone repository ==&lt;br /&gt;
&lt;br /&gt;
Edit [[secret-upload-token.yaml]] and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ebasso/mas-nginx-customization-file-server.git&lt;br /&gt;
&lt;br /&gt;
cd mas-nginx-customization-file-server/yamls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2) Configure the Secret Token ==&lt;br /&gt;
&lt;br /&gt;
Generate a strong token using &lt;br /&gt;
&lt;br /&gt;
 openssl rand -hex 32&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
stringData:&lt;br /&gt;
  UPLOAD_TOKEN: &amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3) Full Deployment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project mas-nginx&lt;br /&gt;
&lt;br /&gt;
# Apply all resources in the correct order&lt;br /&gt;
oc apply -f secret-upload-token.yaml&lt;br /&gt;
oc apply -f configmap-nginx.yaml&lt;br /&gt;
oc apply -f pvc-nginx-files.yaml&lt;br /&gt;
oc apply -f deployment-nginx.yaml&lt;br /&gt;
oc apply -f service-nginx.yaml&lt;br /&gt;
oc apply -f route-nginx.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4) Verify the Route URL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;nowiki&amp;gt;nginx-fileserver-mas-nginx.apps.cluster.example.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5) Upload a File with curl ==&lt;br /&gt;
&lt;br /&gt;
Via Route (External Access)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access) &lt;br /&gt;
&lt;br /&gt;
: NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&lt;br /&gt;
&lt;br /&gt;
== 6) Download a File with curl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 6.1) List Available Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl &amp;quot;https://${NGINX_HOST}/files/&amp;quot;&lt;br /&gt;
# or internally:&lt;br /&gt;
curl &amp;quot;http://nginx-fileserver:8080/files/&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Cloud| Artigos sobre Cloud]]&lt;br /&gt;
* [[Tecnologias|  Mais Artigos sobre Cloud / WebDev / Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM Maximo]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10218</id>
		<title>IBM Maximo: Containerized NGINX server with authentication to securely host and distribute customization files.zip</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10218"/>
		<updated>2026-07-06T17:44:03Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* 5)Upload a File with curl */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nginx container running on OpenShift to provide &#039;&#039;&#039;customization_files.zip&#039;&#039;&#039; file sharing between containers, with token-protected uploads.&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ curl / another container ]&lt;br /&gt;
         │&lt;br /&gt;
    PUT /files/&amp;lt;filename&amp;gt;          ← protected by X-Upload-Token&lt;br /&gt;
    GET /files/&amp;lt;filename&amp;gt;          ← public (download)&lt;br /&gt;
         │&lt;br /&gt;
  ┌──────▼───────────────────────┐&lt;br /&gt;
  │   nginx-fileserver Pod       │&lt;br /&gt;
  │   image: nginx-unprivileged  │&lt;br /&gt;
  │   port: 8080                 │&lt;br /&gt;
  └──────────────────────────────┘&lt;br /&gt;
         │&lt;br /&gt;
  PersistentVolumeClaim: /data/files&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Procedure = &lt;br /&gt;
&lt;br /&gt;
== 1) Clone repository ==&lt;br /&gt;
&lt;br /&gt;
Edit [[secret-upload-token.yaml]] and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ebasso/mas-nginx-customization-file-server.git&lt;br /&gt;
&lt;br /&gt;
cd mas-nginx-customization-file-server/yamls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2) Configure the Secret Token ==&lt;br /&gt;
&lt;br /&gt;
Generate a strong token using &lt;br /&gt;
&lt;br /&gt;
 openssl rand -hex 32&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
stringData:&lt;br /&gt;
  UPLOAD_TOKEN: &amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3) Full Deployment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project mas-nginx&lt;br /&gt;
&lt;br /&gt;
# Apply all resources in the correct order&lt;br /&gt;
oc apply -f secret-upload-token.yaml&lt;br /&gt;
oc apply -f configmap-nginx.yaml&lt;br /&gt;
oc apply -f pvc-nginx-files.yaml&lt;br /&gt;
oc apply -f deployment-nginx.yaml&lt;br /&gt;
oc apply -f service-nginx.yaml&lt;br /&gt;
oc apply -f route-nginx.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4) Verify the Route URL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;nowiki&amp;gt;nginx-fileserver-mas-nginx.apps.cluster.example.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5) Upload a File with curl ==&lt;br /&gt;
&lt;br /&gt;
Via Route (External Access)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access) &lt;br /&gt;
&lt;br /&gt;
: NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&lt;br /&gt;
&lt;br /&gt;
== 6) Download a File with curl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access):&lt;br /&gt;
: NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&lt;br /&gt;
&lt;br /&gt;
=== 6.1) List Available Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl &amp;quot;https://${NGINX_HOST}/files/&amp;quot;&lt;br /&gt;
# or internally:&lt;br /&gt;
curl &amp;quot;http://nginx-fileserver:8080/files/&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Cloud| Artigos sobre Cloud]]&lt;br /&gt;
* [[Tecnologias|  Mais Artigos sobre Cloud / WebDev / Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM Maximo]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10217</id>
		<title>IBM Maximo: Containerized NGINX server with authentication to securely host and distribute customization files.zip</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10217"/>
		<updated>2026-07-06T17:43:38Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* 4 Verify the Route URL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nginx container running on OpenShift to provide &#039;&#039;&#039;customization_files.zip&#039;&#039;&#039; file sharing between containers, with token-protected uploads.&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ curl / another container ]&lt;br /&gt;
         │&lt;br /&gt;
    PUT /files/&amp;lt;filename&amp;gt;          ← protected by X-Upload-Token&lt;br /&gt;
    GET /files/&amp;lt;filename&amp;gt;          ← public (download)&lt;br /&gt;
         │&lt;br /&gt;
  ┌──────▼───────────────────────┐&lt;br /&gt;
  │   nginx-fileserver Pod       │&lt;br /&gt;
  │   image: nginx-unprivileged  │&lt;br /&gt;
  │   port: 8080                 │&lt;br /&gt;
  └──────────────────────────────┘&lt;br /&gt;
         │&lt;br /&gt;
  PersistentVolumeClaim: /data/files&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Procedure = &lt;br /&gt;
&lt;br /&gt;
== 1) Clone repository ==&lt;br /&gt;
&lt;br /&gt;
Edit [[secret-upload-token.yaml]] and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ebasso/mas-nginx-customization-file-server.git&lt;br /&gt;
&lt;br /&gt;
cd mas-nginx-customization-file-server/yamls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2) Configure the Secret Token ==&lt;br /&gt;
&lt;br /&gt;
Generate a strong token using &lt;br /&gt;
&lt;br /&gt;
 openssl rand -hex 32&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
stringData:&lt;br /&gt;
  UPLOAD_TOKEN: &amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3) Full Deployment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project mas-nginx&lt;br /&gt;
&lt;br /&gt;
# Apply all resources in the correct order&lt;br /&gt;
oc apply -f secret-upload-token.yaml&lt;br /&gt;
oc apply -f configmap-nginx.yaml&lt;br /&gt;
oc apply -f pvc-nginx-files.yaml&lt;br /&gt;
oc apply -f deployment-nginx.yaml&lt;br /&gt;
oc apply -f service-nginx.yaml&lt;br /&gt;
oc apply -f route-nginx.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4) Verify the Route URL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;nowiki&amp;gt;nginx-fileserver-mas-nginx.apps.cluster.example.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5)Upload a File with curl ==&lt;br /&gt;
&lt;br /&gt;
Via Route (External Access)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access) &lt;br /&gt;
&lt;br /&gt;
: NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&lt;br /&gt;
&lt;br /&gt;
== 6) Download a File with curl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access):&lt;br /&gt;
: NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&lt;br /&gt;
&lt;br /&gt;
=== 6.1) List Available Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl &amp;quot;https://${NGINX_HOST}/files/&amp;quot;&lt;br /&gt;
# or internally:&lt;br /&gt;
curl &amp;quot;http://nginx-fileserver:8080/files/&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Cloud| Artigos sobre Cloud]]&lt;br /&gt;
* [[Tecnologias|  Mais Artigos sobre Cloud / WebDev / Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM Maximo]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10216</id>
		<title>IBM Maximo: Containerized NGINX server with authentication to securely host and distribute customization files.zip</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10216"/>
		<updated>2026-07-06T17:43:22Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* 4 Verify the Route URL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nginx container running on OpenShift to provide &#039;&#039;&#039;customization_files.zip&#039;&#039;&#039; file sharing between containers, with token-protected uploads.&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ curl / another container ]&lt;br /&gt;
         │&lt;br /&gt;
    PUT /files/&amp;lt;filename&amp;gt;          ← protected by X-Upload-Token&lt;br /&gt;
    GET /files/&amp;lt;filename&amp;gt;          ← public (download)&lt;br /&gt;
         │&lt;br /&gt;
  ┌──────▼───────────────────────┐&lt;br /&gt;
  │   nginx-fileserver Pod       │&lt;br /&gt;
  │   image: nginx-unprivileged  │&lt;br /&gt;
  │   port: 8080                 │&lt;br /&gt;
  └──────────────────────────────┘&lt;br /&gt;
         │&lt;br /&gt;
  PersistentVolumeClaim: /data/files&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Procedure = &lt;br /&gt;
&lt;br /&gt;
== 1) Clone repository ==&lt;br /&gt;
&lt;br /&gt;
Edit [[secret-upload-token.yaml]] and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ebasso/mas-nginx-customization-file-server.git&lt;br /&gt;
&lt;br /&gt;
cd mas-nginx-customization-file-server/yamls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2) Configure the Secret Token ==&lt;br /&gt;
&lt;br /&gt;
Generate a strong token using &lt;br /&gt;
&lt;br /&gt;
 openssl rand -hex 32&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
stringData:&lt;br /&gt;
  UPLOAD_TOKEN: &amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3) Full Deployment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project mas-nginx&lt;br /&gt;
&lt;br /&gt;
# Apply all resources in the correct order&lt;br /&gt;
oc apply -f secret-upload-token.yaml&lt;br /&gt;
oc apply -f configmap-nginx.yaml&lt;br /&gt;
oc apply -f pvc-nginx-files.yaml&lt;br /&gt;
oc apply -f deployment-nginx.yaml&lt;br /&gt;
oc apply -f service-nginx.yaml&lt;br /&gt;
oc apply -f route-nginx.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4 Verify the Route URL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: &amp;lt;nowiki&amp;gt;nginx-fileserver-mas-nginx.apps.cluster.example.com&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5)Upload a File with curl ==&lt;br /&gt;
&lt;br /&gt;
Via Route (External Access)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access) &lt;br /&gt;
&lt;br /&gt;
: NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&lt;br /&gt;
&lt;br /&gt;
== 6) Download a File with curl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access):&lt;br /&gt;
: NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&lt;br /&gt;
&lt;br /&gt;
=== 6.1) List Available Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl &amp;quot;https://${NGINX_HOST}/files/&amp;quot;&lt;br /&gt;
# or internally:&lt;br /&gt;
curl &amp;quot;http://nginx-fileserver:8080/files/&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Cloud| Artigos sobre Cloud]]&lt;br /&gt;
* [[Tecnologias|  Mais Artigos sobre Cloud / WebDev / Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM Maximo]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10215</id>
		<title>IBM Maximo: Containerized NGINX server with authentication to securely host and distribute customization files.zip</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10215"/>
		<updated>2026-07-06T17:42:38Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: /* 2) Configure the Secret Token */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nginx container running on OpenShift to provide &#039;&#039;&#039;customization_files.zip&#039;&#039;&#039; file sharing between containers, with token-protected uploads.&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ curl / another container ]&lt;br /&gt;
         │&lt;br /&gt;
    PUT /files/&amp;lt;filename&amp;gt;          ← protected by X-Upload-Token&lt;br /&gt;
    GET /files/&amp;lt;filename&amp;gt;          ← public (download)&lt;br /&gt;
         │&lt;br /&gt;
  ┌──────▼───────────────────────┐&lt;br /&gt;
  │   nginx-fileserver Pod       │&lt;br /&gt;
  │   image: nginx-unprivileged  │&lt;br /&gt;
  │   port: 8080                 │&lt;br /&gt;
  └──────────────────────────────┘&lt;br /&gt;
         │&lt;br /&gt;
  PersistentVolumeClaim: /data/files&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Procedure = &lt;br /&gt;
&lt;br /&gt;
== 1) Clone repository ==&lt;br /&gt;
&lt;br /&gt;
Edit [[secret-upload-token.yaml]] and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ebasso/mas-nginx-customization-file-server.git&lt;br /&gt;
&lt;br /&gt;
cd mas-nginx-customization-file-server/yamls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2) Configure the Secret Token ==&lt;br /&gt;
&lt;br /&gt;
Generate a strong token using &lt;br /&gt;
&lt;br /&gt;
 openssl rand -hex 32&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
stringData:&lt;br /&gt;
  UPLOAD_TOKEN: &amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3) Full Deployment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project mas-nginx&lt;br /&gt;
&lt;br /&gt;
# Apply all resources in the correct order&lt;br /&gt;
oc apply -f secret-upload-token.yaml&lt;br /&gt;
oc apply -f configmap-nginx.yaml&lt;br /&gt;
oc apply -f pvc-nginx-files.yaml&lt;br /&gt;
oc apply -f deployment-nginx.yaml&lt;br /&gt;
oc apply -f service-nginx.yaml&lt;br /&gt;
oc apply -f route-nginx.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4 Verify the Route URL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;&lt;br /&gt;
# Example:&lt;br /&gt;
# nginx-fileserver-mas-nginx.apps.cluster.example.com&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 5)Upload a File with curl ==&lt;br /&gt;
&lt;br /&gt;
Via Route (External Access)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access) &lt;br /&gt;
&lt;br /&gt;
: NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&lt;br /&gt;
&lt;br /&gt;
== 6) Download a File with curl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access):&lt;br /&gt;
: NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&lt;br /&gt;
&lt;br /&gt;
=== 6.1) List Available Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl &amp;quot;https://${NGINX_HOST}/files/&amp;quot;&lt;br /&gt;
# or internally:&lt;br /&gt;
curl &amp;quot;http://nginx-fileserver:8080/files/&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Cloud| Artigos sobre Cloud]]&lt;br /&gt;
* [[Tecnologias|  Mais Artigos sobre Cloud / WebDev / Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM Maximo]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10214</id>
		<title>IBM Maximo: Containerized NGINX server with authentication to securely host and distribute customization files.zip</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10214"/>
		<updated>2026-07-06T17:42:05Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nginx container running on OpenShift to provide &#039;&#039;&#039;customization_files.zip&#039;&#039;&#039; file sharing between containers, with token-protected uploads.&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ curl / another container ]&lt;br /&gt;
         │&lt;br /&gt;
    PUT /files/&amp;lt;filename&amp;gt;          ← protected by X-Upload-Token&lt;br /&gt;
    GET /files/&amp;lt;filename&amp;gt;          ← public (download)&lt;br /&gt;
         │&lt;br /&gt;
  ┌──────▼───────────────────────┐&lt;br /&gt;
  │   nginx-fileserver Pod       │&lt;br /&gt;
  │   image: nginx-unprivileged  │&lt;br /&gt;
  │   port: 8080                 │&lt;br /&gt;
  └──────────────────────────────┘&lt;br /&gt;
         │&lt;br /&gt;
  PersistentVolumeClaim: /data/files&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Procedure = &lt;br /&gt;
&lt;br /&gt;
== 1) Clone repository ==&lt;br /&gt;
&lt;br /&gt;
Edit [[secret-upload-token.yaml]] and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ebasso/mas-nginx-customization-file-server.git&lt;br /&gt;
&lt;br /&gt;
cd mas-nginx-customization-file-server/yamls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2) Configure the Secret Token ==&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
stringData:&lt;br /&gt;
  UPLOAD_TOKEN: &amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Note: Generate a strong token using &amp;lt;code&amp;gt;openssl rand -hex 32&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 3) Full Deployment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project mas-nginx&lt;br /&gt;
&lt;br /&gt;
# Apply all resources in the correct order&lt;br /&gt;
oc apply -f secret-upload-token.yaml&lt;br /&gt;
oc apply -f configmap-nginx.yaml&lt;br /&gt;
oc apply -f pvc-nginx-files.yaml&lt;br /&gt;
oc apply -f deployment-nginx.yaml&lt;br /&gt;
oc apply -f service-nginx.yaml&lt;br /&gt;
oc apply -f route-nginx.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 4 Verify the Route URL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;&lt;br /&gt;
# Example:&lt;br /&gt;
# nginx-fileserver-mas-nginx.apps.cluster.example.com&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 5)Upload a File with curl ==&lt;br /&gt;
&lt;br /&gt;
Via Route (External Access)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access) &lt;br /&gt;
&lt;br /&gt;
: NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&lt;br /&gt;
&lt;br /&gt;
== 6) Download a File with curl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access):&lt;br /&gt;
: NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&lt;br /&gt;
&lt;br /&gt;
=== 6.1) List Available Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl &amp;quot;https://${NGINX_HOST}/files/&amp;quot;&lt;br /&gt;
# or internally:&lt;br /&gt;
curl &amp;quot;http://nginx-fileserver:8080/files/&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Cloud| Artigos sobre Cloud]]&lt;br /&gt;
* [[Tecnologias|  Mais Artigos sobre Cloud / WebDev / Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM Maximo]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
	<entry>
		<id>https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10213</id>
		<title>IBM Maximo: Containerized NGINX server with authentication to securely host and distribute customization files.zip</title>
		<link rel="alternate" type="text/html" href="https://ebasso.net/wiki/index.php?title=IBM_Maximo:_Containerized_NGINX_server_with_authentication_to_securely_host_and_distribute_customization_files.zip&amp;diff=10213"/>
		<updated>2026-07-06T17:40:46Z</updated>

		<summary type="html">&lt;p&gt;Ebasso: Created page with &amp;quot;Nginx container running on OpenShift to provide &amp;#039;&amp;#039;&amp;#039;customization_files.zip&amp;#039;&amp;#039;&amp;#039; file sharing between containers, with token-protected uploads.  = Architecture =  &amp;lt;pre&amp;gt; [ curl / another container ]          │     PUT /files/&amp;lt;filename&amp;gt;          ← protected by X-Upload-Token     GET /files/&amp;lt;filename&amp;gt;          ← public (download)          │   ┌──────▼───────────────────────┐   │   nginx-fileserver Pod...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nginx container running on OpenShift to provide &#039;&#039;&#039;customization_files.zip&#039;&#039;&#039; file sharing between containers, with token-protected uploads.&lt;br /&gt;
&lt;br /&gt;
= Architecture =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ curl / another container ]&lt;br /&gt;
         │&lt;br /&gt;
    PUT /files/&amp;lt;filename&amp;gt;          ← protected by X-Upload-Token&lt;br /&gt;
    GET /files/&amp;lt;filename&amp;gt;          ← public (download)&lt;br /&gt;
         │&lt;br /&gt;
  ┌──────▼───────────────────────┐&lt;br /&gt;
  │   nginx-fileserver Pod       │&lt;br /&gt;
  │   image: nginx-unprivileged  │&lt;br /&gt;
  │   port: 8080                 │&lt;br /&gt;
  └──────────────────────────────┘&lt;br /&gt;
         │&lt;br /&gt;
  PersistentVolumeClaim: /data/files&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Procedure = &lt;br /&gt;
&lt;br /&gt;
== 1) Clone repository ==&lt;br /&gt;
&lt;br /&gt;
Edit [[secret-upload-token.yaml]] and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ebasso/mas-nginx-customization-file-server.git&lt;br /&gt;
&lt;br /&gt;
cd mas-nginx-customization-file-server/yamls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2) Configure the Secret Token ==&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;&#039;secret-upload-token.yaml&#039;&#039;&#039; and replace the value of &amp;lt;code&amp;gt;UPLOAD_TOKEN&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
stringData:&lt;br /&gt;
  UPLOAD_TOKEN: &amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: Note: Generate a strong token using &amp;lt;code&amp;gt;openssl rand -hex 32&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 3) Full Deployment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc new-project mas-nginx&lt;br /&gt;
&lt;br /&gt;
# Apply all resources in the correct order&lt;br /&gt;
oc apply -f secret-upload-token.yaml&lt;br /&gt;
oc apply -f configmap-nginx.yaml&lt;br /&gt;
oc apply -f pvc-nginx-files.yaml&lt;br /&gt;
oc apply -f deployment-nginx.yaml&lt;br /&gt;
oc apply -f service-nginx.yaml&lt;br /&gt;
oc apply -f route-nginx.yaml&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 3 — Verify the Route URL ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;&lt;br /&gt;
# Example:&lt;br /&gt;
# nginx-fileserver-mas-nginx.apps.cluster.example.com&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 4)Upload a File with curl ==&lt;br /&gt;
&lt;br /&gt;
Via Route (External Access)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
TOKEN=&amp;quot;replace-with-a-secure-token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
curl -v \&lt;br /&gt;
  -X PUT \&lt;br /&gt;
  -H &amp;quot;X-Upload-Token: ${TOKEN}&amp;quot; \&lt;br /&gt;
  -H &amp;quot;Content-Type: application/octet-stream&amp;quot; \&lt;br /&gt;
  --upload-file ./customization-files.zip \&lt;br /&gt;
  &amp;quot;https://${NGINX_HOST}/files/customization-files.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access) &lt;br /&gt;
&lt;br /&gt;
: NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&lt;br /&gt;
&lt;br /&gt;
== 5 — Download a File with curl ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NGINX_HOST=$(oc get route nginx-fileserver -o jsonpath=&#039;{.spec.host}&#039;)&lt;br /&gt;
&lt;br /&gt;
curl -O &amp;quot;https://${NGINX_HOST}/files/my-file.zip&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via Service (Internal Cluster Access):&lt;br /&gt;
: NGINX_HOST=http://nginx-fileserver:8080/files/customization-files.zip&lt;br /&gt;
&lt;br /&gt;
=== 5.1 — List Available Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl &amp;quot;https://${NGINX_HOST}/files/&amp;quot;&lt;br /&gt;
# or internally:&lt;br /&gt;
curl &amp;quot;http://nginx-fileserver:8080/files/&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= See Alson também =&lt;br /&gt;
&lt;br /&gt;
* [[Cloud| Artigos sobre Cloud]]&lt;br /&gt;
* [[Tecnologias|  Mais Artigos sobre Cloud / WebDev / Tecnologias]]&lt;br /&gt;
&lt;br /&gt;
[[Category:IBM Maximo]]&lt;/div&gt;</summary>
		<author><name>Ebasso</name></author>
	</entry>
</feed>