Guidelines:DebianPackages: Difference between revisions
No edit summary |
|||
| (3 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
[[Guidelines:Deployment|All Deployment Guidelines]] | |||
= Debian Packages = | = Debian Packages = | ||
| Line 9: | Line 11: | ||
== Prerequisites == | == Prerequisites == | ||
Before starting the installation, you | 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]). | ||
'''''Note''': Occasionally, support for the current stable can be delayed while we are fixing incompatibilities - but the oldstable should always be available.'' | '''''Note''': Occasionally, support for the current stable can be delayed while we are fixing incompatibilities - but the oldstable should always be available.'' | ||
| Line 15: | Line 17: | ||
The server must have access to corresponding Debian repositories in order to install dependencies, either locally or via internet. | 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. | You must be able to access the server via '''SSH''' (alternatively physical console), and to become the <code>root</code> user. See our [[Guidelines:SecureOperation]] for recommendations for a safe SSH setup. | ||
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. | 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. | ||
'''''Note:''' for setting up with a separate DB host ("Dual Host Setup") see our [[Guidelines:DualHost]] instead.'' | |||
== Installation == | == Installation == | ||
Latest revision as of 19:40, 2 February 2026
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. See our Guidelines:SecureOperation for recommendations for a safe SSH setup.
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.
Note: for setting up with a separate DB host ("Dual Host Setup") see our Guidelines:DualHost instead.
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