<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LinuxTuto</title>
	<atom:link href="https://www.linuxtuto.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.linuxtuto.com/</link>
	<description>Linux Sysadmin and DevOps blog</description>
	<lastBuildDate>Wed, 26 Nov 2025 14:04:26 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.linuxtuto.com/wp-content/uploads/2022/01/cropped-LT_faveicon-32x32.png</url>
	<title>LinuxTuto</title>
	<link>https://www.linuxtuto.com/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">201456972</site>	<item>
		<title>How to Configure Odoo with Nginx as Reverse Proxy on Debian 13</title>
		<link>https://www.linuxtuto.com/how-to-configure-odoo-with-nginx-as-reverse-proxy-on-debian-13/</link>
					<comments>https://www.linuxtuto.com/how-to-configure-odoo-with-nginx-as-reverse-proxy-on-debian-13/#respond</comments>
		
		<dc:creator><![CDATA[LinuxTuto]]></dc:creator>
		<pubDate>Wed, 26 Nov 2025 14:01:45 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Let's Encrypt]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Odoo]]></category>
		<category><![CDATA[Proxy]]></category>
		<guid isPermaLink="false">https://www.linuxtuto.com/?p=2056</guid>

					<description><![CDATA[<p>If you are planning to deploy Odoo in a production environment, configuring it behind a reverse proxy like Nginx is highly recommended. Odoo’s built-in server...</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-configure-odoo-with-nginx-as-reverse-proxy-on-debian-13/">How to Configure Odoo with Nginx as Reverse Proxy on Debian 13</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>If you are planning to deploy Odoo in a production environment, configuring it behind a reverse proxy like Nginx is highly recommended. Odoo’s built-in server is sufficient for development but not optimized for handling SSL encryption, load balancing, URL routing, and performance tuning. Nginx acts as a powerful reverse proxy that enhances reliability, security, and performance, making your Odoo installation production-ready.</p>
<p>In this tutorial, you will learn step-by-step how to configure Odoo with Nginx as a reverse proxy on Debian 13, including SSL setup.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 1: Update Operating System</span></h2>
<p>Update your <b>Debian 13</b> operating system to the latest version with the following command:</p>
<pre><code># apt update &amp;&amp; apt upgrade</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 2: Install Nginx Web Server</span></h2>
<p>To install Nginx web server, run the following command:</p>
<div class="google-anno-skip google-anno-sc" tabindex="0" role="link" aria-label="Cloud server hosting" data-google-vignette="false" data-google-interstitial="false">Cloud server hosting</div>
<pre><code># apt install nginx</code></pre>
<p>You can start the Nginx service and configure it to run on startup by entering the following commands:</p>
<pre><code># systemctl start nginx
# systemctl enable nginx</code></pre>
<p>Verify the status of the Nginx service using <strong>systemctl status</strong> command:</p>
<pre><code># systemctl status nginx</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 3: Configure Odoo for Reverse Proxy</span></h2>
<p>Make sure that Odoo is configured to work behind a proxy. In the Odoo configuration file (<code>/etc/odoo.conf</code>), you need to set the <strong>proxy_mode</strong> parameter to True:</p>
<pre><code>proxy_mode = True
</code></pre>
<p>After making the changes, it’s important to restart the Odoo service to ensure the changes take effect:</p>
<pre><code># systemctl restart odoo</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 4: Configure Nginx for Odoo</span></h2>
<p>Now we set up the Nginx configuration to route traffic to Odoo.</p>
<p>Create a new configuration file:</p>
<pre><code># /etc/nginx/conf.d/odoo.conf</code></pre>
<p>Paste the following configuration (replace erp.example.com with your real domain):</p>
<pre><code>upstream odoo {
server 127.0.0.1:8069;
}

upstream odoo-chat {
server 127.0.0.1:8072;
}

server {
listen 80;
server_name erp.example.com;

access_log /var/log/nginx/odoo_access.log;
error_log /var/log/nginx/odoo_error.log;

proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;

proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;

location / {
proxy_pass http://odoo;
}

location /websocket {
proxy_pass http://odoo-chat;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}</code></pre>
<p>Save the file and Exit.</p>
<p>Check Nginx syntax:</p>
<pre><code># /usr/sbin/nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
</code></pre>
<p>To implement the changes, restart Nginx webserver:</p>
<pre><code># systemctl restart nginx</code></pre>
<p>You can now open your Odoo at:</p>
<pre><code>http://erp.your-domain.com</code></pre>
<p>However, this is still not secure because we are using HTTP.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 5: Install free Let’s Encrypt SSL certificate (Optional)</span></h2>
<p>First you need to install the Certbot client which is used to create Let’s Encrypt certificates:</p>
<pre><code># apt install certbot python3-certbot-nginx</code></pre>
<p>Then to get the SSL certificate using the Certbot, type the following command:</p>
<pre><code># certbot --nginx -d erp.your-domain.com</code></pre>
<p>If the SSL certificate is successfully obtained, certbot displays a message to show the configuration was successful:</p>
<pre><code>Saving debug log to /var/log/letsencrypt/letsencrypt.log
Requesting a certificate for erp.your-domain.com

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/erp.your-domain.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/erp.your-domain.com/privkey.pem
This certificate expires on 2026-02-16.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for erp.your-domain.com to /etc/nginx/conf.d/odoo.conf
Congratulations! You have successfully enabled HTTPS on https://erp.your-domain.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</code></pre>
<p>Now, you have successfully installed SSL on your website.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 6: Access Odoo server</span></h2>
<p>Open your web browser and type the URL <strong>https://erp.your-domain.com</strong>.</p>
<p><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-2059" src="https://www.linuxtuto.com/wp-content/uploads/2025/11/odoo_19.webp" alt="Odoo 19" width="900" height="415" srcset="https://www.linuxtuto.com/wp-content/uploads/2025/11/odoo_19.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2025/11/odoo_19-300x138.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2025/11/odoo_19-768x354.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2025/11/odoo_19-897x414.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2025/11/odoo_19-684x315.webp 684w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<p>You should now see your Odoo login page loading securely via Nginx.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Comments and Conclusion</span></h2>
<p>Configuring <strong data-start="4473" data-end="4523">Nginx as a reverse proxy for Odoo</strong> enhances security, performance, and scalability.</p>
<p>It allows you to run Odoo in a professional production environment with HTTPS, HTTP/2, caching, and better resource usage.</p>
<p>If you have any questions please leave a comment below.</p>
<p>&nbsp;</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-configure-odoo-with-nginx-as-reverse-proxy-on-debian-13/">How to Configure Odoo with Nginx as Reverse Proxy on Debian 13</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.linuxtuto.com/how-to-configure-odoo-with-nginx-as-reverse-proxy-on-debian-13/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2056</post-id>	</item>
		<item>
		<title>How to Install ERPNext v15 on Debian 13</title>
		<link>https://www.linuxtuto.com/install-erpnext-v15-on-debian-13/</link>
					<comments>https://www.linuxtuto.com/install-erpnext-v15-on-debian-13/#respond</comments>
		
		<dc:creator><![CDATA[LinuxTuto]]></dc:creator>
		<pubDate>Tue, 18 Nov 2025 15:00:04 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[ERPNext]]></category>
		<guid isPermaLink="false">https://www.linuxtuto.com/?p=2039</guid>

					<description><![CDATA[<p>ERPNext is one of the most powerful open-source ERP systems available today. Built on the Frappe Framework, it provides modules for Accounting, HR, CRM, Projects,...</p>
<p>The post <a href="https://www.linuxtuto.com/install-erpnext-v15-on-debian-13/">How to Install ERPNext v15 on Debian 13</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>ERPNext is one of the most powerful open-source ERP systems available today. Built on the Frappe Framework, it provides modules for Accounting, HR, CRM, Projects, Inventory, Sales, POS, Manufacturing, and much more. With the release of ERPNext 15, users get improved UI, faster performance, and more stable backend architecture.</p>
<p>In this tutorial, you’ll learn how to install ERPNext 15 on Debian 13 from scratch including all dependencies, system configuration, database tuning, production setup and install an SSL certificate.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 1: Update Operating System</span></h2>
<p>First check the server’s current time zone with the following command:</p>
<pre><code># date</code></pre>
<p>Then Set correct time zone as per your region with the following command:</p>
<pre><code># timedatectl set-timezone "America/Chicago"</code></pre>
<p>This is a important step as it impacts the ERPNext usage.</p>
<p>Then update your <b>Debian 13</b> operating system to the latest version with the following command:</p>
<pre><code># apt update &amp;&amp; apt upgrade</code></pre>
<p>This ensures all dependencies are up-to-date and prevents conflicts later.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 2: Install Required Dependencies</span></h2>
<p>In this step we will install the required system-level packages for the system to work correctly.</p>
<pre><code># apt install -y git curl wget sudo certbot</code></pre>
<p>Also, ERPNext needs several Python packages to build Python modules and run Frappe.</p>
<pre><code># apt install -y python3 python3-dev python3-setuptools python3-pip python3-venv libffi-dev libssl-dev libsasl2-dev
</code></pre>
<p>These libraries allow Frappe to compile PDF rendering, image processing, database drivers, and more.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 3: Add a new user</span></h2>
<p>Now we will create a dedicated user for your ERP application. This user will be assigned admin permissions and will be used as the main Frappe Bench user:</p>
<pre><code># /sbin/adduser erpnext</code></pre>
<p>To add the user to the sudo group, use the <strong><code>usermod</code></strong> command as follows:</p>
<pre><code># /sbin/usermod -aG sudo erpnext</code></pre>
<p>Then log in as the new user:</p>
<pre><code># su - erpnext</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">S</span><span class="has-inline-color has-vivid-purple-color">tep 4: Install MariaDB</span></h2>
<p>You can install the MariaDB server with the following command:</p>
<pre><code>$ sudo apt install -y mariadb-server mariadb-client</code></pre>
<p>Start the database server daemon, and also enable it to start automatically at the next boot with the following commands:</p>
<pre><code>$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb</code></pre>
<p>Verify the status of the <strong>MariaDB</strong> service using <strong>systemctl status</strong> command:</p>
<pre><code>$ sudo systemctl status mariadb</code></pre>
<p>By default, MariaDB is not hardened. You can secure MariaDB using the <strong>mariadb-secure-installation</strong> script.</p>
<pre><code>$ sudo mariadb-secure-installation</code></pre>
<p>Configure it like this:</p>
<pre><code>- Set root password? [Y/n] <strong>Y</strong>
- Remove anonymous users? [Y/n] <strong>Y</strong>
- Disallow root login remotely? [Y/n] <strong>Y</strong>
- Remove test database and access to it? [Y/n] <strong>Y</strong>
- Reload privilege tables now? [Y/n] <strong>Y</strong></code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 5: Install Node.js</span></h2>
<p>Run the following command to install Node.js:</p>
<pre><code>$ sudo apt install nodejs npm</code></pre>
<p>You can verify the installation by running the following command:</p>
<pre><code>$ node --version</code></pre>
<p>You should see the version number of Node.js installed on your system:</p>
<pre><code>v20.19.2</code></pre>
<p>Then verify the <code>npm</code> version with the following command:</p>
<pre><code>$ npm --version</code></pre>
<p>You should get the following output:</p>
<pre><code>9.2.0</code></pre>
<p>ERPNext uses Yarn for building frontend assets.</p>
<pre><code>$ sudo npm install -g yarn</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 6: Install Redis Server</span></h2>
<p>Redis handles caching and web socket communication for real-time features.</p>
<pre><code>$ sudo apt install -y redis-server
$ sudo systemctl enable --now redis-server</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 7: Install Frappe Bench</span></h2>
<p>Bench is the command-line tool used to manage ERPNext installations. Use the following commands to install the Bench CLI:</p>
<pre><code>$ sudo apt remove python3-requests
$ sudo python3 -m pip config set global.break-system-packages true 
$ sudo pip3 install frappe-bench </code></pre>
<p>Confirm installation:</p>
<pre><code> $ bench --version</code></pre>
<p>You should get the following output:</p>
<pre><code>5.27.0</code></pre>
<p>Now initialize a new Bench directory:</p>
<pre><code>$ bench init frappe-bench --frappe-branch version-15
$ cd frappe-bench</code></pre>
<p>This creates a full environment with Python <strong>virtualenv</strong> and node tools.</p>
<p>Now change user directory permissions. This will allow execution permission to the home directory of the frappe user.</p>
<pre><code>chmod -R o+rx /home/erpnext/</code></pre>
<p>Create a new Frappe site with the following command:</p>
<pre><code>$ bench new-site erp.yourdomain.com</code></pre>
<p>You will be prompted for:</p>
<ul>
<li>MySQL root password</li>
<li>ERPNext administrator password</li>
</ul>
<h2><span class="has-inline-color has-vivid-purple-color">Step 8: Install ERPNext and other Apps</span></h2>
<p>Finally, we’re at the last stage of the installation process!</p>
<p>Download the payments apps . This app is required during ERPNext installation</p>
<pre><code> $ bench get-app payments</code></pre>
<p>Download the main ERPNext app with the following command:</p>
<pre><code>$ bench get-app --branch version-15 erpnext</code></pre>
<p>Download the HR &amp; Payroll app (optional)</p>
<pre><code>$ bench get-app hrms</code></pre>
<p>Check if all the apps are correctly downloaded by running:</p>
<pre><code>$ bench version --format table</code></pre>
<p>Now install it on your site:</p>
<pre><code>$ bench --site erp.yourdomain.com install-app erpnext</code></pre>
<p>Install the HR &amp; Payroll app (optional)</p>
<pre><code>$ bench --site erp.yourdomain.com install-app hrms</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 9: Test ERPNext in Development Mode (Optional)</span></h2>
<p>You can launch a development server with the following command:</p>
<pre><code>$ bench start</code></pre>
<p>You can access ERPNext at:</p>
<pre><code>http://YOUR_SERVER_IP:8000</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 10: Setting ERPNext in Production Mode</span></h2>
<p>For the production environment, we need to configure Nginx and Supervisor to keep application running in background.</p>
<p>You can install them with the following command:</p>
<pre><code>$ sudo apt install nginx supervisor</code></pre>
<p><strong>Enable scheduler service</strong></p>
<pre><code>$ bench --site erp.yourdomain.com enable-scheduler</code></pre>
<p><strong>Disable maintenance mode</strong></p>
<pre><code>bench --site erp.yourdomain.com set-maintenance-mode off</code></pre>
<p><strong>Setup production config</strong></p>
<pre><code>$ sudo bench setup production erpnext</code></pre>
<p><strong>R</strong><strong>estart Supervisor</strong></p>
<pre><code>$ sudo supervisorctl restart all</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 11: Custom Domain &amp; SSL Setup</span></h2>
<p>For SSL configuration, you can run the following commands:</p>
<pre><code>$ bench config dns_multitenant on
$ sudo bench setup lets-encrypt erp.yourdomain.com</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 12: Access your ERPNext Application</span></h2>
<p>Open your browser and type your domain e.g <strong>https://erp.yourdomain.com</strong></p>
<h2><img decoding="async" class="aligncenter size-full wp-image-2049" src="https://www.linuxtuto.com/wp-content/uploads/2025/11/erpnext_login.webp" alt="ERPNext login page" width="900" height="394" srcset="https://www.linuxtuto.com/wp-content/uploads/2025/11/erpnext_login.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2025/11/erpnext_login-300x131.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2025/11/erpnext_login-768x336.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2025/11/erpnext_login-897x393.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2025/11/erpnext_login-684x299.webp 684w" sizes="(max-width: 900px) 100vw, 900px" /></h2>
<h2><span class="has-inline-color has-vivid-purple-color">Comments and Conclusion</span></h2>
<p>Installing ERPNext 15 on Debian 13 is straightforward when following the official bench method.</p>
<p>This tutorial covered everything from installing dependencies and configuring MariaDB to setting up NGINX, Supervisor, and full production deployment.</p>
<p>ERPNext 15 provides excellent performance, modularity, and flexibility. With this setup, your business now has a powerful ERP ready to use.</p>
<p>For additional help or useful information, we recommend you to check <a href="https://docs.frappe.io/erpnext/introduction" target="_blank" rel="noopener">the official ERPNext documentation</a>.</p>
<p>If you have any questions please leave a comment below.</p>
<p>The post <a href="https://www.linuxtuto.com/install-erpnext-v15-on-debian-13/">How to Install ERPNext v15 on Debian 13</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.linuxtuto.com/install-erpnext-v15-on-debian-13/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2039</post-id>	</item>
		<item>
		<title>How to Install Python 3.14 on Ubuntu 24.04</title>
		<link>https://www.linuxtuto.com/how-to-install-python-3-14-on-ubuntu-24-04/</link>
					<comments>https://www.linuxtuto.com/how-to-install-python-3-14-on-ubuntu-24-04/#respond</comments>
		
		<dc:creator><![CDATA[LinuxTuto]]></dc:creator>
		<pubDate>Fri, 07 Nov 2025 15:30:02 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://www.linuxtuto.com/?p=2027</guid>

					<description><![CDATA[<p>Python is one of the most popular programming languages in the world, widely used for web development, data science, automation, and DevOps. With every new...</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-python-3-14-on-ubuntu-24-04/">How to Install Python 3.14 on Ubuntu 24.04</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Python is one of the most popular programming languages in the world, widely used for web development, data science, automation, and DevOps. With every new release, Python introduces performance improvements, security patches, and modern syntax features that make development smoother and faster.</p>
<p>This tutorial illustrates two methods of how to install it on your Ubuntu 24.04 OS.</p>
<ul>
<li>Install Python 3.14 from the <strong>Deadsnakes PPA</strong></li>
<li>Manually build Python 3.14 from the <strong>source code</strong></li>
</ul>
<h2><span class="has-inline-color has-vivid-purple-color">Why Upgrade to Python 3.14?</span></h2>
<p>Before diving into the commands, it’s worth understanding why upgrading to Python 3.14 is beneficial.</p>
<p>Some of the expected improvements in Python 3.14 include:</p>
<ul>
<li><strong>Performance boosts:</strong> Faster startup times and optimized memory usage.</li>
<li><strong>Enhanced syntax features:</strong> Cleaner pattern matching and new language constructs.</li>
<li><strong>Improved error messages:</strong> More readable and beginner-friendly tracebacks.</li>
<li><strong>Security updates:</strong> Stronger hashing algorithms and better sandboxing support.</li>
</ul>
<p>Python 3.14 is fully backward compatible with most 3.x scripts, but testing your projects in a virtual environment is still recommended before full migration.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Update and Upgrade Your System</span></h2>
<p>Start by updating your Ubuntu 24.04 system to avoid package conflicts:</p>
<pre><code># apt update &amp;&amp; sudo apt upgrade -y
</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Method 1: Install Python 3.14 Using Deadsnakes PPA (Recommended)</span></h2>
<p>This method makes it easy to install Python 3.14 on Ubuntu 24.04 and be able to receive continued updates, bug fixes, and security updates.</p>
<p>The <strong>Deadsnakes PPA</strong> is a trusted third-party repository that provides newer versions of Python for Ubuntu systems.</p>
<p>First Add the Deadsnakes PPA to the APT package manager sources list:</p>
<pre><code># add-apt-repository ppa:deadsnakes/ppa -y</code></pre>
<p>Press Enter to continue.</p>
<p>Once the repository has been installed, run an APT update to ensure that the newly imported PPA is reflected.</p>
<pre><code># apt update
</code></pre>
<p>Now you can  install Python 3.14 with the following command:</p>
<pre><code># apt install python3.14 -y
</code></pre>
<p>Then verify the installation with the following command:</p>
<pre><code># python3.14 --version
</code></pre>
<p>You should see output similar to:</p>
<pre><code>Python 3.14.0</code></pre>
<p>If you have installed Python 3.14 using the APT package manager, the PIP will not be installed by default. To install <strong>pip3.14</strong>, run the following command:</p>
<pre><code># curl -sS https://bootstrap.pypa.io/get-pip.py | python3.14 </code></pre>
<p>You can check PIP for the <code>Python 3.14</code> version using the following command:</p>
<div class="code-toolbar">
<pre class="wp-block-prismatic-blocks language-bash"><code class=" language-bash"># pip3.14 -V

pip 25.3 from /usr/local/lib/python3.14/site-packages/pip (python 3.14)</code></pre>
</div>
<h2><span class="has-inline-color has-vivid-purple-color">Method 2: Build Python 3.14 from Source</span></h2>
<p>Also, you can compile Python 3.14 manually from the official source code. With this installation method, the main issue is that you cannot quickly update like the APT package manager and will need to recompile for any changes.</p>
<p>First, install the required prerequisite packages for the compilation of the Python 3.10 source code.</p>
<pre><code># apt install -y build-essential libssl-dev zlib1g-dev \
libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev \
libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev \
tk-dev libffi-dev uuid-dev wget
</code></pre>
<p>Now proceed and download the latest release version of Python from the<a href="https://www.python.org/downloads/release/python-3140/" target="_blank" rel="noreferrer noopener"> Python official release page</a>.</p>
<p>Alternatively, copy the download link for Python 3.14 gzipped tarball and use <strong>wget</strong> to pull it with the following command:</p>
<pre><code># cd /usr/src &amp;&amp; wget https://www.python.org/ftp/python/3.14.0/Python-3.14.0.tgz
</code></pre>
<p>Once done, extract the archive:</p>
<pre><code># tar -xf Python-3.14.0.tgz</code></pre>
<p>Now navigate into the extracted directory and run the <strong>configure</strong> script to check the required dependencies.</p>
<pre><code># cd Python-3.14.0</code></pre>
<pre><code># ./configure --enable-optimizations --enable-shared</code></pre>
<p>You can speed up the build process by using all CPU cores:</p>
<pre><code> make -j 6
</code></pre>
<p>Remember, the<strong> (-j)</strong> corresponds to the number of cores in your system to speed up the build time.</p>
<p>To find out how many cores you have on your system, execute the following code:</p>
<pre><code># nproc</code></pre>
<p>Output:</p>
<pre><code>6</code></pre>
<p>We have six cores, so in the (make) command, we used <strong>(-j 6)</strong>.</p>
<p>Once the build process has been completed, run the following command to complete the Python installation. Instead of overwriting the system version, we’ll install Python 3.14 as an alternative:</p>
<pre><code># make altinstall
</code></pre>
<p>The <strong>altinstall</strong> target prevents replacing <strong>/usr/bin/python3</strong> and keeps your default Python intact.</p>
<p>Verify your installation:</p>
<pre><code># python3.14 --version
</code></pre>
<p>If everything went smoothly, you’ll see:</p>
<pre><code>Python 3.14.0</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Install Python Modules|Extensions</span></h2>
<p>Modules and extensions can be installed using the <strong>Python Package manager</strong> (PIP).</p>
<p>Use the syntax below to install a Python module of choice.</p>
<pre><code># pip3.14 install <strong>module-name</strong></code></pre>
<p>In this tutorial, We will show you how to install a Python module <strong>plotly</strong>.</p>
<pre><code># pip3.14 install <strong><span class="has-inline-color has-pale-cyan-blue-color">plotly</span></strong></code></pre>
<p>Output:</p>
<pre><code>Collecting plotly
  Downloading plotly-6.4.0-py3-none-any.whl.metadata (8.5 kB)
Collecting narwhals&gt;=1.15.1 (from plotly)
  Downloading narwhals-2.10.2-py3-none-any.whl.metadata (11 kB)
Requirement already satisfied: packaging in /usr/lib/python3/dist-packages (from plotly) (24.0)
Downloading plotly-6.4.0-py3-none-any.whl (9.9 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.9/9.9 MB 11.3 MB/s  0:00:00
Downloading narwhals-2.10.2-py3-none-any.whl (419 kB)
Installing collected packages: narwhals, plotly
Successfully installed narwhals-2.10.2 plotly-6.4.0
</code></pre>
<p>You can verify your module installation using the following command:</p>
<pre class="wp-block-code"><code># pip3.14 list | grep plotly
Package                Version             
---------------------- --------------------
..............
plotly 6.4.0
..............</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Create a Virtual Environment</span></h2>
<p>After successfully installing Python 3.14, it’s a best practice to <strong>create a virtual environment</strong> before installing any packages. Virtual environments allow you to isolate dependencies for each project preventing conflicts between system-wide and project-specific Python libraries.</p>
<p>The <strong>venv</strong> module is not included by default with the <code>Python 3.14</code> installation, but you can install it manually:</p>
<pre><code># apt install python3.14-venv -y
</code></pre>
<p>This package provides the necessary tools to create and manage virtual environments.</p>
<p>You can create a virtual environment in your project directory. Navigate to your desired location and run:</p>
<pre><code># python3.14 -m venv myenv
</code></pre>
<p>Note: <strong>myenv</strong> is the name of your virtual environment (you can rename it).</p>
<p>To start using your isolated Python environment, activate it with the following command:</p>
<pre><code># source myenv/bin/activate
</code></pre>
<p>Once activated, your shell prompt should change to show the environment name, similar like this:</p>
<pre><code class="whitespace-pre!">(myenv) root@linuxtuto:~#</code></pre>
<p>To deactivate the virtual environment run the following command:</p>
<pre><code># deactivate</code></pre>
<p>While the environment is active:</p>
<ul>
<li style="list-style-type: none;">
<ul>
<li>All installed Python packages will stay local to the project.</li>
</ul>
</li>
</ul>
<ul>
<li style="list-style-type: none;">
<ul>
<li>The global Python installation remains unaffected.</li>
</ul>
</li>
</ul>
<h2><span class="has-inline-color has-vivid-purple-color">Optional: Set Python 3.14 as Default</span></h2>
<p>Ubuntu 24.04 still ships with <a href="https://www.linuxtuto.com/how-to-install-python-3-12-on-ubuntu-22-04/">Python 3.12</a> by default. You can switch to Python 3.14 using <strong>update-alternatives</strong> safely:</p>
<pre><code># update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1
# update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.14 2
# update-alternatives --config python3
</code></pre>
<p>And choose which one to use as Python3 via command:</p>
<pre><code># update-alternatives --config python3</code></pre>
<p><img decoding="async" class="aligncenter size-large wp-image-2030" src="https://www.linuxtuto.com/wp-content/uploads/2025/11/python_alternatives-900x195.webp" alt="Python Alternative" width="900" height="195" srcset="https://www.linuxtuto.com/wp-content/uploads/2025/11/python_alternatives-900x195.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2025/11/python_alternatives-300x65.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2025/11/python_alternatives-768x167.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2025/11/python_alternatives-897x195.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2025/11/python_alternatives-684x148.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2025/11/python_alternatives.webp 936w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<p>Select Python 3.14 when prompted, then verify:</p>
<pre><code># python3 --version
</code></pre>
<p>Expected output:</p>
<pre><code>Python 3.14.0</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Conclusion</span></h2>
<p>Installing <strong>Python 3.14 on Ubuntu 24.04</strong> is simple using the Deadsnakes PPA or by compiling from source. The new release delivers performance improvements, better syntax, and modern features that make development faster and safer.</p>
<p>With <code>Python 3.14</code> installed, you’re ready to build powerful applications, automate workflows, or explore AI projects with the latest language tools.</p>
<p>For additional help or useful information, we recommend you to check  the official <a href="https://docs.python.org/3.14/whatsnew/3.14.html">Python documentation</a>.</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-python-3-14-on-ubuntu-24-04/">How to Install Python 3.14 on Ubuntu 24.04</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.linuxtuto.com/how-to-install-python-3-14-on-ubuntu-24-04/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2027</post-id>	</item>
		<item>
		<title>How to Install OpenSearch 3.x on Ubuntu 24.04</title>
		<link>https://www.linuxtuto.com/how-to-install-opensearch-3-x-on-ubuntu-24-04/</link>
					<comments>https://www.linuxtuto.com/how-to-install-opensearch-3-x-on-ubuntu-24-04/#respond</comments>
		
		<dc:creator><![CDATA[LinuxTuto]]></dc:creator>
		<pubDate>Mon, 29 Sep 2025 18:04:46 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://www.linuxtuto.com/?p=2008</guid>

					<description><![CDATA[<p>OpenSearch is an open-source search and analytics engine developed as a fork of Elasticsearch and Kibana by AWS. It provides powerful search capabilities, log analytics,...</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-opensearch-3-x-on-ubuntu-24-04/">How to Install OpenSearch 3.x on Ubuntu 24.04</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>OpenSearch is an open-source search and analytics engine developed as a fork of Elasticsearch and Kibana by AWS. It provides powerful search capabilities, log analytics, real-time monitoring, and observability, all built on Apache Lucene. OpenSearch <strong>3.x</strong> is the latest major release, offering enhanced features, improved performance, and better scalability.</p>



<p>If you’re looking to set up OpenSearch 3.x on your <strong>Ubuntu 24.04</strong> server, this step-by-step guide will walk you through the process.</p>



<h2 class="wp-block-heading">Why Choose OpenSearch 3.x?</h2>



<p>OpenSearch 3.x introduces several new features and improvements, including:</p>



<ul class="wp-block-list">
<li style="list-style-type: none;">
<ul class="wp-block-list">
<li><strong>Improved Performance</strong>: Enhanced query execution and indexing capabilities.</li>
</ul>
</li>
</ul>



<ul class="wp-block-list">
<li style="list-style-type: none;">
<ul class="wp-block-list">
<li><strong>Advanced Security Features</strong>: Built-in authentication, authorization, and encryption.</li>
</ul>
</li>
</ul>



<ul class="wp-block-list">
<li style="list-style-type: none;">
<ul class="wp-block-list">
<li><strong>Enhanced Observability</strong>: Improved monitoring and alerting features.</li>
</ul>
</li>
</ul>



<ul class="wp-block-list">
<li style="list-style-type: none;">
<ul class="wp-block-list">
<li><strong>Compatibility with OpenSearch Dashboards</strong>: Seamless integration for data visualization.</li>
</ul>
</li>
</ul>



<p>These features make OpenSearch 3.x a compelling choice for building scalable and secure search and analytics solutions.</p>



<h2 class="wp-block-heading">Prerequisites</h2>



<p>Before you begin, ensure your system meets the following requirements:</p>



<ul class="wp-block-list">
<li style="list-style-type: none;">
<ul class="wp-block-list">
<li><strong>Ubuntu 24.04</strong> server with at least <strong>8GB of RAM</strong> (16GB recommended for production environments).</li>
</ul>
</li>
</ul>



<ul class="wp-block-list">
<li style="list-style-type: none;">
<ul class="wp-block-list">
<li><strong>Root or sudo privileges</strong>.</li>
</ul>
</li>
</ul>



<ul class="wp-block-list">
<li style="list-style-type: none;">
<ul class="wp-block-list">
<li><strong>Java OpenJDK 17</strong> installed (OpenSearch 3.x requires Java 17).</li>
</ul>
</li>
</ul>



<ul class="wp-block-list">
<li style="list-style-type: none;">
<ul class="wp-block-list">
<li><strong>Firewall configured</strong> to allow necessary ports.</li>
</ul>
</li>
</ul>



<h2 class="wp-block-heading">Step 1: Update Your System</h2>



<p>Start by updating your system’s package list and upgrading existing packages:</p>



<pre class="wp-block-code"><code>$ sudo apt update &amp;&amp; sudo apt upgrade -y
</code></pre>



<p>This ensures all packages are up-to-date and reduces the risk of compatibility issues.</p>



<h2 class="wp-block-heading">Step 2: Add the OpenSearch 3.x APT Repository</h2>



<p>To install OpenSearch 3.x, you need to add its APT repository. First, install the necessary dependencies:</p>



<pre class="wp-block-code"><code>$ sudo apt install lsb-release ca-certificates curl gnupg2 -y
</code></pre>



<p>Download and add the OpenSearch GPG key:</p>



<pre class="wp-block-code"><code>$ sudo curl -o- https://artifacts.opensearch.org/publickeys/opensearch-release.pgp | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-release-keyring
</code></pre>



<p>Add the OpenSearch 3.x repository:</p>



<pre class="wp-block-code"><code>$ echo "deb [signed-by=/usr/share/keyrings/opensearch-release-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/3.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-3.x.list
</code></pre>



<p>Update your package list:</p>



<pre class="wp-block-code"><code>$ sudo apt update
</code></pre>



<p>With the repository information added, list all available versions of OpenSearch:</p>



<pre class="wp-block-code"><code>$ sudo apt list -a opensearch
</code></pre>



<p>Output:</p>



<pre class="wp-block-code"><code>Listing... Done
opensearch/stable 3.2.0 amd64
opensearch/stable 3.1.0 amd64
opensearch/stable 3.0.0 amd64</code></pre>



<h2 class="wp-block-heading">Step 3: Install OpenSearch 3.x</h2>



<p>Before installation, yo need to set a new custom admin password  using the following command:</p>



<pre class="wp-block-code"><code>$ export OPENSEARCH_INITIAL_ADMIN_PASSWORD=&lt;custom-admin-password&gt;
</code></pre>



<p>To install the latest version of OpenSearch run the following command:</p>



<pre class="wp-block-code"><code>$ sudo apt install opensearch -y
</code></pre>



<p>After installation, OpenSearch is set up as a systemd service and is ready to be started.</p>



<h2 class="wp-block-heading">Step 4: Configure OpenSearch</h2>



<p>Edit the main configuration file:</p>



<pre class="wp-block-code"><code>$ sudo nano /etc/opensearch/opensearch.yml
</code></pre>



<p>For a basic single-node setup, modify the following settings:</p>



<pre class="wp-block-code"><code>cluster.name: lonuxtuto-app
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
discovery.type: single-node
</code></pre>



<ul class="wp-block-list">
<li style="list-style-type: none;">
<ul class="wp-block-list">
<li><code>cluster.name</code>: Name of your OpenSearch cluster.</li>
</ul>
</li>
</ul>



<ul class="wp-block-list">
<li style="list-style-type: none;">
<ul class="wp-block-list">
<li><code>node.name</code>: Unique name for this node.</li>
</ul>
</li>
</ul>



<ul class="wp-block-list">
<li style="list-style-type: none;">
<ul class="wp-block-list">
<li><code>network.host</code>: Set to <code>0.0.0.0</code> to allow external connections (use a private IP for production).</li>
</ul>
</li>
</ul>



<ul class="wp-block-list">
<li style="list-style-type: none;">
<ul class="wp-block-list">
<li><code>http.port</code>: Default HTTP port (9200).</li>
</ul>
</li>
</ul>



<ul class="wp-block-list">
<li style="list-style-type: none;">
<ul class="wp-block-list">
<li><code>discovery.type</code>: Set to <code>single-node</code> for a single-node setup.</li>
</ul>
</li>
</ul>



<p>Save and exit the editor.</p>



<h2 class="wp-block-heading">Step 5: Start and Enable OpenSearch</h2>



<p>Start the OpenSearch service:</p>



<pre class="wp-block-code"><code>$ sudo systemctl start opensearch
</code></pre>



<p>Enable OpenSearch to start on boot:</p>



<pre class="wp-block-code"><code>$ sudo systemctl enable opensearch
</code></pre>



<p>Check the status of the service:</p>



<pre class="wp-block-code"><code>$ sudo systemctl status opensearch
</code></pre>



<p>You should see that the service is active and running.</p>



<pre class="wp-block-code"><code>● opensearch.service - OpenSearch
Loaded: loaded (/usr/lib/systemd/system/opensearch.service; enabled; preset: enabled)
Active: active (running)
Docs: https://opensearch.org/
Main PID: 3425 (java)
Tasks: 55 (limit: 4548)
Memory: 1.3G (peak: 1.3G)
CPU: 1min 5.442s
CGroup: /system.slice/opensearch.service</code></pre>



<h2 class="wp-block-heading">Step 6: Test OpenSearch</h2>



<p>Verify that OpenSearch is working by sending a request to the HTTP API:</p>



<pre class="wp-block-code"><code>$ curl -X GET https://localhost:9200 -u 'admin:&lt;custom-admin-password&gt;' --insecure </code></pre>



<p>Note that you need to use <code>--insecure</code> flag, which is required because the TLS certificates are self-signed.</p>



<p>You should receive a JSON response with information about your OpenSearch node, including its name, cluster name, and version.</p>



<pre class="wp-block-code"><code>{
"name" : "node-1",
"cluster_name" : "linuxtuto-app",
"cluster_uuid" : "pXKj1z87S3SnuJ7fjVs-TQ",
"version" : {
"distribution" : "opensearch",
"number" : "3.2.0",
"build_type" : "deb",
"build_hash" : "6adc0bf476e1624190564d7fbe4aba00ccf49ad8",
"build_date" : "2025-08-12T03:54:00.119899934Z",
"build_snapshot" : false,
"lucene_version" : "10.2.2",
"minimum_wire_compatibility_version" : "2.19.0",
"minimum_index_compatibility_version" : "2.0.0"
},
"tagline" : "The OpenSearch Project: https://opensearch.org/"
}</code></pre>



<h2 class="wp-block-heading">Step 7: Install OpenSearch Dashboards (Optional)</h2>



<p>For a web-based interface to visualize your data, you can install <strong>OpenSearch Dashboards</strong>:</p>



<p>First create an APT repository for OpenSearch with the following command:</p>



<pre class="wp-block-code"><code>$ echo "deb [signed-by=/usr/share/keyrings/opensearch-release-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/3.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-dashboards-3.x.list</code></pre>



<p>Verify that the repository was created successfully.</p>



<pre class="wp-block-code"><code>$ sudo apt-get update</code></pre>



<p>Now install OpenSearch Dashboards with the following command:</p>



<pre class="wp-block-code"><code>$ sudo apt install opensearch-dashboards -y
</code></pre>



<p>Configure the dashboards:</p>



<pre class="wp-block-code"><code>$ sudo nano /etc/opensearch-dashboards/opensearch_dashboards.yml
</code></pre>



<p>Set the following parameters:</p>



<pre class="wp-block-code"><code>server.host: "0.0.0.0"
opensearch.hosts: ["http://localhost:9200"]
</code></pre>



<p>Start and enable the dashboards service:</p>



<pre class="wp-block-code"><code>$ sudo systemctl start opensearch-dashboards
$ sudo systemctl enable opensearch-dashboards
</code></pre>



<p>Access OpenSearch Dashboards by navigating to <code>http://&lt;your-server-ip&gt;:5601</code> in your web browser.</p>



<h2 class="wp-block-heading">Step 8: Configure Firewall</h2>



<p>If you’re using UFW to manage your firewall, allow traffic on the necessary ports:</p>



<pre class="wp-block-code"><code>$ sudo ufw allow 9200/tcp
$ sudo ufw allow 5601/tcp
$ sudo ufw enable
</code></pre>



<p>Verify the firewall status:</p>



<pre class="wp-block-code"><code>sudo ufw status
</code></pre>



<h2 class="wp-block-heading">Step 9: Secure OpenSearch (Optional)</h2>



<p>For production environments, it’s crucial to secure your OpenSearch installation. Consider the following:</p>



<ul class="wp-block-list">
<li style="list-style-type: none;">
<ul class="wp-block-list">
<li><strong>Enable TLS</strong>: Configure SSL/TLS to encrypt communication.</li>
</ul>
</li>
</ul>



<ul class="wp-block-list">
<li style="list-style-type: none;">
<ul class="wp-block-list">
<li><strong>Set up Authentication</strong>: Use built-in security features to require authentication.</li>
</ul>
</li>
</ul>



<ul class="wp-block-list">
<li style="list-style-type: none;">
<ul class="wp-block-list">
<li><strong>Configure User Roles</strong>: Define roles and permissions to control access.</li>
</ul>
</li>
</ul>



<p>Refer to the <a href="https://docs.opensearch.org/latest/security/">OpenSearch Security Documentation</a> for detailed instructions on securing your OpenSearch cluster.</p>



<h2 class="wp-block-heading">Conclusion</h2>



<p>You’ve successfully installed <strong>OpenSearch 3.x</strong> on your <strong>Ubuntu 24.04</strong> server. This setup provides a powerful, scalable, and secure platform for search and analytics. For more advanced configurations, such as setting up a multi-node cluster or integrating with other services, refer to the <a href="https://docs.opensearch.org/latest/">OpenSearch Documentation</a>.</p>



<p>If you need assistance with securing your OpenSearch installation, configuring advanced features, or integrating with other tools, feel free to ask!</p><p>The post <a href="https://www.linuxtuto.com/how-to-install-opensearch-3-x-on-ubuntu-24-04/">How to Install OpenSearch 3.x on Ubuntu 24.04</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.linuxtuto.com/how-to-install-opensearch-3-x-on-ubuntu-24-04/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2008</post-id>	</item>
		<item>
		<title>How to Install MySQL 8.4 on Ubuntu 24.04</title>
		<link>https://www.linuxtuto.com/how-to-install-mysql-8-4-on-ubuntu-24-04/</link>
					<comments>https://www.linuxtuto.com/how-to-install-mysql-8-4-on-ubuntu-24-04/#respond</comments>
		
		<dc:creator><![CDATA[LinuxTuto]]></dc:creator>
		<pubDate>Mon, 28 Apr 2025 14:30:04 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[MySQL]]></category>
		<guid isPermaLink="false">https://www.linuxtuto.com/?p=1908</guid>

					<description><![CDATA[<p>MySQL is a fast, open-source relational database system used to store, manage, and retrieve structured data developed by Oracle. It stores data in tables organized by...</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-mysql-8-4-on-ubuntu-24-04/">How to Install MySQL 8.4 on Ubuntu 24.04</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>MySQL is a fast, open-source relational database system used to store, manage, and retrieve structured data developed by Oracle. It stores data in tables organized by rows and columns and uses Structured Query Language (SQL) to manage and access that data.</p>
<p>MySQL is known for being fast, reliable, and easy to use, making it one of the most popular databases for web applications, mobile apps, and enterprise software. It supports a variety of storage engines, offers replication features for scaling and high availability, and ensures data integrity with ACID-compliant transactions.</p>
<p>In this tutorial, we will show you how to install MySQL 8.4 on a Ubuntu 24.04 OS.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Update Operating System</span></h2>
<p>Update your <strong>Ubuntu 24.04</strong> operating system to make sure all existing packages are up to date:</p>
<pre><code># apt update &amp;&amp; apt upgrade -y</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Add MySQL 8.4 Repository</span></h2>
<p>MySQL 8.0 is the currently available version on the default Ubuntu 24.04 repositories.</p>
<p>Go to the <a href="https://dev.mysql.com/downloads/repo/apt/">download page</a> for the MySQL 8.4 APT repository.</p>
<p>Also you can run the following command to download it to your Ubuntu 24.04 system:</p>
<pre><code># wget https://dev.mysql.com/get/mysql-apt-config_0.8.34-1_all.deb</code></pre>
<p>Now install the downloaded <strong>.deb</strong> package with the following command:</p>
<pre><code># dpkg -i mysql-apt-config_0.8.34-1_all.deb</code></pre>
<p>During the installation of the package, you will be asked to choose the versions of the MySQL server and other components that you want to install. Choose <strong><span class="guilabel">Ok</span></strong> to finish the configuration and installation of the release package.</p>
<h2><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1909" src="https://www.linuxtuto.com/wp-content/uploads/2025/04/MySQL_8.4.webp" alt="MySQL 8.4 APT" width="900" height="467" srcset="https://www.linuxtuto.com/wp-content/uploads/2025/04/MySQL_8.4.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2025/04/MySQL_8.4-300x156.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2025/04/MySQL_8.4-768x399.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2025/04/MySQL_8.4-897x465.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2025/04/MySQL_8.4-684x355.webp 684w" sizes="auto, (max-width: 900px) 100vw, 900px" /></h2>
<p>Once you are done, update the repository with the following command:</p>
<pre><code># apt-get update</code></pre>
<p>To check if MySQL 8.4 repo has been successfully installed run the following command:</p>
<pre><code># apt-cache policy mysql-server</code></pre>
<p>Output:</p>
<pre><code>mysql-server:
  Installed: (none)
  Candidate: 8.4.5-1ubuntu24.04
  Version table:
     8.4.5-1ubuntu24.04 500
        500 http://repo.mysql.com/apt/ubuntu noble/mysql-8.4-lts amd64 Packages
     8.0.41-0ubuntu0.24.04.1 500
        500 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu noble-security/main amd64 Packages
     8.0.36-2ubuntu3 500
        500 http://archive.ubuntu.com/ubuntu noble/main amd64 Packages</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Install MySQL 8.4 on Ubuntu 24.04</span></h2>
<p>Now you are ready to install MySQL 8.4 with the following command:</p>
<pre><code># apt install mysql-server</code></pre>
<p>You will be asked to set root password, you may go ahead and set one.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-1912" src="https://www.linuxtuto.com/wp-content/uploads/2025/04/MySQL_8.4_root_password-900x469.webp" alt="MySQL 8.4 root password" width="900" height="469" srcset="https://www.linuxtuto.com/wp-content/uploads/2025/04/MySQL_8.4_root_password-900x469.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2025/04/MySQL_8.4_root_password-300x156.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2025/04/MySQL_8.4_root_password-768x400.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2025/04/MySQL_8.4_root_password-1536x801.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2025/04/MySQL_8.4_root_password-1222x637.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2025/04/MySQL_8.4_root_password-897x468.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2025/04/MySQL_8.4_root_password-684x357.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2025/04/MySQL_8.4_root_password.webp 1886w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<p>Then you can verify the installed version of <code>MySQL</code> with the following command:</p>
<pre><code># mysql --version</code></pre>
<p>Output:</p>
<pre><code>mysql  Ver 8.4.5 for Linux on x86_64 (MySQL Community Server - GPL)</code></pre>
<p>Start the database server daemon, and also enable it to start automatically at the next boot with the following commands:</p>
<pre><code># systemctl start mysql
# systemctl enable mysql</code></pre>
<p>Check the status of the service:</p>
<pre><code># systemctl status mysql</code></pre>
<p>Example output:</p>
<pre><code> ● mysql.service - MySQL Community Server
     Loaded: loaded (/usr/lib/systemd/system/mysql.service; enabled; preset: enabled)
     Active: active (running)
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
   Main PID: 5331 (mysqld)
     Status: "Server is operational"
      Tasks: 35 (limit: 2217)
     Memory: 433.7M (peak: 449.8M)
        CPU: 2.315s
     CGroup: /system.slice/mysql.service
             └─5331 /usr/sbin/mysqld
</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">MySQL Create Database</span></h2>
<p>We need to login to <code>MySQL</code> shell with the following command:</p>
<pre><code># mysql -u root -p</code></pre>
<p>To create a database in <code>MySQL</code> you need to run the following command:</p>
<pre><code>mysql&gt; CREATE DATABASE your_db;</code></pre>
<p>View the new database:</p>
<pre><code>SHOW DATABASES;</code></pre>
<p>To create a new <code>MySQL</code> user, run the following command:</p>
<pre><code>mysql&gt; CREATE USER 'your_user'@localhost IDENTIFIED BY 'password';</code></pre>
<p><strong>Note:</strong> You should replace <code>password</code> with a secure password.</p>
<p>Give the user full rights to the new database:</p>
<pre><code>GRANT ALL PRIVILEGES ON your_db.* TO 'your_user'@'localhost';</code></pre>
<p>Refresh privileges so they take effect:</p>
<pre><code>FLUSH PRIVILEGES;</code></pre>
<p>Exit the <code>MySQL</code> shell:</p>
<pre><code>mysql&gt; exit</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Comments and Conclusion</span></h2>
<p>That’s it. You have successfully installed <code>MySQL 8.4</code> on Ubuntu 24.04.</p>
<p>For additional help or useful information, we recommend you to check <a href="https://dev.mysql.com/doc/" target="_blank" rel="noopener">the official MySQL documentation</a>.</p>
<p>If you have any questions please leave a comment below.</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-mysql-8-4-on-ubuntu-24-04/">How to Install MySQL 8.4 on Ubuntu 24.04</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.linuxtuto.com/how-to-install-mysql-8-4-on-ubuntu-24-04/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1908</post-id>	</item>
		<item>
		<title>How to Install Apache Kafka on Ubuntu 24.04</title>
		<link>https://www.linuxtuto.com/how-to-install-apache-kafka-on-ubuntu-24-04/</link>
					<comments>https://www.linuxtuto.com/how-to-install-apache-kafka-on-ubuntu-24-04/#respond</comments>
		
		<dc:creator><![CDATA[LinuxTuto]]></dc:creator>
		<pubDate>Thu, 10 Apr 2025 18:31:52 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Kafka]]></category>
		<guid isPermaLink="false">https://www.linuxtuto.com/?p=1899</guid>

					<description><![CDATA[<p>Apache Kafka is an open-source distributed event streaming platform used for building real-time data pipelines and applications. Originally developed by LinkedIn and now part of...</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-apache-kafka-on-ubuntu-24-04/">How to Install Apache Kafka on Ubuntu 24.04</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong data-start="0" data-end="16">Apache Kafka</strong> is an open-source distributed event streaming platform used for building real-time data pipelines and applications. Originally developed by LinkedIn and now part of the Apache Software Foundation, Kafka is designed for high-throughput, low-latency, and fault-tolerant data processing across systems.</p>
<p>In this tutorial, we will show you the complete steps to install Apache Kafka on Ubuntu 24.04 OS.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 1: Update Operating System</span></h2>
<p>Update your <strong>Debian 12</strong> operating system to make sure all existing packages are up to date:</p>
<pre><code># apt update &amp;&amp; apt upgrade</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 2: Install Java (OpenJDK) on Ubuntu 24.04</span></h2>
<p>Java packages are available on Ubuntu 24.04 repositories and you can install it with the following command:</p>
<pre><code># apt install default-jdk</code></pre>
<p>Check Java version after installation:</p>
<pre><code># java -version
openjdk version "21.0.6" 2025-01-21
OpenJDK Runtime Environment (build 21.0.6+7-Ubuntu-124.04.1)
OpenJDK 64-Bit Server VM (build 21.0.6+7-Ubuntu-124.04.1, mixed mode, sharing)</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 3: Download Apache Kafka</span></h2>
<p>Check the official <a href="https://downloads.apache.org/kafka/">Apache Kafka Download page</a> to locate the latest version of the software.</p>
<p>The latest version at the moment is 4.0.0. You can download it with the following command:</p>
<pre><code># wget https://downloads.apache.org/kafka/4.0.0/kafka_2.13-4.0.0.tgz</code></pre>
<p>Once that downloads, unpack the tarball file using the following command:</p>
<pre><code># tar xvf kafka_2.13-4.0.0.tgz</code></pre>
<p>Then move this directory into the <strong>/usr/local/</strong> directory and rename it kafka:</p>
<pre><code># mv kafka_2.13-4.0.0 /usr/local/kafka</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 4: Create a systemd file for Apache Kafka</span></h2>
<p>First navigate to Kafka’s directory:</p>
<div class="highlight js-code-highlight">
<pre class="highlight shell"><code><span class="nb"># cd</span> /usr/local/kafka</code></pre>
</div>
<p>Then you need to generate a Cluster UUID:</p>
<pre class="language-bash" tabindex="0"><code class="language-bash"># <span class="token assign-left variable">KAFKA_CLUSTER_ID</span><span class="token operator">=</span><span class="token string">"<span class="token variable">$(bin/kafka-storage.sh random-uuid)</span>"</span></code></pre>
<p>Format Log Directories:</p>
<pre class="language-bash" tabindex="0"><code class="language-bash"># bin/kafka-storage.sh <span class="token function">format</span> --standalone -t <span class="token variable">$KAFKA_CLUSTER_ID</span> -c config/server.properties</code></pre>
<p>Now create a <strong>systemd</strong> file so you can control the Kafka service. Create the file with the following command:</p>
<pre><code># nano /etc/systemd/system/kafka.service</code></pre>
<p>In that file, paste the following content:</p>
<pre><code>[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service

[Service]
Type=simple
Environment="JAVA_HOME=/usr/lib/jvm/java-1.21.0-openjdk-amd64"
ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh

[Install]
WantedBy=multi-user.target
</code></pre>
<p>Save the changes and exit.</p>
<p>Reload system daemon and start the services:</p>
<pre><code># systemctl daemon-reload
# systemctl start kafka
# systemctl enable kafka</code></pre>
<p>To confirm everything is working normally, check the status of service:</p>
<pre><code># systemctl status kafka</code></pre>
<p>Output:</p>
<pre><code>● kafka.service - Apache Kafka Server
     Loaded: loaded (/etc/systemd/system/kafka.service; enabled; preset: enabled)
     Active: active (running)
       Docs: http://kafka.apache.org/documentation.html
   Main PID: 11915 (java)
      Tasks: 99 (limit: 2217)
     Memory: 365.1M (peak: 365.4M)
        CPU: 16.435s
     CGroup: /system.slice/kafka.service</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">S</span><span class="has-inline-color has-vivid-purple-color">tep 5: Create a Kafka Topic</span></h2>
<p>So before you can write your first events, you must create a topic. Create a topic named “<code class="language-bash">my-events</code>” with the following command:</p>
<pre><code># usr/local/kafka
# bin/kafka-topics.sh --create --topic my-events --bootstrap-server localhost:9092

Created topic my-events.
</code></pre>
<p>To verify the topic list run the following command:</p>
<pre><code># bin/kafka-topics.sh --list --bootstrap-server localhost:9092
my-events</code></pre>
<p>The Kafka comes with a command-line client that will take input from a file or from standard input and send it out as events to the <code>Kafka</code> cluster.</p>
<p>By default, each line you enter will result in a separate event being written to the topic.</p>
<pre><code># bin/kafka-console-producer.sh --topic my-events --bootstrap-server localhost:9092

&gt;Hello World!
&gt;This is my first topic</code></pre>
<p>You can stop the consumer client with <code>Ctrl-C</code> at any time.</p>
<p>If you also want to delete any data of your local Kafka environment including any events you have created along the way, run the command:</p>
<pre class="language-bash" tabindex="0"><code class="language-bash"># <span class="token function">rm</span> -rf /tmp/kafka-logs /tmp/kraft-combined-logs</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Comments and Conclusion</span></h2>
<p>That&#8217;s it! You have now installed and started <code>Apache Kafka</code> on your Ubuntu 24.04 system.</p>
<p>Remember that this guide assumes you have administrative privileges on your system.</p>
<p>Always check the <a href="https://kafka.apache.org/documentation/">official Apache Kafka documentation</a> for the most up-to-date installation instructions and any specific considerations related to your system configuration.</p>
<p>If you have any questions please leave a comment below.</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-apache-kafka-on-ubuntu-24-04/">How to Install Apache Kafka on Ubuntu 24.04</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.linuxtuto.com/how-to-install-apache-kafka-on-ubuntu-24-04/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1899</post-id>	</item>
		<item>
		<title>How to Install Node.js on Ubuntu 24.04</title>
		<link>https://www.linuxtuto.com/how-to-install-node-js-on-ubuntu-24-04/</link>
					<comments>https://www.linuxtuto.com/how-to-install-node-js-on-ubuntu-24-04/#respond</comments>
		
		<dc:creator><![CDATA[LinuxTuto]]></dc:creator>
		<pubDate>Mon, 07 Apr 2025 18:00:22 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Node.js]]></category>
		<guid isPermaLink="false">https://www.linuxtuto.com/?p=1864</guid>

					<description><![CDATA[<p>Node.js is a fast, open-source JavaScript runtime that lets you build scalable server-side and network applications. It is known for its non-blocking, event-driven architecture, making...</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-node-js-on-ubuntu-24-04/">How to Install Node.js on Ubuntu 24.04</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Node.js is a fast, open-source JavaScript runtime that lets you build scalable server-side and network applications.</p>
<p>It is known for its non-blocking, event-driven architecture, making it ideal for building scalable network applications like APIs, chat apps, and real-time services.</p>
<p data-pm-slice="1 1 []">Ubuntu 24.04 offers several ways to install <code>Node.js</code> depending on your needs, whether you prefer stability or the latest features.</p>
<p data-pm-slice="1 1 []">This blog post will guide you through three reliable methods to install Node.js on Ubuntu 24.04.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Method 1: Installing Node.js Using apt (Default Repository)</span></h2>
<p>Ubuntu provides <a href="https://www.linuxtuto.com/how-to-install-angularjs-on-ubuntu-22-04/">Node.js</a> in its default repositories, but it may not be the latest version.</p>
<p>First, update the package list to ensure you have the latest repositories:</p>
<pre><code># apt update &amp;&amp; sudo apt upgrade -y</code></pre>
<p>Run the following command to install <code>Node.js</code> and npm:</p>
<pre><code># apt install nodejs npm -y</code></pre>
<p>Verify the installed version of <code>Node.js</code> running the following command:</p>
<pre><code># node --version</code></pre>
<p>You should see the following output:</p>
<pre><code>v18.19.1</code></pre>
<p>Verify the NPM version with the following command:</p>
<pre><code># npm --version</code></pre>
<p>You should get the following output:</p>
<pre><code>9.2.0</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Method 2: Install Latest Node.js Using NodeSource</span></h2>
<p>This method gives you access to the most recent versions of <a href="https://www.linuxtuto.com/how-to-install-vue-js-on-ubuntu-22-04/">Node.js</a>.</p>
<p>First, add the <code>Node.js</code> repository running the following command:</p>
<pre><code># curl -sL https://deb.nodesource.com/setup_22.x | bash -</code></pre>
<p>Once added, install the <code>Node.js</code> with the following command:</p>
<pre><code># apt-get install nodejs</code></pre>
<p>Verify the installed version of <code>Node.js</code> running the following command:</p>
<pre><code># node --version</code></pre>
<p>You should see the following output:</p>
<pre><code>v22.14.0</code></pre>
<p>Verify the NPM version with the following command:</p>
<pre><code># npm --version</code></pre>
<p>You should get the following output:</p>
<pre><code>10.9.2</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Method 3: Install Node.js Using NVM (Node Version Manager)</span></h2>
<p>Use this method if you want to install and manage multiple <code>Node.js</code> versions easily.</p>
<pre><code># curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
# source ~/.bashrc</code></pre>
<p>To install the latest LTS version:</p>
<pre><code># nvm install --lts</code></pre>
<p>To install a specific version you can use the following command:</p>
<pre><code># nvm install 20</code></pre>
<p>Replace &#8220;<strong>20&#8243;</strong> with the version number of <a href="https://www.linuxtuto.com/how-to-install-reactjs-on-ubuntu-22-04/">Node.js</a> you want to install.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Comments and Conclusion</span></h2>
<p>Installing <code>Node.js</code> on Ubuntu 24.04 is straightforward with multiple flexible options:</p>
<ul data-spread="false">
<li>Use <strong>apt</strong> for a quick setup</li>
<li>Use <strong>NodeSource</strong> for the latest stable versions</li>
<li>Use <strong>NVM</strong> for full control over <code>Node.js</code> versions</li>
</ul>
<p>Now that <code>Node.js</code> is installed, you&#8217;re ready to start building apps and tools in JavaScript.</p>
<p>For additional help or useful information, we recommend you to check  <a href="https://nodejs.org/docs/latest/api/" target="_blank" rel="noopener">the official Node.js documentation.</a></p>
<p>If you have any questions please leave a comment below.</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-node-js-on-ubuntu-24-04/">How to Install Node.js on Ubuntu 24.04</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.linuxtuto.com/how-to-install-node-js-on-ubuntu-24-04/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1864</post-id>	</item>
		<item>
		<title>How to Install PostgreSQL 17 on AlmaLinux 9</title>
		<link>https://www.linuxtuto.com/how-to-install-postgresql-17-on-almalinux-9/</link>
					<comments>https://www.linuxtuto.com/how-to-install-postgresql-17-on-almalinux-9/#respond</comments>
		
		<dc:creator><![CDATA[LinuxTuto]]></dc:creator>
		<pubDate>Tue, 18 Mar 2025 10:25:15 +0000</pubDate>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[AlmaLinux]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<guid isPermaLink="false">https://www.linuxtuto.com/?p=1875</guid>

					<description><![CDATA[<p>PostgreSQL (often called Postgres) is a powerful, open-source relational database management system (RDBMS). It is known for its scalability, extensibility, and strong compliance with SQL...</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-postgresql-17-on-almalinux-9/">How to Install PostgreSQL 17 on AlmaLinux 9</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>PostgreSQL (often called Postgres) is a powerful, open-source relational database management system (RDBMS). It is known for its scalability, extensibility, and strong compliance with SQL standards.</p>
<p>If you’re running AlmaLinux 9 and need to set up PostgreSQL, you’re in the right place.</p>
<p>In this guide, I’ll walk you through the installation process step by step no stress, just what you need to get it up and running.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 1: Update Your System</span></h2>
<p>Before installing anything, let’s make sure your system is up to date. Open a terminal and run:</p>
<pre><code>dnf update &amp; dnf upgrade</code></pre>
<p>This ensures you have the latest security patches and software versions. It’s always a good habit to update before installing new software.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 2: Check Available PostgreSQL Versions</span></h2>
<p>AlmaLinux ships with multiple versions of PostgreSQL. To see what’s available, run:</p>
<pre><code>dnf module list postgresql</code></pre>
<p>You’ll get a list of PostgreSQL versions that you can install.</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-1884" src="https://www.linuxtuto.com/wp-content/uploads/2025/03/almalinux9-appstream.webp" alt="AlmaLinux 9 Appstream" width="900" height="81" srcset="https://www.linuxtuto.com/wp-content/uploads/2025/03/almalinux9-appstream.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2025/03/almalinux9-appstream-300x27.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2025/03/almalinux9-appstream-768x69.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2025/03/almalinux9-appstream-897x81.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2025/03/almalinux9-appstream-684x62.webp 684w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<p>PostgreSQL server 15 and 16 are included in the <strong>AppStream</strong> components.</p>
<p>So to install PostgreSQL 17 we will need to add the following official repositories:</p>
<pre><code>dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm</code></pre>
<p>Disable the default PostgreSQL module once the repository has been added:</p>
<pre><code>dnf -qy module disable postgresql</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 3: Install PostgreSQL 17</span></h2>
<p>Now, let’s install the PostgreSQL 17 server and some extra tools:</p>
<pre><code>dnf install postgresql17-server postgresql17-contrib</code></pre>
<p>This will pull in all the necessary packages.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 4: Initialize the Database</span></h2>
<p>Before we can use PostgreSQL, we need to initialize the database.</p>
<p>Run this command:</p>
<pre><code>/usr/pgsql-17/bin/postgresql-17-setup initdb</code></pre>
<p>This sets up the default database files and configurations as well as the main configuration file <strong>/var/lib/pgsql/17/data/postgresql.conf</strong>.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 5: Start and Enable PostgreSQL 17</span></h2>
<p>Now, let’s start the PostgreSQL 17 service and make sure it runs automatically on system boot:</p>
<pre><code>systemctl enable --now postgresql-17</code></pre>
<p>To check if PostgreSQL is running, use:</p>
<pre><code>systemctl status postgresql-17</code></pre>
<p>If everything is working, you should see a message saying PostgreSQL is “active (running).”</p>
<pre><code>● postgresql-17.service - PostgreSQL 17 database server
     Loaded: loaded (/usr/lib/systemd/system/postgresql-17.service; enabled; preset: disabled)
     Active: active (running)
       Docs: https://www.postgresql.org/docs/17/static/
    Process: 104278 ExecStartPre=/usr/pgsql-17/bin/postgresql-17-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
   Main PID: 104283 (postgres)
      Tasks: 7 (limit: 14115)
     Memory: 17.7M
        CPU: 659ms
     CGroup: /system.slice/postgresql-17.service
             ├─104283 /usr/pgsql-17/bin/postgres -D /var/lib/pgsql/17/data/
             ├─104284 "postgres: logger "
             ├─104285 "postgres: checkpointer "
             ├─104286 "postgres: background writer "
             ├─104288 "postgres: walwriter "
             ├─104289 "postgres: autovacuum launcher "
             └─104290 "postgres: logical replication launcher "</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 6: Set a Password for the PostgreSQL 17</span></h2>
<p>User By default, PostgreSQL creates a user called <strong>postgres</strong>. You’ll want to set a password for it.</p>
<p>Switch to the<strong> postgres</strong> user with:</p>
<pre><code>su postgres</code></pre>
<p>Then, enter the PostgreSQL shell:</p>
<pre><code>psql</code></pre>
<p>Set a new password by running:</p>
<pre><code>ALTER USER postgres WITH PASSWORD 'your_secure_password';</code></pre>
<p>Replace <strong>&#8216;your_secure_password&#8217;</strong> with something strong! Once done, type <strong>\q</strong> to exit, then exit to return to your regular user.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 7: Backup and Restore a Single Database</span></h2>
<p>You can back up and restore a single database using the <code><strong>pg_dump</strong></code> utility.</p>
<p>For example, to back up a single database named <strong>db</strong> and generate a backup file named <strong>db_backup.sql</strong>, run the following command:</p>
<pre><code>su - postgres
pg_dump -d db -f db_backup.sql</code></pre>
<p>You can also restore a single database using <strong>psql</strong> command.</p>
<p>For example, to restore a single database named <strong>db</strong> from a backup file named <strong>db_backup.sql</strong>, run the following command:</p>
<pre><code>su - postgres
psql -d db -f db_backup.sql</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 8: Allow Remote Connections (Optional)</span></h2>
<p>By default, <a href="https://www.linuxtuto.com/how-to-install-postgresql-15-on-debian-11/">PostgreSQL</a> only allows local connections. If you need remote access, edit the config file:</p>
<pre><code>nano /var/lib/pgsql/17/data/postgresql.conf</code></pre>
<p>Find this line:</p>
<pre><code>#listen_addresses = 'localhost'</code></pre>
<p>Uncomment it and change it to:</p>
<pre><code>listen_addresses = '*'</code></pre>
<p>Then, edit the authentication settings:</p>
<pre><code>nano /var/lib/pgsql/17/data/pg_hba.conf</code></pre>
<p>Add this line at the bottom (replace 192.168.1.0/24 with your network range):</p>
<pre><code>host all all 192.168.1.0/24 md5</code></pre>
<p>Restart PostgreSQL for changes to take effect:</p>
<pre><code>sudo systemctl restart postgresql</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Comments and Conclusion</span></h2>
<p>You’re Done! That’s it. You now have PostgreSQL 17 server running on AlmaLinux 9!</p>
<p>You can start creating databases and working with your applications. If you have any issues, check the logs with:</p>
<pre><code>journalctl -u postgresql-17 --no-pager | tail -50</code></pre>
<p>For additional help or useful information, we recommend you to check  <a href="https://www.postgresql.org/docs/17/index.html" target="_blank" rel="noopener">the official PostgreSQL 17 documentation.</a></p>
<p>If you have any questions please leave a comment below.</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-postgresql-17-on-almalinux-9/">How to Install PostgreSQL 17 on AlmaLinux 9</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.linuxtuto.com/how-to-install-postgresql-17-on-almalinux-9/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1875</post-id>	</item>
	</channel>
</rss>
