{"id":8805,"date":"2024-06-11T16:53:52","date_gmt":"2024-06-11T16:53:52","guid":{"rendered":"https:\/\/www.webhi.com\/how-to\/?p=8805"},"modified":"2024-06-11T16:53:55","modified_gmt":"2024-06-11T16:53:55","slug":"comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian","status":"publish","type":"post","link":"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/","title":{"rendered":"Comprehensive guide to install OpenStack manually on Linux"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1200\" height=\"675\" src=\"https:\/\/www.webhi.com\/how-to\/gilrogre\/2024\/06\/openstack_install_all_en.jpg\" alt=\"setup configure Manual OpenStack Installation on Linux\" class=\"wp-image-8819\" srcset=\"https:\/\/www.webhi.com\/how-to\/gilrogre\/2024\/06\/openstack_install_all_en.jpg 1200w, https:\/\/www.webhi.com\/how-to\/gilrogre\/2024\/06\/openstack_install_all_en-300x169.jpg 300w, https:\/\/www.webhi.com\/how-to\/gilrogre\/2024\/06\/openstack_install_all_en-1024x576.jpg 1024w, https:\/\/www.webhi.com\/how-to\/gilrogre\/2024\/06\/openstack_install_all_en-768x432.jpg 768w, https:\/\/www.webhi.com\/how-to\/gilrogre\/2024\/06\/openstack_install_all_en-150x84.jpg 150w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"table-of-contents\">Table of Contents<\/h4>\n\n\n\n<ol>\n<li>Introduction<\/li>\n\n\n\n<li>Prerequisites<\/li>\n\n\n\n<li>Environment Setup<\/li>\n\n\n\n<li>Install and Configure OpenStack Components\n<ul>\n<li>Keystone (Identity Service)<\/li>\n\n\n\n<li>Glance (Image Service)<\/li>\n\n\n\n<li>Nova (Compute Service)<\/li>\n\n\n\n<li>Neutron (Networking Service)<\/li>\n\n\n\n<li>Cinder (Block Storage Service)<\/li>\n\n\n\n<li>Horizon (Dashboard)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Verification and Troubleshooting<\/li>\n\n\n\n<li>Conclusion<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-introduction\">1. Introduction<\/h3>\n\n\n\n<p><strong>OpenStack<\/strong> is an open-source platform used to build and manage public and private clouds. This guide walks you through a manual installation of OpenStack on a Linux server.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"2-prerequisites\">2. Prerequisites<\/h3>\n\n\n\n<p>Ensure your system meets the following prerequisites:<\/p>\n\n\n\n<ul>\n<li>A clean installation of a supported Linux distribution (e.g., Ubuntu 20.04 LTS or CentOS 8).<\/li>\n\n\n\n<li>At least 8 GB of RAM and 2 CPUs.<\/li>\n\n\n\n<li>Root or sudo access.<\/li>\n\n\n\n<li>Properly configured network settings.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"3-environment-setup\">3. Environment Setup<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"update-and-upgrade-your-system\">Update and Upgrade Your System<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt update &amp;&amp; sudo apt upgrade -y<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"install-essential-packages\">Install Essential Packages<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt install -y python3-pip python3-dev libffi-dev gcc libssl-dev<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"4-install-and-configure-openstack-components\">4. Install and Configure OpenStack Components<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"a-keystone-identity-service\">a. Keystone (Identity Service)<\/h4>\n\n\n\n<ol>\n<li><strong>Install Keystone<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt install -y keystone<\/code><\/pre>\n\n\n\n<ol start=\"2\">\n<li><strong>Configure Keystone<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Edit the&nbsp;<code>\/etc\/keystone\/keystone.conf<\/code>&nbsp;file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo nano \/etc\/keystone\/keystone.conf<\/code><\/pre>\n\n\n\n<p>Set the following values:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\">[database]\nconnection = mysql+pymysql:\/\/keystone:KEYSTONE_DBPASS@controller\/keystone\n\n[token]\nprovider = fernet<\/code><\/pre>\n\n\n\n<ol start=\"3\">\n<li><strong>Populate the Identity Service Database<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo keystone-manage db_sync<\/code><\/pre>\n\n\n\n<ol start=\"4\">\n<li><strong>Initialize Fernet Key Repositories<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone\n$ sudo keystone-manage credential_setup --keystone-user keystone --keystone-group keystone<\/code><\/pre>\n\n\n\n<ol start=\"5\">\n<li><strong>Bootstrap the Identity Service<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo keystone-manage bootstrap --bootstrap-password ADMIN_PASS \\\n  --bootstrap-admin-url http:\/\/controller:5000\/v3\/ \\\n  --bootstrap-internal-url http:\/\/controller:5000\/v3\/ \\\n  --bootstrap-public-url http:\/\/controller:5000\/v3\/ \\\n  --bootstrap-region-id RegionOne<\/code><\/pre>\n\n\n\n<ol start=\"6\">\n<li><strong>Configure Apache HTTP Server<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Edit the&nbsp;<code>\/etc\/apache2\/apache2.conf<\/code>&nbsp;file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo nano \/etc\/apache2\/apache2.conf<\/code><\/pre>\n\n\n\n<p>Add the following:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"apacheconf\" class=\"language-apacheconf\">ServerName controller<\/code><\/pre>\n\n\n\n<p>Enable the Apache and WSGI services:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo service apache2 restart<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"b-glance-image-service\">b. Glance (Image Service)<\/h4>\n\n\n\n<ol>\n<li><strong>Install Glance<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt install -y glance<\/code><\/pre>\n\n\n\n<ol start=\"2\">\n<li><strong>Configure Glance<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Edit the&nbsp;<code>\/etc\/glance\/glance-api.conf<\/code>&nbsp;file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo nano \/etc\/glance\/glance-api.conf<\/code><\/pre>\n\n\n\n<p>Set the following values:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\">[database]\nconnection = mysql+pymysql:\/\/glance:GLANCE_DBPASS@controller\/glance\n\n[keystone_authtoken]\nwww_authenticate_uri = http:\/\/controller:5000\nauth_url = http:\/\/controller:5000\nmemcached_servers = controller:11211\nauth_type = password\nproject_domain_name = Default\nuser_domain_name = Default\nproject_name = service\nusername = glance\npassword = GLANCE_PASS\n\n[paste_deploy]\nflavor = keystone<\/code><\/pre>\n\n\n\n<ol start=\"3\">\n<li><strong>Populate the Image Service Database<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo glance-manage db_sync<\/code><\/pre>\n\n\n\n<ol start=\"4\">\n<li><strong>Restart Glance Service<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo service glance-api restart<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"c-nova-compute-service\">c. Nova (Compute Service)<\/h4>\n\n\n\n<ol>\n<li><strong>Install Nova<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt install -y nova-api nova-conductor nova-consoleauth nova-novncproxy nova-scheduler<\/code><\/pre>\n\n\n\n<ol start=\"2\">\n<li><strong>Configure Nova<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Edit the&nbsp;<code>\/etc\/nova\/nova.conf<\/code>&nbsp;file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo nano \/etc\/nova\/nova.conf<\/code><\/pre>\n\n\n\n<p>Set the following values:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\">[database]\nconnection = mysql+pymysql:\/\/nova:NOVA_DBPASS@controller\/nova\n\n[api_database]\nconnection = mysql+pymysql:\/\/nova:NOVA_DBPASS@controller\/nova_api\n\n[keystone_authtoken]\nwww_authenticate_uri = http:\/\/controller:5000\nauth_url = http:\/\/controller:5000\nmemcached_servers = controller:11211\nauth_type = password\nproject_domain_name = Default\nuser_domain_name = Default\nproject_name = service\nusername = nova\npassword = NOVA_PASS\n\n[DEFAULT]\nmy_ip = MANAGEMENT_INTERFACE_IP_ADDRESS\nuse_neutron = True\nfirewall_driver = nova.virt.firewall.NoopFirewallDriver\n\n[vnc]\nenabled = True\nvncserver_listen = $my_ip\nvncserver_proxyclient_address = $my_ip\n\n[glance]\napi_servers = http:\/\/controller:9292<\/code><\/pre>\n\n\n\n<ol start=\"3\">\n<li><strong>Populate the Compute Databases<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo nova-manage api_db sync\n$ sudo nova-manage cell_v2 map_cell0\n$ sudo nova-manage cell_v2 create_cell --name=cell1\n$ sudo nova-manage db sync<\/code><\/pre>\n\n\n\n<ol start=\"4\">\n<li><strong>Restart Nova Services<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo service nova-api restart\n$ sudo service nova-scheduler restart\n$ sudo service nova-conductor restart\n$ sudo service nova-novncproxy restart<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"d-neutron-networking-service\">d. Neutron (Networking Service)<\/h4>\n\n\n\n<ol>\n<li><strong>Install Neutron<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt install -y neutron-server neutron-plugin-ml2 neutron-linuxbridge-agent neutron-dhcp-agent neutron-metadata-agent<\/code><\/pre>\n\n\n\n<ol start=\"2\">\n<li><strong>Configure Neutron<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Edit the&nbsp;<code>\/etc\/neutron\/neutron.conf<\/code>&nbsp;file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo nano \/etc\/neutron\/neutron.conf<\/code><\/pre>\n\n\n\n<p>Set the following values:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\">[database]\nconnection = mysql+pymysql:\/\/neutron:NEUTRON_DBPASS@controller\/neutron\n\n[keystone_authtoken]\nwww_authenticate_uri = http:\/\/controller:5000\nauth_url = http:\/\/controller:5000\nmemcached_servers = controller:11211\nauth_type = password\nproject_domain_name = Default\nuser_domain_name = Default\nproject_name = service\nusername = neutron\npassword = NEUTRON_PASS\n\n[DEFAULT]\ncore_plugin = ml2\nservice_plugins = router\nallow_overlapping_ips = True<\/code><\/pre>\n\n\n\n<p>Edit the&nbsp;<code>\/etc\/neutron\/plugins\/ml2\/ml2_conf.ini<\/code>&nbsp;file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo nano \/etc\/neutron\/plugins\/ml2\/ml2_conf.ini<\/code><\/pre>\n\n\n\n<p>Set the following values:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\">[ml2]\ntype_drivers = flat,vlan\ntenant_network_types =\nmechanism_drivers = linuxbridge\nextension_drivers = port_security\n\n[ml2_type_flat]\nflat_networks = provider\n\n[securitygroup]\nenable_ipset = True<\/code><\/pre>\n\n\n\n<ol start=\"3\">\n<li><strong>Populate the Networking Database<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo neutron-db-manage --config-file \/etc\/neutron\/neutron.conf --config-file \/etc\/neutron\/plugins\/ml2\/ml2_conf.ini upgrade head<\/code><\/pre>\n\n\n\n<ol start=\"4\">\n<li><strong>Restart Neutron Services<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo service neutron-server restart\n$ sudo service neutron-linuxbridge-agent restart\n$ sudo service neutron-dhcp-agent restart\n$ sudo service neutron-metadata-agent restart<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"e-cinder-block-storage-service\">e. Cinder (Block Storage Service)<\/h4>\n\n\n\n<ol>\n<li><strong>Install Cinder<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt install -y cinder-api cinder-scheduler<\/code><\/pre>\n\n\n\n<ol start=\"2\">\n<li><strong>Configure Cinder<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Edit the&nbsp;<code>\/etc\/cinder\/cinder.conf<\/code>&nbsp;file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo nano \/etc\/cinder\/cinder.conf<\/code><\/pre>\n\n\n\n<p>Set the following values:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\">[database]\nconnection = mysql+pymysql:\/\/cinder:CINDER_DBPASS@controller\/cinder\n\n[keystone_authtoken]\nwww_authenticate_uri = http:\/\/controller:5000\nauth_url = http:\/\/controller:5000\nmemcached_servers = controller:11211\nauth_type = password\nproject_domain_name = Default\nuser_domain_name = Default\nproject_name = service\nusername = cinder\npassword = CINDER_PASS\n\n[DEFAULT]\nmy_ip = MANAGEMENT_INTERFACE_IP_ADDRESS<\/code><\/pre>\n\n\n\n<ol start=\"3\">\n<li><strong>Populate the Block Storage Database<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo cinder-manage db sync<\/code><\/pre>\n\n\n\n<ol start=\"4\">\n<li><strong>Restart Cinder Services<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo service cinder-api restart\n$ sudo service cinder-scheduler restart<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"f-horizon-dashboard\">f. Horizon (Dashboard)<\/h4>\n\n\n\n<ol>\n<li><strong>Install Horizon<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt install -y openstack-dashboard<\/code><\/pre>\n\n\n\n<ol start=\"2\">\n<li><strong>Configure Horizon<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Edit the&nbsp;<code>\/etc\/openstack-dashboard\/local_settings.py<\/code>&nbsp;file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo nano \/etc\/openstack-dashboard\/local_settings.py<\/code><\/pre>\n\n\n\n<p>Set the following values:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">OPENSTACK_HOST = \"controller\"\nALLOWED_HOSTS = ['*']\nSESSION_ENGINE = 'django.contrib\n\n.sessions.backends.cache'\nCACHES = {\n    'default': {\n        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',\n        'LOCATION': 'controller:11211',\n    }\n}\nOPENSTACK_KEYSTONE_URL = \"http:\/\/%s:5000\/v3\" % OPENSTACK_HOST\nOPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True\nOPENSTACK_API_VERSIONS = {\n    \"identity\": 3,\n    \"image\": 2,\n    \"volume\": 3,\n}\nOPENSTACK_KEYSTONE_DEFAULT_DOMAIN = \"Default\"<\/code><\/pre>\n\n\n\n<ol start=\"3\">\n<li><strong>Restart Apache<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo service apache2 reload<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"5-verification-and-troubleshooting\">5. Verification and Troubleshooting<\/h3>\n\n\n\n<ol>\n<li><strong>Check Service Status<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Ensure all OpenStack services are running:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo systemctl status &lt;service-name&gt;<\/code><\/pre>\n\n\n\n<ol start=\"2\">\n<li><strong>Verify Keystone Service<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Authenticate using the OpenStack command-line interface:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ export OS_USERNAME=admin\n$ export OS_PASSWORD=ADMIN_PASS\n$ export OS_PROJECT_NAME=admin\n$ export OS_USER_DOMAIN_NAME=Default\n$ export OS_PROJECT_DOMAIN_NAME=Default\n$ export OS_AUTH_URL=http:\/\/controller:5000\/v3\n$ export OS_IDENTITY_API_VERSION=3<\/code><\/pre>\n\n\n\n<p>Check Keystone service:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ openstack token issue<\/code><\/pre>\n\n\n\n<ol start=\"3\">\n<li><strong>Verify Glance Service<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Upload a sample image:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ wget http:\/\/download.cirros-cloud.net\/0.5.2\/cirros-0.5.2-x86_64-disk.img\n$ openstack image create \"cirros\" --file cirros-0.5.2-x86_64-disk.img --disk-format qcow2 --container-format bare --public<\/code><\/pre>\n\n\n\n<p>List images:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ openstack image list<\/code><\/pre>\n\n\n\n<ol start=\"4\">\n<li><strong>Verify Nova Service<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Create a flavor:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano<\/code><\/pre>\n\n\n\n<p>List flavors:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ openstack flavor list<\/code><\/pre>\n\n\n\n<ol start=\"5\">\n<li><strong>Verify Neutron Service<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Create a network:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ openstack network create demo-net\n$ openstack subnet create --network demo-net --subnet-range 10.0.0.0\/24 demo-subnet<\/code><\/pre>\n\n\n\n<p>List networks:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ openstack network list<\/code><\/pre>\n\n\n\n<ol start=\"6\">\n<li><strong>Verify Cinder Service<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Create a volume:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ openstack volume create --size 1 demo-volume<\/code><\/pre>\n\n\n\n<p>List volumes:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ openstack volume list<\/code><\/pre>\n\n\n\n<ol start=\"7\">\n<li><strong>Verify Horizon Dashboard<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Open a web browser and navigate to&nbsp;<code>http:\/\/&lt;controller-ip&gt;\/dashboard<\/code>. Log in with your admin credentials.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"6-conclusion\">6. Conclusion<\/h3>\n\n\n\n<p>Manually installing OpenStack can be complex due to its numerous components and dependencies. However, by following this guide, you should be able to set up a functional OpenStack environment.<\/p>\n\n\n\n<p>For further customization and scaling, refer to the official OpenStack documentation and community resources.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"troubleshooting-tips\">Troubleshooting Tips<\/h3>\n\n\n\n<ul>\n<li><strong>Logs<\/strong>: Always check the logs located in&nbsp;<code>\/var\/log\/<\/code>&nbsp;for detailed error messages.<\/li>\n\n\n\n<li><strong>Networking<\/strong>: Ensure your network configuration is correct and there are no conflicts.<\/li>\n\n\n\n<li><strong>Services<\/strong>: Use&nbsp;<code>systemctl<\/code>&nbsp;to start, stop, and check the status of services.<\/li>\n\n\n\n<li><strong>Databases<\/strong>: Verify database connections and that the tables are correctly populated.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"additional-resources\">Additional Resources<\/h3>\n\n\n\n<ul>\n<li><a href=\"https:\/\/docs.openstack.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">OpenStack Official Documentation<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.openstack.org\/community\/\" target=\"_blank\" rel=\"noreferrer noopener\">OpenStack Community<\/a><\/li>\n<\/ul>\n\n\n\n<p>By following these steps, you should have a working OpenStack environment tailored to your needs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Table of Contents 1. Introduction OpenStack is an open-source platform used to build and manage public and private clouds. This guide walks you through a manual installation of OpenStack on a Linux server. 2. Prerequisites Ensure your system meets the following prerequisites: 3. Environment Setup Update and Upgrade Your System Install Essential Packages 4. Install ..<\/p>\n<div class=\"clear-fix\"><\/div>\n<p><a href=\"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/\" title=\"read more...\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[69,182],"tags":[],"yoast_head":"\n<title>Comprehensive guide to install OpenStack manually on Linux - WebHi Tutorials &amp; Documentations<\/title>\n<meta name=\"description\" content=\"comprehensive step-by-step guide to manually install and configure OpenStack components on a Linux server, including Keystone, Glance, Nova, Neutron, Cinder, and Horizon.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Comprehensive guide to install OpenStack manually on Linux - WebHi Tutorials &amp; Documentations\" \/>\n<meta property=\"og:description\" content=\"comprehensive step-by-step guide to manually install and configure OpenStack components on a Linux server, including Keystone, Glance, Nova, Neutron, Cinder, and Horizon.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/\" \/>\n<meta property=\"og:site_name\" content=\"WebHi Tutorials &amp; Documentations\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webhi.technology\" \/>\n<meta property=\"article:published_time\" content=\"2024-06-11T16:53:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-06-11T16:53:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.webhi.com\/how-to\/gilrogre\/2024\/06\/openstack_install_all_en.jpg\" \/>\n<meta name=\"author\" content=\"webhi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@WebHiTechnology\" \/>\n<meta name=\"twitter:site\" content=\"@WebHiTechnology\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"webhi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/\"},\"author\":{\"name\":\"webhi\",\"@id\":\"https:\/\/www.webhi.com\/how-to\/#\/schema\/person\/b31e76e2311cdc0bb90f5e2733059a54\"},\"headline\":\"Comprehensive guide to install OpenStack manually on Linux\",\"datePublished\":\"2024-06-11T16:53:52+00:00\",\"dateModified\":\"2024-06-11T16:53:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/\"},\"wordCount\":488,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/www.webhi.com\/how-to\/#organization\"},\"articleSection\":[\"Linux system administration\",\"Virtualization &amp; Cloud computing\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/\",\"url\":\"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/\",\"name\":\"Comprehensive guide to install OpenStack manually on Linux - WebHi Tutorials &amp; Documentations\",\"isPartOf\":{\"@id\":\"https:\/\/www.webhi.com\/how-to\/#website\"},\"datePublished\":\"2024-06-11T16:53:52+00:00\",\"dateModified\":\"2024-06-11T16:53:55+00:00\",\"description\":\"comprehensive step-by-step guide to manually install and configure OpenStack components on a Linux server, including Keystone, Glance, Nova, Neutron, Cinder, and Horizon.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.webhi.com\/how-to\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Comprehensive guide to install OpenStack manually on Linux\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.webhi.com\/how-to\/#website\",\"url\":\"https:\/\/www.webhi.com\/how-to\/\",\"name\":\"WebHi Tutorials &amp; Documentations\",\"description\":\"System administration and knowledge base\",\"publisher\":{\"@id\":\"https:\/\/www.webhi.com\/how-to\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.webhi.com\/how-to\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.webhi.com\/how-to\/#organization\",\"name\":\"WebHi Technology\",\"url\":\"https:\/\/www.webhi.com\/how-to\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webhi.com\/how-to\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.webhi.com\/how-to\/gilrogre\/2022\/07\/logo.png\",\"contentUrl\":\"https:\/\/www.webhi.com\/how-to\/gilrogre\/2022\/07\/logo.png\",\"width\":288,\"height\":95,\"caption\":\"WebHi Technology\"},\"image\":{\"@id\":\"https:\/\/www.webhi.com\/how-to\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webhi.technology\",\"https:\/\/twitter.com\/WebHiTechnology\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.webhi.com\/how-to\/#\/schema\/person\/b31e76e2311cdc0bb90f5e2733059a54\",\"name\":\"webhi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webhi.com\/how-to\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.webhi.com\/how-to\/ahuphiph\/litespeed\/avatar\/e20da107d0f4c765ead2eef88ad019d8.jpg?ver=1781214743\",\"contentUrl\":\"https:\/\/www.webhi.com\/how-to\/ahuphiph\/litespeed\/avatar\/e20da107d0f4c765ead2eef88ad019d8.jpg?ver=1781214743\",\"caption\":\"webhi\"},\"sameAs\":[\"https:\/\/www.webhi.com\/how-to\"],\"url\":\"https:\/\/www.webhi.com\/how-to\/author\/webhi\/\"}]}<\/script>\n","yoast_head_json":{"title":"Comprehensive guide to install OpenStack manually on Linux - WebHi Tutorials &amp; Documentations","description":"comprehensive step-by-step guide to manually install and configure OpenStack components on a Linux server, including Keystone, Glance, Nova, Neutron, Cinder, and Horizon.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/","og_locale":"en_US","og_type":"article","og_title":"Comprehensive guide to install OpenStack manually on Linux - WebHi Tutorials &amp; Documentations","og_description":"comprehensive step-by-step guide to manually install and configure OpenStack components on a Linux server, including Keystone, Glance, Nova, Neutron, Cinder, and Horizon.","og_url":"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/","og_site_name":"WebHi Tutorials &amp; Documentations","article_publisher":"https:\/\/www.facebook.com\/webhi.technology","article_published_time":"2024-06-11T16:53:52+00:00","article_modified_time":"2024-06-11T16:53:55+00:00","og_image":[{"url":"https:\/\/www.webhi.com\/how-to\/gilrogre\/2024\/06\/openstack_install_all_en.jpg"}],"author":"webhi","twitter_card":"summary_large_image","twitter_creator":"@WebHiTechnology","twitter_site":"@WebHiTechnology","twitter_misc":{"Written by":"webhi","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/#article","isPartOf":{"@id":"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/"},"author":{"name":"webhi","@id":"https:\/\/www.webhi.com\/how-to\/#\/schema\/person\/b31e76e2311cdc0bb90f5e2733059a54"},"headline":"Comprehensive guide to install OpenStack manually on Linux","datePublished":"2024-06-11T16:53:52+00:00","dateModified":"2024-06-11T16:53:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/"},"wordCount":488,"commentCount":2,"publisher":{"@id":"https:\/\/www.webhi.com\/how-to\/#organization"},"articleSection":["Linux system administration","Virtualization &amp; Cloud computing"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/","url":"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/","name":"Comprehensive guide to install OpenStack manually on Linux - WebHi Tutorials &amp; Documentations","isPartOf":{"@id":"https:\/\/www.webhi.com\/how-to\/#website"},"datePublished":"2024-06-11T16:53:52+00:00","dateModified":"2024-06-11T16:53:55+00:00","description":"comprehensive step-by-step guide to manually install and configure OpenStack components on a Linux server, including Keystone, Glance, Nova, Neutron, Cinder, and Horizon.","breadcrumb":{"@id":"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.webhi.com\/how-to\/comprehensive-guide-to-install-openstack-manually-on-linux-ubuntu-debian\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.webhi.com\/how-to\/"},{"@type":"ListItem","position":2,"name":"Comprehensive guide to install OpenStack manually on Linux"}]},{"@type":"WebSite","@id":"https:\/\/www.webhi.com\/how-to\/#website","url":"https:\/\/www.webhi.com\/how-to\/","name":"WebHi Tutorials &amp; Documentations","description":"System administration and knowledge base","publisher":{"@id":"https:\/\/www.webhi.com\/how-to\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.webhi.com\/how-to\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.webhi.com\/how-to\/#organization","name":"WebHi Technology","url":"https:\/\/www.webhi.com\/how-to\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webhi.com\/how-to\/#\/schema\/logo\/image\/","url":"https:\/\/www.webhi.com\/how-to\/gilrogre\/2022\/07\/logo.png","contentUrl":"https:\/\/www.webhi.com\/how-to\/gilrogre\/2022\/07\/logo.png","width":288,"height":95,"caption":"WebHi Technology"},"image":{"@id":"https:\/\/www.webhi.com\/how-to\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webhi.technology","https:\/\/twitter.com\/WebHiTechnology"]},{"@type":"Person","@id":"https:\/\/www.webhi.com\/how-to\/#\/schema\/person\/b31e76e2311cdc0bb90f5e2733059a54","name":"webhi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webhi.com\/how-to\/#\/schema\/person\/image\/","url":"https:\/\/www.webhi.com\/how-to\/ahuphiph\/litespeed\/avatar\/e20da107d0f4c765ead2eef88ad019d8.jpg?ver=1781214743","contentUrl":"https:\/\/www.webhi.com\/how-to\/ahuphiph\/litespeed\/avatar\/e20da107d0f4c765ead2eef88ad019d8.jpg?ver=1781214743","caption":"webhi"},"sameAs":["https:\/\/www.webhi.com\/how-to"],"url":"https:\/\/www.webhi.com\/how-to\/author\/webhi\/"}]}},"_links":{"self":[{"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/posts\/8805"}],"collection":[{"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/comments?post=8805"}],"version-history":[{"count":6,"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/posts\/8805\/revisions"}],"predecessor-version":[{"id":8823,"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/posts\/8805\/revisions\/8823"}],"wp:attachment":[{"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/media?parent=8805"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/categories?post=8805"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webhi.com\/how-to\/wp-json\/wp\/v2\/tags?post=8805"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}