<?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>Ubuntu Archives - LinuxTuto</title>
	<atom:link href="https://www.linuxtuto.com/ubuntu/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.linuxtuto.com/ubuntu/</link>
	<description>Linux Sysadmin and DevOps blog</description>
	<lastBuildDate>Fri, 07 Nov 2025 15:30:02 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://www.linuxtuto.com/wp-content/uploads/2022/01/cropped-LT_faveicon-32x32.png</url>
	<title>Ubuntu Archives - LinuxTuto</title>
	<link>https://www.linuxtuto.com/ubuntu/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">201456972</site>	<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 fetchpriority="high" 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 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="(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 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="(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 Configure Cloudflare Tunnel on Ubuntu 24.04</title>
		<link>https://www.linuxtuto.com/how-to-configure-cloudflare-tunnel-on-ubuntu-24-04/</link>
					<comments>https://www.linuxtuto.com/how-to-configure-cloudflare-tunnel-on-ubuntu-24-04/#respond</comments>
		
		<dc:creator><![CDATA[LinuxTuto]]></dc:creator>
		<pubDate>Mon, 09 Dec 2024 14:30:02 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Cloudflare]]></category>
		<category><![CDATA[cloudflared]]></category>
		<guid isPermaLink="false">https://www.linuxtuto.com/?p=1837</guid>

					<description><![CDATA[<p>Cloudflare Tunnels is a service offered by Cloudflare that allows you to securely expose web services running on your local machine or private network to...</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-configure-cloudflare-tunnel-on-ubuntu-24-04/">How to Configure Cloudflare Tunnel on Ubuntu 24.04</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Cloudflare Tunnels</strong> is a service offered by Cloudflare that allows you to securely expose web services running on your local machine or private network to the internet without needing to open ports, set up firewalls, or use a public IP address.</p>
<p>It creates a secure, encrypted tunnel between your origin server and Cloudflare’s network, enabling access to your applications from anywhere.</p>
<p>In this tutorial we will show you how to configure Cloudflare Tunnel on Ubuntu 24.04.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 1: Install and Configure Cloudflared</span></h2>
<p>To create and manage tunnels, you will need to install and authenticate <strong>cloudflared</strong> on your server.</p>
<p>You can install <strong>cloudflared</strong> with the following command:</p>
<pre><code># wget -q wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
# dpkg -i cloudflared-linux-amd64.deb</code></pre>
<p>After installing <strong>cloudflared</strong>, you need to authenticate it with your Cloudflare account:</p>
<pre><code># cloudflared tunnel login</code></pre>
<p>You will get the following message:</p>
<pre><code>Please open the following URL and log in with your Cloudflare account:
https://dash.cloudflare.com/argotunnel?aud=&callback=https%3A%2F%2Flogin.cloudflareaccess.org%2F94jJEwKkBV3dOOKv5oPBEj-B9lWITbj_Gk_9sVN1wnw%3D
Leave cloudflared running to download the cert automatically.</code></pre>
<p>Copy the URL and log in to your Cloudflare account. Once you logged in you will get the following message:</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-1838 size-large" src="https://www.linuxtuto.com/wp-content/uploads/2024/12/autorize_tunnel-900x386.webp" alt="Cloudflare Tunnel Authorize" width="900" height="386" srcset="https://www.linuxtuto.com/wp-content/uploads/2024/12/autorize_tunnel-900x386.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2024/12/autorize_tunnel-300x129.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2024/12/autorize_tunnel-768x329.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2024/12/autorize_tunnel-1536x659.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2024/12/autorize_tunnel-1222x524.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2024/12/autorize_tunnel-897x385.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2024/12/autorize_tunnel-684x293.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2024/12/autorize_tunnel.webp 1914w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<p>Click on the Authorize button to authorize the tunnel. <code>Cloudflare</code> will download a certificate file to authenticate <code>cloudflared</code> with <code>Cloudflare’s</code> network.</p>
<pre><code>You have successfully logged in.
If you wish to copy your credentials to a server, they have been saved to:
/root/.cloudflared/cert.pem</code></pre>
<p>Once authorization is completed successfully, your cert.pem will be download to the default directory.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 2: Create a Cloudflare Tunnel</span></h2>
<p>Now, you are ready to create a Cloudflare Tunnel that will connect cloudflared to Cloudflare’s edge. Running the following command will create a Tunnel:</p>
<pre><code># cloudflared tunnel create yourtunnel</code></pre>
<p><strong>Note: </strong>Replace <code class="cx qc qd qe pu b">yourtunnel</code> with a name of your choice.</p>
<p>Next, you need to configure the tunnel to point to your local web server. The configuration file contains keys and values, which is written in YAML syntax.</p>
<pre><code># nano /root/.cloudflared/config.yml</code></pre>
<p>You have to include the correct tunnel ID and credentials file gotten from the tunnel creation command.</p>
<pre><code>tunnel: b8294c45-9cd1-40fe-b8f1-519da5d8dfd9
credentials-file: /root/.cloudflared/b8294c45-9cd1-40fe-b8f1-519da5d8dfd9.json
</code></pre>
<pre><code>ingress:
- hostname: test.yourdomain.com
service: http://localhost:80
- service: http_status:404</code></pre>
<p>Next, you have to configure your DNS settings on your <code>Cloudflare</code> account by adding a CNAME record.</p>
<p>Also, you can use this command will generate a CNAME record that points to the subdomain of a specific Tunnel.</p>
<pre><code># tunnel route dns b8294c45-9cd1-40fe-b8f1-519da5d8dfd9 test.yourdomain.com</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 3: Start and Manage the Cloudflare Tunnel</span></h2>
<p>By default, the tunnel expects to find the configuration file in the default directory, <strong>/root/.cloudflared/config.yml</strong> but to run tunnel as a service, you might need to move the <strong>config.yml</strong> file to the <strong>/etc/cloudflared/</strong> directory.</p>
<pre><code># mkdir /etc/cloudflared/
# mv /root/.cloudflared/config.yml /etc/cloudflared/</code></pre>
<p>Then, you have to install the tunnel as a service:</p>
<pre><code># cloudflared service install</code></pre>
<p>Now, we can start and enable the cloudflared service so that it runs in the background and starts automatically upon server boot.</p>
<pre><code># systemctl start cloudflared
# systemctl enable cloudflared</code></pre>
<p>You can verify the status of the cloudflared service using the <strong>systemctl status</strong> command:</p>
<pre><code># systemctl status cloudflared</code></pre>
<pre>Output:
<code>● cloudflared.service - cloudflared
Loaded: loaded (/etc/systemd/system/cloudflared.service; enabled; preset: enabled)
Active: active (running)
Main PID: 2316 (cloudflared)
Tasks: 7 (limit: 2218)
Memory: 14.0M (peak: 16.1M)
CPU: 9.227s
CGroup: /system.slice/cloudflared.service
└─2316 /usr/bin/cloudflared --no-autoupdate --config /etc/cloudflared/config.yml tunnel run</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 4: Add more services (optional)</span></h2>
<p>If we have multiple services using the same tunnel, you have to create separate CNAME entries for each hostname.</p>
<pre><code># cloudflared tunnel route dns &lt;UUID or NAME&gt; test2.yourdomain.com</code></pre>
<p>Then Add another ingress point to the config:</p>
<pre><code>ingress:
- hostname: test.yourdomain.com
service: http://localhost:80
- hostname: test2.yourdomain.com
service: http://localhost:8080
- service: http_status:404</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Comments and Conclusion</span></h2>
<p>That’s it. You have successfully Configure <code>Cloudflare</code> tunnel on Ubuntu 24.04</p>
<p>For additional help or useful information, we recommend you to check  <a href="https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/" target="_blank" rel="noopener">the official Cloudflare Tunnel documentation.</a></p>
<p>If you have any questions please leave a comment below.</p>
<p>r</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-configure-cloudflare-tunnel-on-ubuntu-24-04/">How to Configure Cloudflare Tunnel 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-configure-cloudflare-tunnel-on-ubuntu-24-04/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1837</post-id>	</item>
		<item>
		<title>How to Install PHP 8.4 on Ubuntu 24.04</title>
		<link>https://www.linuxtuto.com/how-to-install-php-8-4-on-ubuntu-24-04/</link>
					<comments>https://www.linuxtuto.com/how-to-install-php-8-4-on-ubuntu-24-04/#respond</comments>
		
		<dc:creator><![CDATA[LinuxTuto]]></dc:creator>
		<pubDate>Mon, 25 Nov 2024 13:00:17 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">https://www.linuxtuto.com/?p=1824</guid>

					<description><![CDATA[<p>PHP (Hypertext Preprocessor) is a widely-used, open-source, server-side scripting language designed for web development. It is especially suited for creating dynamic web pages and applications....</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-php-8-4-on-ubuntu-24-04/">How to Install PHP 8.4 on Ubuntu 24.04</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>PHP (Hypertext Preprocessor) is a widely-used, open-source, server-side scripting language designed for web development. It is especially suited for creating dynamic web pages and applications.</p>
<p>In this tutorial, we will show you how to install PHP 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 22.04</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">Add PHP Repository</span></h2>
<p>By default, <strong>PHP 8.4</strong> is not included in the Ubuntu 24.04 default repository.  So you will need to add <a href="https://deb.sury.org/">Ondrej Sury PPA</a> into your system.</p>
<p>First, install the required packages using the following command:</p>
<pre><code># apt-get install ca-certificates apt-transport-https software-properties-common</code></pre>
<p>Once all the packages are installed, add this PPA using the following command:</p>
<pre><code># add-apt-repository ppa:ondrej/php</code></pre>
<p>Once you are done, update the repository with the following command:</p>
<pre><code># apt-get update</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Install PHP 8.4</span></h2>
<p>Now, you can install the PHP 8.4 using the following command:</p>
<pre><code># apt-get install php8.4</code></pre>
<p>Once the PHP is installed, you can check the PHP version on your system with the following command:</p>
<pre><code># php8.4 --version</code></pre>
<p>Output:</p>
<pre><code># PHP 8.4.1 (cli) (built: Nov 21 2024 14:54:00) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.4.1, Copyright (c) Zend Technologies
    with Zend OPcache v8.4.1, Copyright (c), by Zend Technologies
</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Install PHP 8.4 for Apache</span></h2>
<p>To install PHP as an Apache module, execute:</p>
<pre><code># apt install libapache2-mod-php8.4</code></pre>
<p>Then, restart Apache to integrate the new PHP module:</p>
<pre><code># systemctl restart apache2</code></pre>
<p>To verify that PHP is working with the Apache web server, you can create a test PHP file:</p>
<pre><code>echo "&lt;?php phpinfo(); ?&gt;" | tee /var/www/html/info.php</code></pre>
<p>Then open your web browser and type <strong>http://your-IP-address/info.php</strong> and you should see the PHP information page.</p>
<h2><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-1825" src="https://www.linuxtuto.com/wp-content/uploads/2024/11/php-8.4-900x511.webp" alt="PHP 8.4" width="900" height="511" srcset="https://www.linuxtuto.com/wp-content/uploads/2024/11/php-8.4-900x511.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2024/11/php-8.4-300x170.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2024/11/php-8.4-768x436.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2024/11/php-8.4-1536x872.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2024/11/php-8.4-1222x694.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2024/11/php-8.4-897x509.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2024/11/php-8.4-684x388.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2024/11/php-8.4.webp 1892w" sizes="auto, (max-width: 900px) 100vw, 900px" /></h2>
<h2><span class="has-inline-color has-vivid-purple-color">Install PHP 8.4 FPM for Nginx</span></h2>
<p>For the Nginx web server, you need to install the FPM service, you can install it using the following command:</p>
<pre><code># apt install php8.4-fpm</code></pre>
<p>Once the installation has been completed, you can confirm that the <code>PHP-FPM</code> service has been installed correctly with the following command:</p>
<pre><code># systemctl status php8.4-fpm</code></pre>
<p>Output:</p>
<pre><code>● php8.4-fpm.service - The PHP 8.4 FastCGI Process Manager
     Loaded: loaded (/usr/lib/systemd/system/php8.4-fpm.service; enabled; preset: enabled)
     Active: active (running)
       Docs: man:php-fpm8.4(8)
    Process: 11741 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/8.4/fpm/pool.d/www.conf 84 (code=exited, status=0/SUCCESS)
   Main PID: 11737 (php-fpm8.4)
     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0.00req/sec"
      Tasks: 3 (limit: 2218)
     Memory: 8.0M (peak: 9.0M)
        CPU: 116ms
     CGroup: /system.slice/php8.4-fpm.service
             ├─11737 "php-fpm: master process (/etc/php/8.4/fpm/php-fpm.conf)"
             ├─11739 "php-fpm: pool www"
             └─11740 "php-fpm: pool www"</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Test PHP and PHP-FPM</span></h2>
<p>To configure Nginx to use PHP-FPM, you need to edit the default Nginx configuration file:</p>
<pre><code># nano /etc/nginx/sites-available/default</code></pre>
<p>Add the following configurations to the file.</p>
<pre><code>location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php8.4-fpm.sock;
}</code></pre>
<p>Check Nginx syntax:</p>
<pre><code># 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>Then create a test PHP file similar to the Apache setup:</p>
<pre><code>echo "&lt;?php phpinfo(); ?&gt;" | tee /var/www/html/info.php</code></pre>
<p>To implement the changes, restart Nginx webserver:</p>
<pre><code># systemctl restart nginx</code></pre>
<p>Then open your web browser and type <strong>http://your-IP-address/info.php</strong> and you should see the PHP information page.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Install PHP Extension</span></h2>
<p>Installing PHP extensions are simple with the below-mentioned syntax:</p>
<pre><code># sudo apt install php8.4-[extension]</code></pre>
<p>Replace [extension] with the extension you want to install, if you want to add multiple extensions then include them in braces:</p>
<pre><code># apt install php8.4-mysql php8.4-imap php8.4-ldap php8.4-xml php8.4-curl php8.4-mbstring php8.4-zip</code></pre>
<p>To check loaded PHP modules use the command:</p>
<pre><code># php8.4 -m</code></pre>
<p>Example Output:</p>
<pre><code>[PHP Modules]
..............
imap
json
ldap
libxml
mbstring
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
..............

[Zend Modules]
Zend OPcache</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Running PHP 8.4 with Other Versions </span></h2>
<p>Instead of removing old <a href="https://www.linuxtuto.com/how-to-install-php-8-3-on-ubuntu-22-04/">PHP versions</a>, it is also possible to run multiple PHP versions side-by-side.</p>
<p>The <strong>update-alternatives</strong> command provides an easy way to switch between PHP versions for PHP CLI.</p>
<pre><code># update-alternatives --config php</code></pre>
<p>This brings up a prompt to interactively select the alternative PHP binary path that <code>php</code> points to.</p>
<pre><code>There are 2 choices for the alternative php (providing /usr/bin/php).

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php.default   100       auto mode
  1            /usr/bin/php.default   100       manual mode
  2            /usr/bin/php8.3        83        manual mode
  3            /usr/bin/php8.4        84        manual mode</code></pre>
<p>To set the path without the interactive prompt:</p>
<pre><code># update-alternatives --set php /usr/bin/php8.4</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Comments and Conclusion</span></h2>
<p>In the tutorial, you have learned how to install PHP 8.4 on Ubuntu 24.04.</p>
<p>For additional help or useful information, we recommend you to check <a href="https://www.php.net/releases/8.4/en.php">the official PHP 8.4 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-php-8-4-on-ubuntu-24-04/">How to Install PHP 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-php-8-4-on-ubuntu-24-04/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1824</post-id>	</item>
		<item>
		<title>How to Install Odoo 18 on Ubuntu 24.04</title>
		<link>https://www.linuxtuto.com/how-to-install-odoo-18-on-ubuntu-24-04/</link>
					<comments>https://www.linuxtuto.com/how-to-install-odoo-18-on-ubuntu-24-04/#respond</comments>
		
		<dc:creator><![CDATA[LinuxTuto]]></dc:creator>
		<pubDate>Thu, 03 Oct 2024 12:00:03 +0000</pubDate>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Node.js]]></category>
		<category><![CDATA[Odoo]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<guid isPermaLink="false">https://www.linuxtuto.com/?p=1808</guid>

					<description><![CDATA[<p>Odoo 18 is an open-source suite of business applications that provides a complete ERP (Enterprise Resource Planning) solution for organizations of various sizes. It offers...</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-odoo-18-on-ubuntu-24-04/">How to Install Odoo 18 on Ubuntu 24.04</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Odoo 18 is an open-source suite of business applications that provides a complete ERP (Enterprise Resource Planning) solution for organizations of various sizes. It offers a wide range of integrated tools and modules to help manage all aspects of a business, such as finance, sales, inventory, human resources, and more.</p>
<p>The open-source community edition is free, making it accessible to small businesses and developers. The enterprise edition, on the other hand, offers additional features, services, and support.</p>
<p>Odoo is highly customizable. Businesses can tailor modules to meet their specific needs, create custom workflows, or build entirely new apps using Odoo’s development framework.</p>
<p>In summary, Odoo is a versatile business management software that can streamline operations and provide real-time insights, making it an ideal solution for companies looking to optimize their business processes.</p>
<p>In this tutorial, we will show you how to install Odoo 18 on a Ubuntu 24.04 OS.</p>
<h2><span class="has-inline-color has-vivid-purple-color">S</span><span class="has-inline-color has-vivid-purple-color">tep 1: 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</code></pre>
<p>Then install all the required packages for the Odoo 18 setup on the Ubuntu 24.04 OS.</p>
<pre><code># apt install python3-minimal python3-dev python3-pip python3-venv python3-setuptools build-essential libzip-dev libxslt1-dev libldap2-dev python3-wheel libsasl2-dev node-less libjpeg-dev xfonts-utils libpq-dev libffi-dev fontconfig git wget</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 2: </span><span class="has-inline-color has-vivid-purple-color">Install PostgreSQL </span></h2>
<p>Odoo uses PostgreSQL as a database backend, so you will need to install PostgreSQL on your server.</p>
<p>Follow these steps to install and configure PostgreSQL server:</p>
<pre><code># apt-get install postgresql</code></pre>
<p>After the successful installation, start the PostgreSQL service and enable it to start after the system reboot:</p>
<pre><code># systemctl start postgresql
# systemctl enable postgresql</code></pre>
<p>Verify that is active and running on your server:</p>
<pre><code># systemctl status postgresql</code></pre>
<pre><strong>Output</strong>
<code>● postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; preset: enabled)
     Active: active (exited)
   Main PID: 19754 (code=exited, status=0/SUCCESS)
        CPU: 2ms</code></pre>
<p>Now create an Odoo user in PostgreSQL:</p>
<pre><code># su - postgres -c "createuser -s odoo" </code></pre>
<p>This will add a new role <strong>odoo</strong> in the PostgreSQL server.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 3: Install Node.js</span></h2>
<p>To install Node.js and npm on your Ubuntu 24.04 OS use the following command:</p>
<pre><code># apt install nodejs npm</code></pre>
<p>Also, install the following module to enable RTL support:</p>
<pre><code># npm install -g rtlcss</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 4: Installation of wkhtmltopdf</span></h2>
<p>To generate PDF reports successfully, wkhtmltopdf is necessary. PDF reports are a crucial component of any organization.</p>
<p>First install the xfonts dependency before installing wkhtmltopdf:</p>
<pre><code># apt-get install xfonts-75dpi xfonts-base</code></pre>
<p>Now download and install <a href="https://wkhtmltopdf.org/downloads.html">wkhtmltopdf</a> using the following commands:</p>
<pre><code># wget  http://security.ubuntu.com/ubuntu/pool/universe/w/wkhtmltopdf/wkhtmltopdf_0.12.6-2build2_amd64.deb
# dpkg -i wkhtmltopdf_0.12.6-2build2_amd64.deb</code></pre>
<p>Verify if the wkhtmltopdf installation is successful by checking the version:</p>
<pre><code># wkhtmltopdf --version
wkhtmltopdf 0.12.6</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 5: Create an Odoo User</span></h2>
<p>Create a new system user for managing the Odoo processes on the Odoo server.</p>
<pre><code># adduser --system --group --home=/opt/odoo --shell=/bin/bash odoo</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 6: Install Odoo 18</span></h2>
<p>Switch to the user that you have created before to avoid encountering issues related to access rights.</p>
<pre><code># su - odoo</code></pre>
<p>Now, download the Odoo 17 source code from the git repository and install it:</p>
<pre><code># git clone https://www.github.com/odoo/odoo --depth 1 --branch 18.0 /opt/odoo/odoo</code></pre>
<p>Next run the following command to generate a new Python virtual environment.</p>
<pre><code># python3 -m venv odoo-env</code></pre>
<p>Activate the virtual environment with the following command:</p>
<pre><code># source odoo-env/bin/activate</code></pre>
<p>Then install the required Python packages:</p>
<pre><code>(odoo-env) $ pip3 install wheel
(odoo-env) $ pip3 install -r odoo/requirements.txt</code></pre>
<p>After completing the process of installing all requirements to deactivate the virtual environment run the following command:</p>
<pre><code>(odoo-env) $ deactivate</code></pre>
<p>Execute the following command to create a directory for custom addons:</p>
<pre><code># mkdir /opt/odoo/custom-addons</code></pre>
<p>Next exit from the Odoo user:</p>
<pre><code># exit</code></pre>
<p>Create an <code>Odoo</code> log directory and provide it the required write permissions.</p>
<pre><code># mkdir /var/log/odoo18
# chown odoo:odoo /var/log/odoo18</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 7: Create Odoo Configuration File</span></h2>
<p>Create the <code>Odoo</code> configuration file.</p>
<pre><code># nano /etc/odoo.conf</code></pre>
<p>Then paste the following configuration into it.</p>
<pre><code>[options]
admin_passwd = Strong_admin_Password
db_host = False
db_port = False
db_user = odoo
db_password = False
logfile = /var/log/odoo18/odoo-server.log
addons_path = /opt/odoo/odoo/addons,/opt/odoo/custom-addons
xmlrpc_port = 8069</code></pre>
<p>Remember to update the value of the &#8220;<strong><code>Strong_admin_Password</code></strong>&#8221; key above with a more secure password.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 8: Create a Systemd Service File</span></h2>
<p>Create a systemd service file to manage the <code>Odoo</code> service:</p>
<pre><code># nano /etc/systemd/system/odoo.service</code></pre>
<p>Paste the following content into the <code>odoo.service</code> file:</p>
<pre><code>[Unit]
Description=Odoo
Requires=postgresql.service
After=network.target postgresql.service

[Service]
Type=simple
SyslogIdentifier=odoo
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/opt/odoo/odoo-env/bin/python3 /opt/odoo/odoo/odoo-bin -c /etc/odoo.conf
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target</code></pre>
<p>Reload system daemon and start the service:</p>
<pre><code># systemctl daemon-reload
# systemctl start odoo
# systemctl enable odoo</code></pre>
<p>To confirm everything is working normally, check the status of service:</p>
<pre><code># systemctl status odoo</code></pre>
<p>Output:</p>
<pre><code>● odoo.service - Odoo
     Loaded: loaded (/etc/systemd/system/odoo.service; enabled; preset: enabled)
     Active: active (running)
   Main PID: 21764 (python3)
      Tasks: 4 (limit: 2218)
     Memory: 73.3M (peak: 73.5M)
        CPU: 973ms
     CGroup: /system.slice/odoo.service
             └─21764 /opt/odoo/odoo-env/bin/python3 /opt/odoo/odoo/odoo-bin -c /etc/odoo.conf
</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 9: Access Odoo 18 server</span></h2>
<p>Open your web browser and type <strong>http://your-IP-address:8069</strong> and you will see the following screen:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-1811" src="https://www.linuxtuto.com/wp-content/uploads/2024/10/odoo18-900x393.webp" alt="Odoo 18" width="900" height="393" srcset="https://www.linuxtuto.com/wp-content/uploads/2024/10/odoo18-900x393.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2024/10/odoo18-300x131.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2024/10/odoo18-768x335.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2024/10/odoo18-1536x670.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2024/10/odoo18-1222x533.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2024/10/odoo18-897x392.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2024/10/odoo18-684x299.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2024/10/odoo18.webp 1913w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<h2><span class="has-inline-color has-vivid-purple-color">Comments and Conclusion</span></h2>
<p>That’s it. You have successfully installed Community version of Odoo 18 on Ubuntu 24.04.</p>
<p>For additional help or useful information, we recommend you to check  <a href="https://www.odoo.com/documentation/18.0/" target="_blank" rel="noopener">the official Odoo 18 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-odoo-18-on-ubuntu-24-04/">How to Install Odoo 18 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-odoo-18-on-ubuntu-24-04/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1808</post-id>	</item>
	</channel>
</rss>
