{"id":13502,"date":"2019-04-03T08:07:08","date_gmt":"2019-04-03T05:07:08","guid":{"rendered":"https:\/\/computingforgeeks.com\/?p=13502"},"modified":"2023-09-02T22:27:00","modified_gmt":"2023-09-02T19:27:00","slug":"install-wildfly-application-server-on-ubuntu-debian","status":"publish","type":"post","link":"https:\/\/computingforgeeks.com\/install-wildfly-application-server-on-ubuntu-debian\/","title":{"rendered":"How To Install WildFly (JBoss) on Ubuntu 22.04|20.04|18.04"},"content":{"rendered":"\n<p>This guide will walk you through the installation of <a href=\"https:\/\/computingforgeeks.com\/how-to-install-wildfly-jboss-on-rhel-centos\/\">WildFly (JBoss) Server<\/a> on Ubuntu 22.04|20.04|18.04. <a href=\"https:\/\/computingforgeeks.com\/how-to-install-wildfly-on-rocky-almalinux\/\">WildFly<\/a> formerly known as JBoss is an application server written in Java and developed by Red Hat. WildFly Application Server is an exceptionally fast, lightweight and powerful implementation of the Java Enterprise Edition 8 Platform specifications.<\/p>\n\n\n\n<p>As of this writing, WildFly 29 is the latest release in a series of JBoss open-source application server offerings. This article provides a quick overview on how to download and install WildFly latest available version on Ubuntu 22.04|20.04|18.04 for your application development.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"step-1-install-java-jdk-on-ubuntu\">Step 1: Install Java JDK on Ubuntu<\/h2>\n\n\n\n<p>WildFly is written in Java and it <g class=\"gr_ gr_5 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar multiReplace\" id=\"5\" data-gr-id=\"5\">need<\/g> to be installed as pre-requisite. There are two options <g class=\"gr_ gr_4 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar multiReplace\" id=\"4\" data-gr-id=\"4\">of<\/g> installing Java on Ubuntu Linux system.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Install OpenJDK<\/li>\n\n\n\n<li>Install Java SE Development Kit<\/li>\n<\/ul>\n\n\n\n<p>The simplest way of getting Java is installing OpenJDK on your Ubuntu system by running the commands below.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update<br>sudo apt -y install default-jdk<\/code><\/pre>\n\n\n\n<p>The default Java version installed from above command is Java 10+. This is supported by WildFly.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <span class=\"has-inline-color has-pale-pink-color\">java --version<\/span>\nopenjdk 11.0.13 2021-10-19\nOpenJDK Runtime Environment (build 11.0.13+8-Ubuntu-0ubuntu1)\nOpenJDK 64-Bit Server VM (build 11.0.13+8-Ubuntu-0ubuntu1, mixed mode, sharing)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"mce_15\">Step 2: Download WildFly Installation archive<\/h2>\n\n\n\n<p>Install curl and wget tools<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install curl wget<\/code><\/pre>\n\n\n\n<p>Check <a aria-label=\" (opens in a new tab)\" href=\"https:\/\/wildfly.org\/downloads\/\" target=\"_blank\" rel=\"noreferrer noopener\"><g class=\"gr_ gr_4 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar only-ins replaceWithoutSep\" id=\"4\" data-gr-id=\"4\">WildFly<\/g> Downloads <\/a>page for latest releases before downloading the file. Here we will download WildFly 29.x.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>WILDFLY_RELEASE=$(curl -s https:\/\/api.github.com\/repos\/wildfly\/wildfly\/releases\/latest|grep tag_name|cut -d '\"' -f 4)\nwget https:\/\/github.com\/wildfly\/wildfly\/releases\/download\/${WILDFLY_RELEASE}\/wildfly-${WILDFLY_RELEASE}.tar.gz<\/code><\/pre>\n\n\n\n<p>Once the file is downloaded, extract it.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tar xvf <meta charset=\"utf-8\">wildfly-${WILDFLY_RELEASE}.tar.gz<\/code><\/pre>\n\n\n\n<p>Move resulting folder to <code>\/opt\/wildfly<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mv <meta charset=\"utf-8\">wildfly-${WILDFLY_RELEASE} \/opt\/wildfly<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"mce_16\">Step 3: Configure Systemd for WildFly<\/h2>\n\n\n\n<p>Let&#8217;s now create a system user  and group that will run WildFly service.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo groupadd --system wildfly\nsudo useradd -s \/sbin\/nologin --system -d \/opt\/wildfly  -g wildfly wildfly<\/code><\/pre>\n\n\n\n<p>Create WildFly configurations directory.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mkdir \/etc\/wildfly<\/code><\/pre>\n\n\n\n<p>Copy WildFly systemd service, configuration file and start scripts templates from the <strong>\/opt\/wildfly\/docs\/contrib\/scripts\/systemd\/<\/strong> directory.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo cp \/opt\/wildfly\/docs\/contrib\/scripts\/systemd\/wildfly.conf \/etc\/wildfly\/<br>sudo cp \/opt\/wildfly\/docs\/contrib\/scripts\/systemd\/wildfly.service \/etc\/systemd\/system\/<br>sudo cp \/opt\/wildfly\/docs\/contrib\/scripts\/systemd\/launch.sh \/opt\/wildfly\/bin\/<br>sudo chmod +x \/opt\/wildfly\/bin\/launch.sh<\/code><\/pre>\n\n\n\n<p>Set <code>\/opt\/wildfly<\/code> permissions.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chown -R wildfly:wildfly \/opt\/wildfly<\/code><\/pre>\n\n\n\n<p>Reload systemd service.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl daemon-reload<\/code><\/pre>\n\n\n\n<p>Start and enable WildFly service:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl start wildfly<br>sudo systemctl enable wildfly<\/code><\/pre>\n\n\n\n<p>Confirm WildFly Application Server status.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl status wildfly<\/code><\/pre>\n\n\n\n<p>Sample output:<\/p>\n\n\n\n<figure class=\"wp-block-image td-caption-align-https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-check-status.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"206\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-check-status-1024x206.png\" alt=\"\" class=\"wp-image-13543\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-check-status-1024x206.png 1024w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-check-status-300x60.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-check-status-768x154.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-check-status-696x140.png 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-check-status-1068x214.png 1068w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-check-status.png 1365w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Service should bind to port <code>8080<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <span class=\"has-inline-color has-pale-pink-color\">ss -tunelp | grep 8080<\/span>\ntcp    LISTEN   0   128    0.0.0.0:8080  0.0.0.0:*  users:((\"java\",pid=6854,fd=389)) uid:999 ino:30339 sk:3 &lt;-&gt; <\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"mce_27\">Step 4: Add WildFly Users<\/h2>\n\n\n\n<p>By default WildFly 16 is now distributed with security enabled for the management interfaces. We need to create a user who can access WildFly administration console or remotely <g class=\"gr_ gr_78 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar multiReplace\" id=\"78\" data-gr-id=\"78\">use<\/g> the CLI. A script is provided for managing users.<\/p>\n\n\n\n<p>Run it by executing the command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo \/opt\/wildfly\/bin\/add-user.sh<\/code><\/pre>\n\n\n\n<p>You will be asked to choose type of user to add. Since this the first user, we want to make it admin. So choose <strong>a.<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>What type of user do you wish to add? \n  a) Management User (mgmt-users.properties) \n  b) Application User (application-users.properties)\n (a):  <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-luminous-vivid-orange-color\">a<\/mark><\/code><\/pre>\n\n\n\n<p>Provide desired username for the user.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Enter the details of the new user to add.\n Using realm 'ManagementRealm' as discovered from the existing property files.\n Username : <span class=\"has-inline-color has-vivid-purple-color\">computingforgeeks<\/span><\/code><\/pre>\n\n\n\n<p>Set password for the user:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.\nThe password should be different from the username\nThe password should not be one of the following restricted values {root, admin, administrator}\nThe password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s)\nPassword : <span class=\"has-inline-color has-vivid-green-cyan-color\">&lt;Enter Password&gt;<\/span>\nRe-enter Password :  <span class=\"has-inline-color has-vivid-green-cyan-color\">&lt;Confirm Password&gt;<\/span><\/code><\/pre>\n\n\n\n<p>Press enter and agree to subsequent prompts to finish user creation.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)&#91;  ]: <span class=\"has-inline-color has-vivid-purple-color\">&lt;Enter&gt;<\/span>\n About to add user 'computingforgeeks' for realm 'ManagementRealm'\n Is this correct yes\/no? yes\n <span class=\"has-inline-color has-vivid-purple-color\">Added user 'computingforgeeks' to file <\/span>'\/opt\/wildfly\/standalone\/configuration\/mgmt-users.properties'\n Added user 'computingforgeeks' to file '\/opt\/wildfly\/domain\/configuration\/mgmt-users.properties'\n Added user 'computingforgeeks' with groups  to file '\/opt\/wildfly\/standalone\/configuration\/mgmt-groups.properties'\n Added user 'computingforgeeks' with groups  to file '\/opt\/wildfly\/domain\/configuration\/mgmt-groups.properties'\n Is this new user going to be used for one AS process to connect to another AS process? \n e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls.\n yes\/no? <span class=\"has-inline-color has-vivid-green-cyan-color\">yes<\/span>\n To represent the user add the following to the server-identities definition <\/code><\/pre>\n\n\n\n<p>Notice that:<\/p>\n\n\n\n<p>User information is kept on: <em>\/opt\/wildfly\/domain\/configuration\/mgmt-users.properties<\/em><br>Group information is kept on: <em>\/opt\/wildfly\/standalone\/configuration\/mgmt-groups.properties<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"step-5-accessing-wildfly-admin-console\">Step 5: Accessing WildFly Admin Console<\/h2>\n\n\n\n<p>To be able to run WildFly scripts from <g class=\"gr_ gr_4 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar multiReplace\" id=\"4\" data-gr-id=\"4\">you<\/g> current shell session, add <code>\/opt\/wildfly\/bin\/ <\/code>to your $PATH.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat &gt;&gt; ~\/.bashrc &lt;&lt;EOF<br>export WildFly_BIN=\"\/opt\/wildfly\/bin\/\"<br>export PATH=\\$PATH:\\$WildFly_BIN                                                                                                                    <br>EOF<\/code><\/pre>\n\n\n\n<p>Source the bashrc file.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>source ~\/.bashrc<\/code><\/pre>\n\n\n\n<p>Now test by connecting to WildFly Admin Console from CLI with <code>jboss-cli.sh<\/code> command. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-pink-color\">jboss-cli.sh --connect<\/mark>\nAuthenticating against security realm: ManagementRealm\nUsername: computingforgeeks\nPassword:\n&#91;standalone@localhost:9990 \/] <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">version<\/mark>\nJBoss Admin Command-line Interface\nJBOSS_HOME: \/opt\/wildfly\nRelease: 29.0.1.Final\nProduct: WildFly Full 29.0.1.Final\nJAVA_HOME: null\njava.version: 11.0.13\njava.vm.vendor: Ubuntu\njava.vm.version: 11.0.13+8-Ubuntu-0ubuntu1\nos.name: Linux\nos.version: 5.13.0-19-generic\n&#91;standalone@localhost:9990 \/] <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-pink-color\">exit<\/mark><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"accessing-wildfly-admin-console-from-web-interface\">Accessing WildFly Admin Console from Web Interface<\/h3>\n\n\n\n<p>By default, the console is accessible on localhost IP on port <em>9990<\/em>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <span class=\"has-inline-color has-pale-pink-color\">ss -tunelp | grep 9990<\/span>\ntcp    LISTEN   0    50    127.0.0.1:9990  0.0.0.0:* users:((\"java\",pid=6769,fd=404)) uid:999 ino:30407 sk:3 &lt;-&gt; <\/code><\/pre>\n\n\n\n<p>We can start it on a different IP address accessible from outside the local server. Edit <code>\/opt\/wildfly\/bin\/launch.sh<\/code> to look like this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <span class=\"has-inline-color has-pale-pink-color\">sudo vim \/opt\/wildfly\/bin\/launch.sh<\/span>\n#!\/bin\/bash\n\nif &#91; \"x$WILDFLY_HOME\" = \"x\" ]; then\n    WILDFLY_HOME=\"\/opt\/wildfly\"\nfi\n\nif &#91;&#91; \"$1\" == \"domain\" ]]; then\n    $WILDFLY_HOME\/bin\/domain.sh -c $2 -b $3\nelse\n    $WILDFLY_HOME\/bin\/standalone.sh -c $2 -b $3 <meta charset=\"utf-8\"><span class=\"has-inline-color has-vivid-purple-color\">-bmanagement=<\/span><span class=\"has-inline-color has-vivid-green-cyan-color\">0.0.0.0<\/span>\nfi<\/code><\/pre>\n\n\n\n<p>We added <code>-bmanagement=0.0.0.0<\/code> to start script line. This binds &#8220;<strong>management<\/strong>&#8221; interface to all available IP addresses.<\/p>\n\n\n\n<p>Restart wildfly service<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl restart wildfly<\/code><\/pre>\n\n\n\n<p>Check service status to confirm it was successful<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-pale-pink-color\">systemctl status  wildfly<\/mark>\n\u25cf wildfly.service - The WildFly Application Server\n     Loaded: loaded (\/etc\/systemd\/system\/wildfly.service; enabled; vendor preset: enabled)\n     Active: <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">active (running)<\/mark> since Fri 2023-12-24 12:11:21 EAT; 6s ago\n   Main PID: 8205 (launch.sh)\n      Tasks: 70 (limit: 9482)\n     Memory: 159.8M\n        CPU: 12.265s\n     CGroup: \/system.slice\/wildfly.service\n             \u251c\u25008205 \/bin\/bash \/opt\/wildfly\/bin\/launch.sh standalone standalone.xml 0.0.0.0\n             \u251c\u25008206 \/bin\/sh \/opt\/wildfly\/bin\/standalone.sh -c standalone.xml -b 0.0.0.0 -bmanagement=0.0.0.0\n             \u2514\u25008305 java -D&#91;Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava>\n\nDes 24 12:11:22 ubuntu22 systemd&#91;1]: Started The WildFly Application Server.<\/code><\/pre>\n\n\n\n<p>Confirm port <strong><em>9990<\/em><\/strong> is listening:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ <span class=\"has-inline-color has-pale-pink-color\">ss -tunelp | grep 9990<\/span>\ntcp    LISTEN   0  50     0.0.0.0:9990  0.0.0.0:*  users:((\"java\",pid=9496,fd=320)) uid:999 ino:73367 sk:c &lt;-&gt;<\/code><\/pre>\n\n\n\n<p>Open your browser and URL <code>http:\/\/serverip:9990<\/code> to access WildFly Web console.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"976\" height=\"392\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-console-login.png\" alt=\"\" class=\"wp-image-13580\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-console-login.png 976w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-console-login-300x120.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-console-login-768x308.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-console-login-696x280.png 696w\" sizes=\"auto, (max-width: 976px) 100vw, 976px\" \/><\/figure>\n\n\n\n<p>Use username created earlier and password to authenticate. WildFly console will be the next window to show.<\/p>\n\n\n\n<figure class=\"wp-block-image td-caption-align-https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-web-console.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"442\" src=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-web-console-1024x442.png\" alt=\"\" class=\"wp-image-13581\" title=\"\" srcset=\"https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-web-console-1024x442.png 1024w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-web-console-300x130.png 300w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-web-console-768x332.png 768w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-web-console-696x301.png 696w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-web-console-1068x461.png 1068w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-web-console-972x420.png 972w, https:\/\/computingforgeeks.com\/wp-content\/uploads\/2019\/04\/wildfly-web-console.png 1301w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>You have successfully installed <g class=\"gr_ gr_45 gr-alert gr_gramm gr_inline_cards gr_run_anim Grammar only-ins replaceWithoutSep\" id=\"45\" data-gr-id=\"45\">WildFly<\/g> Application server on Ubuntu 22.04|20.04|18.04. Visit <a aria-label=\"WildFly Documentation (opens in a new tab)\" href=\"https:\/\/docs.wildfly.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">WildFly Documentation<\/a> page for further reading.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This guide will walk you through the installation of WildFly (JBoss) Server on Ubuntu 22.04|20.04|18.04. WildFly formerly known as JBoss is an application server written in Java and developed by Red Hat. WildFly Application Server is an exceptionally fast, lightweight and powerful implementation of the Java Enterprise Edition 8 Platform specifications. As of this writing, &#8230; <a title=\"How To Install WildFly (JBoss) on Ubuntu 22.04|20.04|18.04\" class=\"read-more\" href=\"https:\/\/computingforgeeks.com\/install-wildfly-application-server-on-ubuntu-debian\/\" aria-label=\"Read more about How To Install WildFly (JBoss) on Ubuntu 22.04|20.04|18.04\">Read more<\/a><\/p>\n","protected":false},"author":3,"featured_media":13581,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[299,26,690,50,81],"tags":[6108,6109,36550],"class_list":["post-13502","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to","category-debian","category-dev","category-linux-tutorials","category-ubuntu","tag-jboss","tag-wildfly","tag-wildfly-jboss-on-ubuntu"],"_links":{"self":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts\/13502","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/comments?post=13502"}],"version-history":[{"count":0,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/posts\/13502\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/media\/13581"}],"wp:attachment":[{"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/media?parent=13502"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/categories?post=13502"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/computingforgeeks.com\/wp-json\/wp\/v2\/tags?post=13502"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}