<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.twig.es/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.twig.es/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=George2</id>
		<title>MyWiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.twig.es/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=George2"/>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Special:Contributions/George2"/>
		<updated>2026-05-06T12:32:21Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.0</generator>

	<entry>
		<id>https://wiki.twig.es/index.php/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Main_Page"/>
				<updated>2026-02-10T19:18:50Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background:#7CFC00&amp;quot;&amp;gt;  This Wiki is read only ! &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[ Amazon Free AWS training in Stratford ]]&lt;br /&gt;
 [[ AD Stuff ]]&lt;br /&gt;
 [[ ansible ]] and Vagrant and all associated stuff.&lt;br /&gt;
 [[ Ant ]]&lt;br /&gt;
 [[ Apache ]]&lt;br /&gt;
  Apache[[ Tomcat Stuff ]]&lt;br /&gt;
 [[ API ]]&lt;br /&gt;
 [[ Android, from Coursera course beginning 25 Sept 2017 ]]&lt;br /&gt;
 [[ Asterisk ]]&lt;br /&gt;
 [[ Authenticating MediaWiki to LDAP servers ]]&lt;br /&gt;
 [[ Autossh ]]&lt;br /&gt;
 [[ Azure Notes ]]&lt;br /&gt;
 [[ Bootstrap ]]&lt;br /&gt;
 [[ Bourne Shell ]]&lt;br /&gt;
 [[ C# ]]&lt;br /&gt;
 [[ Chocolately Windows package manager ]]&lt;br /&gt;
 [[ Coursera courses ]]&lt;br /&gt;
 [[ Django ]]&lt;br /&gt;
 [[ Docker ]]&lt;br /&gt;
 [[ Eskimo ]]&lt;br /&gt;
 [[ fail2ban ]]&lt;br /&gt;
 [[ ffmpeg syntax ]]for converting between video formats&lt;br /&gt;
 [[ Firebird connecting from PHP ]]&lt;br /&gt;
 [[ Go ]]&lt;br /&gt;
 [[ Guacamole ]]&lt;br /&gt;
 [[ HTML Links ]]&lt;br /&gt;
 [[ ImgeMagick ]]&lt;br /&gt;
 [[ iptables - general ]]&lt;br /&gt;
 [[ Java Code ]]&lt;br /&gt;
 [[ JavaFX 8 ]]&lt;br /&gt;
 [[ java fresh start ]]&lt;br /&gt;
 [[ Kava Lambda Expressions ]]&lt;br /&gt;
 [[ Links Misc ]]&lt;br /&gt;
 [[ Linux configuration tasks ]]&lt;br /&gt;
 [[ Linux Automation tasks ]]&lt;br /&gt;
 [[ LXC Ubuntu 16.04 ]] and higher&lt;br /&gt;
 [[  MediaWiki Sphinx search engine ]]&lt;br /&gt;
 [[ Mysql ]]&lt;br /&gt;
 [[ Nmap ]]&lt;br /&gt;
 [[ PHP ]]&lt;br /&gt;
 [[ Openshift / Kubernetes ]]&lt;br /&gt;
 [[ openssl ]]&lt;br /&gt;
 [[ Oracle on Oracle linux 6.5 ]] ( and 7 ) and other Oracle installation information in general&lt;br /&gt;
 [[ Oracle Database Administration ]]&lt;br /&gt;
 [[ PHP ]]&lt;br /&gt;
 [[ Powershell ]] and command line examples for O365 and Active Directory.&lt;br /&gt;
 [[ Powershell Tasks ]]&lt;br /&gt;
 [[ Python ]]&lt;br /&gt;
 [[ MicroPython and Pi Pico ]](the Wifi version)&lt;br /&gt;
 [[ Raspberry Pi ]]&lt;br /&gt;
 [[ Raspberry Pi Pico W ]]&lt;br /&gt;
 [[ Recipes ]]&lt;br /&gt;
 [[ Red Hat ]]and Centos&lt;br /&gt;
 [[ robocopy ]]&lt;br /&gt;
 [[ Rsync ]]&lt;br /&gt;
 [[ Rsync exclude/include pattern rules ]]&lt;br /&gt;
 [[ screen ]]&lt;br /&gt;
 [[ Scripts ]]&lt;br /&gt;
 [[ sed, examples ]]&lt;br /&gt;
 [[ Servlet Programming ]]&lt;br /&gt;
 [[ Shibboleth ]]&lt;br /&gt;
 [[ Solaris ]]&lt;br /&gt;
 [[ SQL Server 2008 ]] and sql queries etc&lt;br /&gt;
 [[ SQL Server on Linux ]]&lt;br /&gt;
 [[ SQL Queries and examples ]]&lt;br /&gt;
 [[ sshfs, using ]]&lt;br /&gt;
 [[ tar ]]&lt;br /&gt;
 [[ tcl, expect and Tk]]&lt;br /&gt;
 [[ UFW Firewall ]]&lt;br /&gt;
 [[ Vagrant ]]&lt;br /&gt;
 [[ vi ]]&lt;br /&gt;
 [[ Vmware ]]&lt;br /&gt;
 [[ WebODF for displaying odt documents in web browser ]]&lt;br /&gt;
 [[ Wiki formatting ]]&lt;br /&gt;
 [[ Wiki stuff ]]&lt;br /&gt;
 [[ Windows Command Line ]]&lt;br /&gt;
 [[ Windows Server 2012 R2 ]]&lt;br /&gt;
 [[ winscp command line ]]&lt;br /&gt;
 [[ Zbackup ]]&lt;br /&gt;
 [[eero_fault ]]&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Openssl</id>
		<title>Openssl</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Openssl"/>
				<updated>2025-11-25T11:25:28Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://access.redhat.com/solutions/1519813     Thanks Boris&amp;lt;br&amp;gt;&lt;br /&gt;
update-ca-trust enable&amp;lt;br&amp;gt;&lt;br /&gt;
cp rapidSSL-ca.crt /etc/pki/ca-trust/source/anchors/ &amp;lt;br&amp;gt;&lt;br /&gt;
update-ca-trust extract  &amp;lt;br&amp;gt;&lt;br /&gt;
openssl verify  rapidSSL-ca.crt &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[ Check that a certificate matches a private key or certificate request ]]&lt;br /&gt;
&lt;br /&gt;
== General OpenSSL Commands ==&lt;br /&gt;
'''Convert certificates from one type to another'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''PEM to DER'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl x509 -in cert.crt -outform der -out cert.der&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''DER to PEM'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl x509 -in cert.crt -inform der -outform pem -out cert.pem&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''View Certificate Revocation List'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl crl -noout -text -in example.crl ( PEM encoded ) &amp;lt;br&amp;gt;&lt;br /&gt;
:openssl crl -inform DER -noout -text -in example.crl ( DER encoded ) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The below commands allow you to generate CSRs, Certificates, Private Keys and do other miscellaneous tasks.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Generate a new private key and Certificate Signing Request'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key&amp;lt;br&amp;gt;&lt;br /&gt;
'''Generate a self-signed certificate '''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt&amp;lt;br&amp;gt;&lt;br /&gt;
'''Generate a certificate signing request (CSR) for an existing private key'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl req -out CSR.csr -key privateKey.key -new&amp;lt;br&amp;gt;&lt;br /&gt;
'''Generate a certificate signing request based on an existing certificate.'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl x509 -x509toreq -in certificate.crt -out CSR.csr -signkey privateKey.key&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Calculating sha-1 fingerprint '''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl x509 -noout -in idp_blabla_ac_uk.crt -fingerprint -sha1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Calculating SHA-256 fingerprint'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl x509 -noout -fingerprint -sha256 -in filename.crt&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Remove a passphrase from a private key'''&amp;lt;br&amp;gt;&lt;br /&gt;
openssl rsa -in privateKey.pem -out newPrivateKey.pem&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Checking Using OpenSSL'''&lt;br /&gt;
&lt;br /&gt;
If you need to check the information within a Certificate, CSR or Private Key, use these commands. You can also check CSRs and check certificates using our online tools.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''Check a Certificate Signing Request (CSR)'''&lt;br /&gt;
:openssl req -text -noout -verify -in CSR.csr&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''Check a private key'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl rsa -in privateKey.key -check&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''Check a certificate'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl x509 -in certificate.crt -text -noout&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''Check a PKCS#12 file (.pfx or .p12)'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl pkcs12 -info -in keyStore.p12&lt;br /&gt;
&lt;br /&gt;
:'''Check the fingerprint of a certificate.'''&amp;lt;br&amp;gt;&lt;br /&gt;
::'''Get SHA-1 fingerprint:'''&amp;lt;br&amp;gt;&lt;br /&gt;
::::openssl x509 -noout -in certificate.pem -fingerprint -sha1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::'''Get SHA-256 fingerprint:'''&amp;lt;br&amp;gt;&lt;br /&gt;
::::openssl x509 -noout -in certificate.pem -fingerprint -sha256&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''You can check if an SSL certificate matches a Private Key by using the 2 easy commands below.&amp;lt;br&amp;gt;'''&lt;br /&gt;
::::'''For your SSL certificate:''' openssl x509 -noout -modulus -in &amp;lt;file&amp;gt;.crt | openssl md5&amp;lt;br&amp;gt;&lt;br /&gt;
::::'''For your RSA private key:''' openssl rsa -noout -modulus -in &amp;lt;file&amp;gt;.key | openssl md5&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Debugging Using OpenSSL'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are receiving an error that the private doesn't match the certificate or that a certificate that you installed to a site is not trusted, try one of these commands.&amp;lt;br&amp;gt; If you are trying to verify that an SSL certificate is installed correctly, be sure to check out the SSL Checker.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Check an MD5 hash of the public key to ensure that it matches with what is in a CSR or private key'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openssl x509 -noout -modulus -in certificate.crt | openssl md5&amp;lt;br&amp;gt;&lt;br /&gt;
openssl rsa -noout -modulus -in privateKey.key | openssl md5&amp;lt;br&amp;gt;&lt;br /&gt;
openssl req -noout -modulus -in CSR.csr | openssl md5&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Check an SSL connection. All the certificates (including Intermediates) should be displayed'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openssl s_client -connect www.paypal.com:443&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Converting Using OpenSSL'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These commands allow you to convert certificates and keys to different formats to make them compatible with specific types of servers or software. For example, you can convert a normal PEM file that would work with Apache to a PFX (PKCS#12) file and use it with Tomcat or IIS. Use our SSL Converter to convert certificates without messing with OpenSSL.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Convert a DER file (.crt .cer .der) to PEM'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openssl x509 -inform der -in certificate.cer -out certificate.pem&amp;lt;br&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
Convert a PEM file to DER'''&amp;lt;br&amp;gt;&lt;br /&gt;
openssl x509 -outform der -in certificate.pem -out certificate.der&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Convert a PKCS#12 file (.pfx .p12) containing a private key and certificates to PEM'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can add -nocerts to only output the private key or add -nokeys to only output the certificates.&amp;lt;br&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
'''Convert a PEM certificate file and a private key to PKCS#12 (.pfx .p12)'''&amp;lt;br&amp;gt;&lt;br /&gt;
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Diagnosing server certificate problems'''&amp;lt;br&amp;gt;&lt;br /&gt;
When testing, beware that most modern browsers will automatically download intermediate certificates if your server fails to supply them so it can be difficult to tell if you have got things right for any that won't. One way to double-check is to use the 'openssl s_client' command to inspect the certificates being returned by a web server:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openssl s_client -connect &amp;lt;server&amp;gt;:&amp;lt;port&amp;gt; -showcerts&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replacing &amp;lt;server&amp;gt; and &amp;lt;port&amp;gt; appropriately (&amp;lt;port&amp;gt; probably needs to be 443). This actually establishes a connection to the server - you can terminate it by typing ctrl-d or similar. The message &amp;quot;unable to get local issuer certificate&amp;quot; just means that your local openSSL doesn't have, or hasn't been configured to find, an appropriate root certificate for the chain presented.&amp;lt;br&amp;gt;&lt;br /&gt;
This isn't necessarily a problem with the server - if you care, research s_client's -CApath and -CAfile options.&amp;lt;br&amp;gt;&lt;br /&gt;
What is important is that your certificate and the appropriate two chaining certificates appear in the output.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/816794 ( installing new janet certs in server 2003 ) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Repairing certificate store:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/iis/53dfdb5e-6106-4d99-85bb-da199bc27c7e.mspx&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[ an example ]]&amp;lt;br&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
openssl s_client -connect hostname.of.server:636'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Encrypt and Decrypt File'''&lt;br /&gt;
To encrypt files with OpenSSL is as simple as encrypting messages. The only difference is that instead of the echo command we use the -in option with the actual file we would like to encrypt and -out option, which will instruct OpenSSL to store the encrypted file under a given name: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ openssl enc -aes-256-cbc -in /etc/services -out services.dat&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To decrypt back our services file use:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ openssl enc -aes-256-cbc -d -in services.dat &amp;gt; services.txt&amp;lt;br&amp;gt;&lt;br /&gt;
enter aes-256-cbc decryption password:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Extracting Certificate and Private Key Files from a .pfx File''' &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Procedure&lt;br /&gt;
    To extract all certificates from a pfx file and save in text file:&lt;br /&gt;
                openssl pkcs12 -nodes -in the_pfx_file.pfx  &amp;gt; thekeys.txt&lt;br /&gt;
&lt;br /&gt;
    Take the file you exported (e.g. certname.pfx) and copy it to a system where you have OpenSSL installed. Note: the *.pfx file is in PKCS#12 format and includes both the certificate and the private key.&lt;br /&gt;
    Run the following command to export the private key: openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes&lt;br /&gt;
    Run the following command to export the certificate: openssl pkcs12 -in certname.pfx -nokeys -out cert.pem&lt;br /&gt;
    Run the following command to remove the passphrase from the private key: openssl rsa -in key.pem -out server.key &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Create a .pfx file from certificate and private key:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Openssl</id>
		<title>Openssl</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Openssl"/>
				<updated>2025-11-25T11:24:02Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://access.redhat.com/solutions/1519813     Thanks Boris&amp;lt;br&amp;gt;&lt;br /&gt;
update-ca-trust enable&amp;lt;br&amp;gt;&lt;br /&gt;
cp rapidSSL-ca.crt /etc/pki/ca-trust/source/anchors/ &amp;lt;br&amp;gt;&lt;br /&gt;
update-ca-trust extract  &amp;lt;br&amp;gt;&lt;br /&gt;
openssl verify  rapidSSL-ca.crt &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[ Check that a certificate matches a private key or certificate request ]]&lt;br /&gt;
&lt;br /&gt;
== General OpenSSL Commands ==&lt;br /&gt;
'''Convert certificates from one type to another'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''PEM to DER'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl x509 -in cert.crt -outform der -out cert.der&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''DER to PEM'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl x509 -in cert.crt -inform der -outform pem -out cert.pem&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''View Certificate Revocation List'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl crl -noout -text -in example.crl ( PEM encoded ) &amp;lt;br&amp;gt;&lt;br /&gt;
:openssl crl -inform DER -noout -text -in example.crl ( DER encoded ) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The below commands allow you to generate CSRs, Certificates, Private Keys and do other miscellaneous tasks.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Generate a new private key and Certificate Signing Request'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key&amp;lt;br&amp;gt;&lt;br /&gt;
'''Generate a self-signed certificate '''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt&amp;lt;br&amp;gt;&lt;br /&gt;
'''Generate a certificate signing request (CSR) for an existing private key'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl req -out CSR.csr -key privateKey.key -new&amp;lt;br&amp;gt;&lt;br /&gt;
'''Generate a certificate signing request based on an existing certificate.'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl x509 -x509toreq -in certificate.crt -out CSR.csr -signkey privateKey.key&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Calculating sha-1 fingerprint '''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl x509 -noout -in idp_blabla_ac_uk.crt -fingerprint -sha1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Calculating SHA-256 fingerprint'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl x509 -noout -fingerprint -sha256 -in filename.crt&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Remove a passphrase from a private key'''&amp;lt;br&amp;gt;&lt;br /&gt;
openssl rsa -in privateKey.pem -out newPrivateKey.pem&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Checking Using OpenSSL'''&lt;br /&gt;
&lt;br /&gt;
If you need to check the information within a Certificate, CSR or Private Key, use these commands. You can also check CSRs and check certificates using our online tools.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''Check a Certificate Signing Request (CSR)'''&lt;br /&gt;
:openssl req -text -noout -verify -in CSR.csr&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''Check a private key'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl rsa -in privateKey.key -check&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''Check a certificate'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl x509 -in certificate.crt -text -noout&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:'''Check a PKCS#12 file (.pfx or .p12)'''&amp;lt;br&amp;gt;&lt;br /&gt;
:openssl pkcs12 -info -in keyStore.p12&lt;br /&gt;
&lt;br /&gt;
:'''Check the fingerprint of a certificate.'''&amp;lt;br&amp;gt;&lt;br /&gt;
::'''Get SHA-1 fingerprint:'''&amp;lt;br&amp;gt;&lt;br /&gt;
::::openssl x509 -noout -in certificate.pem -fingerprint -sha1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::'''Get SHA-256 fingerprint:'''&amp;lt;br&amp;gt;&lt;br /&gt;
::::openssl x509 -noout -in certificate.pem -fingerprint -sha256&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''You can check if an SSL certificate matches a Private Key by using the 2 easy commands below.&amp;lt;br&amp;gt;'''&lt;br /&gt;
::::'''For your SSL certificate:''' openssl x509 -noout -modulus -in &amp;lt;file&amp;gt;.crt | openssl md5&amp;lt;br&amp;gt;&lt;br /&gt;
::::'''For your RSA private key:''' openssl rsa -noout -modulus -in &amp;lt;file&amp;gt;.key | openssl md5&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Debugging Using OpenSSL'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are receiving an error that the private doesn't match the certificate or that a certificate that you installed to a site is not trusted, try one of these commands.&amp;lt;br&amp;gt; If you are trying to verify that an SSL certificate is installed correctly, be sure to check out the SSL Checker.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Check an MD5 hash of the public key to ensure that it matches with what is in a CSR or private key'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openssl x509 -noout -modulus -in certificate.crt | openssl md5&amp;lt;br&amp;gt;&lt;br /&gt;
openssl rsa -noout -modulus -in privateKey.key | openssl md5&amp;lt;br&amp;gt;&lt;br /&gt;
openssl req -noout -modulus -in CSR.csr | openssl md5&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Check an SSL connection. All the certificates (including Intermediates) should be displayed'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openssl s_client -connect www.paypal.com:443&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Converting Using OpenSSL'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These commands allow you to convert certificates and keys to different formats to make them compatible with specific types of servers or software. For example, you can convert a normal PEM file that would work with Apache to a PFX (PKCS#12) file and use it with Tomcat or IIS. Use our SSL Converter to convert certificates without messing with OpenSSL.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Convert a DER file (.crt .cer .der) to PEM'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openssl x509 -inform der -in certificate.cer -out certificate.pem&amp;lt;br&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
Convert a PEM file to DER'''&amp;lt;br&amp;gt;&lt;br /&gt;
openssl x509 -outform der -in certificate.pem -out certificate.der&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Convert a PKCS#12 file (.pfx .p12) containing a private key and certificates to PEM'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can add -nocerts to only output the private key or add -nokeys to only output the certificates.&amp;lt;br&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
'''Convert a PEM certificate file and a private key to PKCS#12 (.pfx .p12)'''&amp;lt;br&amp;gt;&lt;br /&gt;
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Diagnosing server certificate problems'''&amp;lt;br&amp;gt;&lt;br /&gt;
When testing, beware that most modern browsers will automatically download intermediate certificates if your server fails to supply them so it can be difficult to tell if you have got things right for any that won't. One way to double-check is to use the 'openssl s_client' command to inspect the certificates being returned by a web server:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
openssl s_client -connect &amp;lt;server&amp;gt;:&amp;lt;port&amp;gt; -showcerts&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replacing &amp;lt;server&amp;gt; and &amp;lt;port&amp;gt; appropriately (&amp;lt;port&amp;gt; probably needs to be 443). This actually establishes a connection to the server - you can terminate it by typing ctrl-d or similar. The message &amp;quot;unable to get local issuer certificate&amp;quot; just means that your local openSSL doesn't have, or hasn't been configured to find, an appropriate root certificate for the chain presented.&amp;lt;br&amp;gt;&lt;br /&gt;
This isn't necessarily a problem with the server - if you care, research s_client's -CApath and -CAfile options.&amp;lt;br&amp;gt;&lt;br /&gt;
What is important is that your certificate and the appropriate two chaining certificates appear in the output.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http://support.microsoft.com/kb/816794 ( installing new janet certs in server 2003 ) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Repairing certificate store:&amp;lt;br&amp;gt;&lt;br /&gt;
https://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/iis/53dfdb5e-6106-4d99-85bb-da199bc27c7e.mspx&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[ an example ]]&amp;lt;br&amp;gt;&lt;br /&gt;
'''&lt;br /&gt;
openssl s_client -connect hostname.of.server:636'''&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Encrypt and Decrypt File'''&lt;br /&gt;
To encrypt files with OpenSSL is as simple as encrypting messages. The only difference is that instead of the echo command we use the -in option with the actual file we would like to encrypt and -out option, which will instruct OpenSSL to store the encrypted file under a given name: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ openssl enc -aes-256-cbc -in /etc/services -out services.dat&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To decrypt back our services file use:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ openssl enc -aes-256-cbc -d -in services.dat &amp;gt; services.txt&amp;lt;br&amp;gt;&lt;br /&gt;
enter aes-256-cbc decryption password:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Extracting Certificate and Private Key Files from a .pfx File''' &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Procedure&lt;br /&gt;
    To extract all certificates from a pfx file and save in text file:&lt;br /&gt;
                openssl pkcs12 -nodes -in the_pfx_file.pfx  &amp;gt; thekeys.txt&lt;br /&gt;
&lt;br /&gt;
    Take the file you exported (e.g. certname.pfx) and copy it to a system where you have OpenSSL installed. Note: the *.pfx file is in PKCS#12 format and includes both the certificate and the private key.&lt;br /&gt;
    Run the following command to export the private key: openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes&lt;br /&gt;
    Run the following command to export the certificate: openssl pkcs12 -in certname.pfx -nokeys -out cert.pem&lt;br /&gt;
    Run the following command to remove the passphrase from the private key: openssl rsa -in key.pem -out server.key &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a .pfx file from certificate and private key:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Sql_java_file</id>
		<title>Sql java file</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Sql_java_file"/>
				<updated>2025-04-25T17:14:00Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.sql.*;&lt;br /&gt;
class Sql{&lt;br /&gt;
      Connection conn = null;&lt;br /&gt;
      Statement stmt  = null;&lt;br /&gt;
      ResultSet rs    = null;&lt;br /&gt;
void runIt()&lt;br /&gt;
{&lt;br /&gt;
   try {&lt;br /&gt;
               String userName = &amp;quot;xxxxx&amp;quot;;&lt;br /&gt;
               String passWord = &amp;quot;xxxxx&amp;quot;;&lt;br /&gt;
               String url = &amp;quot;jdbc:mysql://localhost/xxxxx&amp;quot;;&lt;br /&gt;
               //Class.forName (&amp;quot;com.mysql.jdbc.Driver&amp;quot;).newInstance ();&lt;br /&gt;
               conn = DriverManager.getConnection (url, userName, passWord);&lt;br /&gt;
               System.out.println(&amp;quot;connection esstablsihed in Sql&amp;quot;);&lt;br /&gt;
               conn.close();&lt;br /&gt;
       }&lt;br /&gt;
          catch (SQLException e){ &lt;br /&gt;
                                 String errorCode = e.toString();&lt;br /&gt;
                                 System.out.println(errorCode);&lt;br /&gt;
                                }&lt;br /&gt;
}&lt;br /&gt;
void runIt(String voltage)&lt;br /&gt;
{&lt;br /&gt;
System.out.println(&amp;quot;The voltge in the Sql class is &amp;quot;+ voltage);&lt;br /&gt;
   try {&lt;br /&gt;
               String userName = &amp;quot;xxxxx&amp;quot;;&lt;br /&gt;
               String passWord = &amp;quot;xxxxx&amp;quot;;&lt;br /&gt;
               String url = &amp;quot;jdbc:mysql://localhost/xxxxx&amp;quot;;&lt;br /&gt;
               //Class.forName (&amp;quot;com.mysql.jdbc.Driver&amp;quot;).newInstance ();&lt;br /&gt;
               conn = DriverManager.getConnection (url, userName, passWord);&lt;br /&gt;
               System.out.println(&amp;quot;connection esstablsihed in Sql&amp;quot;);&lt;br /&gt;
	       Float the_volt = Float.parseFloat(voltage);&lt;br /&gt;
	       String SQL=&amp;quot;insert into solar VALUES(&amp;quot;+the_volt+&amp;quot;, now())&amp;quot;;&lt;br /&gt;
	       Statement statement = conn.createStatement();&lt;br /&gt;
	       statement.executeUpdate(SQL);&lt;br /&gt;
&lt;br /&gt;
               conn.close();&lt;br /&gt;
       }&lt;br /&gt;
          catch (SQLException e){ &lt;br /&gt;
                                 String errorCode = e.toString();&lt;br /&gt;
                                 System.out.println(errorCode);&lt;br /&gt;
                                }&lt;br /&gt;
}&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Sql_java_file</id>
		<title>Sql java file</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Sql_java_file"/>
				<updated>2025-04-25T17:12:51Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.sql.*;&lt;br /&gt;
class Sql{&lt;br /&gt;
      Connection conn = null;&lt;br /&gt;
      Statement stmt  = null;&lt;br /&gt;
      ResultSet rs    = null;&lt;br /&gt;
void runIt()&lt;br /&gt;
{&lt;br /&gt;
   try {&lt;br /&gt;
               String userName = &amp;quot;solar&amp;quot;;&lt;br /&gt;
               String passWord = &amp;quot;solar&amp;quot;;&lt;br /&gt;
               String url = &amp;quot;jdbc:mysql://localhost/solar&amp;quot;;&lt;br /&gt;
               //Class.forName (&amp;quot;com.mysql.jdbc.Driver&amp;quot;).newInstance ();&lt;br /&gt;
               conn = DriverManager.getConnection (url, userName, passWord);&lt;br /&gt;
               System.out.println(&amp;quot;connection esstablsihed in Sql&amp;quot;);&lt;br /&gt;
               conn.close();&lt;br /&gt;
       }&lt;br /&gt;
          catch (SQLException e){ &lt;br /&gt;
                                 String errorCode = e.toString();&lt;br /&gt;
                                 System.out.println(errorCode);&lt;br /&gt;
                                }&lt;br /&gt;
}&lt;br /&gt;
void runIt(String voltage)&lt;br /&gt;
{&lt;br /&gt;
System.out.println(&amp;quot;The voltge in the Sql class is &amp;quot;+ voltage);&lt;br /&gt;
   try {&lt;br /&gt;
               String userName = &amp;quot;solar&amp;quot;;&lt;br /&gt;
               String passWord = &amp;quot;solar&amp;quot;;&lt;br /&gt;
               String url = &amp;quot;jdbc:mysql://localhost/solar&amp;quot;;&lt;br /&gt;
               //Class.forName (&amp;quot;com.mysql.jdbc.Driver&amp;quot;).newInstance ();&lt;br /&gt;
               conn = DriverManager.getConnection (url, userName, passWord);&lt;br /&gt;
               System.out.println(&amp;quot;connection esstablsihed in Sql&amp;quot;);&lt;br /&gt;
	       Float the_volt = Float.parseFloat(voltage);&lt;br /&gt;
	       String SQL=&amp;quot;insert into solar VALUES(&amp;quot;+the_volt+&amp;quot;, now())&amp;quot;;&lt;br /&gt;
	       Statement statement = conn.createStatement();&lt;br /&gt;
	       statement.executeUpdate(SQL);&lt;br /&gt;
&lt;br /&gt;
               conn.close();&lt;br /&gt;
       }&lt;br /&gt;
          catch (SQLException e){ &lt;br /&gt;
                                 String errorCode = e.toString();&lt;br /&gt;
                                 System.out.println(errorCode);&lt;br /&gt;
                                }&lt;br /&gt;
}&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Sql_java_file</id>
		<title>Sql java file</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Sql_java_file"/>
				<updated>2025-04-25T17:12:37Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot;&amp;lt;source lang=&amp;quot;java&amp;quot;? import java.sql.*; class Sql{       Connection conn = null;       Statement stmt  = null;       ResultSet rs    = null; void runIt() {    try {...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;java&amp;quot;?&lt;br /&gt;
import java.sql.*;&lt;br /&gt;
class Sql{&lt;br /&gt;
      Connection conn = null;&lt;br /&gt;
      Statement stmt  = null;&lt;br /&gt;
      ResultSet rs    = null;&lt;br /&gt;
void runIt()&lt;br /&gt;
{&lt;br /&gt;
   try {&lt;br /&gt;
               String userName = &amp;quot;solar&amp;quot;;&lt;br /&gt;
               String passWord = &amp;quot;solar&amp;quot;;&lt;br /&gt;
               String url = &amp;quot;jdbc:mysql://localhost/solar&amp;quot;;&lt;br /&gt;
               //Class.forName (&amp;quot;com.mysql.jdbc.Driver&amp;quot;).newInstance ();&lt;br /&gt;
               conn = DriverManager.getConnection (url, userName, passWord);&lt;br /&gt;
               System.out.println(&amp;quot;connection esstablsihed in Sql&amp;quot;);&lt;br /&gt;
               conn.close();&lt;br /&gt;
       }&lt;br /&gt;
          catch (SQLException e){ &lt;br /&gt;
                                 String errorCode = e.toString();&lt;br /&gt;
                                 System.out.println(errorCode);&lt;br /&gt;
                                }&lt;br /&gt;
}&lt;br /&gt;
void runIt(String voltage)&lt;br /&gt;
{&lt;br /&gt;
System.out.println(&amp;quot;The voltge in the Sql class is &amp;quot;+ voltage);&lt;br /&gt;
   try {&lt;br /&gt;
               String userName = &amp;quot;solar&amp;quot;;&lt;br /&gt;
               String passWord = &amp;quot;solar&amp;quot;;&lt;br /&gt;
               String url = &amp;quot;jdbc:mysql://localhost/solar&amp;quot;;&lt;br /&gt;
               //Class.forName (&amp;quot;com.mysql.jdbc.Driver&amp;quot;).newInstance ();&lt;br /&gt;
               conn = DriverManager.getConnection (url, userName, passWord);&lt;br /&gt;
               System.out.println(&amp;quot;connection esstablsihed in Sql&amp;quot;);&lt;br /&gt;
	       Float the_volt = Float.parseFloat(voltage);&lt;br /&gt;
	       String SQL=&amp;quot;insert into solar VALUES(&amp;quot;+the_volt+&amp;quot;, now())&amp;quot;;&lt;br /&gt;
	       Statement statement = conn.createStatement();&lt;br /&gt;
	       statement.executeUpdate(SQL);&lt;br /&gt;
&lt;br /&gt;
               conn.close();&lt;br /&gt;
       }&lt;br /&gt;
          catch (SQLException e){ &lt;br /&gt;
                                 String errorCode = e.toString();&lt;br /&gt;
                                 System.out.println(errorCode);&lt;br /&gt;
                                }&lt;br /&gt;
}&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Receive_API_request_with_Tomcat</id>
		<title>Receive API request with Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Receive_API_request_with_Tomcat"/>
				<updated>2025-04-25T17:12:05Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Steps:&amp;lt;br&amp;gt;&lt;br /&gt;
1. Needs mysql connection, create database and credentials.&amp;lt;br&amp;gt;&lt;br /&gt;
2. For the tomcat app create a web.xml file with entries for the API app:&amp;lt;br&amp;gt;&lt;br /&gt;
[[the_web_xml_for_tomcat|The web.xml file]]&amp;lt;br&amp;gt;&lt;br /&gt;
3. Two java files are used&amp;lt;br&amp;gt;&lt;br /&gt;
[[The_Api.java_file|Api.java]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[sql_java_file|Sql.java]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/The_Api.java_file</id>
		<title>The Api.java file</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/The_Api.java_file"/>
				<updated>2025-04-25T17:08:54Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
import java.time.format.DateTimeFormatter;  &lt;br /&gt;
import java.time.LocalDateTime;    &lt;br /&gt;
import java.sql.*;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public class Api extends HttpServlet&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException &lt;br /&gt;
      {&lt;br /&gt;
      response.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
      ServletOutputStream  out = response.getOutputStream();&lt;br /&gt;
      out.println(&amp;quot;this is a get&amp;quot;);&lt;br /&gt;
      String voltage = request.getParameter(&amp;quot;voltage&amp;quot;);&lt;br /&gt;
      out.println(voltage);&lt;br /&gt;
      System.out.println(&amp;quot;GET : &amp;quot; + voltage);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException &lt;br /&gt;
      {&lt;br /&gt;
	           Connection conn = null;&lt;br /&gt;
		   Statement stmt = null;&lt;br /&gt;
		   ResultSet rs = null;&lt;br /&gt;
&lt;br /&gt;
      response.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
      ServletOutputStream  out = response.getOutputStream();&lt;br /&gt;
      out.println(&amp;quot;This is a post \n&amp;quot;);&lt;br /&gt;
      String voltage = request.getParameter(&amp;quot;voltage&amp;quot;);&lt;br /&gt;
      String key = request.getParameter(&amp;quot;key&amp;quot;);&lt;br /&gt;
      out.println(voltage);&lt;br /&gt;
      //Sql bla = new Sql();&lt;br /&gt;
      &lt;br /&gt;
      try {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
               String userName = &amp;quot;xxxx&amp;quot;;&lt;br /&gt;
               String passWord = &amp;quot;xxxx&amp;quot;;&lt;br /&gt;
               String url = &amp;quot;jdbc:mysql://localhost/xxxxxxx&amp;quot;;&lt;br /&gt;
               //Class.forName (&amp;quot;com.mysql.jdbc.Driver&amp;quot;).newInstance();&lt;br /&gt;
               conn = DriverManager.getConnection (url, userName, passWord);&lt;br /&gt;
               System.out.println(&amp;quot;Database connection established&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
          }&lt;br /&gt;
          catch (SQLException e)&lt;br /&gt;
     {&lt;br /&gt;
     System.out.println(&amp;quot;Cannot connect the database!&amp;quot; +  e.toString());&lt;br /&gt;
     }&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
      System.out.print(&amp;quot;POST : &amp;quot; + voltage + &amp;quot;    &amp;quot;);&lt;br /&gt;
         DateTimeFormatter dtf = DateTimeFormatter.ofPattern(&amp;quot;yyyy/MM/dd HH:mm:ss&amp;quot;);  &lt;br /&gt;
	 LocalDateTime now = LocalDateTime.now();  &lt;br /&gt;
	 System.out.print(dtf.format(now));  &lt;br /&gt;
	 System.out.println(&amp;quot;    &amp;quot; + key);&lt;br /&gt;
&lt;br /&gt;
Sql bla = new Sql();&lt;br /&gt;
bla.runIt(voltage);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/The_Api.java_file</id>
		<title>The Api.java file</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/The_Api.java_file"/>
				<updated>2025-04-25T16:36:57Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot;&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.time.format.DateTimeFormatter;   import java.time.LocalDateTime;     im...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
import java.time.format.DateTimeFormatter;  &lt;br /&gt;
import java.time.LocalDateTime;    &lt;br /&gt;
import java.sql.*;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public class Api extends HttpServlet&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException &lt;br /&gt;
      {&lt;br /&gt;
      response.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
      ServletOutputStream  out = response.getOutputStream();&lt;br /&gt;
      out.println(&amp;quot;this is a get&amp;quot;);&lt;br /&gt;
      String voltage = request.getParameter(&amp;quot;voltage&amp;quot;);&lt;br /&gt;
      out.println(voltage);&lt;br /&gt;
      System.out.println(&amp;quot;GET : &amp;quot; + voltage);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException &lt;br /&gt;
      {&lt;br /&gt;
	           Connection conn = null;&lt;br /&gt;
		   Statement stmt = null;&lt;br /&gt;
		   ResultSet rs = null;&lt;br /&gt;
&lt;br /&gt;
      response.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
      ServletOutputStream  out = response.getOutputStream();&lt;br /&gt;
      out.println(&amp;quot;This is a post \n&amp;quot;);&lt;br /&gt;
      String voltage = request.getParameter(&amp;quot;voltage&amp;quot;);&lt;br /&gt;
      String key = request.getParameter(&amp;quot;key&amp;quot;);&lt;br /&gt;
      out.println(voltage);&lt;br /&gt;
      //Sql bla = new Sql();&lt;br /&gt;
      &lt;br /&gt;
      try {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
               String userName = &amp;quot;solar&amp;quot;;&lt;br /&gt;
               String passWord = &amp;quot;solar&amp;quot;;&lt;br /&gt;
               String url = &amp;quot;jdbc:mysql://localhost/solar&amp;quot;;&lt;br /&gt;
               //Class.forName (&amp;quot;com.mysql.jdbc.Driver&amp;quot;).newInstance();&lt;br /&gt;
               conn = DriverManager.getConnection (url, userName, passWord);&lt;br /&gt;
               System.out.println(&amp;quot;Database connection established&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
          }&lt;br /&gt;
          catch (SQLException e)&lt;br /&gt;
     {&lt;br /&gt;
     System.out.println(&amp;quot;Cannot connect the database!&amp;quot; +  e.toString());&lt;br /&gt;
     }&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
      System.out.print(&amp;quot;POST : &amp;quot; + voltage + &amp;quot;    &amp;quot;);&lt;br /&gt;
         DateTimeFormatter dtf = DateTimeFormatter.ofPattern(&amp;quot;yyyy/MM/dd HH:mm:ss&amp;quot;);  &lt;br /&gt;
	 LocalDateTime now = LocalDateTime.now();  &lt;br /&gt;
	 System.out.print(dtf.format(now));  &lt;br /&gt;
	 System.out.println(&amp;quot;    &amp;quot; + key);&lt;br /&gt;
&lt;br /&gt;
Sql bla = new Sql();&lt;br /&gt;
bla.runIt(voltage);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Receive_API_request_with_Tomcat</id>
		<title>Receive API request with Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Receive_API_request_with_Tomcat"/>
				<updated>2025-04-25T16:36:04Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Steps:&amp;lt;br&amp;gt;&lt;br /&gt;
1. Needs mysql connection, create database and credentials.&amp;lt;br&amp;gt;&lt;br /&gt;
2. For the tomcat app create a web.xml file with entries for the API app:&amp;lt;br&amp;gt;&lt;br /&gt;
[[the_web_xml_for_tomcat|The web.xml file]]&amp;lt;br&amp;gt;&lt;br /&gt;
3. Two java files are used&amp;lt;br&amp;gt;&lt;br /&gt;
[[The_Api.java_file|Api.java]]&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Receive_API_request_with_Tomcat</id>
		<title>Receive API request with Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Receive_API_request_with_Tomcat"/>
				<updated>2025-04-25T16:35:42Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Steps:&amp;lt;br&amp;gt;&lt;br /&gt;
1. Needs mysql connection, create database and credentials.&amp;lt;br&amp;gt;&lt;br /&gt;
2. For the tomcat app create a web.xml file with entries for the API app:&amp;lt;br&amp;gt;&lt;br /&gt;
[[the_web_xml_for_tomcat|The web.xml file]]&amp;lt;br&amp;gt;&lt;br /&gt;
3. Two java files are used&lt;br /&gt;
[[The_Api.java_file|Api.java]]&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Receive_API_request_with_Tomcat</id>
		<title>Receive API request with Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Receive_API_request_with_Tomcat"/>
				<updated>2025-04-25T15:23:52Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Steps:&amp;lt;br&amp;gt;&lt;br /&gt;
1. Needs mysql connection, create database and credentials.&amp;lt;br&amp;gt;&lt;br /&gt;
2. For the tomcat app create a web.xml file with entries for the API app:&amp;lt;br&amp;gt;&lt;br /&gt;
[[the_web_xml_for_tomcat|The web.xml file]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/The_web_xml_for_tomcat</id>
		<title>The web xml for tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/The_web_xml_for_tomcat"/>
				<updated>2025-04-25T15:21:01Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot;&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt; &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt; &amp;lt;!--   Licensed to the Apache Software Foundation (ASF) under one or more   contributor license agreements.  S...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
  Licensed to the Apache Software Foundation (ASF) under one or more&lt;br /&gt;
  contributor license agreements.  See the NOTICE file distributed with&lt;br /&gt;
  this work for additional information regarding copyright ownership.&lt;br /&gt;
  The ASF licenses this file to You under the Apache License, Version 2.0&lt;br /&gt;
  (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with&lt;br /&gt;
  the License.  You may obtain a copy of the License at&lt;br /&gt;
&lt;br /&gt;
      http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
&lt;br /&gt;
  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
  See the License for the specific language governing permissions and&lt;br /&gt;
  limitations under the License.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!DOCTYPE web-app&lt;br /&gt;
    PUBLIC &amp;quot;-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN&amp;quot;&lt;br /&gt;
    &amp;quot;http://java.sun.com/dtd/web-app_2_3.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;web-app&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- General description of your web application --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;display-name&amp;gt;My Web Application&amp;lt;/display-name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;&lt;br /&gt;
      This is version X.X of an application to perform&lt;br /&gt;
      a wild and wonderful task, based on servlets and&lt;br /&gt;
      JSP pages.  It was written by Dave Developer&lt;br /&gt;
      (dave@mycompany.com), who should be contacted for&lt;br /&gt;
      more information.&lt;br /&gt;
    &amp;lt;/description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Context initialization parameters that define shared&lt;br /&gt;
         String constants used within your application, which&lt;br /&gt;
         can be customized by the system administrator who is&lt;br /&gt;
         installing your application.  The values actually&lt;br /&gt;
         assigned to these parameters can be retrieved in a&lt;br /&gt;
         servlet or JSP page by calling:&lt;br /&gt;
&lt;br /&gt;
             String value =&lt;br /&gt;
               getServletContext().getInitParameter(&amp;quot;name&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
         where &amp;quot;name&amp;quot; matches the &amp;lt;param-name&amp;gt; element of&lt;br /&gt;
         one of these initialization parameters.&lt;br /&gt;
&lt;br /&gt;
         You can define any number of context initialization&lt;br /&gt;
         parameters, including zero.&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;context-param&amp;gt;&lt;br /&gt;
      &amp;lt;param-name&amp;gt;webmaster&amp;lt;/param-name&amp;gt;&lt;br /&gt;
      &amp;lt;param-value&amp;gt;myaddress@mycompany.com&amp;lt;/param-value&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&lt;br /&gt;
        The EMAIL address of the administrator to whom questions&lt;br /&gt;
        and comments about this application should be addressed.&lt;br /&gt;
      &amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/context-param&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Servlet definitions for the servlets that make up&lt;br /&gt;
         your web application, including initialization&lt;br /&gt;
         parameters.  With Tomcat, you can also send requests&lt;br /&gt;
         to servlets not listed here with a request like this:&lt;br /&gt;
&lt;br /&gt;
           http://localhost:8080/{context-path}/servlet/{classname}&lt;br /&gt;
&lt;br /&gt;
         but this usage is not guaranteed to be portable.  It also&lt;br /&gt;
         makes relative references to images and other resources&lt;br /&gt;
         required by your servlet more complicated, so defining&lt;br /&gt;
         all of your servlets (and defining a mapping to them with&lt;br /&gt;
         a servlet-mapping element) is recommended.&lt;br /&gt;
&lt;br /&gt;
         Servlet initialization parameters can be retrieved in a&lt;br /&gt;
         servlet or JSP page by calling:&lt;br /&gt;
&lt;br /&gt;
             String value =&lt;br /&gt;
               getServletConfig().getInitParameter(&amp;quot;name&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
         where &amp;quot;name&amp;quot; matches the &amp;lt;param-name&amp;gt; element of&lt;br /&gt;
         one of these initialization parameters.&lt;br /&gt;
&lt;br /&gt;
         You can define any number of servlets, including zero.&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;servlet&amp;gt;&lt;br /&gt;
      &amp;lt;servlet-name&amp;gt;controller&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&lt;br /&gt;
        This servlet plays the &amp;quot;controller&amp;quot; role in the MVC architecture&lt;br /&gt;
        used in this application.  It is generally mapped to the &amp;quot;.do&amp;quot;&lt;br /&gt;
        filename extension with a servlet-mapping element, and all form&lt;br /&gt;
        submits in the app will be submitted to a request URI like&lt;br /&gt;
        &amp;quot;saveCustomer.do&amp;quot;, which will therefore be mapped to this servlet.&lt;br /&gt;
&lt;br /&gt;
        The initialization parameter names for this servlet are the&lt;br /&gt;
        &amp;quot;servlet path&amp;quot; that will be received by this servlet (after the&lt;br /&gt;
        filename extension is removed).  The corresponding value is the&lt;br /&gt;
        name of the action class that will be used to process this request.&lt;br /&gt;
      &amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;servlet-class&amp;gt;com.mycompany.mypackage.ControllerServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;
      &amp;lt;init-param&amp;gt;&lt;br /&gt;
        &amp;lt;param-name&amp;gt;listOrders&amp;lt;/param-name&amp;gt;&lt;br /&gt;
        &amp;lt;param-value&amp;gt;com.mycompany.myactions.ListOrdersAction&amp;lt;/param-value&amp;gt;&lt;br /&gt;
      &amp;lt;/init-param&amp;gt;&lt;br /&gt;
      &amp;lt;init-param&amp;gt;&lt;br /&gt;
        &amp;lt;param-name&amp;gt;saveCustomer&amp;lt;/param-name&amp;gt;&lt;br /&gt;
        &amp;lt;param-value&amp;gt;com.mycompany.myactions.SaveCustomerAction&amp;lt;/param-value&amp;gt;&lt;br /&gt;
      &amp;lt;/init-param&amp;gt;&lt;br /&gt;
      &amp;lt;!-- Load this servlet at server startup time --&amp;gt;&lt;br /&gt;
      &amp;lt;load-on-startup&amp;gt;5&amp;lt;/load-on-startup&amp;gt;&lt;br /&gt;
    &amp;lt;/servlet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;servlet&amp;gt;&lt;br /&gt;
      &amp;lt;servlet-name&amp;gt;graph&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&lt;br /&gt;
        This servlet produces GIF images that are dynamically generated&lt;br /&gt;
        graphs, based on the input parameters included on the request.&lt;br /&gt;
        It is generally mapped to a specific request URI like &amp;quot;/graph&amp;quot;.&lt;br /&gt;
      &amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/servlet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Define mappings that are used by the servlet container to&lt;br /&gt;
         translate a particular request URI (context-relative) to a&lt;br /&gt;
         particular servlet.  The examples below correspond to the&lt;br /&gt;
         servlet descriptions above.  Thus, a request URI like:&lt;br /&gt;
&lt;br /&gt;
           http://localhost:8080/{contextpath}/graph&lt;br /&gt;
&lt;br /&gt;
         will be mapped to the &amp;quot;graph&amp;quot; servlet, while a request like:&lt;br /&gt;
&lt;br /&gt;
           http://localhost:8080/{contextpath}/saveCustomer.do&lt;br /&gt;
&lt;br /&gt;
         will be mapped to the &amp;quot;controller&amp;quot; servlet.&lt;br /&gt;
&lt;br /&gt;
         You may define any number of servlet mappings, including zero.&lt;br /&gt;
         It is also legal to define more than one mapping for the same&lt;br /&gt;
         servlet, if you wish to.&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
      &amp;lt;servlet-name&amp;gt;controller&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
      &amp;lt;url-pattern&amp;gt;*.do&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
    &amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
      &amp;lt;servlet-name&amp;gt;graph&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
      &amp;lt;url-pattern&amp;gt;/graph&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
    &amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;servlet&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-name&amp;gt;Api&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-class&amp;gt;Api&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;
    &amp;lt;/servlet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
      &amp;lt;servlet-name&amp;gt;Api&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
      &amp;lt;url-pattern&amp;gt;/Api&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
    &amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Define the default session timeout for your application,&lt;br /&gt;
         in minutes.  From a servlet or JSP page, you can modify&lt;br /&gt;
         the timeout for a particular session dynamically by using&lt;br /&gt;
         HttpSession.getMaxInactiveInterval(). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;session-config&amp;gt;&lt;br /&gt;
      &amp;lt;session-timeout&amp;gt;30&amp;lt;/session-timeout&amp;gt;    &amp;lt;!-- 30 minutes --&amp;gt;&lt;br /&gt;
    &amp;lt;/session-config&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/web-app&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Receive_API_request_with_Tomcat</id>
		<title>Receive API request with Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Receive_API_request_with_Tomcat"/>
				<updated>2025-04-25T15:20:25Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Steps:&amp;lt;br&amp;gt;&lt;br /&gt;
1. Needs mysql connection, create database and credentials.&amp;lt;br&amp;gt;&lt;br /&gt;
2. For the tomcat app create a web.xml file:&amp;lt;br&amp;gt;&lt;br /&gt;
[[the_web_xml_for_tomcat|The web.xml file]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Receive_API_request_with_Tomcat</id>
		<title>Receive API request with Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Receive_API_request_with_Tomcat"/>
				<updated>2025-04-25T12:08:59Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Steps:&amp;lt;br&amp;gt;&lt;br /&gt;
1. Needs mysql connection, create database and credentials.&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Receive_API_request_with_Tomcat</id>
		<title>Receive API request with Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Receive_API_request_with_Tomcat"/>
				<updated>2025-04-25T12:08:43Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Steps:&amp;lt;br&amp;gt;&lt;br /&gt;
1. Needs mysql connection, create database and credentials&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Receive_API_request_with_Tomcat</id>
		<title>Receive API request with Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Receive_API_request_with_Tomcat"/>
				<updated>2025-04-25T12:07:54Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot;Steps:&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Steps:&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Generate_API_request_with_Python</id>
		<title>Generate API request with Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Generate_API_request_with_Python"/>
				<updated>2024-12-09T23:58:11Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.datacamp.com/tutorial/making-http-requests-in-python?dc_referrer=https%3A%2F%2Fwww.google.com%2F&amp;lt;br&amp;gt;&lt;br /&gt;
This uses json:&amp;lt;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import requests&lt;br /&gt;
&lt;br /&gt;
# The API endpoint&lt;br /&gt;
url = &amp;quot;https://jsonplaceholder.typicode.com/posts&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Data to be sent&lt;br /&gt;
data = {&lt;br /&gt;
    &amp;quot;userID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;Making a POST request&amp;quot;,&lt;br /&gt;
    &amp;quot;body&amp;quot;: &amp;quot;This is the data we created.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# A POST request to the API&lt;br /&gt;
response = requests.post(url, json=data)&lt;br /&gt;
&lt;br /&gt;
# Print the response&lt;br /&gt;
print(response.json())&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is data and not json:&amp;lt;br&amp;gt;&lt;br /&gt;
https://apidog.com/blog/python-post-request/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import requests&lt;br /&gt;
&lt;br /&gt;
# Define the URL and the data to be sent in the POST request&lt;br /&gt;
url = 'http://example.com/test/demo_form.php'&lt;br /&gt;
data = {'name1': 'value1', 'name2': 'value2'}&lt;br /&gt;
&lt;br /&gt;
# Make the POST request&lt;br /&gt;
response = requests.post(url, data=data)&lt;br /&gt;
&lt;br /&gt;
# Print the status code and the response content&lt;br /&gt;
print(f&amp;quot;Status Code: {response.status_code}&amp;quot;)&lt;br /&gt;
print(f&amp;quot;Response Content: {response.text}&amp;quot;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Generate_API_request_with_Python</id>
		<title>Generate API request with Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Generate_API_request_with_Python"/>
				<updated>2024-12-09T23:56:44Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.datacamp.com/tutorial/making-http-requests-in-python?dc_referrer=https%3A%2F%2Fwww.google.com%2F&amp;lt;br&amp;gt;&lt;br /&gt;
This uses json:&amp;lt;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import requests&lt;br /&gt;
&lt;br /&gt;
# The API endpoint&lt;br /&gt;
url = &amp;quot;https://jsonplaceholder.typicode.com/posts&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Data to be sent&lt;br /&gt;
data = {&lt;br /&gt;
    &amp;quot;userID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;Making a POST request&amp;quot;,&lt;br /&gt;
    &amp;quot;body&amp;quot;: &amp;quot;This is the data we created.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# A POST request to the API&lt;br /&gt;
response = requests.post(url, json=data)&lt;br /&gt;
&lt;br /&gt;
# Print the response&lt;br /&gt;
print(response.json())&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is data and not json:&amp;lt;br&amp;gt;&lt;br /&gt;
https://apidog.com/blog/python-post-request/&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Generate_API_request_with_Python</id>
		<title>Generate API request with Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Generate_API_request_with_Python"/>
				<updated>2024-12-09T23:53:01Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.datacamp.com/tutorial/making-http-requests-in-python?dc_referrer=https%3A%2F%2Fwww.google.com%2F&amp;lt;br&amp;gt;&lt;br /&gt;
This uses json:&amp;lt;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import requests&lt;br /&gt;
&lt;br /&gt;
# The API endpoint&lt;br /&gt;
url = &amp;quot;https://jsonplaceholder.typicode.com/posts&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Data to be sent&lt;br /&gt;
data = {&lt;br /&gt;
    &amp;quot;userID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;Making a POST request&amp;quot;,&lt;br /&gt;
    &amp;quot;body&amp;quot;: &amp;quot;This is the data we created.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# A POST request to the API&lt;br /&gt;
response = requests.post(url, json=data)&lt;br /&gt;
&lt;br /&gt;
# Print the response&lt;br /&gt;
print(response.json())&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Generate_API_request_with_Python</id>
		<title>Generate API request with Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Generate_API_request_with_Python"/>
				<updated>2024-12-09T23:50:16Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot;https://www.datacamp.com/tutorial/making-http-requests-in-python?dc_referrer=https%3A%2F%2Fwww.google.com%2F&amp;lt;br&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.datacamp.com/tutorial/making-http-requests-in-python?dc_referrer=https%3A%2F%2Fwww.google.com%2F&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/API</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/API"/>
				<updated>2024-12-09T23:42:18Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ Generate API request with Python ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Receive API request with Tomcat ]]&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/API</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/API"/>
				<updated>2024-12-09T23:42:08Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ Generate API request with Python ]] &amp;lt;br&amp;gt;&lt;br /&gt;
 [[ Receive API request with Tomcat ]]&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/API</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/API"/>
				<updated>2024-12-09T23:41:47Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot;  Generate API request with Python    Receive API request with Tomcat &amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; [[ Generate API request with Python ]]&lt;br /&gt;
 [[ Receive API request with Tomcat ]]&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Main_Page"/>
				<updated>2024-12-09T23:40:19Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background:#7CFC00&amp;quot;&amp;gt;  This Wiki is read only ! &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[ Amazon Free AWS training in Stratford ]]&lt;br /&gt;
 [[ AD Stuff ]]&lt;br /&gt;
 [[ ansible ]] and Vagrant and all associated stuff.&lt;br /&gt;
 [[ Ant ]]&lt;br /&gt;
 [[ Apache ]]&lt;br /&gt;
  Apache[[ Tomcat Stuff ]]&lt;br /&gt;
 [[ API ]]&lt;br /&gt;
 [[ Android, from Coursera course beginning 25 Sept 2017 ]]&lt;br /&gt;
 [[ Asterisk ]]&lt;br /&gt;
 [[ Authenticating MediaWiki to LDAP servers ]]&lt;br /&gt;
 [[ Autossh ]]&lt;br /&gt;
 [[ Azure Notes ]]&lt;br /&gt;
 [[ Bootstrap ]]&lt;br /&gt;
 [[ Bourne Shell ]]&lt;br /&gt;
 [[ C# ]]&lt;br /&gt;
 [[ Chocolately Windows package manager ]]&lt;br /&gt;
 [[ Coursera courses ]]&lt;br /&gt;
 [[ Django ]]&lt;br /&gt;
 [[ Docker ]]&lt;br /&gt;
 [[ fail2ban ]]&lt;br /&gt;
 [[ ffmpeg syntax ]]for converting between video formats&lt;br /&gt;
 [[ Firebird connecting from PHP ]]&lt;br /&gt;
 [[ Go ]]&lt;br /&gt;
 [[ Guacamole ]]&lt;br /&gt;
 [[ HTML Links ]]&lt;br /&gt;
 [[ ImgeMagick ]]&lt;br /&gt;
 [[ iptables - general ]]&lt;br /&gt;
 [[ Java Code ]]&lt;br /&gt;
 [[ JavaFX 8 ]]&lt;br /&gt;
 [[ java fresh start ]]&lt;br /&gt;
 [[ Kava Lambda Expressions ]]&lt;br /&gt;
 [[ Links Misc ]]&lt;br /&gt;
 [[ Linux configuration tasks ]]&lt;br /&gt;
 [[ Linux Automation tasks ]]&lt;br /&gt;
 [[ LXC Ubuntu 16.04 ]] and higher&lt;br /&gt;
 [[  MediaWiki Sphinx search engine ]]&lt;br /&gt;
 [[ Mysql ]]&lt;br /&gt;
 [[ Nmap ]]&lt;br /&gt;
 [[ PHP ]]&lt;br /&gt;
 [[ Openshift / Kubernetes ]]&lt;br /&gt;
 [[ openssl ]]&lt;br /&gt;
 [[ Oracle on Oracle linux 6.5 ]] ( and 7 ) and other Oracle installation information in general&lt;br /&gt;
 [[ Oracle Database Administration ]]&lt;br /&gt;
 [[ PHP ]]&lt;br /&gt;
 [[ Powershell ]] and command line examples for O365 and Active Directory.&lt;br /&gt;
 [[ Powershell Tasks ]]&lt;br /&gt;
 [[ Python ]]&lt;br /&gt;
 [[ MicroPython and Pi Pico ]](the Wifi version)&lt;br /&gt;
 [[ Raspberry Pi ]]&lt;br /&gt;
 [[ Raspberry Pi Pico W ]]&lt;br /&gt;
 [[ Recipes ]]&lt;br /&gt;
 [[ Red Hat ]]and Centos&lt;br /&gt;
 [[ robocopy ]]&lt;br /&gt;
 [[ Rsync ]]&lt;br /&gt;
 [[ Rsync exclude/include pattern rules ]]&lt;br /&gt;
 [[ screen ]]&lt;br /&gt;
 [[ Scripts ]]&lt;br /&gt;
 [[ sed, examples ]]&lt;br /&gt;
 [[ Servlet Programming ]]&lt;br /&gt;
 [[ Shibboleth ]]&lt;br /&gt;
 [[ Solaris ]]&lt;br /&gt;
 [[ SQL Server 2008 ]] and sql queries etc&lt;br /&gt;
 [[ SQL Server on Linux ]]&lt;br /&gt;
 [[ SQL Queries and examples ]]&lt;br /&gt;
 [[ sshfs, using ]]&lt;br /&gt;
 [[ tar ]]&lt;br /&gt;
 [[ tcl, expect and Tk]]&lt;br /&gt;
 [[ UFW Firewall ]]&lt;br /&gt;
 [[ Vagrant ]]&lt;br /&gt;
 [[ vi ]]&lt;br /&gt;
 [[ Vmware ]]&lt;br /&gt;
 [[ WebODF for displaying odt documents in web browser ]]&lt;br /&gt;
 [[ Wiki formatting ]]&lt;br /&gt;
 [[ Wiki stuff ]]&lt;br /&gt;
 [[ Windows Command Line ]]&lt;br /&gt;
 [[ Windows Server 2012 R2 ]]&lt;br /&gt;
 [[ winscp command line ]]&lt;br /&gt;
 [[ Zbackup ]]&lt;br /&gt;
 [[eero_fault ]]&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Main_Page"/>
				<updated>2024-12-09T23:39:37Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background:#7CFC00&amp;quot;&amp;gt;  This Wiki is read only ! &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[ Amazon Free AWS training in Stratford ]]&lt;br /&gt;
 [[ AD Stuff ]]&lt;br /&gt;
 [[ ansible ]] and Vagrant and all associated stuff.&lt;br /&gt;
 [[ Ant ]]&lt;br /&gt;
 [[ Apache ]]&lt;br /&gt;
  Apache[[ Tomcat Stuff ]]&lt;br /&gt;
  API&lt;br /&gt;
 [[ Android, from Coursera course beginning 25 Sept 2017 ]]&lt;br /&gt;
 [[ Asterisk ]]&lt;br /&gt;
 [[ Authenticating MediaWiki to LDAP servers ]]&lt;br /&gt;
 [[ Autossh ]]&lt;br /&gt;
 [[ Azure Notes ]]&lt;br /&gt;
 [[ Bootstrap ]]&lt;br /&gt;
 [[ Bourne Shell ]]&lt;br /&gt;
 [[ C# ]]&lt;br /&gt;
 [[ Chocolately Windows package manager ]]&lt;br /&gt;
 [[ Coursera courses ]]&lt;br /&gt;
 [[ Django ]]&lt;br /&gt;
 [[ Docker ]]&lt;br /&gt;
 [[ fail2ban ]]&lt;br /&gt;
 [[ ffmpeg syntax ]]for converting between video formats&lt;br /&gt;
 [[ Firebird connecting from PHP ]]&lt;br /&gt;
 [[ Go ]]&lt;br /&gt;
 [[ Guacamole ]]&lt;br /&gt;
 [[ HTML Links ]]&lt;br /&gt;
 [[ ImgeMagick ]]&lt;br /&gt;
 [[ iptables - general ]]&lt;br /&gt;
 [[ Java Code ]]&lt;br /&gt;
 [[ JavaFX 8 ]]&lt;br /&gt;
 [[ java fresh start ]]&lt;br /&gt;
 [[ Kava Lambda Expressions ]]&lt;br /&gt;
 [[ Links Misc ]]&lt;br /&gt;
 [[ Linux configuration tasks ]]&lt;br /&gt;
 [[ Linux Automation tasks ]]&lt;br /&gt;
 [[ LXC Ubuntu 16.04 ]] and higher&lt;br /&gt;
 [[  MediaWiki Sphinx search engine ]]&lt;br /&gt;
 [[ Mysql ]]&lt;br /&gt;
 [[ Nmap ]]&lt;br /&gt;
 [[ PHP ]]&lt;br /&gt;
 [[ Openshift / Kubernetes ]]&lt;br /&gt;
 [[ openssl ]]&lt;br /&gt;
 [[ Oracle on Oracle linux 6.5 ]] ( and 7 ) and other Oracle installation information in general&lt;br /&gt;
 [[ Oracle Database Administration ]]&lt;br /&gt;
 [[ PHP ]]&lt;br /&gt;
 [[ Powershell ]] and command line examples for O365 and Active Directory.&lt;br /&gt;
 [[ Powershell Tasks ]]&lt;br /&gt;
 [[ Python ]]&lt;br /&gt;
 [[ MicroPython and Pi Pico ]](the Wifi version)&lt;br /&gt;
 [[ Raspberry Pi ]]&lt;br /&gt;
 [[ Raspberry Pi Pico W ]]&lt;br /&gt;
 [[ Recipes ]]&lt;br /&gt;
 [[ Red Hat ]]and Centos&lt;br /&gt;
 [[ robocopy ]]&lt;br /&gt;
 [[ Rsync ]]&lt;br /&gt;
 [[ Rsync exclude/include pattern rules ]]&lt;br /&gt;
 [[ screen ]]&lt;br /&gt;
 [[ Scripts ]]&lt;br /&gt;
 [[ sed, examples ]]&lt;br /&gt;
 [[ Servlet Programming ]]&lt;br /&gt;
 [[ Shibboleth ]]&lt;br /&gt;
 [[ Solaris ]]&lt;br /&gt;
 [[ SQL Server 2008 ]] and sql queries etc&lt;br /&gt;
 [[ SQL Server on Linux ]]&lt;br /&gt;
 [[ SQL Queries and examples ]]&lt;br /&gt;
 [[ sshfs, using ]]&lt;br /&gt;
 [[ tar ]]&lt;br /&gt;
 [[ tcl, expect and Tk]]&lt;br /&gt;
 [[ UFW Firewall ]]&lt;br /&gt;
 [[ Vagrant ]]&lt;br /&gt;
 [[ vi ]]&lt;br /&gt;
 [[ Vmware ]]&lt;br /&gt;
 [[ WebODF for displaying odt documents in web browser ]]&lt;br /&gt;
 [[ Wiki formatting ]]&lt;br /&gt;
 [[ Wiki stuff ]]&lt;br /&gt;
 [[ Windows Command Line ]]&lt;br /&gt;
 [[ Windows Server 2012 R2 ]]&lt;br /&gt;
 [[ winscp command line ]]&lt;br /&gt;
 [[ Zbackup ]]&lt;br /&gt;
 [[eero_fault ]]&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Create_a_router_with_Almalinux_8</id>
		<title>Create a router with Almalinux 8</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Create_a_router_with_Almalinux_8"/>
				<updated>2024-11-02T22:55:19Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Task goal:  to create a Vagrant and ansible build which will create a router based on Almalinux &amp;lt;br&amp;gt;&lt;br /&gt;
 in Windo&lt;br /&gt;
1. Use Vagrant to build a vm with Virtualbox&lt;br /&gt;
2. Use ansible to perform the configuration&lt;br /&gt;
&lt;br /&gt;
These are separate tasks as Virtualbox is running in Windows and Anible does not run  in Windows.&lt;br /&gt;
&lt;br /&gt;
'''Vagrantfile'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Ruby&amp;quot;&amp;gt;&lt;br /&gt;
# -*- mode: ruby -*-&lt;br /&gt;
# vi: set ft=ruby :&lt;br /&gt;
&lt;br /&gt;
# All Vagrant configuration is done below. The &amp;quot;2&amp;quot; in Vagrant.configure&lt;br /&gt;
# configures the configuration version (we support older styles for&lt;br /&gt;
# backwards compatibility). Please don't change it unless you know what&lt;br /&gt;
# you're doing.&lt;br /&gt;
Vagrant.configure(&amp;quot;2&amp;quot;) do |config|&lt;br /&gt;
  # The most common configuration options are documented and commented below.&lt;br /&gt;
  # For a complete reference, please see the online documentation at&lt;br /&gt;
  # https://docs.vagrantup.com.&lt;br /&gt;
&lt;br /&gt;
  # Every Vagrant development environment requires a box. You can search for&lt;br /&gt;
  # boxes at https://vagrantcloud.com/search.&lt;br /&gt;
  config.vm.box = &amp;quot;almalinux/8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Disable automatic box update checking. If you disable this, then&lt;br /&gt;
  # boxes will only be checked for updates when the user runs&lt;br /&gt;
  # `vagrant box outdated`. This is not recommended.&lt;br /&gt;
  # config.vm.box_check_update = false&lt;br /&gt;
&lt;br /&gt;
  # Create a forwarded port mapping which allows access to a specific port&lt;br /&gt;
  # within the machine from a port on the host machine. In the example below,&lt;br /&gt;
  # accessing &amp;quot;localhost:8080&amp;quot; will access port 80 on the guest machine.&lt;br /&gt;
  # NOTE: This will enable public access to the opened port&lt;br /&gt;
  # config.vm.network &amp;quot;forwarded_port&amp;quot;, guest: 80, host: 8080&lt;br /&gt;
&lt;br /&gt;
  # Create a forwarded port mapping which allows access to a specific port&lt;br /&gt;
  # within the machine from a port on the host machine and only allow access&lt;br /&gt;
  # via 127.0.0.1 to disable public access&lt;br /&gt;
  # config.vm.network &amp;quot;forwarded_port&amp;quot;, guest: 80, host: 8080, host_ip: &amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;
  config.vm.network &amp;quot;public_network&amp;quot;, bridge: &amp;quot;Hyper-V Virtual Ethernet Adapter #2&amp;quot;,   ip: &amp;quot;192.168.0.20&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Create a private network, which allows host-only access to the machine&lt;br /&gt;
  # using a specific IP.&lt;br /&gt;
  # config.vm.network &amp;quot;private_network&amp;quot;, ip: &amp;quot;192.168.33.10&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Create a public network, which generally matched to bridged network.&lt;br /&gt;
  # Bridged networks make the machine appear as another physical device on&lt;br /&gt;
  # your network.&lt;br /&gt;
  # config.vm.network &amp;quot;public_network&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Share an additional folder to the guest VM. The first argument is&lt;br /&gt;
  # the path on the host to the actual folder. The second argument is&lt;br /&gt;
  # the path on the guest to mount the folder. And the optional third&lt;br /&gt;
  # argument is a set of non-required options.&lt;br /&gt;
  # config.vm.synced_folder &amp;quot;../data&amp;quot;, &amp;quot;/vagrant_data&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Disable the default share of the current code directory. Doing this&lt;br /&gt;
  # provides improved isolation between the vagrant box and your host&lt;br /&gt;
  # by making sure your Vagrantfile isn't accessible to the vagrant box.&lt;br /&gt;
  # If you use this you may want to enable additional shared subfolders as&lt;br /&gt;
  # shown above.&lt;br /&gt;
  # config.vm.synced_folder &amp;quot;.&amp;quot;, &amp;quot;/vagrant&amp;quot;, disabled: true&lt;br /&gt;
&lt;br /&gt;
  # Provider-specific configuration so you can fine-tune various&lt;br /&gt;
  # backing providers for Vagrant. These expose provider-specific options.&lt;br /&gt;
  # Example for VirtualBox:&lt;br /&gt;
  #&lt;br /&gt;
  # config.vm.provider &amp;quot;virtualbox&amp;quot; do |vb|&lt;br /&gt;
  #   # Display the VirtualBox GUI when booting the machine&lt;br /&gt;
  #   vb.gui = true&lt;br /&gt;
  #&lt;br /&gt;
  #   # Customize the amount of memory on the VM:&lt;br /&gt;
  #   vb.memory = &amp;quot;1024&amp;quot;&lt;br /&gt;
  # end&lt;br /&gt;
  #&lt;br /&gt;
  # View the documentation for the provider you are using for more&lt;br /&gt;
  # information on available options.&lt;br /&gt;
&lt;br /&gt;
  # Enable provisioning with a shell script. Additional provisioners such as&lt;br /&gt;
  # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the&lt;br /&gt;
  # documentation for more information about their specific syntax and use.&lt;br /&gt;
  # The account that ansible will use is &amp;quot;ansible&amp;quot; so we will create the user&lt;br /&gt;
  # and add the public key of the user on the client side&lt;br /&gt;
    config.vm.provision &amp;quot;shell&amp;quot;, inline: &amp;lt;&amp;lt;-SHELL&lt;br /&gt;
   [ -e /home/ansible_user ] &amp;amp;&amp;amp; userdel -r ansible_user&lt;br /&gt;
   useradd -m ansible_user&lt;br /&gt;
   mkdir /home/ansible_user/.ssh&lt;br /&gt;
   chown ansible_user:ansible_user /home/ansible_user/.ssh&lt;br /&gt;
   chmod 700 /home/ansible_user/.ssh&lt;br /&gt;
   cp /vagrant/id_rsa.pub /home/ansible_user/.ssh/authorized_keys&lt;br /&gt;
   chmod 600 /home/ansible_user/.ssh/authorized_keys&lt;br /&gt;
   chown ansible_user:ansible_user /home/ansible_user/.ssh/authorized_keys&lt;br /&gt;
   SHELL&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Create_a_router_with_Almalinux_8</id>
		<title>Create a router with Almalinux 8</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Create_a_router_with_Almalinux_8"/>
				<updated>2024-11-02T22:52:25Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Task goal:  to create a Vagrant and ansible build which will create a router based on Almalinux &amp;lt;br&amp;gt;&lt;br /&gt;
 in Windo&lt;br /&gt;
1. Use Vagrant to build a vm with Virtualbox&lt;br /&gt;
2. Use ansible to perform the configuration&lt;br /&gt;
&lt;br /&gt;
These are separate tasks as Virtualbox is running in Windows and Anible does not run  in Windows.&lt;br /&gt;
&lt;br /&gt;
'''Vagrantfile'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Ruby&amp;quot;&amp;gt;&lt;br /&gt;
# -*- mode: ruby -*-&lt;br /&gt;
# vi: set ft=ruby :&lt;br /&gt;
&lt;br /&gt;
# All Vagrant configuration is done below. The &amp;quot;2&amp;quot; in Vagrant.configure&lt;br /&gt;
# configures the configuration version (we support older styles for&lt;br /&gt;
# backwards compatibility). Please don't change it unless you know what&lt;br /&gt;
# you're doing.&lt;br /&gt;
Vagrant.configure(&amp;quot;2&amp;quot;) do |config|&lt;br /&gt;
  # The most common configuration options are documented and commented below.&lt;br /&gt;
  # For a complete reference, please see the online documentation at&lt;br /&gt;
  # https://docs.vagrantup.com.&lt;br /&gt;
&lt;br /&gt;
  # Every Vagrant development environment requires a box. You can search for&lt;br /&gt;
  # boxes at https://vagrantcloud.com/search.&lt;br /&gt;
  config.vm.box = &amp;quot;almalinux/8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Disable automatic box update checking. If you disable this, then&lt;br /&gt;
  # boxes will only be checked for updates when the user runs&lt;br /&gt;
  # `vagrant box outdated`. This is not recommended.&lt;br /&gt;
  # config.vm.box_check_update = false&lt;br /&gt;
&lt;br /&gt;
  # Create a forwarded port mapping which allows access to a specific port&lt;br /&gt;
  # within the machine from a port on the host machine. In the example below,&lt;br /&gt;
  # accessing &amp;quot;localhost:8080&amp;quot; will access port 80 on the guest machine.&lt;br /&gt;
  # NOTE: This will enable public access to the opened port&lt;br /&gt;
  # config.vm.network &amp;quot;forwarded_port&amp;quot;, guest: 80, host: 8080&lt;br /&gt;
&lt;br /&gt;
  # Create a forwarded port mapping which allows access to a specific port&lt;br /&gt;
  # within the machine from a port on the host machine and only allow access&lt;br /&gt;
  # via 127.0.0.1 to disable public access&lt;br /&gt;
  # config.vm.network &amp;quot;forwarded_port&amp;quot;, guest: 80, host: 8080, host_ip: &amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;
  config.vm.network &amp;quot;public_network&amp;quot;, bridge: &amp;quot;Hyper-V Virtual Ethernet Adapter #2&amp;quot;,   ip: &amp;quot;192.168.0.20&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Create a private network, which allows host-only access to the machine&lt;br /&gt;
  # using a specific IP.&lt;br /&gt;
  # config.vm.network &amp;quot;private_network&amp;quot;, ip: &amp;quot;192.168.33.10&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Create a public network, which generally matched to bridged network.&lt;br /&gt;
  # Bridged networks make the machine appear as another physical device on&lt;br /&gt;
  # your network.&lt;br /&gt;
  # config.vm.network &amp;quot;public_network&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Share an additional folder to the guest VM. The first argument is&lt;br /&gt;
  # the path on the host to the actual folder. The second argument is&lt;br /&gt;
  # the path on the guest to mount the folder. And the optional third&lt;br /&gt;
  # argument is a set of non-required options.&lt;br /&gt;
  # config.vm.synced_folder &amp;quot;../data&amp;quot;, &amp;quot;/vagrant_data&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Disable the default share of the current code directory. Doing this&lt;br /&gt;
  # provides improved isolation between the vagrant box and your host&lt;br /&gt;
  # by making sure your Vagrantfile isn't accessible to the vagrant box.&lt;br /&gt;
  # If you use this you may want to enable additional shared subfolders as&lt;br /&gt;
  # shown above.&lt;br /&gt;
  # config.vm.synced_folder &amp;quot;.&amp;quot;, &amp;quot;/vagrant&amp;quot;, disabled: true&lt;br /&gt;
&lt;br /&gt;
  # Provider-specific configuration so you can fine-tune various&lt;br /&gt;
  # backing providers for Vagrant. These expose provider-specific options.&lt;br /&gt;
  # Example for VirtualBox:&lt;br /&gt;
  #&lt;br /&gt;
  # config.vm.provider &amp;quot;virtualbox&amp;quot; do |vb|&lt;br /&gt;
  #   # Display the VirtualBox GUI when booting the machine&lt;br /&gt;
  #   vb.gui = true&lt;br /&gt;
  #&lt;br /&gt;
  #   # Customize the amount of memory on the VM:&lt;br /&gt;
  #   vb.memory = &amp;quot;1024&amp;quot;&lt;br /&gt;
  # end&lt;br /&gt;
  #&lt;br /&gt;
  # View the documentation for the provider you are using for more&lt;br /&gt;
  # information on available options.&lt;br /&gt;
&lt;br /&gt;
  # Enable provisioning with a shell script. Additional provisioners such as&lt;br /&gt;
  # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the&lt;br /&gt;
  # documentation for more information about their specific syntax and use.&lt;br /&gt;
  # The account that ansible will use is &amp;quot;ansible&amp;quot; so we will create the user&lt;br /&gt;
  # and add the public key of the user on the client side&lt;br /&gt;
    config.vm.provision &amp;quot;shell&amp;quot;, inline: &amp;lt;&amp;lt;-SHELL&lt;br /&gt;
   [ -e /home/ansible ] &amp;amp;&amp;amp; userdel -r ansible&lt;br /&gt;
   useradd -m ansible&lt;br /&gt;
   mkdir /home/ansible/.ssh&lt;br /&gt;
   chown ansible:ansible /home/ansible/.ssh&lt;br /&gt;
   chmod 700 /home/ansible/.ssh&lt;br /&gt;
   cp /vagrant/id_rsa.pub /home/ansible/.ssh/authorized_keys&lt;br /&gt;
   chmod 600 /home/ansible/.ssh/authorized_keys&lt;br /&gt;
   chown ansible:ansible /home/ansible/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
   SHELL&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Create_a_router_with_Almalinux_8</id>
		<title>Create a router with Almalinux 8</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Create_a_router_with_Almalinux_8"/>
				<updated>2024-11-02T21:59:56Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot;Task goal:  to create a Vagrant and ansible build which will create a router based on Almalinux &amp;lt;br&amp;gt;  in Windo 1. Use Vagrant to build a vm with Virtualbox 2. Use ansible to p...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Task goal:  to create a Vagrant and ansible build which will create a router based on Almalinux &amp;lt;br&amp;gt;&lt;br /&gt;
 in Windo&lt;br /&gt;
1. Use Vagrant to build a vm with Virtualbox&lt;br /&gt;
2. Use ansible to perform the configuration&lt;br /&gt;
&lt;br /&gt;
These are separate tasks as Virtualbox is running in Windows and Anible does not run  in Windows.&lt;br /&gt;
&lt;br /&gt;
'''Vagrantfile'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Ruby&amp;quot;&amp;gt;&lt;br /&gt;
# -*- mode: ruby -*-&lt;br /&gt;
# vi: set ft=ruby :&lt;br /&gt;
&lt;br /&gt;
# All Vagrant configuration is done below. The &amp;quot;2&amp;quot; in Vagrant.configure&lt;br /&gt;
# configures the configuration version (we support older styles for&lt;br /&gt;
# backwards compatibility). Please don't change it unless you know what&lt;br /&gt;
# you're doing.&lt;br /&gt;
Vagrant.configure(&amp;quot;2&amp;quot;) do |config|&lt;br /&gt;
  # The most common configuration options are documented and commented below.&lt;br /&gt;
  # For a complete reference, please see the online documentation at&lt;br /&gt;
  # https://docs.vagrantup.com.&lt;br /&gt;
&lt;br /&gt;
  # Every Vagrant development environment requires a box. You can search for&lt;br /&gt;
  # boxes at https://vagrantcloud.com/search.&lt;br /&gt;
  config.vm.box = &amp;quot;almalinux/8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Disable automatic box update checking. If you disable this, then&lt;br /&gt;
  # boxes will only be checked for updates when the user runs&lt;br /&gt;
  # `vagrant box outdated`. This is not recommended.&lt;br /&gt;
  # config.vm.box_check_update = false&lt;br /&gt;
&lt;br /&gt;
  # Create a forwarded port mapping which allows access to a specific port&lt;br /&gt;
  # within the machine from a port on the host machine. In the example below,&lt;br /&gt;
  # accessing &amp;quot;localhost:8080&amp;quot; will access port 80 on the guest machine.&lt;br /&gt;
  # NOTE: This will enable public access to the opened port&lt;br /&gt;
  # config.vm.network &amp;quot;forwarded_port&amp;quot;, guest: 80, host: 8080&lt;br /&gt;
&lt;br /&gt;
  # Create a forwarded port mapping which allows access to a specific port&lt;br /&gt;
  # within the machine from a port on the host machine and only allow access&lt;br /&gt;
  # via 127.0.0.1 to disable public access&lt;br /&gt;
  # config.vm.network &amp;quot;forwarded_port&amp;quot;, guest: 80, host: 8080, host_ip: &amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;
  config.vm.network &amp;quot;public_network&amp;quot;, bridge: &amp;quot;Hyper-V Virtual Ethernet Adapter #2&amp;quot;,   ip: &amp;quot;192.168.0.20&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Create a private network, which allows host-only access to the machine&lt;br /&gt;
  # using a specific IP.&lt;br /&gt;
  # config.vm.network &amp;quot;private_network&amp;quot;, ip: &amp;quot;192.168.33.10&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Create a public network, which generally matched to bridged network.&lt;br /&gt;
  # Bridged networks make the machine appear as another physical device on&lt;br /&gt;
  # your network.&lt;br /&gt;
  # config.vm.network &amp;quot;public_network&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Share an additional folder to the guest VM. The first argument is&lt;br /&gt;
  # the path on the host to the actual folder. The second argument is&lt;br /&gt;
  # the path on the guest to mount the folder. And the optional third&lt;br /&gt;
  # argument is a set of non-required options.&lt;br /&gt;
  # config.vm.synced_folder &amp;quot;../data&amp;quot;, &amp;quot;/vagrant_data&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Disable the default share of the current code directory. Doing this&lt;br /&gt;
  # provides improved isolation between the vagrant box and your host&lt;br /&gt;
  # by making sure your Vagrantfile isn't accessible to the vagrant box.&lt;br /&gt;
  # If you use this you may want to enable additional shared subfolders as&lt;br /&gt;
  # shown above.&lt;br /&gt;
  # config.vm.synced_folder &amp;quot;.&amp;quot;, &amp;quot;/vagrant&amp;quot;, disabled: true&lt;br /&gt;
&lt;br /&gt;
  # Provider-specific configuration so you can fine-tune various&lt;br /&gt;
  # backing providers for Vagrant. These expose provider-specific options.&lt;br /&gt;
  # Example for VirtualBox:&lt;br /&gt;
  #&lt;br /&gt;
  # config.vm.provider &amp;quot;virtualbox&amp;quot; do |vb|&lt;br /&gt;
  #   # Display the VirtualBox GUI when booting the machine&lt;br /&gt;
  #   vb.gui = true&lt;br /&gt;
  #&lt;br /&gt;
  #   # Customize the amount of memory on the VM:&lt;br /&gt;
  #   vb.memory = &amp;quot;1024&amp;quot;&lt;br /&gt;
  # end&lt;br /&gt;
  #&lt;br /&gt;
  # View the documentation for the provider you are using for more&lt;br /&gt;
  # information on available options.&lt;br /&gt;
&lt;br /&gt;
  # Enable provisioning with a shell script. Additional provisioners such as&lt;br /&gt;
  # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the&lt;br /&gt;
  # documentation for more information about their specific syntax and use.&lt;br /&gt;
  # config.vm.provision &amp;quot;shell&amp;quot;, inline: &amp;lt;&amp;lt;-SHELL&lt;br /&gt;
  #   apt-get update&lt;br /&gt;
  #   apt-get install -y apache2&lt;br /&gt;
  # SHELL&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Linux_Automation_tasks</id>
		<title>Linux Automation tasks</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Linux_Automation_tasks"/>
				<updated>2024-11-02T21:52:00Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot; Create a router with Almalinux 8  &amp;lt;br&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ Create a router with Almalinux 8 ]] &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Main_Page"/>
				<updated>2024-11-02T21:50:45Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background:#7CFC00&amp;quot;&amp;gt;  This Wiki is read only ! &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 [[ Amazon Free AWS training in Stratford ]]&lt;br /&gt;
 [[ AD Stuff ]]&lt;br /&gt;
 [[ ansible ]] and Vagrant and all associated stuff.&lt;br /&gt;
 [[ Ant ]]&lt;br /&gt;
 [[ Apache ]]&lt;br /&gt;
  Apache[[ Tomcat Stuff ]]&lt;br /&gt;
 [[ Android, from Coursera course beginning 25 Sept 2017 ]]&lt;br /&gt;
 [[ Asterisk ]]&lt;br /&gt;
 [[ Authenticating MediaWiki to LDAP servers ]]&lt;br /&gt;
 [[ Autossh ]]&lt;br /&gt;
 [[ Azure Notes ]]&lt;br /&gt;
 [[ Bootstrap ]]&lt;br /&gt;
 [[ Bourne Shell ]]&lt;br /&gt;
 [[ C# ]]&lt;br /&gt;
 [[ Chocolately Windows package manager ]]&lt;br /&gt;
 [[ Coursera courses ]]&lt;br /&gt;
 [[ Django ]]&lt;br /&gt;
 [[ Docker ]]&lt;br /&gt;
 [[ fail2ban ]]&lt;br /&gt;
 [[ ffmpeg syntax ]]for converting between video formats&lt;br /&gt;
 [[ Firebird connecting from PHP ]]&lt;br /&gt;
 [[ Go ]]&lt;br /&gt;
 [[ Guacamole ]]&lt;br /&gt;
 [[ HTML Links ]]&lt;br /&gt;
 [[ ImgeMagick ]]&lt;br /&gt;
 [[ iptables - general ]]&lt;br /&gt;
 [[ Java Code ]]&lt;br /&gt;
 [[ JavaFX 8 ]]&lt;br /&gt;
 [[ java fresh start ]]&lt;br /&gt;
 [[ Kava Lambda Expressions ]]&lt;br /&gt;
 [[ Links Misc ]]&lt;br /&gt;
 [[ Linux configuration tasks ]]&lt;br /&gt;
 [[ Linux Automation tasks ]]&lt;br /&gt;
 [[ LXC Ubuntu 16.04 ]] and higher&lt;br /&gt;
 [[  MediaWiki Sphinx search engine ]]&lt;br /&gt;
 [[ Mysql ]]&lt;br /&gt;
 [[ Nmap ]]&lt;br /&gt;
 [[ PHP ]]&lt;br /&gt;
 [[ Openshift / Kubernetes ]]&lt;br /&gt;
 [[ openssl ]]&lt;br /&gt;
 [[ Oracle on Oracle linux 6.5 ]] ( and 7 ) and other Oracle installation information in general&lt;br /&gt;
 [[ Oracle Database Administration ]]&lt;br /&gt;
 [[ PHP ]]&lt;br /&gt;
 [[ Powershell ]] and command line examples for O365 and Active Directory.&lt;br /&gt;
 [[ Powershell Tasks ]]&lt;br /&gt;
 [[ Python ]]&lt;br /&gt;
 [[ MicroPython and Pi Pico ]](the Wifi version)&lt;br /&gt;
 [[ Raspberry Pi ]]&lt;br /&gt;
 [[ Raspberry Pi Pico W ]]&lt;br /&gt;
 [[ Recipes ]]&lt;br /&gt;
 [[ Red Hat ]]and Centos&lt;br /&gt;
 [[ robocopy ]]&lt;br /&gt;
 [[ Rsync ]]&lt;br /&gt;
 [[ Rsync exclude/include pattern rules ]]&lt;br /&gt;
 [[ screen ]]&lt;br /&gt;
 [[ Scripts ]]&lt;br /&gt;
 [[ sed, examples ]]&lt;br /&gt;
 [[ Servlet Programming ]]&lt;br /&gt;
 [[ Shibboleth ]]&lt;br /&gt;
 [[ Solaris ]]&lt;br /&gt;
 [[ SQL Server 2008 ]] and sql queries etc&lt;br /&gt;
 [[ SQL Server on Linux ]]&lt;br /&gt;
 [[ SQL Queries and examples ]]&lt;br /&gt;
 [[ sshfs, using ]]&lt;br /&gt;
 [[ tar ]]&lt;br /&gt;
 [[ tcl, expect and Tk]]&lt;br /&gt;
 [[ UFW Firewall ]]&lt;br /&gt;
 [[ Vagrant ]]&lt;br /&gt;
 [[ vi ]]&lt;br /&gt;
 [[ Vmware ]]&lt;br /&gt;
 [[ WebODF for displaying odt documents in web browser ]]&lt;br /&gt;
 [[ Wiki formatting ]]&lt;br /&gt;
 [[ Wiki stuff ]]&lt;br /&gt;
 [[ Windows Command Line ]]&lt;br /&gt;
 [[ Windows Server 2012 R2 ]]&lt;br /&gt;
 [[ winscp command line ]]&lt;br /&gt;
 [[ Zbackup ]]&lt;br /&gt;
 [[eero_fault ]]&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Create_a_Kali_image_running_cron</id>
		<title>Create a Kali image running cron</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Create_a_Kali_image_running_cron"/>
				<updated>2024-07-10T13:06:12Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sample 1&lt;br /&gt;
&amp;lt;source lang=yaml&amp;gt;&lt;br /&gt;
FROM kalilinux/kali-rolling:latest&lt;br /&gt;
&lt;br /&gt;
ARG KALI_METAPACKAGE=core&lt;br /&gt;
ENV DEBIAN_FRONTEND noninteractive&lt;br /&gt;
RUN apt-get update&lt;br /&gt;
RUN apt-get -y upgrade&lt;br /&gt;
RUN apt-get -y install kali-linux-${KALI_METAPACKAGE}&lt;br /&gt;
RUN apt-get clean&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
COPY entrypoint.sh /entrypoint.sh&lt;br /&gt;
RUN chmod +x /entrypoint.sh&lt;br /&gt;
ENTRYPOINT [ &amp;quot;/entrypoint.sh&amp;quot; ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Sample 2 - running a cron job &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=yaml&amp;gt;&lt;br /&gt;
FROM ubuntu:latest&lt;br /&gt;
&lt;br /&gt;
# Install necessary software&lt;br /&gt;
RUN apt-get update &amp;amp;&amp;amp; \&lt;br /&gt;
    apt-get -y install cron&lt;br /&gt;
&lt;br /&gt;
# Add crontab file&lt;br /&gt;
COPY crontab /etc/cron.d/crontab&lt;br /&gt;
&lt;br /&gt;
# Give execution rights on the cron job&lt;br /&gt;
RUN chmod 0644 /etc/cron.d/crontab&lt;br /&gt;
&lt;br /&gt;
# Create the log file to be able to run tail&lt;br /&gt;
RUN touch /var/log/cron.log&lt;br /&gt;
&lt;br /&gt;
# Start the cron service&lt;br /&gt;
CMD cron &amp;amp;&amp;amp; tail -f /var/log/cron.log&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Putting both of the above together&lt;br /&gt;
&amp;lt;source lang=yaml&amp;gt;&lt;br /&gt;
FROM kalilinux/kali-rolling:latest&lt;br /&gt;
&lt;br /&gt;
ARG KALI_METAPACKAGE=core&lt;br /&gt;
ENV DEBIAN_FRONTEND noninteractive&lt;br /&gt;
RUN apt-get update&lt;br /&gt;
RUN apt-get -y upgrade&lt;br /&gt;
RUN apt-get -y install kali-linux-${KALI_METAPACKAGE}&lt;br /&gt;
RUN apt-get clean&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RUN apt-get update &amp;amp;&amp;amp; \&lt;br /&gt;
    apt-get -y install cron&lt;br /&gt;
&lt;br /&gt;
# Add crontab file&lt;br /&gt;
#COPY crontab /etc/cron.d/crontab&lt;br /&gt;
&lt;br /&gt;
# Give execution rights on the cron job&lt;br /&gt;
#RUN chmod 0644 /etc/cron.d/crontab&lt;br /&gt;
&lt;br /&gt;
# Create the log file to be able to run tail&lt;br /&gt;
RUN touch /var/log/cron.log&lt;br /&gt;
&lt;br /&gt;
# Start the cron service&lt;br /&gt;
CMD cron &amp;amp;&amp;amp; tail -f /var/log/cron.log&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Create_a_Kali_image_running_cron</id>
		<title>Create a Kali image running cron</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Create_a_Kali_image_running_cron"/>
				<updated>2024-07-10T13:03:39Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sample 1&lt;br /&gt;
&amp;lt;source lang=yaml&amp;gt;&lt;br /&gt;
FROM kalilinux/kali-rolling:latest&lt;br /&gt;
&lt;br /&gt;
ARG KALI_METAPACKAGE=core&lt;br /&gt;
ENV DEBIAN_FRONTEND noninteractive&lt;br /&gt;
RUN apt-get update&lt;br /&gt;
RUN apt-get -y upgrade&lt;br /&gt;
RUN apt-get -y install kali-linux-${KALI_METAPACKAGE}&lt;br /&gt;
RUN apt-get clean&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
COPY entrypoint.sh /entrypoint.sh&lt;br /&gt;
RUN chmod +x /entrypoint.sh&lt;br /&gt;
ENTRYPOINT [ &amp;quot;/entrypoint.sh&amp;quot; ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Sample 2 - running a cron job &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=yaml&amp;gt;&lt;br /&gt;
FROM ubuntu:latest&lt;br /&gt;
&lt;br /&gt;
# Install necessary software&lt;br /&gt;
RUN apt-get update &amp;amp;&amp;amp; \&lt;br /&gt;
    apt-get -y install cron&lt;br /&gt;
&lt;br /&gt;
# Add crontab file&lt;br /&gt;
COPY crontab /etc/cron.d/crontab&lt;br /&gt;
&lt;br /&gt;
# Give execution rights on the cron job&lt;br /&gt;
RUN chmod 0644 /etc/cron.d/crontab&lt;br /&gt;
&lt;br /&gt;
# Create the log file to be able to run tail&lt;br /&gt;
RUN touch /var/log/cron.log&lt;br /&gt;
&lt;br /&gt;
# Start the cron service&lt;br /&gt;
CMD cron &amp;amp;&amp;amp; tail -f /var/log/cron.log&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Putting both of the above together&lt;br /&gt;
&amp;lt;source lang=yaml&amp;gt;&lt;br /&gt;
FROM kalilinux/kali-rolling:latest&lt;br /&gt;
&lt;br /&gt;
ARG KALI_METAPACKAGE=core&lt;br /&gt;
ENV DEBIAN_FRONTEND noninteractive&lt;br /&gt;
RUN apt-get update&lt;br /&gt;
RUN apt-get -y upgrade&lt;br /&gt;
RUN apt-get -y install kali-linux-${KALI_METAPACKAGE}&lt;br /&gt;
RUN apt-get clean&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
COPY entrypoint.sh /entrypoint.sh&lt;br /&gt;
RUN chmod +x /entrypoint.sh&lt;br /&gt;
ENTRYPOINT [ &amp;quot;/entrypoint.sh&amp;quot; ]&lt;br /&gt;
&lt;br /&gt;
RUN apt-get update &amp;amp;&amp;amp; \&lt;br /&gt;
    apt-get -y install cron&lt;br /&gt;
&lt;br /&gt;
# Add crontab file&lt;br /&gt;
COPY crontab /etc/cron.d/crontab&lt;br /&gt;
&lt;br /&gt;
# Give execution rights on the cron job&lt;br /&gt;
RUN chmod 0644 /etc/cron.d/crontab&lt;br /&gt;
&lt;br /&gt;
# Create the log file to be able to run tail&lt;br /&gt;
RUN touch /var/log/cron.log&lt;br /&gt;
&lt;br /&gt;
# Start the cron service&lt;br /&gt;
CMD cron &amp;amp;&amp;amp; tail -f /var/log/cron.log&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Create_a_Kali_image_running_cron</id>
		<title>Create a Kali image running cron</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Create_a_Kali_image_running_cron"/>
				<updated>2024-07-10T13:02:42Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sample 1&lt;br /&gt;
&amp;lt;source lang=yaml&amp;gt;&lt;br /&gt;
FROM kalilinux/kali-rolling:latest&lt;br /&gt;
&lt;br /&gt;
ARG KALI_METAPACKAGE=core&lt;br /&gt;
ENV DEBIAN_FRONTEND noninteractive&lt;br /&gt;
RUN apt-get update&lt;br /&gt;
RUN apt-get -y upgrade&lt;br /&gt;
RUN apt-get -y install kali-linux-${KALI_METAPACKAGE}&lt;br /&gt;
RUN apt-get clean&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
COPY entrypoint.sh /entrypoint.sh&lt;br /&gt;
RUN chmod +x /entrypoint.sh&lt;br /&gt;
ENTRYPOINT [ &amp;quot;/entrypoint.sh&amp;quot; ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Sample 2 - running a cron job &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=yaml&amp;gt;&lt;br /&gt;
FROM ubuntu:latest&lt;br /&gt;
&lt;br /&gt;
# Install necessary software&lt;br /&gt;
RUN apt-get update &amp;amp;&amp;amp; \&lt;br /&gt;
    apt-get -y install cron&lt;br /&gt;
&lt;br /&gt;
# Add crontab file&lt;br /&gt;
COPY crontab /etc/cron.d/crontab&lt;br /&gt;
&lt;br /&gt;
# Give execution rights on the cron job&lt;br /&gt;
RUN chmod 0644 /etc/cron.d/crontab&lt;br /&gt;
&lt;br /&gt;
# Create the log file to be able to run tail&lt;br /&gt;
RUN touch /var/log/cron.log&lt;br /&gt;
&lt;br /&gt;
# Start the cron service&lt;br /&gt;
CMD cron &amp;amp;&amp;amp; tail -f /var/log/cron.log&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Putting both of the above together&lt;br /&gt;
&amp;lt;source lang=yaml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Python</id>
		<title>Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Python"/>
				<updated>2024-07-08T19:43:11Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ Controlling a stepper motor with python ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Getting python Notebook running with both python2 and python3 ]]&amp;lt;br&amp;gt;&lt;br /&gt;
Install flash on ubuntu 18 - https://websiteforstudents.com/install-adobe-flash-player-on-ubuntu-18-04-lts-beta-desktop/&lt;br /&gt;
python dashboards - https://blog.dominodatalab.com/interactive-dashboards-in-jupyter/&amp;lt;br&amp;gt;&lt;br /&gt;
Running as a daemon under systemd :- &amp;lt;br&amp;gt;&lt;br /&gt;
_ http://devopspy.com/linux/python-script-linux-systemd-service/&amp;lt;br&amp;gt;&lt;br /&gt;
_ http://code.activestate.com/recipes/278731-creating-a-daemon-the-python-way/&amp;lt;br&amp;gt;&lt;br /&gt;
_ https://www.reddit.com/r/raspberry_pi/comments/4vhofs/creating_a_systemd_daemon_so_you_can_run_a_python/&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.makeuseof.com/tag/5-websites-learn-python-programming/&amp;lt;br&amp;gt;http://stackoverflow.com/questions/4696413/ftp-retrbinary-help-python&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.java2s.com/Tutorial/Python/0420__Network/FTPDownloadExample.htm&amp;lt;br&amp;gt;&lt;br /&gt;
https://pythonspot.com/ftp-client-in-python/    This looks good for downloading multiple files.&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Python download by ftp ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Python ftp with timestamp ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Coursera - Getting started with Python ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Coursera - Python Data Structures ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Coursera Data Science ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Python reading from standard in ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Python writing to a file ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Python connecting to mysql database ]] This looks like it is for Python 2 and thus obsolete&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Installing Python on Windows ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Insert data into mysql from csv file ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Simple tcp port redirector ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ voidrealms ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ spf checker ]] &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Expand_a_tar.gz_archive_directly_to_server</id>
		<title>Expand a tar.gz archive directly to server</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Expand_a_tar.gz_archive_directly_to_server"/>
				<updated>2024-07-08T14:07:03Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
- hosts: all&lt;br /&gt;
  remote_user: root&lt;br /&gt;
  tasks:&lt;br /&gt;
  - name: Extract foo.tgz into /var/lib/foo&lt;br /&gt;
    unarchive:&lt;br /&gt;
       src: foo.tgz&lt;br /&gt;
       dest: /var/lib/foo&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Expand_a_tar.gz_archive_directly_to_server</id>
		<title>Expand a tar.gz archive directly to server</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Expand_a_tar.gz_archive_directly_to_server"/>
				<updated>2024-07-08T14:05:52Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot;- name: Extract foo.tgz into /var/lib/foo   unarchive:     src: foo.tgz     dest: /var/lib/foo&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;- name: Extract foo.tgz into /var/lib/foo&lt;br /&gt;
  unarchive:&lt;br /&gt;
    src: foo.tgz&lt;br /&gt;
    dest: /var/lib/foo&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Ansible</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Ansible"/>
				<updated>2024-07-08T14:03:06Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ Run play only if host is reachable ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Possible values for &amp;quot;state&amp;quot; when building a vmware machine ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ ansible import a play ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Working example to update and reboot is new kernel installed ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Some simple playbooks ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Some ansible links ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Notes on Vagrant ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Table of ip and port mappings for vms ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Vagrant creating extra disks ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Installing Glusterfs on Centos-7 using Vagrant ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Vagrant file syntax and examples ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ ansible syntax and examples ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Script to install php ]] Rubbish&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Install Remi on Centos 7 ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Windows add static route to a single ip address ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ yum install multiple packages ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Rebooting a server using ansible ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ installing and using govc ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Disable ipv6 ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Ansible and parted ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Install httpd on Red Hat server ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Open network ports for http(s) in firewalld ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Open network ports for https in Red Hat ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Open multiple network services in firewalld ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Expand a tar.gz archive directly to server ]] &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Open_multiple_network_services_in_firewalld</id>
		<title>Open multiple network services in firewalld</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Open_multiple_network_services_in_firewalld"/>
				<updated>2024-07-08T11:27:58Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot; &amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt; --- - hosts: all   remote_user: root   tasks:   - name: permit traffic in default zone for https service     ansible.posix.firewalld:       service: &amp;quot;{{...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
- hosts: all&lt;br /&gt;
  remote_user: root&lt;br /&gt;
  tasks:&lt;br /&gt;
  - name: permit traffic in default zone for https service&lt;br /&gt;
    ansible.posix.firewalld:&lt;br /&gt;
      service: &amp;quot;{{ item }}&amp;quot; &lt;br /&gt;
      permanent: true&lt;br /&gt;
      state: enabled&lt;br /&gt;
    loop:&lt;br /&gt;
      - http&lt;br /&gt;
      - https&lt;br /&gt;
&lt;br /&gt;
  - name: reload service firewalld&lt;br /&gt;
    systemd:&lt;br /&gt;
      name: firewalld&lt;br /&gt;
      state: reloaded&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Ansible</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Ansible"/>
				<updated>2024-07-08T11:27:08Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ Run play only if host is reachable ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Possible values for &amp;quot;state&amp;quot; when building a vmware machine ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ ansible import a play ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Working example to update and reboot is new kernel installed ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Some simple playbooks ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Some ansible links ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Notes on Vagrant ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Table of ip and port mappings for vms ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Vagrant creating extra disks ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Installing Glusterfs on Centos-7 using Vagrant ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Vagrant file syntax and examples ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ ansible syntax and examples ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Script to install php ]] Rubbish&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Install Remi on Centos 7 ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Windows add static route to a single ip address ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ yum install multiple packages ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Rebooting a server using ansible ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ installing and using govc ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Disable ipv6 ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Ansible and parted ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Install httpd on Red Hat server ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Open network ports for http(s) in firewalld ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Open network ports for https in Red Hat ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Open multiple network services in firewalld ]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Open_network_ports_for_https_in_Red_Hat</id>
		<title>Open network ports for https in Red Hat</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Open_network_ports_for_https_in_Red_Hat"/>
				<updated>2024-07-08T11:05:01Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
