Jump to content

Guidelines:DebianPackages: Difference between revisions

From Sahana Eden Wiki
Dominic (talk | contribs)
Created page with "= Debian Packages = As of version 6.0, Eden provides packaged releases for installation, setup and server administration. Packages for Debian (*.deb) are currently provided as assets attached to the respective GitHub release: * https://github.com/sahana/eden/releases Using packaged releases is the recommended setup method for production servers. == Prerequisites == Before starting the installation, you should have a server machine (virtual or bare metal), installed..."
 
Dominic (talk | contribs)
 
(9 intermediate revisions by the same user not shown)
Line 9: Line 9:
== Prerequisites ==
== Prerequisites ==


Before starting the installation, you should have a server machine (virtual or bare metal), installed with a suitable Debian/Linux distribution. As a rule, Eden supports the last two Debian releases ([https://wiki.debian.org/DebianStable stable] and [https://wiki.debian.org/DebianOldStable oldstable]).
Before starting the installation, you must have a server machine (virtual or bare metal) ready, installed with a suitable '''Debian/Linux''' distribution. As a rule, Eden supports the last two Debian releases ([https://wiki.debian.org/DebianStable stable] and [https://wiki.debian.org/DebianOldStable oldstable]).  


The server should have access to Debian repositories in order to install dependencies.
'''''Note''': Occasionally, support for the current stable can be delayed while we are fixing incompatibilities - but the oldstable should always be available.''


Additionally, you will need a DNS A-record pointing to that server, which you can obtain from your domain services provider.
The server must have access to corresponding Debian repositories in order to install dependencies, either locally or via internet.
 
You must be able to access the server via '''SSH''' (alternatively physical console), and to become the <code>root</code> user.
 
Additionally, you will need a '''DNS A-record''' for the intended '''server URL''' pointing to the server's IP address, which you can obtain from your domain services provider. Make sure the server is accessible from the network under that server URL via both HTTP and HTTPs.


== Installation ==
== Installation ==
Line 19: Line 23:
Login to the server via SSH, and make yourself root with <code>sudo su -</code>.
Login to the server via SSH, and make yourself root with <code>sudo su -</code>.


Download the release package matching your Debian version:
Download the release package matching your Debian version, e.g. for Eden-6.0 on Debian-12 Bookworm:


   cd /tmp
   cd /tmp
Line 29: Line 33:
   apt-get install -f sahana-eden-debian12_6.0-1_all.deb
   apt-get install -f sahana-eden-debian12_6.0-1_all.deb


This will install all necessary dependencies, including PostgreSQL with PostGIS, the web2py framework, the nginx web server and uWSGI, and finally Eden itself.
This will install all necessary dependencies, including '''PostgreSQL''' with '''PostGIS''', the '''web2py''' framework, the '''nginx''' web server and '''uWSGI''', and finally '''Eden''' itself.


The package also deploys the <code>[[Guidelines:Edenctl|edenctl]]</code> tool to configure and manage the server.
The package also deploys the <code>[[Guidelines:Edenctl|edenctl]]</code> tool to configure and manage the server.


== Configuration ==
== Configuration ==
If you want to use a custom configuration '''template''', add a symbolic link for it in the <code>/home/web2py/applications/eden/modules/templates</code> directory.


Use <code>[[Guidelines:Edenctl|edenctl]]</code> to configure the Eden instance on your server:
Use <code>[[Guidelines:Edenctl|edenctl]]</code> to configure the Eden instance on your server:
Line 43: Line 49:
'''Tip''': if your server URL is ''eden.example.com'', then the hostname would be ''eden'', and the domain ''example.com''
'''Tip''': if your server URL is ''eden.example.com'', then the hostname would be ''eden'', and the domain ''example.com''


Edenctl will configure the nginx web server and set up a uWSGI daemon to connect it to web2py/Eden. It will also set up and initialize the database, and pre-populate it with some basic data from the configuration template you selected.
Edenctl will configure the '''nginx''' web server and set up a '''uWSGI''' daemon to connect it to web2py/Eden. It will also set up and initialize the database, and '''pre-populate''' it with some basic data from the configuration template you selected.
 
It will also configure SSL (HTTPs) with [https://certbot.eff.org/pages/about Certbot] to manage the server certificate and key.


Once this is done, you can start your Eden instance with
Once this is done, you can start your Eden instance with


   edenctl start
   edenctl start

Latest revision as of 11:25, 25 November 2025

Debian Packages

As of version 6.0, Eden provides packaged releases for installation, setup and server administration. Packages for Debian (*.deb) are currently provided as assets attached to the respective GitHub release:

Using packaged releases is the recommended setup method for production servers.

Prerequisites

Before starting the installation, you must have a server machine (virtual or bare metal) ready, installed with a suitable Debian/Linux distribution. As a rule, Eden supports the last two Debian releases (stable and oldstable).

Note: Occasionally, support for the current stable can be delayed while we are fixing incompatibilities - but the oldstable should always be available.

The server must have access to corresponding Debian repositories in order to install dependencies, either locally or via internet.

You must be able to access the server via SSH (alternatively physical console), and to become the root user.

Additionally, you will need a DNS A-record for the intended server URL pointing to the server's IP address, which you can obtain from your domain services provider. Make sure the server is accessible from the network under that server URL via both HTTP and HTTPs.

Installation

Login to the server via SSH, and make yourself root with sudo su -.

Download the release package matching your Debian version, e.g. for Eden-6.0 on Debian-12 Bookworm:

 cd /tmp
 wget https://github.com/sahana/eden/releases/download/6.0/sahana-eden-debian12_6.0-1_all.deb

Install the package:

 apt-get update
 apt-get install -f sahana-eden-debian12_6.0-1_all.deb

This will install all necessary dependencies, including PostgreSQL with PostGIS, the web2py framework, the nginx web server and uWSGI, and finally Eden itself.

The package also deploys the edenctl tool to configure and manage the server.

Configuration

If you want to use a custom configuration template, add a symbolic link for it in the /home/web2py/applications/eden/modules/templates directory.

Use edenctl to configure the Eden instance on your server:

 edenctl setup

Enter your server details as you are prompted for them.

Tip: if your server URL is eden.example.com, then the hostname would be eden, and the domain example.com

Edenctl will configure the nginx web server and set up a uWSGI daemon to connect it to web2py/Eden. It will also set up and initialize the database, and pre-populate it with some basic data from the configuration template you selected.

It will also configure SSL (HTTPs) with Certbot to manage the server certificate and key.

Once this is done, you can start your Eden instance with

 edenctl start