{"id":1306,"date":"2017-04-04T17:29:46","date_gmt":"2017-04-04T11:59:46","guid":{"rendered":"https:\/\/pheonixsolutions.com\/blog\/?p=1306"},"modified":"2026-09-17T15:53:36","modified_gmt":"2026-09-17T10:23:36","slug":"add-multiple-domainsvirtual-hosts-apache-ubuntu","status":"publish","type":"post","link":"https:\/\/pheonixsolutions.com\/blog\/add-multiple-domainsvirtual-hosts-apache-ubuntu\/","title":{"rendered":"How to Configure Multiple Domains Using Virtual Hosts on Apache Ubuntu"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Apache is a widely used web server that can host multiple websites and domains on a single server. Apache <strong>Virtual Hosts<\/strong> allow each domain to use its own document root and configuration while sharing the same server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide explains how to configure multiple domains on an Ubuntu server using Apache Virtual Hosts.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For this example, we will configure:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>domain1.tld<\/code><\/li>\n\n\n\n<li><code>domain2.tld<\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Each domain will have its own document root and VirtualHost configuration.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before configuring the Virtual Hosts, make sure you have:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>An Ubuntu server.<\/li>\n\n\n\n<li>Apache2 installed and running.<\/li>\n\n\n\n<li>Root or sudo access to the server.<\/li>\n\n\n\n<li>Two domain names.<\/li>\n\n\n\n<li>Both domains pointed to the server&#8217;s IP address.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">In this example:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>domain1.tld<\/code> \u2192 <code>\/var\/www\/domain1.tld<\/code><\/li>\n\n\n\n<li><code>domain2.tld<\/code> \u2192 <code>\/var\/www\/domain2.tld<\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If Apache is not installed, install and configure Apache before proceeding.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Implementation<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Create Document Root Directories<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Create separate document root directories for both domains:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mkdir \/var\/www\/domain1.tld\nmkdir \/var\/www\/domain2.tld<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">These directories will contain the website files for each domain.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Set Directory Ownership<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Set the ownership of the directories to the Apache web server user:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">chown www-data. \/var\/www\/domain1.tld\nchown www-data. \/var\/www\/domain2.tld<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On Ubuntu, Apache commonly runs as the <code>www-data<\/code> user.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Create VirtualHost Configuration Files<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Apache stores site configurations under:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/etc\/apache2\/sites-available\/<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Create a separate configuration file for each domain by copying the default VirtualHost configuration:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cp \/etc\/apache2\/sites-available\/000-default.conf \/etc\/apache2\/sites-available\/domain1.tld.conf\ncp \/etc\/apache2\/sites-available\/000-default.conf \/etc\/apache2\/sites-available\/domain2.tld.conf<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: Configure the VirtualHost for domain1.tld<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Open the configuration file:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">vi \/etc\/apache2\/sites-available\/domain1.tld.conf<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Update the VirtualHost configuration with the domain-specific values:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;VirtualHost *:80>\n\n    ServerAdmin admin@domain1.tld\n    ServerName domain1.tld\n    ServerAlias www.domain1.tld\n    DocumentRoot \/var\/www\/domain1.tld\n\n&lt;\/VirtualHost><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Here:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>ServerName<\/code> defines the primary domain.<\/li>\n\n\n\n<li><code>ServerAlias<\/code> allows the <code>www<\/code> version of the domain.<\/li>\n\n\n\n<li><code>DocumentRoot<\/code> specifies where the website files are stored.<\/li>\n\n\n\n<li><code>ServerAdmin<\/code> specifies the administrator email address.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5: Configure the VirtualHost for domain2.tld<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Open the second configuration file:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">vi \/etc\/apache2\/sites-available\/domain2.tld.conf<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Update it with the corresponding domain details:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;VirtualHost *:80>\n\n    ServerAdmin admin@domain2.tld\n    ServerName domain2.tld\n    ServerAlias www.domain2.tld\n    DocumentRoot \/var\/www\/domain2.tld\n\n&lt;\/VirtualHost><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Each VirtualHost points to a different document root, allowing Apache to serve different website content for each domain.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 6: Enable the Websites<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Enable both VirtualHost configurations using <code>a2ensite<\/code>:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">a2ensite domain1.tld\na2ensite domain2.tld<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Apache will create the required links under the enabled-sites configuration directory.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 7: Check Apache Configuration<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Before restarting Apache, check the configuration for syntax errors:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">apachectl -t<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A successful configuration should return:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Syntax OK<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If Apache reports an error, correct the configuration before continuing.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 8: Restart Apache<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Restart Apache to apply the changes:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">service apache2 restart<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Alternatively, on modern Ubuntu systems:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">systemctl restart apache2<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Step 9: Upload Website Content<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Upload the website files into their respective document root directories:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/var\/www\/domain1.tld\n\/var\/www\/domain2.tld<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/var\/www\/domain1.tld\/index.html\n\/var\/www\/domain2.tld\/index.html<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Each domain can now contain completely different website content.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Verify the Virtual Hosts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If both domains are already pointing to the server&#8217;s IP address, open them in a browser:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">http:\/\/domain1.tld<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">and:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">http:\/\/domain2.tld<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Apache will use the requested domain name to determine which VirtualHost configuration and document root should handle the request.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">domain1.tld \u2192 \/var\/www\/domain1.tld\ndomain2.tld \u2192 \/var\/www\/domain2.tld<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Testing Before DNS Is Updated<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If the domains are not yet pointed to the server, you can test the VirtualHost configuration locally by modifying the <code>\/etc\/hosts<\/code> file on a Linux or macOS system.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Open the hosts file:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">vi \/etc\/hosts<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Add entries similar to:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">xx.xx.xx.xx domain1.tld\nxx.xx.xx.xx domain2.tld<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Replace <code>xx.xx.xx.xx<\/code> with the IP address of the Apache server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After saving the file, access the domains from your browser:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">http:\/\/domain1.tld\nhttp:\/\/domain2.tld<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This allows you to test the Apache VirtualHost configuration before making the DNS changes publicly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Apache Virtual Hosts make it possible to host multiple domains on a single Ubuntu server. By creating a separate document root and VirtualHost configuration for each domain, Apache can serve different website content based on the requested domain name.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The basic process is:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Create document root directories.<\/li>\n\n\n\n<li>Set the appropriate ownership.<\/li>\n\n\n\n<li>Create VirtualHost configuration files.<\/li>\n\n\n\n<li>Configure <code>ServerName<\/code>, <code>ServerAlias<\/code>, and <code>DocumentRoot<\/code>.<\/li>\n\n\n\n<li>Enable the sites using <code>a2ensite<\/code>.<\/li>\n\n\n\n<li>Validate the Apache configuration.<\/li>\n\n\n\n<li>Restart or reload Apache.<\/li>\n\n\n\n<li>Point the domains to the server and verify access.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Frequently Asked Questions<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Can multiple domains use the same Apache server?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yes. Apache Virtual Hosts allow multiple domains to be hosted on a single server, with each domain using its own configuration and document root.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. What is the purpose of <code>ServerAlias<\/code>?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ServerAlias<\/code> specifies additional hostnames that should use the same VirtualHost. For example:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ServerName domain1.tld\nServerAlias www.domain1.tld<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Both <code>domain1.tld<\/code> and <code>www.domain1.tld<\/code> will use the same VirtualHost configuration.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. How can I check whether my Apache configuration has errors?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Run:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">apachectl -t<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If the configuration is valid, Apache will return:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Syntax OK<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Related Articles<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/pheonixsolutions.com\/blog\/installing-modsecurity-with-owasp-crs-on-apache-ubuntu\/\">Installing ModSecurity with OWASP CRS on Apache (Ubuntu)<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/pheonixsolutions.com\/blog\/how-to-deploy-wordpress-behind-a-reverse-proxy-on-cpanel-apache\/\">How to Deploy WordPress Behind a Reverse Proxy on cPanel\/Apache<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Talk to our experts<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Have a technology challenge or looking for the right solution for your business? Our team can help you with <strong>cloud, DevOps, development, infrastructure, design, and more<\/strong>. Feel free to reach out to our experts <a href=\"https:\/\/pheonixsolutions.com\/contact\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Apache is a widely used web server that can host multiple websites and domains on a single server. Apache [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1022],"tags":[278,261],"class_list":["post-1306","post","type-post","status-publish","format-standard","hentry","category-web-architecture","tag-apache","tag-linux","psol-cat-web-architecture"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/phn2x7-l4","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/1306","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/comments?post=1306"}],"version-history":[{"count":1,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/1306\/revisions"}],"predecessor-version":[{"id":11825,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/posts\/1306\/revisions\/11825"}],"wp:attachment":[{"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/media?parent=1306"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/categories?post=1306"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pheonixsolutions.com\/blog\/wp-json\/wp\/v2\/tags?post=1306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}