<?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>Debian Archives - LinuxTuto</title>
	<atom:link href="https://www.linuxtuto.com/debian/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.linuxtuto.com/debian/</link>
	<description>Linux Sysadmin and DevOps blog</description>
	<lastBuildDate>Mon, 26 Oct 2026 13:00:29 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://www.linuxtuto.com/wp-content/uploads/2022/01/cropped-LT_faveicon-32x32.png</url>
	<title>Debian Archives - LinuxTuto</title>
	<link>https://www.linuxtuto.com/debian/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">201456972</site>	<item>
		<title>The php2shell Vulnerability: What You Need to Know and How to Patch</title>
		<link>https://www.linuxtuto.com/the-php2shell-vulnerability-what-you-need-to-know-and-how-to-patch/</link>
					<comments>https://www.linuxtuto.com/the-php2shell-vulnerability-what-you-need-to-know-and-how-to-patch/#respond</comments>
		
		<dc:creator><![CDATA[LinuxTuto]]></dc:creator>
		<pubDate>Mon, 26 Oct 2026 13:00:29 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<guid isPermaLink="false">https://www.linuxtuto.com/?p=2142</guid>

					<description><![CDATA[<p>On October 21, 2026, the PHP development team issued an emergency set of security updates to address a pair of critical flaws that completely upend...</p>
<p>The post <a href="https://www.linuxtuto.com/the-php2shell-vulnerability-what-you-need-to-know-and-how-to-patch/">The php2shell Vulnerability: What You Need to Know and How to Patch</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>On October 21, 2026, the PHP development team issued an emergency set of security updates to address a pair of critical flaws that completely upend modern web security. Collectively dubbed <strong>&#8220;php2shell&#8221;</strong> by security researchers, these vulnerabilities allow unauthenticated attackers to achieve full remote code execution (RCE) on vulnerable servers. Given that PHP powers over 75% of all web applications on the internet, this development represents a massive threat landscape that demands immediate action from system administrators, DevOps teams, and web developers worldwide.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Understanding php2shell: The Flaws Explained</span></h2>
<p>The php2shell advisory encompasses two distinct but deeply interrelated critical security vulnerabilities, each carrying a critical CVSS score of 9.2, initially detailed in the <a href="https://projectdiscovery.io" target="_blank" rel="noopener noreferrer">ProjectDiscovery Technical Advisory</a>:</p>
<ul>
<li><strong>CVE-2026-109618 (Out-of-Memory Request Cleanup Flaw):</strong> This is a memory-safety bug that triggers during request cleanup operations. When a PHP worker process encounters an out-of-memory (OOM) condition while processing a web request, it attempts to free allocated memory and gracefully close the lifecycle. However, a flaw in this routine causes memory corruption, allowing an attacker to manipulate the process memory and execute arbitrary code on the underlying operating system.</li>
<li><strong>CVE-2026-109619 (Stale Global State Flaw):</strong> This vulnerability revolves around data persistence within long-running worker processes. Instead of fully clearing out internal states between separate HTTP requests, a logical flaw causes stale global variables and state data to survive across sessions. This allows an attacker to poison the memory space or read sensitive application memory across different users&#8217; requests.</li>
</ul>
<h2><span class="has-inline-color has-vivid-purple-color">The True Danger: Attack Surface and Impact</span></h2>
<p>What makes php2shell particularly devastating is its universal impact. Often, PHP vulnerabilities only impact specific deployment configurations like the older Apache <code>mod_php</code> or CGI setups. However, php2shell affects <strong>all major PHP web-serving configurations</strong>, including:</p>
<ul>
<li><strong>PHP-FPM (FastCGI Process Manager)</strong>, the modern backbone of Nginx and Apache setups.</li>
<li>Modern execution layers like <strong>FrankenPHP</strong> and <strong>LiteSpeed</strong>.</li>
<li>Legacy environments like Apache <code>mod_php</code> and <code>php-cgi</code>.</li>
</ul>
<p>Because CVE-2026-109619 allows data leakage between unrelated HTTP requests, a successful exploit doesn&#8217;t just grant a shell to an attacker—it can also expose database passwords, active session tokens, application secrets, and API keys belonging to other users browsing the same application.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Patched Versions: Where You Need to Be</span></h2>
<p>The PHP project has officially released updates across all actively supported branches. To safeguard your architecture, your servers must be upgraded to or past the following specific point releases:</p>
<ul>
<li><strong>PHP 8.5.12</strong></li>
<li><strong>PHP 8.4.27</strong></li>
<li><strong>PHP 8.3.36</strong></li>
<li><strong>PHP 8.2.35</strong></li>
</ul>
<h2><span class="has-inline-color has-vivid-purple-color">The End-of-Life (EOL) Crisis</span></h2>
<p>A significant complication of php2shell is its behavior on legacy systems. PHP versions 8.1, 8.0, and 7.x have officially reached their End-of-Life (EOL) and <strong>will not receive official upstream patches</strong> from the core PHP group.</p>
<p>If your organization relies on these older versions, you cannot simply run a standard package update to fix this issue. You must immediately evaluate alternative paths, such as migrating your codebase to PHP 8.2+, relying on commercial vendors who backport security fixes like the <a href="https://tuxcare.com" target="_blank" rel="noopener noreferrer">TuxCare Extended Lifecycle Support</a> options, or deploying a temporary Web Application Firewall (WAF) rule to aggressively filter out malformed requests while you re-platform.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Your Step-by-Step Remediation Playbook</span></h2>
<p>Securing your environment against php2shell requires more than just updating a binary. Follow this systematic playbook to ensure full protection and audit your environment for potential intrusion.</p>
<h3><span class="has-inline-color has-vivid-purple-color">Step 1: Upgrade the Runtime and Base Images</span></h3>
<p><a href="https://www.linuxtuto.com/how-to-install-php-8-4-on-ubuntu-24-04/">Update your PHP installation</a> using your operating system&#8217;s native package manager or by pulling updated container images.</p>
<p><strong>On Ubuntu/Debian (via Ondřej Surý PPA):</strong></p>
<pre class="wp-block-code"><code>sudo apt-get update &amp;&amp; sudo apt-get --only-upgrade install php8.3</code></pre>
<p><strong>For Docker Deployments:</strong> Update your <code>Dockerfile</code> base image definitions to point exactly to the patched micro-versions (e.g., <code>php:8.3.36-fpm</code>) and rebuild your images without caching (<code>docker build --no-cache</code>).</p>
<h3><span class="has-inline-color has-vivid-purple-color">Step 2: Clear the Process Memory (Crucial)</span></h3>
<p>Simply updating the files on disk does not fix currently running servers. The old, vulnerable code remains active inside the RAM of ongoing worker processes. You must explicitly restart your execution managers to flush the memory:</p>
<pre class="wp-block-code"><code>sudo systemctl restart php8.3-fpm
# Or if you are using Apache/Nginx directly:
sudo systemctl restart nginx
sudo systemctl restart apache2</code></pre>
<h3><span class="has-inline-color has-vivid-purple-color">Step 3: Conduct a Security and Post-Incident Audit</span></h3>
<p>Because wild exploitation attempts were observed prior to the public disclosure on October 21, you must assume your servers might have already been targeted.</p>
<ul>
<li><strong>Audit Active Sessions:</strong> Check for newly created or anomalous administrative accounts within your application databases.</li>
<li><strong>Scan for Web Shells:</strong> Look for unfamiliar, newly created <code>.php</code> files in your public web roots, particularly in user upload directories.</li>
<li><strong>Credential Rotation:</strong> Because php2shell facilitates cross-request memory dumping, treat all application secrets (database credentials, encryption keys, and third-party API tokens) as potentially compromised. Schedule an immediate rotation of these secrets.</li>
</ul>
<h2><span class="has-inline-color has-vivid-purple-color">Final Thoughts</span></h2>
<p>The php2shell vulnerability is a stark reminder of the security challenges built into long-running web processes and memory management routines. Because this exploit is unauthenticated and results in complete system compromise, ignoring it is not an option. Act today: inventory your PHP versions, push the necessary updates, and verify that your processes have been thoroughly restarted to clear out the vulnerable code.</p>
<p>The post <a href="https://www.linuxtuto.com/the-php2shell-vulnerability-what-you-need-to-know-and-how-to-patch/">The php2shell Vulnerability: What You Need to Know and How to Patch</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.linuxtuto.com/the-php2shell-vulnerability-what-you-need-to-know-and-how-to-patch/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2142</post-id>	</item>
		<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 Jupyter Notebook on Debian 12</title>
		<link>https://www.linuxtuto.com/how-to-install-jupyter-notebook-on-debian-12/</link>
					<comments>https://www.linuxtuto.com/how-to-install-jupyter-notebook-on-debian-12/#comments</comments>
		
		<dc:creator><![CDATA[LinuxTuto]]></dc:creator>
		<pubDate>Thu, 28 Mar 2024 13:45:02 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Jupyter]]></category>
		<category><![CDATA[Notebook]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://www.linuxtuto.com/?p=1719</guid>

					<description><![CDATA[<p>Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations, and narrative text. It&#8217;s...</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-jupyter-notebook-on-debian-12/">How to Install Jupyter Notebook on Debian 12</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations, and narrative text. It&#8217;s widely used in various fields such as data science, machine learning, scientific computing, and education.</p>
<p>The term &#8220;Jupyter&#8221; is derived from the combination of three programming languages: Julia, Python, and R. These were the first languages supported by the Jupyter project, but now it supports many other programming languages through its interactive computing protocol.</p>
<p>In this tutorial, we will show you how to install Jupyter Notebook on Debian 12 OS with Apache web server</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 1: Update Operating System</span></h2>
<p>Update your <b>Debian 12</b> operating system to the latest version with the following command:</p>
<pre><code># apt update &amp;&amp; apt upgrade -y</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 2: Install Pip on Debian 12</span></h2>
<p><a href="https://www.linuxtuto.com/how-to-install-python-3-12-on-ubuntu-22-04/"><strong>Python</strong></a> comes already installed by default on Debian 12. You can verify it by checking its version:</p>
<pre><code># python3 -V</code></pre>
<pre><code>Output:
Python 3.11.2</code></pre>
<p>If it doesn&#8217;t, install <strong>Python</strong> with the following command:</p>
<pre><code># apt install python3</code></pre>
<p>Then use the following command to install <strong>pip</strong> and <strong>venv</strong> on Debian 12:</p>
<pre><code># apt install python3-venv python3-pip</code></pre>
<p>Verify your pip installation by checking its version:</p>
<pre><code># pip3 --version</code></pre>
<pre><code>Output:
pip 23.0.1 from /usr/lib/python3/dist-packages/pip (python 3.11)</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 3: Install Jupyter Notebook Using Virtualenv</span></h2>
<p>First, create a directory and switch to it with the commands below:</p>
<pre><code># mkdir /var/www/notebook 
# cd /var/www/notebook</code></pre>
<p>Before you install Jupyter Notebook, you first need to create a Python virtual environment.</p>
<pre><code># python3 -m venv notebook_env</code></pre>
<p>Next, activate the virtual environment with the following command:</p>
<pre><code># source notebook_env/bin/activate</code></pre>
<p>Next, install Jupyter Notebook using the following command:</p>
<pre><code>(notebook_env) # pip install jupyter</code></pre>
<p>Once the installation is completed, run the Jupyter Notebook with the following command:</p>
<pre><code>(notebook_env) # jupyter notebook --allow-root</code></pre>
<p>Press the <strong>CTRL+C</strong> to stop the Jupyter Notebook.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 4: Generate Jupyter Notebook Password</span></h2>
<p>First, generate a Jupyter Notebook configuration file with the following command:</p>
<pre><code>(notebook_env) # jupyter notebook --generate-config</code></pre>
<p>You should see the following output:</p>
<pre><code>Writing default config to: /root/.jupyter/jupyter_notebook_config.py</code></pre>
<p>Then run the following command and enter your preferred password:</p>
<pre><code>(notebook_env) # jupyter notebook password</code></pre>
<p>Set a password as shown below:</p>
<pre><code>Enter password: 
Verify password: 
[JupyterPasswordApp] Wrote hashed password to /root/.jupyter/jupyter_server_config.json</code></pre>
<p>This can be used to reset a lost password or if you believe your credentials have been leaked and desire to change your password.</p>
<p>You can prepare a hashed password manually, using the function <code>jupyter_server.auth.passwd()</code>:</p>
<pre><code>&gt;&gt;&gt; jupyter_server.auth import passwd
&gt;&gt;&gt; passwd()
Enter password:
Verify password:
'argon2:$argon2id$v=19$m=10240,t=10,p=8$WGqsBZQPacu0FwsczXPlIQ$VXMyCfkJJZETyjdB6aWNSu/t0OrLAVhpkM15wKJYQRU'</code></pre>
<p>Then add the hashed password to your <strong>jupyter_notebook_config.py</strong> file:</p>
<pre><code>nano /root/.jupyter/jupyter_notebook_config.py</code></pre>
<pre><code>c.ServerApp.password = 'argon2:$argon2id$v=19$m=10240,t=10,p=8$WGqsBZQPacu0FwsczXPlIQ$VXMyCfkJJZETyjdB6aWNSu/t0OrLAVhpkM15wKJYQRU'</code></pre>
<p>Now, deactivate from the Python virtual environment with the following command:</p>
<pre><code>deactivate</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 5: Create a Systemd service</span></h2>
<p>Next, it is a good idea to create a systemd service file to handle the <code>Jupyter Notebook</code> service. You can create it with the following command:</p>
<pre class="command"><code spellcheck="false"># nano /lib/systemd/system/jupyter.service</code></pre>
<p>Add the following lines:</p>
<pre><code>[Unit]
Description=Jupyter Notebook

[Service]
Type=simple
PIDFile=/run/jupyter.pid
ExecStart=/var/www/notebook/notebook_env/bin/jupyter-notebook --config=/root/.jupyter/jupyter_notebook_config.py --allow-root
User=root
Group=root
WorkingDirectory=/var/www/notebook/notebook_env
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target</code></pre>
<p>Save and close the file and then reload the systemd daemon with the following command:</p>
<pre><code># systemctl daemon-reload</code></pre>
<p>Then start the <code>jupyter service</code> and activate it at system startup with the following command:<span id="ezoic-pub-ad-placeholder-112" class="ezoic-adpicker-ad"></span></p>
<pre><code># systemctl start jupyter
# systemctl enable jupyter</code></pre>
<p>Edit the configuration file and enable remote access:</p>
<pre><code>nano /root/.jupyter/jupyter_notebook_config.py</code></pre>
<p>Uncoment and change the following line to <strong>True</strong>:</p>
<pre><code>c.ServerApp.allow_remote_access = True</code></pre>
<p>To implement the changes, you need to restart the <code>jupyter service</code>:</p>
<pre><code># systemctl restart jupyter</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 6: Configure Apache as a Reverse Proxy for Jupyter Notebook</span></h2>
<p>Jupyter Notebook is started and running on port 8888.You can install it via <code>apt</code> package manager by executing the following command.</p>
<pre><code># apt install apache2</code></pre>
<p>You can verify the status of the Apache service using the <strong>systemctl status</strong> command:</p>
<pre><code># systemctl status apache2</code></pre>
<p>Next run the following commands to enable necessary modules:</p>
<pre><code># /usr/sbin/a2enmod proxy
# /usr/sbin/a2enmod proxy_http</code></pre>
<p>Run the commands below to create a new VirtualHost file called <strong>jupyter</strong> in the /etc/apache2/sites-available/ directory.</p>
<pre><code># nano /etc/apache2/sites-available/jupyter.conf</code></pre>
<p>Paste the content as shown below:</p>
<pre><code> &lt;VirtualHost *:80&gt;
    ServerAdmin admin@your-domain.com
    DocumentRoot /var/www/html/
    
    ServerName your-domain.com
    ServerAlias www.your-domain.com

    ProxyPass / http://127.0.0.1:8888/
    ProxyPassReverse / http://127.0.0.1:8888/&gt; 

    ErrorLog /var/log/apache2/your-domain.com-error_log
    CustomLog /var/log/apache2/your-domain.com-access_log common

 &lt;/VirtualHost&gt;</code></pre>
<p>Remember to replace <strong><code>your-domain.com</code></strong> with the domain name of your server.</p>
<p>Then save and exit the configuration file.</p>
<p>To enable this site run the following command:</p>
<pre><code># ln -s /etc/apache2/sites-available/jupyter.conf /etc/apache2/sites-enabled/jupyter.conf</code></pre>
<p>To implement the changes, you need to restart the Apache webserver:</p>
<pre><code># systemctl restart apache2</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 7: Accessing Jupyter Notebook Web Interface</span></h2>
<p>Open your web browser using the URL <code class=" prettyprinted"><span class="pln">http</span><span class="pun">:</span><span class="com">//<code>your-domain.com</code></span></code>. You should see the Jupyter login page:</p>
<p><img decoding="async" class="aligncenter size-large wp-image-1720" src="https://www.linuxtuto.com/wp-content/uploads/2024/03/jupyter_login-900x281.webp" alt="Jupyter Login Page" width="900" height="281" srcset="https://www.linuxtuto.com/wp-content/uploads/2024/03/jupyter_login-900x281.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2024/03/jupyter_login-300x94.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2024/03/jupyter_login-768x240.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2024/03/jupyter_login-1536x480.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2024/03/jupyter_login-1222x382.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2024/03/jupyter_login-897x280.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2024/03/jupyter_login-684x214.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2024/03/jupyter_login.webp 1916w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<p>Enter your password and click on the <strong>Login</strong> button. You should see the dashboard on the following screen:</p>
<p><img decoding="async" class="aligncenter size-large wp-image-1721" src="https://www.linuxtuto.com/wp-content/uploads/2024/03/jupyter_dasboard-900x416.webp" alt="Jupyter Dashboard" width="900" height="416" srcset="https://www.linuxtuto.com/wp-content/uploads/2024/03/jupyter_dasboard-900x416.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2024/03/jupyter_dasboard-300x139.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2024/03/jupyter_dasboard-768x355.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2024/03/jupyter_dasboard-1536x711.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2024/03/jupyter_dasboard-1222x565.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2024/03/jupyter_dasboard-897x415.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2024/03/jupyter_dasboard-684x316.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2024/03/jupyter_dasboard.webp 1915w" sizes="(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 <code>Jupyter Notebook</code> on Debian 12.</p>
<p>For additional help or useful information, we recommend you to check  <a href="https://docs.jupyter.org/en/latest/" target="_blank" rel="noopener">the official Jupyter Notebook 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-jupyter-notebook-on-debian-12/">How to Install Jupyter Notebook on Debian 12</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.linuxtuto.com/how-to-install-jupyter-notebook-on-debian-12/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1719</post-id>	</item>
		<item>
		<title>How to Install Laravel on Debian 12</title>
		<link>https://www.linuxtuto.com/how-to-install-laravel-on-debian-12/</link>
					<comments>https://www.linuxtuto.com/how-to-install-laravel-on-debian-12/#respond</comments>
		
		<dc:creator><![CDATA[LinuxTuto]]></dc:creator>
		<pubDate>Wed, 28 Feb 2024 16:00:38 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Laravel]]></category>
		<category><![CDATA[MariaDB]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">https://www.linuxtuto.com/?p=1707</guid>

					<description><![CDATA[<p>Laravel is a free, open-source PHP web application framework used for web development. It follows the Model-View-Controller (MVC) architectural pattern and provides an elegant syntax...</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-laravel-on-debian-12/">How to Install Laravel on Debian 12</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Laravel is a free, open-source PHP web application framework used for web development. It follows the Model-View-Controller (MVC) architectural pattern and provides an elegant syntax and tools for tasks such as routing, templating, authentication, and more. Laravel aims to make web development tasks more enjoyable and efficient by providing a clean and expressive syntax, along with a set of conventions and tools for common tasks.</p>
<p>Laravel has gained popularity in the PHP development community due to its elegant syntax, developer-friendly features, and active community. It is widely used for building web applications, APIs, and various other web-based projects.</p>
<p>In this tutorial, we will show you how to install Laravel on Debian 12 OS with Nginx web server and MariaDB database server.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 1: Update Operating System</span></h2>
<p>The first step is to ensure that your system is up-to-date. You can do this by running the following command:</p>
<pre><code># apt update &amp;&amp; apt upgrade</code></pre>
<p>Also, install necessary packages.</p>
<pre><code translate="no"># apt install sudo nano wget unzip zip</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>
<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: </span><span class="has-inline-color has-vivid-purple-color">Install PHP and PHP extensions</span></h2>
<p>To install PHP and additional PHP modules to support Laravel, run the following command:</p>
<pre><code># apt install php php-cli php-common php-json php-gmp php-fpm php-xmlrpc php-bcmath php-imagick php-curl php-zip php-gd php-mysql php-xml php-mbstring php-xmlrpc php-intl</code></pre>
<p>Verify if PHP is installed.</p>
<pre><code># php -v</code></pre>
<pre><code><strong>Output:</strong>
PHP 8.2.7 (cli) (built: Jun  9 2023 19:37:27) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.7, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.7, Copyright (c), by Zend Technologies
</code></pre>
<p>After installing all the packages, edit the php.ini file:</p>
<pre><code># nano /etc/php/8.2/fpm/php.ini</code></pre>
<p>Change the following settings per your requirements:</p>
<pre><code>max_execution_time = 300
memory_limit = 512M
post_max_size = 128M
upload_max_filesize = 128M
date.timezone = America/Chicago</code></pre>
<p>To implement the changes, restart the <code>php-fpm</code> service:</p>
<pre><code># systemctl restart php8.2-fpm</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 4: Install MariaDB and create a database</span></h2>
<p>You can <a href="https://www.linuxtuto.com/how-to-install-mariadb-10-7-on-debian-11/">install MariaDB</a> with the following command:</p>
<pre><code># apt install 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># systemctl start mariadb
# systemctl enable mariadb</code></pre>
<p>Once the database server is installed, log into the MariaDB prompt:</p>
<pre><code># mysql -u root</code></pre>
<p>To create a database, database user, and grant all privileges to the database user run the following commands:</p>
<pre><code>MariaDB [(none)]&gt; CREATE DATABASE laravel_db;
MariaDB [(none)]&gt; CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'Str0ngPa$$word';
MariaDB [(none)]&gt; GRANT ALL ON laravel_db.* TO 'laravel_user'@'localhost';
MariaDB [(none)]&gt; FLUSH PRIVILEGES;
MariaDB [(none)]&gt; EXIT</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 5: Install Composer dependency manager</span></h2>
<p>To install Composer, run the following commands:</p>
<pre><code># curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer</code></pre>
<p>Verify that Composer has been installed successfully by running the following command:</p>
<pre><code># composer --version
Composer version 2.5.8 2023-06-09 17:13:21</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 6: Install Laravel </span></h2>
<p>Navigate to the <code>webroot</code> directory, type:</p>
<pre class="wp-block-preformatted"><code># cd /var/www/html</code></pre>
<p>Now, install Laravel using the composer command, type:</p>
<pre class="wp-block-preformatted"><code># composer create-project laravel/laravel laravelapp</code></pre>
<p>The command creates a new directory called <code>laravelapp</code> and installs all the files and directories for Laravel.</p>
<p>Change the ownership of the Laravel directory to the webserver user and also the permissions:</p>
<pre class="wp-block-preformatted"><code># chown -R www-data:www-data /var/www/html/laravelapp
# chmod -R 775 /var/www/html/laravelapp/storage</code></pre>
<p>Once the installation is done navigate to the installation directory and check the Laravel version:</p>
<pre><code># cd laravelapp</code></pre>
<pre><code># php artisan</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 7: Configure Nginx Web Server for Laravel</span></h2>
<p>Navigate to <code>/etc/nginx/conf.d</code> directory and run the following command to create a configuration file:</p>
<pre><code class="hljs shell"><span class="bash"># nano /etc/nginx/conf.d/laravel.conf</span></code></pre>
<p>Add the following content:</p>
<pre><code>server {
    listen 80;
    listen [::]:80;
    server_name your-domain.com;
    root /var/www/html/laravelapp/public;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";

    index index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}
</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>
<h2><span class="has-inline-color has-vivid-purple-color">Step 8: Access your Laravel Application</span></h2>
<p>Open your browser and type your domain e.g <strong>http://your-domain.com</strong></p>
<p><img decoding="async" class="aligncenter size-large wp-image-1708" src="https://www.linuxtuto.com/wp-content/uploads/2024/02/laravel_debian12-900x508.webp" alt="Install Laravel on Debian 12" width="900" height="508" srcset="https://www.linuxtuto.com/wp-content/uploads/2024/02/laravel_debian12-900x508.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2024/02/laravel_debian12-300x169.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2024/02/laravel_debian12-768x433.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2024/02/laravel_debian12-1536x866.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2024/02/laravel_debian12-1222x689.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2024/02/laravel_debian12-897x506.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2024/02/laravel_debian12-684x386.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2024/02/laravel_debian12.webp 1915w" sizes="(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 Laravel on Debian 12.</p>
<p>For additional help or useful information, we recommend you to check  <a href="https://laravel.com/docs" target="_blank" rel="noopener">the official Laravel 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-laravel-on-debian-12/">How to Install Laravel on Debian 12</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.linuxtuto.com/how-to-install-laravel-on-debian-12/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1707</post-id>	</item>
		<item>
		<title>How to Install Dolibarr ERP on Debian 12</title>
		<link>https://www.linuxtuto.com/how-to-install-dolibarr-erp-on-debian-12/</link>
					<comments>https://www.linuxtuto.com/how-to-install-dolibarr-erp-on-debian-12/#comments</comments>
		
		<dc:creator><![CDATA[LinuxTuto]]></dc:creator>
		<pubDate>Fri, 16 Feb 2024 12:30:03 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Dolibarr]]></category>
		<category><![CDATA[MariaDB]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">https://www.linuxtuto.com/?p=1686</guid>

					<description><![CDATA[<p>Dolibarr ERP is an open-source software suite designed to help businesses and organizations manage various aspects of their operations. It provides modules for a wide...</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-dolibarr-erp-on-debian-12/">How to Install Dolibarr ERP on Debian 12</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Dolibarr ERP is an open-source software suite designed to help businesses and organizations manage various aspects of their operations. It provides modules for a wide range of business functions, making it a comprehensive solution for small and medium-sized enterprises (SMEs). Dolibarr is written in PHP and is often used as a web application, making it accessible from different devices with a web browser.</p>
<p>Dolibarr ERP is suitable for a variety of businesses, particularly those in the SME sector. It provides a cost-effective solution for managing key business processes and can be adapted to different industries and sectors. As an open-source solution, it offers flexibility and the ability to tailor the system to specific organizational needs.</p>
<p>In this tutorial, we will show you how to install Dolibarr ERP on Debian 12 OS.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 1: Update Operating System</span></h2>
<p>Update your <b>Debian 12</b> operating system to the latest version with the following command:</p>
<pre><code># apt update &amp;&amp; apt upgrade</code></pre>
<p>Also, install necessary packages.</p>
<pre><code translate="no"># apt install curl nano wget unzip zip</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 2: Install Apache webserver</span></h2>
<p>You can install it via <strong>apt</strong> package manager by executing the following command.</p>
<pre><code># apt install apache2</code></pre>
<p>Verify the status of the <strong>Apache</strong> service using <strong>systemctl status</strong> command:</p>
<pre><code># systemctl status apache2</code></pre>
<p>Output:</p>
<pre><code>● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; preset: enabled)
     Active: active (running)
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 13773 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 13777 (apache2)
      Tasks: 7 (limit: 2273)
     Memory: 37.4M
        CPU: 494ms
     CGroup: /system.slice/apache2.service
             ├─13777 /usr/sbin/apache2 -k start
             ├─13778 /usr/sbin/apache2 -k start
             ├─13779 /usr/sbin/apache2 -k start
             ├─13780 /usr/sbin/apache2 -k start
</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 3: Install PHP and required extensions</span></h2>
<p>By default, Debian12 comes with PHP version 8.2. To install PHP and the necessary extensions, run the following command:</p>
<pre><code># apt install php libapache2-mod-php php-cli php-intl php-json php-common php-mbstring php-imap php-mysql php-zip php-gd php-mbstring php-curl php-xml</code></pre>
<p>Once the installation is complete verify if PHP is installed:</p>
<pre><code>php -v</code></pre>
<pre><code>Output:
PHP 8.2.7 (cli) (built: Jun  9 2023 19:37:27) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.7, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.7, Copyright (c), by Zend Technologies</code></pre>
<p>Then edit the <strong>php.ini</strong> file:</p>
<pre><code># nano /etc/php/8.2/apache2/php.ini</code></pre>
<p>Change the following settings:</p>
<pre><code>memory_limit = 512M
post_max_size = 32M
upload_max_filesize = 32M
date.timezone = America/Chicago
</code></pre>
<p>Restart the Apache service to apply the changes:</p>
<pre><code># systemctl restart apache2</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 4: Install MariaDB and create a database</span></h2>
<p><a href="https://www.linuxtuto.com/how-to-install-mariadb-10-7-on-debian-11/">To install MariaDB</a> run the following command:</p>
<pre><code># apt install mariadb-server mariadb-client</code></pre>
<p>Verify the status of the MariaDB service using <strong>systemctl status</strong> command:</p>
<pre><code># systemctl status mariadb</code></pre>
<p>Output:</p>
<pre><code>● mariadb.service - MariaDB 10.11.6 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; preset: enabled)
     Active: active (running)
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 10002 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 9 (limit: 2273)
     Memory: 242.0M
        CPU: 1.918s
     CGroup: /system.slice/mariadb.service
             └─10002 /usr/sbin/mariadbd
</code></pre>
<p>Now run the command below to log in to the MariaDB shell.</p>
<pre><code># mysql -u root</code></pre>
<p>Once you are logged in to your database server you need to create a database for the Dolibarr installation:</p>
<pre><code>MariaDB [(none)]&gt; CREATE DATABASE dolibarr;
MariaDB [(none)]&gt; CREATE USER 'dolibarr'@'localhost' IDENTIFIED BY 'Str0ngPassw0rd';
MariaDB [(none)]&gt; GRANT ALL PRIVILEGES ON dolibarr. * TO 'dolibarr'@'localhost';
MariaDB [(none)]&gt; FLUSH PRIVILEGES;
MariaDB [(none)]&gt; EXIT;</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 5: Download Dolibarr</span></h2>
<p>The latest version of Dolibarr is available to <strong><a href="https://github.com/dolibarr/dolibarr/releases">download from GitHub</a></strong>. You can download it with the following command:</p>
<pre><code># wget https://github.com/Dolibarr/dolibarr/archive/refs/tags/19.0.0.zip</code></pre>
<p>Then extract file into the folder <strong>/var/www/</strong> with the following command:</p>
<pre><code># unzip 19.0.0.zip -d /var/www/
# mkdir /var/www/dolibarr
# mv /var/www/dolibarr-19.0.0/htdocs/* /var/www/dolibarr
</code></pre>
<p>Then enable permission for the Apache webserver user to access the files:</p>
<pre><code># chown -R www-data:www-data /var/www/dolibarr/</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 6: Configure Apache for Dolibarr</span></h2>
<p>To create a new VirtualHost file run the following commands:</p>
<pre><code># nano /etc/apache2/sites-available/dolibarr.conf</code></pre>
<p>Paste the content as shown below:</p>
<pre><code> &lt;VirtualHost *:80&gt;
    ServerAdmin admin@your-domain.com
    DocumentRoot /var/www/dolibarr/
    
    ServerName your-domain.com
    ServerAlias www.your-domain.com

    &lt;Directory /var/www/dolibarr/&gt; 
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
    &lt;/Directory&gt; 

    ErrorLog ${APACHE_LOG_DIR}/your-domain.com_error.log
    CustomLog ${APACHE_LOG_DIR}/your-domain.com_access.log combined

 &lt;/VirtualHost&gt;</code></pre>
<p>Remember to replace <strong>your-domain.com</strong> with the domain name of your server.</p>
<p>Save and exit the configuration file.</p>
<p>To enable this site run the command:</p>
<pre><code># /usr/sbin/a2ensite dolibarr.conf</code></pre>
<p>To implement the changes, restart Apache webserver:</p>
<pre><code># systemctl restart apache2</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 7: Access Dolibarr Web Interface</span></h2>
<p>To complete the setup go to your browser and visit <strong>http://your-domain.com.</strong></p>
<p><img decoding="async" class="aligncenter size-large wp-image-1688" src="https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_01-900x416.webp" alt="Solibarr ERP install page" width="900" height="416" srcset="https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_01-900x416.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_01-300x139.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_01-768x355.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_01-1536x710.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_01-1222x565.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_01-897x415.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_01-684x316.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_01.webp 1917w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<p>Select your language and click on the <strong>Next</strong> <strong>step</strong> button. You should see the following page:</p>
<p><img decoding="async" class="aligncenter size-large wp-image-1689" src="https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_02-900x467.webp" alt="Dolibarr 19" width="900" height="467" srcset="https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_02-900x467.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_02-300x156.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_02-768x398.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_02-1536x796.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_02-1222x634.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_02-897x465.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_02-684x355.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_02.webp 1917w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<p>Validate the PHP checks and click on the <strong>Start</strong> button. You should see the following page:</p>
<p><img decoding="async" class="aligncenter size-large wp-image-1691" src="https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_03-900x444.webp" alt="Database setup" width="900" height="444" srcset="https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_03-900x444.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_03-300x148.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_03-768x379.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_03-1536x758.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_03-1222x603.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_03-897x443.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_03-684x338.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_03.webp 1921w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<p>Provide your database name, database username, password, admin username and password. Then, click on the <strong>Next step</strong> button.</p>
<p><img decoding="async" class="aligncenter size-large wp-image-1692" src="https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_04-900x418.webp" alt="Dolibarr Configuration" width="900" height="418" srcset="https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_04-900x418.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_04-300x139.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_04-768x357.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_04-1536x713.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_04-1222x568.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_04-897x417.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_04-684x318.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_04.webp 1912w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<p>Installation successful, click on the <strong>Next</strong> <strong>step</strong> button.</p>
<p><img decoding="async" class="aligncenter size-large wp-image-1693" src="https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_05-900x415.webp" alt="Dolibarr ERP" width="900" height="415" srcset="https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_05-900x415.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_05-300x138.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_05-768x354.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_05-1536x708.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_05-1222x563.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_05-897x413.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_05-684x315.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_05.webp 1917w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<p>Click on the <strong>Next</strong> <strong>step</strong> button.</p>
<p><img decoding="async" class="aligncenter size-large wp-image-1694" src="https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_06-900x416.webp" alt="Dolibarr Administrator Setup" width="900" height="416" srcset="https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_06-900x416.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_06-300x139.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_06-768x355.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_06-1536x711.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_06-1222x565.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_06-897x415.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_06-684x316.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_06.webp 1915w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<p>Set a new admin username and password. Then, click on the <strong>Next</strong> <strong>step</strong> button.</p>
<p><img decoding="async" class="aligncenter size-large wp-image-1695" src="https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_07-900x417.webp" alt="Dolibarr 19 ERP" width="900" height="417" srcset="https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_07-900x417.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_07-300x139.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_07-768x356.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_07-1536x712.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_07-1222x566.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_07-897x416.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_07-684x317.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_07.webp 1910w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<p>Click on the <strong>Go to Dolibarr</strong> button and you should see the login page:</p>
<p><img decoding="async" class="aligncenter size-large wp-image-1696" src="https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_08-900x418.webp" alt="Login Page" width="900" height="418" srcset="https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_08-900x418.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_08-300x139.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_08-768x356.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_08-1536x713.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_08-1222x567.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_08-897x416.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_08-684x317.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_08.webp 1912w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<p>Provide your admin username and password. Then, click on the <strong>LOGIN</strong> button.</p>
<p><img decoding="async" class="aligncenter size-large wp-image-1697" src="https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_09-900x507.webp" alt="Dolibarr Dashboard" width="900" height="507" srcset="https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_09-900x507.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_09-300x169.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_09-768x432.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_09-1536x865.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_09-1222x688.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_09-897x505.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_09-684x385.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2024/02/dolibarr19_09.webp 1910w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<p>To finalize the installation and remove the installation warnings on the dashboard, run the following commands:</p>
<pre><code># touch /var/www/dolibarr/documents/install.lock</code></pre>
<pre><code># chown root:root /var/www/dolibarr/conf/conf.php</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 Dolibarr ERP on Debian 12.</p>
<p>For additional help or useful information, we recommend you to check <a href="https://www.dolibarr.org/documentation-home.php" target="_blank" rel="noopener">the official Dolibarr documentation</a>.</p>
<p>If you have any questions please leave a comment below.</p>
<div id="bshare-social" class="baby-sideshare share-content after-content icon show">
<div class="share_hide_show content_hide_show"></div>
</div>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-dolibarr-erp-on-debian-12/">How to Install Dolibarr ERP on Debian 12</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.linuxtuto.com/how-to-install-dolibarr-erp-on-debian-12/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1686</post-id>	</item>
		<item>
		<title>How to Configure Odoo with Apache as Reverse Proxy on Debian 12</title>
		<link>https://www.linuxtuto.com/how-to-configure-odoo-with-apache-as-reverse-proxy-on-debian-12/</link>
					<comments>https://www.linuxtuto.com/how-to-configure-odoo-with-apache-as-reverse-proxy-on-debian-12/#comments</comments>
		
		<dc:creator><![CDATA[LinuxTuto]]></dc:creator>
		<pubDate>Mon, 22 Jan 2024 15:30:05 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Let's Encrypt]]></category>
		<category><![CDATA[Odoo]]></category>
		<guid isPermaLink="false">https://www.linuxtuto.com/?p=1672</guid>

					<description><![CDATA[<p>Odoo is an open-source suite of integrated business applications that includes various modules for different business needs. Odoo is developed using the Python programming language...</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-configure-odoo-with-apache-as-reverse-proxy-on-debian-12/">How to Configure Odoo with Apache as Reverse Proxy on Debian 12</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Odoo is an open-source suite of integrated business applications that includes various modules for different business needs. Odoo is developed using the Python programming language and follows a modular architecture, allowing users to select and deploy the specific modules that suit their business requirements.</p>
<p>The system is highly customizable, and it covers a wide range of business functions. It provides a comprehensive set of tools to manage various aspects of a business, from sales and finance to human resources and inventory management.</p>
<p>In this tutorial, we will show you how to configure Odoo with Apache 2 as Reverse Proxy on Debian 12 OS.</p>
<p>If you do not have Odoo installed on your server you can follow our tutorial <a href="https://www.linuxtuto.com/how-to-install-odoo-17-on-debian-12/">how to install Odoo 17 on Debian 12</a>.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 1: Update Operating System</span></h2>
<p>Update your <b>Debian 12</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 Apache webserver</span></h2>
<p>You can install it via <code>apt</code> package manager by executing the following command.</p>
<pre><code># apt install apache2</code></pre>
<p>You can verify the status of the Apache service using the <strong>systemctl status</strong> command:</p>
<pre><code># systemctl status apache2</code></pre>
<p>Output:</p>
<pre><code>● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; preset: enabled)
     Active: active (running)
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 1127 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 1131 (apache2)
      Tasks: 6 (limit: 2273)
     Memory: 18.4M
        CPU: 86ms
     CGroup: /system.slice/apache2.service
             ├─1131 /usr/sbin/apache2 -k start
             ├─1132 /usr/sbin/apache2 -k start
             ├─1133 /usr/sbin/apache2 -k start
</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 3: Enable Apache Modules</span></h2>
<p>Next run the following commands to enable all necessary modules:</p>
<pre><code># /usr/sbin/a2enmod rewrite
# /usr/sbin/a2enmod proxy
# /usr/sbin/a2enmod proxy_http
# /usr/sbin/a2enmod proxy_html
# /usr/sbin/a2enmod headers</code></pre>
<p>Then restart the Apache web server:</p>
<pre><code># systemctl restart apache2</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 4: Configure Apache for Odoo</span></h2>
<p>Run the commands below to create a new VirtualHost file called <kbd>odoo</kbd> in the <strong>/etc/apache2/sites-available/</strong> directory.</p>
<pre><code># nano /etc/apache2/sites-available/odoo.conf</code></pre>
<p>Paste the content as shown below:</p>
<pre><code> &lt;VirtualHost *:80&gt;
    ServerAdmin admin@your-domain.com
    DocumentRoot /var/www/html/
    
    ServerName your-domain.com
    ServerAlias www.your-domain.com

    ProxyPass / http://127.0.0.1:8069/
    ProxyPassReverse / http://127.0.0.1:8069/&gt; 

    ErrorLog /var/log/apache2/your-domain.com-error_log
    CustomLog /var/log/apache2/your-domain.com-access_log common

 &lt;/VirtualHost&gt;</code></pre>
<p>Remember to replace <strong>your-domain.com</strong> with the domain name of your server.</p>
<p>Then save and exit the configuration file.</p>
<p>To enable this site run the following command:</p>
<pre><code># ln -s /etc/apache2/sites-available/odoo.conf /etc/apache2/sites-enabled/odoo.conf</code></pre>
<p>To implement the changes, you need to restart the Apache webserver:</p>
<pre><code># systemctl restart apache2</code></pre>
<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 <a href="https://www.linuxtuto.com/how-to-install-apache-with-lets-encrypt-on-ubuntu-22-04/">create Let’s Encrypt certificates</a>:</p>
<pre><code># apt install certbot python3-certbot-apache</code></pre>
<p>Then to get the SSL certificate using the Certbot, type the following command:</p>
<pre><code># certbot --apache -d your-domain.com -d www.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>IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/your-domain.com.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/your-domain.com/privkey.pem
   Your cert will expire on 2024-03-02. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - 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:  Odoo Proxy Configuration</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 7: Access Odoo server</span></h2>
<p>Open your web browser and type the URL <strong>https://your-domain.com</strong>. You should see the following page:</p>
<p><img decoding="async" class="aligncenter size-large wp-image-1674" src="https://www.linuxtuto.com/wp-content/uploads/2024/01/odoo_17-900x415.webp" alt="Odoo 17" width="900" height="415" srcset="https://www.linuxtuto.com/wp-content/uploads/2024/01/odoo_17-900x415.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2024/01/odoo_17-300x138.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2024/01/odoo_17-768x355.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2024/01/odoo_17-1536x709.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2024/01/odoo_17-1222x564.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2024/01/odoo_17-897x414.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2024/01/odoo_17-684x316.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2024/01/odoo_17.webp 1915w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<h2><span class="has-inline-color has-vivid-purple-color">Comments and Conclusion</span></h2>
<p>Congratulations! You have successfully configured <code>Odoo</code> with Apache 2 as Reverse Proxy on your Debian 12 OS.</p>
<p>For additional information, you can check <a href="https://www.odoo.com/documentation/" target="_blank" rel="noopener">the official Odoo documentation</a>.</p>
<p>If you have any questions please leave a comment below.</p>
<div id="bshare-social" class="baby-sideshare share-content after-content icon show">
<div class="share_hide_show content_hide_show"></div>
</div>
<p>The post <a href="https://www.linuxtuto.com/how-to-configure-odoo-with-apache-as-reverse-proxy-on-debian-12/">How to Configure Odoo with Apache as Reverse Proxy on Debian 12</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-apache-as-reverse-proxy-on-debian-12/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1672</post-id>	</item>
		<item>
		<title>How to Install RainLoop on Debian 12</title>
		<link>https://www.linuxtuto.com/how-to-install-rainloop-on-debian-12/</link>
					<comments>https://www.linuxtuto.com/how-to-install-rainloop-on-debian-12/#respond</comments>
		
		<dc:creator><![CDATA[LinuxTuto]]></dc:creator>
		<pubDate>Thu, 28 Dec 2023 13:30:11 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Let's Encrypt]]></category>
		<category><![CDATA[MariaDB]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[RainLoop]]></category>
		<guid isPermaLink="false">https://www.linuxtuto.com/?p=1656</guid>

					<description><![CDATA[<p>RainLoop is an open-source web-based email client that allows users to access their email accounts through a web browser. It provides a user-friendly interface for...</p>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-rainloop-on-debian-12/">How to Install RainLoop on Debian 12</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>RainLoop is an open-source web-based email client that allows users to access their email accounts through a web browser. It provides a user-friendly interface for managing emails, contacts, and other related tasks without the need for a dedicated email client like Outlook or Thunderbird.</p>
<p>It is designed to be lightweight, fast, and easy to install, making it a popular choice for those who want a simple webmail solution.</p>
<p>In this tutorial, we will show you how to install RainLoop on Debian 12 OS with Nginx web server and MariaDB database server..</p>
<h2><span class="has-inline-color has-vivid-purple-color">Step 1: Update Operating System</span></h2>
<p>Update your <b>Debian 12</b> operating system to the latest version with the following command:</p>
<pre><code># apt update &amp;&amp; apt upgrade</code></pre>
<p>Also, install necessary packages.</p>
<pre><code translate="no"># apt install curl nano wget unzip zip</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 2: Install Nginx webserver</span></h2>
<p>You can install it via <code>apt</code> package manager by executing the following command.</p>
<pre><code># apt install nginx</code></pre>
<p>Verify the status of the <strong>Nginx</strong> service using <code>systemctl status</code> command:</p>
<pre><code># systemctl status nginx</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 3: </span><span class="has-inline-color has-vivid-purple-color">Install PHP</span></h2>
<p>To install PHP and the necessary extensions, run the following command:</p>
<pre><code># apt install php php-cli php-fpm php-json php-common php-mysql php-zip php-imap php-mbstring php-curl php-xml</code></pre>
<p>Once the installation is complete verify if PHP is installed:</p>
<pre><code>php -v</code></pre>
<pre><code>Output:
PHP 8.2.12 (cli) (built: Oct 27 2023 13:00:10) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.12, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.12, Copyright (c), by Zend Technologies
</code></pre>
<p>After installing all the packages, edit the php.ini file:</p>
<pre><code># nano /etc/php/8.2/fpm/php.ini</code></pre>
<p>Change the following settings per your requirements:</p>
<pre><code>max_execution_time = 300
memory_limit = 512M
post_max_size = 25M
upload_max_filesize = 25M</code></pre>
<p>To implement the changes, restart the <strong>php-fpm</strong> service:</p>
<pre><code># systemctl restart php8.2-fpm</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 4: Install MariaDB and create a database</span></h2>
<p>To install MariaDB run the following command:</p>
<pre><code># apt install mariadb-server mariadb-client</code></pre>
<p>Verify the status of the MariaDB service using <strong>systemctl status</strong> command:</p>
<pre><code># systemctl status mariadb</code></pre>
<p>By default, MariaDB is not hardened. You can secure MariaDB using the <code class=" prettyprinted"><span class="pln">mysql_secure_installation</span></code> script.</p>
<pre><code># mysql_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>
<p>Now run the command below to log in to the MariaDB shell.</p>
<pre><code># mysql -u root -p</code></pre>
<p>Once you are logged in to your database server you need to create a database for the Roundcube installation:</p>
<pre><code>mysql&gt; CREATE DATABASE rainloop;
mysql&gt; CREATE USER 'rainloopuser'@'localhost' IDENTIFIED BY 'Str0ngPa$$word';
mysql&gt; GRANT ALL PRIVILEGES ON rainloop . * TO 'rainloopuser'@'localhost';
mysql&gt; FLUSH PRIVILEGES;
mysql&gt; exit;</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 5: Download RainLoop</span></h2>
<p>You can download the latest stable release version for RainLoop with the following command:</p>
<pre><code># https://www.rainloop.net/repository/webmail/rainloop-latest.zip</code></pre>
<p>After that, you will need to decompress the RainLoop archive:</p>
<pre><code># unzip rainloop-latest.zip -d /var/www/rainloop/</code></pre>
<p class="has-line-data">Make Nginx the owner of the <code>rainloop</code> folder and grant it sufficient permissions.</p>
<pre><code># chown -R www-data:www-data /var/www/rainloop
# chmod 755 -R /var/www/rainloop</code></pre>
<h2><span class="has-inline-color has-vivid-purple-color">Step 6: Configure Nginx for RainLoop</span></h2>
<p>Then, create an virtual host configuration file:</p>
<pre><code># nano /etc/nginx/conf.d/rainloop.conf</code></pre>
<p>Add the following lines:</p>
<pre><code>server {

listen 80;

   server_name webmail.your-domain.com;
   root /var/www/rainloop;

   index index.php;

location / {
        try_files $uri $uri/ /index.php?$query_string;
   }

location ~ \.php$ {
        fastcgi_index index.php;
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_keep_conn on;
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

location ^~ /data {
        deny all;
    }

}
</code></pre>
<p>Save and exit the configuration file.</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>
<h2><span class="has-inline-color has-vivid-purple-color">Step 7: Install free Let’s Encrypt SSL certificate</span></h2>
<p>First we need to install the Certbot client which is used to <a href="https://www.linuxtuto.com/how-to-secure-nginx-with-lets-encrypt-on-ubuntu-22-04/">create Let’s Encrypt certificates</a>:</p>
<pre><code># apt install certbot python3-certbot-nginx</code></pre>
<p>To get the SSL certificate using the Certbot, type the command given below:</p>
<pre><code># certbot --nginx -d webmail.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>IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/webmail.your-domain.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/webmail.your-domain.com/privkey.pem
   Your cert will expire on 2024-03-06. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - 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 8: RainLoop Setup and Configurations</span></h2>
<p>Now open your web browser and go to <code>https://webmail.your-domain.com/?admin</code> and you will see the following screen:</p>
<p><img decoding="async" class="aligncenter size-large wp-image-1657" src="https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_001-900x416.webp" alt="RainLoop administrator login page" width="900" height="416" srcset="https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_001-900x416.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_001-300x139.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_001-768x355.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_001-1536x709.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_001-1222x564.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_001-897x414.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_001-684x316.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_001.webp 1912w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<p>You can log in with the default username <strong>admin</strong> and default password <strong>12345</strong></p>
<p>You will see the Rainloop dashboard as below:</p>
<p><img decoding="async" class="aligncenter size-large wp-image-1659" src="https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_002-900x415.webp" alt="RainLoop admin dashboard" width="900" height="415" srcset="https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_002-900x415.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_002-300x138.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_002-768x354.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_002-1536x708.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_002-1222x563.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_002-897x413.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_002-684x315.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_002.webp 1919w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<p>When you login for the first time, you need to change your <strong>admin</strong> password immediately.</p>
<p><img decoding="async" class="aligncenter wp-image-1662 size-large" src="https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_003-900x418.webp" alt="Admin Panel Access Credentials" width="900" height="418" srcset="https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_003-900x418.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_003-300x139.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_003-768x357.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_003-1536x713.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_003-1222x568.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_003-897x417.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_003-684x318.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_003.webp 1914w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<p>Enter your new password and click on the <strong>Update</strong> <strong>Password</strong> button to change the password.</p>
<p>Then, open the <strong>Contacts</strong> menu and select <strong>MySQL</strong> from the dropdown menu:</p>
<p><img decoding="async" class="aligncenter size-large wp-image-1663" src="https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_004-900x417.webp" alt="RainLoop MySQL configuration" width="900" height="417" srcset="https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_004-900x417.webp 900w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_004-300x139.webp 300w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_004-768x356.webp 768w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_004-1536x712.webp 1536w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_004-1222x566.webp 1222w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_004-897x416.webp 897w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_004-684x317.webp 684w, https://www.linuxtuto.com/wp-content/uploads/2023/12/rainloop_004.webp 1917w" sizes="(max-width: 900px) 100vw, 900px" /></p>
<p>Enter the database credentials you created earlier and press the <strong>Test</strong> button to check the connection and install the necessary tables.</p>
<p>If the button turns green, it means the connection is successful.</p>
<h2><span class="has-inline-color has-vivid-purple-color">Comments and Conclusion</span></h2>
<p>Congratulations. You have learned how to install RainLoop on Debian 12 OS.</p>
<p>For additional help or useful information, we recommend you to check  <a href="https://www.rainloop.net/docs" target="_blank" rel="noopener">the official RainLoop documentation.</a></p>
<p>The post <a href="https://www.linuxtuto.com/how-to-install-rainloop-on-debian-12/">How to Install RainLoop on Debian 12</a> appeared first on <a href="https://www.linuxtuto.com">LinuxTuto</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.linuxtuto.com/how-to-install-rainloop-on-debian-12/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1656</post-id>	</item>
	</channel>
</rss>