- hosts: all&lt;br /&gt;
  remote_user: root&lt;br /&gt;
  tasks:&lt;br /&gt;
  - name: permit traffic in default zone for https service&lt;br /&gt;
    ansible.posix.firewalld:&lt;br /&gt;
      service: http&lt;br /&gt;
      permanent: true&lt;br /&gt;
      state: enabled&lt;br /&gt;
&lt;br /&gt;
  - name: reload service firewalld&lt;br /&gt;
    systemd:&lt;br /&gt;
      name: firewalld&lt;br /&gt;
      state: reloaded&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Open_network_ports_for_https_in_Red_Hat</id>
		<title>Open network ports for https in Red Hat</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Open_network_ports_for_https_in_Red_Hat"/>
				<updated>2024-07-08T11:03:02Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
  - name: permit traffic in default zone for https service&lt;br /&gt;
    ansible.posix.firewalld:&lt;br /&gt;
      service: http&lt;br /&gt;
      permanent: true&lt;br /&gt;
      state: enabled&lt;br /&gt;
&lt;br /&gt;
  - name: reload service firewalld&lt;br /&gt;
    systemd:&lt;br /&gt;
      name: firewalld&lt;br /&gt;
      state: reloaded&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Open_network_ports_for_https_in_Red_Hat</id>
		<title>Open network ports for https in Red Hat</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Open_network_ports_for_https_in_Red_Hat"/>
				<updated>2024-07-08T11:01:58Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot;  - name: permit traffic in default zone for https service     ansible.posix.firewalld:       service: http       permanent: true       state: enabled    - name: reload servic...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  - name: permit traffic in default zone for https service&lt;br /&gt;
    ansible.posix.firewalld:&lt;br /&gt;
      service: http&lt;br /&gt;
      permanent: true&lt;br /&gt;
      state: enabled&lt;br /&gt;
