-
Notifications
You must be signed in to change notification settings - Fork 0
Building
Germán Luis Aracil Boned edited this page Apr 6, 2026
·
1 revision
- GCC or Clang (C11)
- GNU Make
- Linux (2.6.32+ for epoll)
| Library | For | Package (Debian/Ubuntu) |
|---|---|---|
| libsqlite3-dev | SQLite storage backend | apt install libsqlite3-dev |
| libpq-dev | PostgreSQL storage backend | apt install libpq-dev |
| liblzma-dev | XZ compression | apt install liblzma-dev |
| zlib1g-dev | Gzip compression | apt install zlib1g-dev |
| libssh-dev | SSH server module | apt install libssh-dev |
| libldap2-dev | LDAP authentication | apt install libldap2-dev |
| lua5.4 | Lua scripting engine | apt install liblua5.4-dev |
| python3 | Python scripting engine | apt install python3 |
| fpc | Pascal scripting engine | apt install fpc |
./configure # detects available libraries
make # builds core + all modules
make clean # remove build artifactsPortal build configuration:
Core: yes
SQLite: yes (found libsqlite3)
PostgreSQL: yes (found libpq)
SSH: yes (found libssh)
LDAP: no (libldap not found, mod_ldap disabled)
Lua: yes (found lua5.4)
XZ: yes (found liblzma)
Gzip: yes (found zlib)
Modules with missing dependencies are simply not compiled — the core always builds.
# Copy binary
cp portal /usr/local/bin/
# Copy modules
cp modules/*/*.so /usr/local/lib/portal/modules/
# Copy config
cp portal.conf /etc/portal/
cp users.conf /etc/portal/
# Systemd service
cp etc/portal.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable portal
systemctl start portal/usr/local/bin/portal # binary
/usr/local/lib/portal/modules/*.so # modules
/etc/portal/portal.conf # main config
/etc/portal/users.conf # user database
/var/lib/portal/ # data directory
/var/lib/portal/config.db # SQLite database
/var/lib/portal/files/ # mod_file base dir
/var/lib/portal/apps/ # scripting apps
/var/log/portal/ # log files
# Foreground with config
./portal -c portal.conf
# Foreground with verbose logging
./portal -c portal.conf -v
# Connect to running instance
./portal -r
# Show version
./portal --version# Run all tests
./tests/run_all.sh
# Unit tests only
make test
# Integration tests
./tests/integration/test_complete.py
# Security tests
./tests/security/test_security.sh
# Stress tests
./tests/stress/test_stress.shTop Level System — GPL-2.0 | Website | Repository
mod_cli · mod_web · mod_node · mod_ssh · mod_config_sqlite · mod_config_psql
mod_cache · mod_kv · mod_shm · mod_queue · mod_websocket · mod_mqtt · mod_email · mod_file
mod_logic · mod_logic_lua · mod_logic_python · mod_logic_c · mod_logic_pascal
mod_metrics · mod_health · mod_sysinfo · mod_process · mod_log · mod_audit · mod_cron · mod_scheduler · mod_worker · mod_backup
mod_proxy · mod_dns · mod_http_client · mod_webhook · mod_api_gateway · mod_tunnel · mod_acme
mod_firewall · mod_crypto · mod_ldap · mod_validator
mod_iot · mod_gpio · mod_serial
mod_xz · mod_gzip · mod_template · mod_admin