<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[FOG Server – Full Migration from an old HTTPS‑FOG to a new Server (Debian 12)]]></title><description><![CDATA[<h1>FOG Server – Full Migration from an old HTTPS‑FOG to a new Server (Debian 12)</h1>
<p dir="auto">This guide explains how to fully back up an older FOG server and restore it to a freshly installed server – especially for installations using HTTPS communication between server and clients.</p>
<p dir="auto"><img src="http://forums.fogproject.org/assets/plugins/nodebb-plugin-emoji/emoji/android/26a0.png?v=fsgu5qsff2i" class="not-responsive emoji emoji-android emoji--warning" style="height:23px;width:auto;vertical-align:middle" title=":warning:" alt="⚠" />️ Note:</p>
<ul>
<li>Modern FOG versions only allow TLS 1.2.</li>
<li>Older Windows FOG clients may not connect anymore → update required!</li>
</ul>
<ol>
<li>Create backup from the old FOG server</li>
</ol>
<p dir="auto">In the old FOG web interface:</p>
<p dir="auto">FOG Configuration → Configuration Save → Export Database → Export<br />
➜ Save the SQL backup</p>
<p dir="auto">Backup the SSL certificates:</p>
<pre><code>sudo bash -c '
set -euo pipefail

DEST="/root/fogcerts"
mkdir -p "$DEST/CA"

echo "[1/5] Collecting files …"
# Collect mandatory files (if present)
cp -a /opt/fog/snapins/ssl/.srvprivate.key            "$DEST/"           2&gt;/dev/null || true
cp -a /opt/fog/snapins/ssl/CA/.fogCA.key              "$DEST/CA/"        2&gt;/dev/null || true
cp -a /opt/fog/snapins/ssl/CA/.fogCA.pem              "$DEST/CA/"        2&gt;/dev/null || true
cp -a /opt/fog/snapins/ssl/CA/.fogCA.srl              "$DEST/CA/"        2&gt;/dev/null || true
cp -a /var/www/fog/management/other/ssl/srvpublic.crt "$DEST/"           2&gt;/dev/null || true
cp -a /var/www/fog/management/other/ca.cert.pem       "$DEST/"           2&gt;/dev/null || true
cp -a /var/www/fog/management/other/ca.cert.der       "$DEST/"           2&gt;/dev/null || true

# Optional helpful templates/CSR (if present)
cp -a /opt/fog/snapins/ssl/ca.cnf                     "$DEST/"           2&gt;/dev/null || true
cp -a /opt/fog/snapins/ssl/req.cnf                    "$DEST/"           2&gt;/dev/null || true
cp -a /opt/fog/snapins/ssl/fog.csr                    "$DEST/"           2&gt;/dev/null || true

echo "[2/5] Hardening permissions …"
chown -R root:root "$DEST"
chmod 700 "$DEST"
[ -f "$DEST/.srvprivate.key" ] &amp;&amp; chmod 600 "$DEST/.srvprivate.key"
[ -f "$DEST/CA/.fogCA.key"   ] &amp;&amp; chmod 600 "$DEST/CA/.fogCA.key"

echo "[3/5] Listing content …"
ls -lah "$DEST" || true
ls -lah "$DEST/CA" || true

echo "[4/5] Creating checksums …"
( cd "$DEST" &amp;&amp;   find . -type f \( -name "*.key" -o -name "*.crt" -o -name "*.pem" -o -name "*.der" \) -print0   | xargs -0 sha256sum &gt; SHA256SUMS.txt )

echo "[5/5] Creating archive …"
ARCH="/root/fogcerts_$(date +%F).tar.gz"
tar -czf "$ARCH" -C /root fogcerts
chmod 600 "$ARCH"

echo
echo "Done. Archive: $ARCH"
echo "To list archive content: tar -tzf $ARCH"
echo "To verify checksums: cat /root/fogcerts/SHA256SUMS.txt"
'
</code></pre>
<p dir="auto">Save the archive (e.g. fogcerts_YYYY-MM-DD.tar.gz) using WinSCP<br />
→ Old server may now be shut down</p>
<ol start="2">
<li>Prepare new Debian-12 server</li>
</ol>
<ul>
<li>Install Debian 12 without GUI but WITH SSH server</li>
<li>Allow root login via SSH (/etc/ssh/sshd_config)</li>
<li>Configure IP &amp; reboot</li>
<li>Connect via PuTTY as root</li>
</ul>
<ol start="3">
<li>Install FOG server</li>
</ol>
<pre><code>apt update &amp;&amp; apt install git -y
cd /root
cd /root
git clone https://github.com/FOGProject/fogproject.git
cd fogproject/bin
./installfog.sh
</code></pre>
<p dir="auto">Configure FOG as usual</p>
<ol start="4">
<li>Import database from the old server</li>
</ol>
<hr />
<p dir="auto">In the new FOG web interface:</p>
<p dir="auto">• FOG Configuration → FOG Settings</p>
<ul>
<li>Save mysqlpass (under Storage Nodes)</li>
<li>Save TFTP FTP Password (under TFTP Server)</li>
</ul>
<p dir="auto">• Storage → DefaultMember → Save Management Password</p>
<p dir="auto">• Configuration Save → Import Database<br />
→ Select the SQL backup &amp; import it</p>
<p dir="auto">Afterwards: Enter the three passwords back in their original places</p>
<ol start="5">
<li>Copy certificates to the new server</li>
</ol>
<p dir="auto">Transfer the archive to /root<br />
(e.g. fogcerts_2025-10-25.tar.gz)</p>
<p dir="auto">Stop services:</p>
<pre><code>systemctl stop apache2
systemctl stop FOGImageReplicator
systemctl stop FOGScheduler
</code></pre>
<p dir="auto">Extract archive:</p>
<pre><code>cd /root
tar -xzf fogcerts_*.tar.gz
</code></pre>
<p dir="auto">Copy certificates &amp; set permissions:</p>
<pre><code># Private Keys &amp; CA
cp -a /root/fogcerts/.srvprivate.key /opt/fog/snapins/ssl/
cp -a /root/fogcerts/CA/.fogCA.key /opt/fog/snapins/ssl/CA/
cp -a /root/fogcerts/CA/.fogCA.pem /opt/fog/snapins/ssl/CA/
[ -f /root/fogcerts/CA/.fogCA.srl ] &amp;&amp; cp -a /root/fogcerts/CA/.fogCA.srl /opt/fog/snapins/ssl/CA/

# Server Public Cert &amp; CA Public
cp -a /root/fogcerts/srvpublic.crt /var/www/fog/management/other/ssl/
cp -a /root/fogcerts/ca.cert.pem /var/www/fog/management/other/
cp -a /root/fogcerts/ca.cert.der /var/www/fog/management/other/

chown -R fogproject:www-data /opt/fog/snapins/ssl
chmod 600 /opt/fog/snapins/ssl/.srvprivate.key
chmod 600 /opt/fog/snapins/ssl/CA/.fogCA.key

chown -R www-data:www-data /var/www/fog/management/other
</code></pre>
<p dir="auto">Start services:</p>
<pre><code>systemctl start apache2
systemctl start FOGImageReplicator
systemctl start FOGScheduler
</code></pre>
<ol start="6">
<li>Rebuild boot images (with certificate)</li>
</ol>
<p dir="auto">Install required software:</p>
<pre><code>apt-get update
apt-get install -y git build-essential gcc make binutils perl mtools   liblzma-dev libssl-dev zlib1g-dev pkg-config nasm libiberty-dev uuid-dev   xz-utils cpio gcc-aarch64-linux-gnu
</code></pre>
<p dir="auto">Rebuild PXE boot loaders:</p>
<pre><code>cd /root/fogproject/utils/FOGiPXE
# Select one CA certificate path:
CA=/var/www/fog/management/other/ca.cert.pem
# or:
# CA=/opt/fog/snapins/ssl/CA/.fogCA.pem

bash ./buildipxe.sh "$CA"
</code></pre>
<p dir="auto">Copy new files:</p>
<pre><code># Standard loader (without 10s delay)
cp -av /root/fogproject/packages/tftp/* /tftpboot/

# Optional 10s-delay loaders:
# cp -av /root/fogproject/packages/tftp/10secdelay/* /tftpboot/
</code></pre>
<p dir="auto">Restart TFTP service:</p>
<pre><code>systemctl restart tftpd-hpa
</code></pre>
<p dir="auto">FINISHED<br />
If all steps were successful, clients will securely reconnect using HTTPS again.</p>
]]></description><link>http://forums.fogproject.org/topic/18033/fog-server-full-migration-from-an-old-https-fog-to-a-new-server-debian-12</link><generator>RSS for Node</generator><lastBuildDate>Thu, 14 May 2026 04:49:43 GMT</lastBuildDate><atom:link href="http://forums.fogproject.org/topic/18033.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 26 Oct 2025 10:09:05 GMT</pubDate><ttl>60</ttl></channel></rss>