&lt;br /&gt;
  - name: reload service firewalld&lt;br /&gt;
    systemd:&lt;br /&gt;
      name: firewalld&lt;br /&gt;
      state: reloaded&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Ansible</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Ansible"/>
				<updated>2024-07-08T11:01:03Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ Run play only if host is reachable ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Possible values for &amp;quot;state&amp;quot; when building a vmware machine ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ ansible import a play ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Working example to update and reboot is new kernel installed ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Some simple playbooks ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Some ansible links ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Notes on Vagrant ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Table of ip and port mappings for vms ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Vagrant creating extra disks ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Installing Glusterfs on Centos-7 using Vagrant ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Vagrant file syntax and examples ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ ansible syntax and examples ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Script to install php ]] Rubbish&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Install Remi on Centos 7 ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Windows add static route to a single ip address ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ yum install multiple packages ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Rebooting a server using ansible ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ installing and using govc ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Disable ipv6 ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Ansible and parted ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Install httpd on Red Hat server ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Open network ports for http(s) in firewalld ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Open network ports for https in Red Hat ]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Open_network_ports_for_http(s)_in_firewalld</id>
		<title>Open network ports for http(s) in firewalld</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Open_network_ports_for_http(s)_in_firewalld"/>
				<updated>2024-07-08T10:57:26Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot;&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt; - firewalld:     service: https     permanent: yes     state: enabled &amp;lt;/source&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
