Skip to content

pass-the-salt/2026

Repository files navigation

2026 website

All the code required to generate the website of the 2026 edition of Pass the SALT conference.

Installation

apt install hugo

or visit https://gohugo.io/installation/linux/ and take the Extended edition.

Get the source files, Git repo creation and initial commit

  • Clone previous year Github repo: git clone https://github.com/pass-the-salt/2025.git
  • Rename the directory 2025 to 2026.
  • Suppress the .git subdirectory in 2026 directory.
  • create on Github the 2026 repository and type following commands in 2026 directory on your server:
    git init
    git *add README.md*
    git commit -m "first commit"
    git branch -M main
    git remote add origin [email protected]:pass-the-salt/test.git
    git push -u origin main
    

Modify content

Some instructions or indications about the different directories and files:

  • cgi-bin/update.cgi : change all mentions of 2025 to 2026 (notably on path and filenames)
  • config.toml: contains global parameters of the site (title, logo, lang, top and bottom menu content).
  • data/en/homepage.yml: Yaml parameters to inject into homepage through Vex theme templates.
  • themes/vex-hugo/layouts/: several directories containing all HTML templates of the Vex theme.
  • themes/vex-hugo/layouts/index.html: structure of the homepage which calls HTML snippets located in partial directory. If you want to add a section in the homepage, just add a call to a HTML snippet file and create the HTML file in the partial directory.
  • content/: Markdown content of individual pages.
  • static/: images and files.
  • public/: HTML pages generated by the Hugo engine.

Test locally, produce final HTML files and push to website

  • run hugo server from the root of the repository to run the site locally in memory. Do it until you are satisfied by the result.
  • then, run hugo from the root of the repository to produce the static site pages in public/.
  • finally, commit and push changes to the Github repo: git add * && git commit -m "your commit message" && git push origin main

Prepare webserver environment

  • [DNS] create 2026.pass-the-salt.org DNS record on Gandi DNS : 2026 10800 IN CNAME unicorn.pass-the-salt.org.

  • [DNS] verify if the DNS resolution returns the correct IP of the server: dig 2026.pass-the-salt.org

  • [Apache] create the Apache definition of the website with the listening port set to TCP/80.

    # cd /etc/apache2/sites-available/
    # vim 2026.passthesalt.conf
    <VirtualHost *:80>
    ServerName 2026.pass-the-salt.org 
    DocumentRoot /var/www/2026-passthesalt
    </VirtualHost>
    # mkdir /var/www/2026-passthesalt/
    # chown www-data:www-data /var/www/2026-passthesalt/
    # a2ensite 2026.passthesalt.conf 
    # systemctl reload apache2
    # service apache2 status
    
  • [TLS] obtain the TLS certificate: Select the 2026 hostname on the list proposed by Certbot :

    # certbot --apache
    Saving debug log to /var/log/letsencrypt/letsencrypt.log
    Which names would you like to activate HTTPS for?
    We recommend selecting either all domains, or all domains in a VirtualHost/server block.
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    1: pass-the-salt.org
    [...]]
    10: 2026.pass-the-salt.org
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Select the appropriate numbers separated by commas and/or spaces, or leave input
    blank to select all options shown (Enter 'c' to cancel): 10
    Requesting a certificate for 2026.pass-the-salt.org
    Successfully received certificate.
    Certificate is saved at: /etc/letsencrypt/live/2026.pass-the-salt.org/fullchain.pem
    Key is saved at:         /etc/letsencrypt/live/2026.pass-the-salt.org/privkey.pem
    This certificate expires on 2026-03-09.
    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 2026.pass-the-salt.org to /etc/apache2/sites-available/2026.passthesalt-le-ssl.conf
    Congratulations! You have successfully enabled HTTPS on https://2026.pass-the-salt.org
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    
  • [SRC] Initialize the website with an initial clone of the Github source repo of the website:

    # cd /var/www
    # git clone https://github.com/pass-the-salt/2026.git
    Cloning into '2026'...
    remote: Enumerating objects: 282, done.
    remote: Counting objects: 100% (282/282), done.
    remote: Compressing objects: 100% (217/217), done.
    remote: Total 282 (delta 41), reused 282 (delta 41), pack-reused 0 (from 0)
    Receiving objects: 100% (282/282), 22.95 MiB | 8.85 MiB/s, done.
    Resolving deltas: 100% (41/41), done.
    Updating files: 100% (376/376), done.
    # chown www-data:www-data 2026
    # git pull
    fatal: detected dubious ownership in repository at '/var/www/2026'
    To add an exception for this directory, call:
      git config --global --add safe.directory /var/www/2026
    # git config --global --add safe.directory /var/www/2026
    # git pull
    Already up to date.
    
  • [Apache & Webhook] Add webhook CGI script section in the Apache config file & restart Apache:

    # vim /etc/apache2/sites-enabled/2026.passthesalt-le-ssl.conf
    
    ajout des lignes :
    
    ScriptAlias "/cgi-bin/" "/var/www/2026/cgi-bin/"
    
    <Directory "/var/www/2026/cgi-bin/">
        Options +ExecCGI
        AddHandler cgi-script .cgi
    </Directory>
    # chown -R www-data:www-data /var/www/2026
    # service apache2 restart
    # service apache2 status
    
  • [Webhook] Github webhook:

    • Important: check if you have really changed any mentions to 2025 in favor of 2026 inside the cgi-bin/update.cgi as asked in the "Modify content" section.
    • [Github] create a new webhook on the GUI Settings\Webhooks of the repository giving following payload: https://2026.pass-the-salt.org/cgi-bin/update.cgi
    • each push on the Github repo 2026 will activate a webhook (URL: https://2026.pass-the-salt.org/cgi-bin/update.cgi).
    • script pointed by the webhook : cgi-bin/update.cgi file.
    • how it works:
      • check if updates exist on Github repo 2026.
      • if updates exist on the Github repo 2026:
        • the script fetchs them to /var/www/2026 directory on the server
        • rsync the content of the public/ sub directory of /var/www/2026 directory with the content of the website located in /var/www/2026-passthesalt.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages