<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Rajib Ahmed</title>
    <description>The latest articles on Forem by Rajib Ahmed (@rajibdpi).</description>
    <link>https://forem.com/rajibdpi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1133138%2F9ed94986-edba-4eaa-b5fc-f128c3846bdc.jpg</url>
      <title>Forem: Rajib Ahmed</title>
      <link>https://forem.com/rajibdpi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/rajibdpi"/>
    <language>en</language>
    <item>
      <title>fixing Ubuntu login issues, including login loops, .Xauthority problems, and home directory permission issues.</title>
      <dc:creator>Rajib Ahmed</dc:creator>
      <pubDate>Mon, 16 Feb 2026 16:19:14 +0000</pubDate>
      <link>https://forem.com/rajibdpi/fixing-ubuntu-login-issues-including-login-loops-xauthority-problems-and-home-directory-3joj</link>
      <guid>https://forem.com/rajibdpi/fixing-ubuntu-login-issues-including-login-loops-xauthority-problems-and-home-directory-3joj</guid>
      <description>&lt;h1&gt;
  
  
  fixing Ubuntu login issues, including login loops, .Xauthority problems, and home directory permission issues.
&lt;/h1&gt;

&lt;p&gt;A comprehensive solution for fixing common Ubuntu login issues, including login loops, .Xauthority problems, and home directory permission issues.&lt;/p&gt;

&lt;h2&gt;
  
  
  🚨 Common Ubuntu Login Issues
&lt;/h2&gt;

&lt;p&gt;This script addresses the following common login problems:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Login Loop&lt;/strong&gt; - You enter your password correctly, but the screen goes black and returns to the login screen&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;.Xauthority Issues&lt;/strong&gt; - Corrupted X authority files preventing GUI login&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Home Directory Permission Problems&lt;/strong&gt; - Incorrect ownership or permissions on home directory&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Temporary Profile&lt;/strong&gt; - System creating temporary profiles due to file access issues&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Display Manager Problems&lt;/strong&gt; - Issues with GDM3, LightDM, or SDDM configuration&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  📋 Prerequisites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Ubuntu/Debian-based Linux distribution&lt;/li&gt;
&lt;li&gt;Root/sudo access&lt;/li&gt;
&lt;li&gt;Access to TTY console (Ctrl+Alt+F3)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🚀 Quick Start
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Direct Run From &lt;a href="https://github.com/rajibdpi/ubuntu-login" rel="noopener noreferrer"&gt;GitHub Repo&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Run the script directly without downloading a local file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/rajibdpi/ubuntu-login/main/fix.sh | &lt;span class="nb"&gt;sudo &lt;/span&gt;bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  From the Login Screen
&lt;/h3&gt;

&lt;p&gt;If you're stuck at the login screen:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Press &lt;code&gt;Ctrl+Alt+F3&lt;/code&gt; to access a text console&lt;/li&gt;
&lt;li&gt;Login with your username and password&lt;/li&gt;
&lt;li&gt;Run the fix script directly from GitHub:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Run the script (will auto-detect your username)&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/rajibdpi/ubuntu-login/main/fix.sh | &lt;span class="nb"&gt;sudo &lt;/span&gt;bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Manual Usage
&lt;/h3&gt;

&lt;p&gt;If auto-detection picks the wrong user, set the target explicitly:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/rajibdpi/ubuntu-login/main/fix.sh | &lt;span class="nb"&gt;sudo &lt;/span&gt;bash &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="nt"&gt;--&lt;/span&gt; &lt;span class="nt"&gt;--user&lt;/span&gt; username
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace &lt;code&gt;username&lt;/code&gt; with the actual username that has login issues.&lt;/p&gt;

&lt;h3&gt;
  
  
  Optional: Reset GNOME User Config
&lt;/h3&gt;

&lt;p&gt;If login issues are caused by broken GNOME user settings/extensions, run with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/rajibdpi/ubuntu-login/main/fix.sh | &lt;span class="nb"&gt;sudo &lt;/span&gt;bash &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="nt"&gt;--&lt;/span&gt; &lt;span class="nt"&gt;--reset-gnome&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🔧 What the Script Does
&lt;/h2&gt;