- firewalld:&lt;br /&gt;
    service: https&lt;br /&gt;
    permanent: yes&lt;br /&gt;
    state: enabled&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Ansible</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Ansible"/>
				<updated>2024-07-08T10:49:46Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ Run play only if host is reachable ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Possible values for &amp;quot;state&amp;quot; when building a vmware machine ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ ansible import a play ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Working example to update and reboot is new kernel installed ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Some simple playbooks ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Some ansible links ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Notes on Vagrant ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Table of ip and port mappings for vms ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Vagrant creating extra disks ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Installing Glusterfs on Centos-7 using Vagrant ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Vagrant file syntax and examples ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ ansible syntax and examples ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Script to install php ]] Rubbish&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Install Remi on Centos 7 ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Windows add static route to a single ip address ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ yum install multiple packages ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Rebooting a server using ansible ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ installing and using govc ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Disable ipv6 ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Ansible and parted ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Install httpd on Red Hat server ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Open network ports for http(s) in firewalld ]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Install_httpd_on_Red_Hat_server</id>
		<title>Install httpd on Red Hat server</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Install_httpd_on_Red_Hat_server"/>
				<updated>2024-07-08T10:48:38Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
- hosts: all&lt;br /&gt;
  remote_user: root&lt;br /&gt;
  tasks:&lt;br /&gt;
  - name: Install HTTPD package&lt;br /&gt;
    package:&lt;br /&gt;
      name: httpd&lt;br /&gt;
      state: present&lt;br /&gt;
  - name: Start HTTPD service&lt;br /&gt;
    service:&lt;br /&gt;
      name: httpd&lt;br /&gt;
      state: started&lt;br /&gt;
      enabled: yes&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Install_httpd_on_Red_Hat_server</id>
		<title>Install httpd on Red Hat server</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Install_httpd_on_Red_Hat_server"/>
				<updated>2024-07-08T10:42:17Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