&lt;p&gt;The script performs the following fixes:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Auto-Detects Target User
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Uses &lt;code&gt;SUDO_USER&lt;/code&gt; first&lt;/li&gt;
&lt;li&gt;Falls back to &lt;code&gt;logname&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Final fallback is first regular local user (UID &amp;gt;= 1000)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Fixes &lt;code&gt;.Xauthority&lt;/code&gt; and &lt;code&gt;.ICEauthority&lt;/code&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Backs up existing files with timestamp suffix&lt;/li&gt;
&lt;li&gt;Removes broken authority files that can cause login loops&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Repairs Ownership and PATH in User Shell Files
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Runs ownership repair on the user home directory&lt;/li&gt;
&lt;li&gt;Backs up &lt;code&gt;.profile&lt;/code&gt;, &lt;code&gt;.bashrc&lt;/code&gt;, &lt;code&gt;.bash_profile&lt;/code&gt;, &lt;code&gt;.zprofile&lt;/code&gt;, &lt;code&gt;.zshrc&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Appends a safe PATH export to &lt;code&gt;.profile&lt;/code&gt; and &lt;code&gt;.bashrc&lt;/code&gt; if missing&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Repairs Core Desktop/Login Packages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Runs &lt;code&gt;apt-get update&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Runs &lt;code&gt;apt-get -f install -y&lt;/code&gt; and &lt;code&gt;dpkg --configure -a&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Reinstalls &lt;code&gt;gdm3&lt;/code&gt;, &lt;code&gt;gnome-shell&lt;/code&gt;, &lt;code&gt;ubuntu-session&lt;/code&gt;, and &lt;code&gt;xorg&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Enables &lt;code&gt;gdm3&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. Optional GNOME Profile Reset
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;With &lt;code&gt;--reset-gnome&lt;/code&gt;, backs up and resets:

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;.config&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.local/share&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.cache&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  6. Rewrites Global PATH in &lt;code&gt;/etc/environment&lt;/code&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Backs up existing &lt;code&gt;/etc/environment&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Rewrites it to:

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  ⚠️ Safety Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Creates backups of all files before modification&lt;/li&gt;
&lt;li&gt;Validates target user and home directory before making changes&lt;/li&gt;
&lt;li&gt;Requires root privileges for safety&lt;/li&gt;
&lt;li&gt;Uses strict Bash mode (&lt;code&gt;set -euo pipefail&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🔍 Troubleshooting
&lt;/h2&gt;

&lt;p&gt;If the script doesn't resolve your issue, try these additional steps:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Check System Logs
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;journalctl &lt;span class="nt"&gt;-xe&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Reconfigure Display Manager
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# For GDM3&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;dpkg-reconfigure gdm3

&lt;span class="c"&gt;# For LightDM&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;dpkg-reconfigure lightdm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Check for Disk Space Issues
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;df&lt;/span&gt; &lt;span class="nt"&gt;-h&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If your disk is full, clean up space:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Clean apt cache&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get clean

&lt;span class="c"&gt;# Remove old kernels&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get autoremove
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Verify Home Directory Permissions
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;ls&lt;/span&gt; &lt;span class="nt"&gt;-la&lt;/span&gt; /home/username
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The home directory should be owned by the user with 755 permissions.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Check Authentication Logs
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo tail&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; /var/log/auth.log
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  6. Try Creating a New User
&lt;/h3&gt;

&lt;p&gt;As a test, create a new user to see if the issue is system-wide:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;adduser testuser
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🐛 Known Limitations
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The script must be run from a TTY console or SSH session, not from the GUI&lt;/li&gt;
&lt;li&gt;Requires sudo/root access&lt;/li&gt;
&lt;li&gt;Reinstalling packages requires network access to apt repositories&lt;/li&gt;
&lt;li&gt;The script rewrites &lt;code&gt;/etc/environment&lt;/code&gt; PATH to a known-safe value&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  💡 Prevention Tips
&lt;/h2&gt;

&lt;p&gt;To avoid login issues in the future:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Regular Backups&lt;/strong&gt; - Keep backups of your home directory&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitor Disk Space&lt;/strong&gt; - Keep at least 10% free space&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Careful with Permissions&lt;/strong&gt; - Avoid using &lt;code&gt;sudo&lt;/code&gt; with GUI applications&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Update Regularly&lt;/strong&gt; - Keep your system updated&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Graceful Shutdowns&lt;/strong&gt; - Always shutdown properly to avoid file corruption&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  🤝 Contributing
&lt;/h2&gt;

&lt;p&gt;Contributions are welcome! Please feel free to submit issues or pull requests.&lt;/p&gt;

&lt;h2&gt;
  
  
  📄 License
&lt;/h2&gt;

&lt;p&gt;This project is licensed under the GNU General Public License v3.0 - see the &lt;a href="https://dev.toLICENSE"&gt;LICENSE&lt;/a&gt; file for details.&lt;/p&gt;

&lt;h2&gt;
  
  
  🙏 Acknowledgments
&lt;/h2&gt;

&lt;p&gt;This script was created to help users resolve common Ubuntu login issues based on community solutions and best practices.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚡ Emergency Recovery
&lt;/h2&gt;

&lt;p&gt;If you cannot access TTY console:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Boot from Ubuntu Live USB&lt;/li&gt;
&lt;li&gt;Mount your main partition&lt;/li&gt;
&lt;li&gt;Chroot into your system&lt;/li&gt;
&lt;li&gt;Run the fix script&lt;/li&gt;
&lt;li&gt;Reboot&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;mount /dev/sdaX /mnt
&lt;span class="nb"&gt;sudo &lt;/span&gt;mount &lt;span class="nt"&gt;--bind&lt;/span&gt; /dev /mnt/dev
&lt;span class="nb"&gt;sudo &lt;/span&gt;mount &lt;span class="nt"&gt;--bind&lt;/span&gt; /proc /mnt/proc
&lt;span class="nb"&gt;sudo &lt;/span&gt;mount &lt;span class="nt"&gt;--bind&lt;/span&gt; /sys /mnt/sys
&lt;span class="nb"&gt;sudo chroot&lt;/span&gt; /mnt
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/rajibdpi/ubuntu-login/main/fix.sh | bash
&lt;span class="nb"&gt;exit
sudo &lt;/span&gt;reboot
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace &lt;code&gt;/dev/sdaX&lt;/code&gt; with your actual root partition.&lt;/p&gt;

</description>
      <category>loginloops</category>
      <category>xauthorityproblems</category>
      <category>ubuntu</category>
      <category>xauthority</category>
    </item>
    <item>
      <title>Install and Run Let's Encrypt Certbot Every 60 Days with systemd Timer</title>
      <dc:creator>Rajib Ahmed</dc:creator>
      <pubDate>Sat, 21 Jun 2025 19:00:07 +0000</pubDate>
      <link>https://forem.com/rajibdpi/install-and-run-lets-encrypt-certbot-every-60-days-with-systemd-timer-4h9n</link>
      <guid>https://forem.com/rajibdpi/install-and-run-lets-encrypt-certbot-every-60-days-with-systemd-timer-4h9n</guid>
      <description>&lt;h1&gt;
  
  
  Install and Run Let's Encrypt Certbot Every 60 Days with systemd Timer
&lt;/h1&gt;

&lt;p&gt;If you're managing Let's Encrypt SSL certificates on a Linux server, you probably use &lt;strong&gt;Certbot&lt;/strong&gt; to automate SSL issuance and renewal. By default, Certbot is configured to renew certificates every 60 days using a systemd timer (&lt;code&gt;certbot.timer&lt;/code&gt;) or a cron job. But what if you want to &lt;strong&gt;install Certbot&lt;/strong&gt; and then enforce exactly every 60 days using &lt;code&gt;systemd&lt;/code&gt;?&lt;/p&gt;

&lt;p&gt;This post shows you how to install Certbot and customize the &lt;code&gt;certbot.timer&lt;/code&gt; to renew certificates every &lt;strong&gt;60 days&lt;/strong&gt; using &lt;code&gt;systemd&lt;/code&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 Install Certbot
&lt;/h2&gt;

&lt;p&gt;Depending on your Linux distribution, use one of the following commands:&lt;/p&gt;

&lt;h3&gt;
  
  
  For Debian/Ubuntu:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;certbot python3-certbot-nginx &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  For CentOS/RHEL:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;dnf &lt;span class="nb"&gt;install &lt;/span&gt;epel-release
&lt;span class="nb"&gt;sudo &lt;/span&gt;dnf &lt;span class="nb"&gt;install &lt;/span&gt;certbot python3-certbot-nginx &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🔐 Obtain a Certificate (One-time setup)
&lt;/h2&gt;

&lt;p&gt;Replace &lt;code&gt;example.com&lt;/code&gt; with your actual domain:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;certbot &lt;span class="nt"&gt;--nginx&lt;/span&gt; &lt;span class="nt"&gt;-d&lt;/span&gt; example.com &lt;span class="nt"&gt;-d&lt;/span&gt; www.example.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Follow the prompts to complete the certificate issuance and Nginx configuration.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔁 Why 60 Days?
&lt;/h2&gt;

&lt;p&gt;Let's Encrypt certificates are valid for &lt;strong&gt;90 days&lt;/strong&gt;, and the official recommendation is to renew at or before 60 days to avoid the risk of expiry due to failures or downtimes.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;✅ Recommended: Automate renewals every 60 days for safety and peace of mind.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  ⚙️ Set Up systemd Timer to Run Every 60 Days
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1️⃣ Open the Certbot Timer Override
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl edit certbot.timer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  2️⃣ Add the Override Configuration
&lt;/h3&gt;

&lt;p&gt;Paste the following lines:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ini"&gt;&lt;code&gt;&lt;span class="nn"&gt;[Timer]&lt;/span&gt;
&lt;span class="py"&gt;OnCalendar&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;
&lt;span class="py"&gt;OnBootSec&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;10min&lt;/span&gt;
&lt;span class="py"&gt;OnUnitActiveSec&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;5184000&lt;/span&gt;
&lt;span class="py"&gt;Persistent&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  💡 What This Means:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;OnCalendar=&lt;/code&gt;: Clears the default calendar schedule.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;OnBootSec=10min&lt;/code&gt;: Waits 10 minutes after boot before the first run.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;OnUnitActiveSec=5184000&lt;/code&gt;: Runs the timer &lt;strong&gt;every 60 days&lt;/strong&gt; (60 × 24 × 60 × 60 = 5,184,000 seconds).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Persistent=true&lt;/code&gt;: Ensures missed events run at the next boot (if the server was off).&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  3️⃣ Save and Exit
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;If using &lt;code&gt;nano&lt;/code&gt;, press &lt;code&gt;Ctrl + O&lt;/code&gt; then &lt;code&gt;Enter&lt;/code&gt;, and then &lt;code&gt;Ctrl + X&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  4️⃣ Apply the Changes
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl daemon-reexec
&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl restart certbot.timer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  5️⃣ Confirm It’s Working
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;systemctl list-timers certbot.timer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NEXT                         LEFT       LAST                         PASSED     UNIT            ACTIVATES
Sat 2025-08-21 00:00:00 UTC  60d left   Sun 2025-06-22 00:00:00 UTC  1min ago   certbot.timer   certbot.service
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🔍 Bonus: Check Certificate Expiry Date
&lt;/h2&gt;

&lt;p&gt;To manually check your current certificate’s expiry date:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openssl x509 &lt;span class="nt"&gt;-in&lt;/span&gt; /etc/letsencrypt/live/YOURDOMAIN/fullchain.pem &lt;span class="nt"&gt;-noout&lt;/span&gt; &lt;span class="nt"&gt;-enddate&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  ✅ Conclusion
&lt;/h2&gt;

&lt;p&gt;Using systemd's powerful timers, you can fully automate Certbot to renew every &lt;strong&gt;60 days&lt;/strong&gt; — following best practices for secure and reliable SSL management.&lt;/p&gt;

&lt;p&gt;Just be sure to monitor for errors, and consider using email or system logs to stay informed about renewal status.&lt;/p&gt;




</description>
      <category>letsencrypt</category>
      <category>certbot</category>
      <category>apache2</category>
      <category>nginx</category>
    </item>
    <item>
      <title>FileBrowser is an excellent Web-Based File Manager</title>
      <dc:creator>Rajib Ahmed</dc:creator>
      <pubDate>Mon, 02 Sep 2024 17:04:02 +0000</pubDate>
      <link>https://forem.com/rajibdpi/filebrowser-is-an-excellent-web-based-file-manager-19j4</link>
      <guid>https://forem.com/rajibdpi/filebrowser-is-an-excellent-web-based-file-manager-19j4</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/filebrowser/filebrowser" rel="noopener noreferrer"&gt;FileBrowser&lt;/a&gt;&lt;/strong&gt; is a web-based file manager that allows users to manage files and directories on a server through a browser interface. It provides a simple and intuitive way to perform file operations like uploading, downloading, deleting, renaming, and editing files, as well as managing directories. Here’s how FileBrowser works:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;Architecture Overview&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Backend&lt;/strong&gt;: &lt;a href="https://github.com/filebrowser/filebrowser" rel="noopener noreferrer"&gt;FileBrowser&lt;/a&gt; is written in Go, a statically-typed, compiled language known for its simplicity and efficiency. The backend handles file operations, authentication, and communication with the frontend.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Frontend&lt;/strong&gt;: The frontend is built with HTML, CSS, and JavaScript, providing a user-friendly interface. It communicates with the backend via HTTP/HTTPS requests, sending commands to the backend and receiving data in return.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Database&lt;/strong&gt;: &lt;a href="https://github.com/filebrowser/filebrowser" rel="noopener noreferrer"&gt;FileBrowser&lt;/a&gt; uses a SQLite database to store user accounts, permissions, and settings. The database file is typically named &lt;code&gt;filebrowser.db&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;Key Features&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;File Management&lt;/strong&gt;: Users can browse directories, view files, upload and download files, and perform file operations like rename, move, copy, and delete.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;User Management&lt;/strong&gt;: &lt;a href="https://github.com/filebrowser/filebrowser" rel="noopener noreferrer"&gt;FileBrowser&lt;/a&gt;allows you to create multiple user accounts with different permissions. This means you can control who has access to specific directories and what operations they can perform.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Authentication&lt;/strong&gt;: Users can be authenticated using basic credentials (username and password). The backend manages user sessions and controls access based on the defined permissions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Customizability&lt;/strong&gt;: You can customize the appearance and behavior of FileBrowser by modifying the configuration, adding themes, and using custom CSS.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security&lt;/strong&gt;: &lt;a href="https://github.com/filebrowser/filebrowser" rel="noopener noreferrer"&gt;FileBrowser&lt;/a&gt; supports HTTPS, which can be enabled to secure the connection between the user’s browser and the server. It also allows setting up access control to restrict users to specific directories and actions.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;How It Works: Step-by-Step&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;1. Starting the Server&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;When you start &lt;a href="https://github.com/filebrowser/filebrowser" rel="noopener noreferrer"&gt;FileBrowser&lt;/a&gt;, it initializes a web server (usually on port 8080).&lt;/li&gt;
&lt;li&gt;The server loads configurations from the &lt;code&gt;filebrowser.db&lt;/code&gt; database, including user accounts, settings, and the root directory from which users can browse files.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;2. User Authentication&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;When a user attempts to access the &lt;a href="https://github.com/filebrowser/filebrowser" rel="noopener noreferrer"&gt;FileBrowser&lt;/a&gt;interface, they are prompted to log in.&lt;/li&gt;
&lt;li&gt;The username and password are checked against the stored credentials in the database.&lt;/li&gt;
&lt;li&gt;Upon successful authentication, a session is created, allowing the user to interact with the file system.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;3. File Operations&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Browsing&lt;/strong&gt;: Users can navigate the directory structure starting from the root directory specified during FileBrowser setup.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Uploading&lt;/strong&gt;: Files can be uploaded directly through the web interface, where they are stored on the server in the selected directory.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Downloading&lt;/strong&gt;: Users can download files by clicking on them, which sends the file from the server to the user's device.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Editing&lt;/strong&gt;: Text files can be edited directly within the browser, with changes being saved back to the server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deleting and Renaming&lt;/strong&gt;: Files and directories can be deleted or renamed via the interface, with changes reflected immediately on the server.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;4. User Interface&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;The frontend displays files and directories in a hierarchical view.&lt;/li&gt;
&lt;li&gt;Users can switch between different views (e.g., list view, grid view).&lt;/li&gt;
&lt;li&gt;The interface includes options for file searching, sorting, and filtering.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;5. Customization and Theming&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Admin users can customize the appearance of FileBrowser by applying themes, modifying CSS, or adding custom branding.&lt;/li&gt;
&lt;li&gt;Configuration settings, including user permissions and directory access, can be adjusted through the admin panel.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;6. Security and SSL&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;To secure the connection, &lt;a href="https://github.com/filebrowser/filebrowser" rel="noopener noreferrer"&gt;FileBrowser&lt;/a&gt; can be configured to use HTTPS by providing an SSL certificate and key.&lt;/li&gt;
&lt;li&gt;Access controls allow the admin to restrict user actions, such as preventing certain users from deleting or editing files.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;Deployment&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/filebrowser/filebrowser" rel="noopener noreferrer"&gt;FileBrowser&lt;/a&gt; can be deployed on various platforms, including Linux, Windows, and macOS. It can run as a standalone application or as a service, and it can be integrated into existing infrastructure, such as a web server like Apache or Nginx.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Running as a Service&lt;/strong&gt;: On Linux, &lt;a href="https://github.com/filebrowser/filebrowser" rel="noopener noreferrer"&gt;FileBrowser&lt;/a&gt; can be run as a systemd service, ensuring it starts automatically with the system and runs in the background.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker&lt;/strong&gt;: FileBrowser is also available as a Docker image, making it easy to deploy in containerized environments.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. &lt;strong&gt;Usage Scenarios&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Personal File Management&lt;/strong&gt;: &lt;a href="https://github.com/filebrowser/filebrowser" rel="noopener noreferrer"&gt;FileBrowser&lt;/a&gt; can be used by individuals to manage their files on a personal server, providing remote access to their data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shared Hosting&lt;/strong&gt;: Web hosting providers can offer FileBrowser to their clients as a file management tool.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Corporate File Sharing&lt;/strong&gt;: Organizations can use FileBrowser for secure file sharing among employees, with access controls tailored to different user roles.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/filebrowser/filebrowser" rel="noopener noreferrer"&gt;FileBrowser&lt;/a&gt; is a versatile and powerful tool for managing files on a server via a web interface. It provides a simple, secure, and customizable platform for file management, making it suitable for both personal and professional use. Whether you're hosting it on a local server or in the cloud, FileBrowser simplifies file operations and offers robust features for user management and security.&lt;/p&gt;

</description>
      <category>filebrowser</category>
      <category>cloudstorage</category>
      <category>go</category>
      <category>vue</category>
    </item>
    <item>
      <title>FileBrowser (Service) Configuring to work with Apache2 as a reverse proxy on Ubuntu 24.04</title>
      <dc:creator>Rajib Ahmed</dc:creator>
      <pubDate>Mon, 02 Sep 2024 17:00:53 +0000</pubDate>
      <link>https://forem.com/rajibdpi/filebrowser-service-configuring-to-work-with-apache2-as-a-reverse-proxy-on-ubuntu-2404-4db1</link>
      <guid>https://forem.com/rajibdpi/filebrowser-service-configuring-to-work-with-apache2-as-a-reverse-proxy-on-ubuntu-2404-4db1</guid>
      <description>&lt;p&gt;FileBrowser service by configuring it to work with Apache2 as a reverse proxy on Ubuntu 24.04. Here’s how you can set it up:&lt;/p&gt;

&lt;p&gt;Step 1: Install Apache2&lt;br&gt;
First, ensure that Apache2 is installed and running on your system:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;bash&lt;br&gt;
sudo apt update&lt;br&gt;
sudo apt install apache2&lt;br&gt;
sudo systemctl start apache2&lt;br&gt;
sudo systemctl enable apache2&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
Step 2: Install and Configure FileBrowser&lt;br&gt;
Download and set up FileBrowser:&lt;/p&gt;

&lt;p&gt;Download FileBrowser:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;bash&lt;br&gt;
curl -fsSL https://filebrowser.org/cli.sh | bash&lt;/code&gt;&lt;br&gt;
Run FileBrowser:&lt;br&gt;
&lt;code&gt;bash&lt;br&gt;
filebrowser -r /path/to/your/files&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
Access FileBrowser: You should now be able to access FileBrowser locally at &lt;a href="http://127.0.0.1:8080" rel="noopener noreferrer"&gt;http://127.0.0.1:8080&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Step 3: Configure Apache2 as a Reverse Proxy&lt;br&gt;
To make FileBrowser accessible through Apache2, configure Apache2 as a reverse proxy:&lt;/p&gt;

&lt;p&gt;Enable the necessary Apache2 modules:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;a2enmod proxy
&lt;span class="nb"&gt;sudo &lt;/span&gt;a2enmod proxy_http
&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl restart apache2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a new virtual host file for FileBrowser:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;bash&lt;br&gt;
sudo nano /etc/apache2/sites-available/filebrowser.conf&lt;/code&gt;&lt;br&gt;
Add the following configuration:&lt;/p&gt;

&lt;p&gt;`apache&lt;br&gt;
&lt;br&gt;
    ServerAdmin webmaster@localhost&lt;br&gt;
    DocumentRoot /var/www/html&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/

ErrorLog ${APACHE_LOG_DIR}/filebrowser_error.log
CustomLog ${APACHE_LOG_DIR}/filebrowser_access.log combined
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;`&lt;br&gt;
Enable the new virtual host:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;bash&lt;br&gt;
sudo a2ensite filebrowser.conf&lt;br&gt;
sudo systemctl reload apache2&lt;/code&gt;&lt;br&gt;
Step 4: Access FileBrowser via Apache2&lt;br&gt;
You should now be able to access FileBrowser via your domain or IP through Apache2.&lt;/p&gt;

&lt;p&gt;If you want to run FileBrowser as a system service, you can create a service file:&lt;/p&gt;

&lt;p&gt;Create a service file:&lt;br&gt;
&lt;code&gt;bash&lt;br&gt;
sudo nano /etc/systemd/system/filebrowser.service&lt;/code&gt;&lt;br&gt;
Add the following content:&lt;/p&gt;

&lt;p&gt;`ini&lt;br&gt;
[Unit]&lt;br&gt;
Description=File Browser&lt;br&gt;
After=network.target&lt;/p&gt;

&lt;p&gt;[Service]&lt;br&gt;
User=www-data&lt;br&gt;
ExecStart=/usr/local/bin/filebrowser -r /path/to/your/files&lt;br&gt;
Restart=on-failure&lt;/p&gt;

&lt;p&gt;[Install]&lt;br&gt;
WantedBy=multi-user.target`&lt;/p&gt;

&lt;p&gt;Enable and start the service:&lt;br&gt;
&lt;code&gt;bash&lt;br&gt;
sudo systemctl enable filebrowser&lt;br&gt;
sudo systemctl start filebrowser&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This setup will ensure that FileBrowser is running and accessible through Apache2 on your Ubuntu 24.04 system.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>FileBrowser Installation Steps from Source Code on Ubuntu 24.04</title>
      <dc:creator>Rajib Ahmed</dc:creator>
      <pubDate>Sun, 01 Sep 2024 13:12:53 +0000</pubDate>
      <link>https://forem.com/rajibdpi/filebrowser-installation-steps-from-source-code-on-ubuntu-2404-370k</link>
      <guid>https://forem.com/rajibdpi/filebrowser-installation-steps-from-source-code-on-ubuntu-2404-370k</guid>
      <description>&lt;p&gt;FileBrowser from source on Ubuntu 24.04, follow these steps:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. &lt;strong&gt;Prerequisites&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Ensure you have the necessary tools and dependencies installed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; build-essential git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. &lt;strong&gt;Clone the FileBrowser Repository&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;FileBrowser's source code is hosted on GitHub. Clone the repository using &lt;code&gt;git&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/filebrowser/filebrowser.git
&lt;span class="nb"&gt;cd &lt;/span&gt;filebrowser/frontend &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; npm run build &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;cd&lt;/span&gt; ..

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. &lt;strong&gt;Build FileBrowser&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;FileBrowser is written in Go. You'll need Go installed to build it.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Install Go&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;If Go is not already installed, you can install it using the following commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; golang
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verify the installation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;go version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  &lt;strong&gt;Build FileBrowser&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;Navigate to the FileBrowser directory and build the application:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;go build &lt;span class="nt"&gt;-o&lt;/span&gt; filebrowser
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will create an executable file named &lt;code&gt;filebrowser&lt;/code&gt; in the current directory.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;Move the Executable&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Move the &lt;code&gt;filebrowser&lt;/code&gt; binary to a directory in your PATH, like &lt;code&gt;/usr/local/bin&lt;/code&gt;, so it can be easily executed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo mv &lt;/span&gt;filebrowser /usr/local/bin/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5. &lt;strong&gt;Create a Systemd Service File&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;To manage FileBrowser as a systemd service, create a service file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;nano /etc/systemd/system/filebrowser.service
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add the following content to the service file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ini"&gt;&lt;code&gt;&lt;span class="py"&gt;Description&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;File Browser&lt;/span&gt;
&lt;span class="py"&gt;After&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;network.target&lt;/span&gt;

&lt;span class="nn"&gt;[Service]&lt;/span&gt;
&lt;span class="py"&gt;User&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;yourusername&lt;/span&gt;
&lt;span class="py"&gt;Group&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;yourusername&lt;/span&gt;
&lt;span class="py"&gt;ExecStart&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;/usr/local/bin/filebrowser -r /path/to/your/root/directory&lt;/span&gt;
&lt;span class="py"&gt;Restart&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;on-failure&lt;/span&gt;

&lt;span class="nn"&gt;[Install]&lt;/span&gt;
&lt;span class="py"&gt;WantedBy&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;multi-user.target&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace &lt;code&gt;yourusername&lt;/code&gt; with your actual username and adjust the &lt;code&gt;ExecStart&lt;/code&gt; path if necessary.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. &lt;strong&gt;Reload Systemd and Start the Service&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Reload systemd to apply the new service configuration:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl daemon-reload
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start the FileBrowser service:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl start filebrowser
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Enable the service to start on boot:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl &lt;span class="nb"&gt;enable &lt;/span&gt;filebrowser
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  7. &lt;strong&gt;Configure FileBrowser&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;If needed, create a configuration file for FileBrowser or modify its default settings.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Configuration File&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;You can specify additional configurations using command-line options or by creating a configuration file. Check the &lt;a href="https://filebrowser.org/" rel="noopener noreferrer"&gt;FileBrowser documentation&lt;/a&gt; for detailed configuration options.&lt;/p&gt;

&lt;h3&gt;
  
  
  8. &lt;strong&gt;Verify the Installation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Check the status of the FileBrowser service to ensure it's running:&lt;/p&gt;

&lt;p&gt;bash&lt;/p&gt;

&lt;p&gt;Copy code&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl status filebrowser
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should see the service status as &lt;code&gt;active (running)&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  9. &lt;strong&gt;Access FileBrowser&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Open your web browser and navigate to &lt;code&gt;http://localhost:8080&lt;/code&gt; (or the port you configured) to access the FileBrowser web interface.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;By following these steps, you should be able to install FileBrowser from source on Ubuntu 24.04 and set it up to run as a systemd service. If you encounter any issues, refer to the FileBrowser &lt;a href="https://filebrowser.org/" rel="noopener noreferrer"&gt;documentation&lt;/a&gt; or check the service logs for more details.&lt;/p&gt;

</description>
      <category>filebrowser</category>
      <category>go</category>
      <category>cloudstorage</category>
      <category>opensource</category>
    </item>
    <item>
      <title>How to make automatically start the WSL services for ssh, apache2, mysql at Windows Startup</title>
      <dc:creator>Rajib Ahmed</dc:creator>
      <pubDate>Fri, 24 Nov 2023 10:30:40 +0000</pubDate>
      <link>https://forem.com/rajibdpi/how-to-make-automatically-run-the-wsl-services-for-ssh-apache2-mysql-at-windows-startup-3lmm</link>
      <guid>https://forem.com/rajibdpi/how-to-make-automatically-run-the-wsl-services-for-ssh-apache2-mysql-at-windows-startup-3lmm</guid>
      <description>&lt;h1&gt;
  
  
  How to make automatically run the WSL services for ssh, apache2, mysql at Startup:
&lt;/h1&gt;

&lt;p&gt;*&lt;em&gt;Step: 1 *&lt;/em&gt;&lt;br&gt;&lt;br&gt;
Add below lines in&lt;br&gt;
&lt;br&gt;
 &lt;code&gt;sudo nano /etc/sudoers&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
  WSL to prevent asking password:&lt;br&gt;
&lt;code&gt;&lt;br&gt;
%sudo   ALL=(ALL) NOPASSWD: /usr/sbin/service ssh start&lt;br&gt;
%sudo   ALL=(ALL) NOPASSWD: /usr/sbin/service apache2 start&lt;br&gt;
%sudo   ALL=(ALL) NOPASSWD: /usr/sbin/service mysql start&lt;br&gt;
&lt;/code&gt; &lt;br&gt;
*&lt;em&gt;Step: 2  *&lt;/em&gt;&lt;br&gt;&lt;br&gt;
Create wslservices.bat file in Windows startup directory:&lt;br&gt;&lt;br&gt;
&lt;code&gt;&lt;br&gt;
Press Win + R  and type shell:startup   &lt;br&gt;
&lt;/code&gt;&lt;br&gt;
*&lt;em&gt;Step: 3 *&lt;/em&gt;&lt;br&gt;&lt;br&gt;
Add these lines in wslservices.bat and save it.&lt;br&gt;
&lt;code&gt;&lt;br&gt;
wsl sudo service ssh start&lt;br&gt;
wsl sudo service apache2 start&lt;br&gt;
wsl sudo service mysql start&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
After restarting the host computer of WSL, services it will be start automatically.&lt;/p&gt;

</description>
      <category>wsl</category>
      <category>ssh</category>
      <category>apache2</category>
      <category>mysql</category>
    </item>
  </channel>
</rss>