- name: Install HTTPD using Ansible Playbook&lt;br /&gt;
  hosts: all&lt;br /&gt;
  tasks:&lt;br /&gt;
    - name: Install HTTPD package&lt;br /&gt;
      package:&lt;br /&gt;
        name: httpd&lt;br /&gt;
        state: present&lt;br /&gt;
    - name: Start HTTPD service&lt;br /&gt;
      service:&lt;br /&gt;
        name: httpd&lt;br /&gt;
        state: started&lt;br /&gt;
        enabled: yes&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Install_httpd_on_Red_Hat_server</id>
		<title>Install httpd on Red Hat server</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Install_httpd_on_Red_Hat_server"/>
				<updated>2024-07-08T10:41:45Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot;&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt; - name: Install HTTPD using Ansible Playbook   hosts: slave-1 #here ensure that node instance name is correct or not    become: true   tasks:     - name:...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
- name: Install HTTPD using Ansible Playbook&lt;br /&gt;
  hosts: slave-1 #here ensure that node instance name is correct or not &lt;br /&gt;
  become: true&lt;br /&gt;
  tasks:&lt;br /&gt;
    - name: Install HTTPD package&lt;br /&gt;
      package:&lt;br /&gt;
        name: httpd&lt;br /&gt;
        state: present&lt;br /&gt;
    - name: Start HTTPD service&lt;br /&gt;
      service:&lt;br /&gt;
        name: httpd&lt;br /&gt;
        state: started&lt;br /&gt;
        enabled: yes&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Ansible</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Ansible"/>
				<updated>2024-07-08T10:41:18Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ Run play only if host is reachable ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Possible values for &amp;quot;state&amp;quot; when building a vmware machine ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ ansible import a play ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Working example to update and reboot is new kernel installed ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Some simple playbooks ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Some ansible links ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Notes on Vagrant ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Table of ip and port mappings for vms ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Vagrant creating extra disks ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Installing Glusterfs on Centos-7 using Vagrant ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Vagrant file syntax and examples ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ ansible syntax and examples ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Script to install php ]] Rubbish&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Install Remi on Centos 7 ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Windows add static route to a single ip address ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ yum install multiple packages ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Rebooting a server using ansible ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ installing and using govc ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Disable ipv6 ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Ansible and parted ]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[ Install httpd on Red Hat server ]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	</feed>