Getting Started¶
Three supported paths for standing up a SASO instance:
- Docker — recommended for development and evaluation. The dev stack mirrors a typical mod_php + Apache + MariaDB shared-hosting environment.
- Standard PHP host — a Linux box you administer (VPS, dedicated, or a managed PaaS that lets you run PHP 8.2+).
- Shared / rental hosting — Apache + .htaccess hosts where SSH and Composer are not available. Use the release ZIP (planned for M5) which bundles
vendor/.
After installation the application schema is created interactively via installer/start. See Installation for the full walkthrough.
Requirements¶
| Component | Version |
|---|---|
| PHP | 8.2+ |
| MariaDB / MySQL | 10.6+ / 8.0+ |
| Web server | Apache 2.4+ with mod_rewrite (LiteSpeed compatible) |
| Required PHP extensions | pdo_mysql, gd, zip, intl, mbstring, opcache, fileinfo |
Docker (Colima or Docker Desktop)¶
colima start --cpu 4 --memory 4 --disk 20 # macOS only — skip on Linux
make up # build images + start app, db, adminer
make install # composer install in the app container
make migrate # apply migrations/*.sql
open http://localhost:8080/installer/start
Adminer is at http://localhost:8081 (server db, user saso_user, password saso_dev_password).
For local OIDC / SAML testing add the sso profile:
Standard PHP host¶
git clone https://github.com/Willen-Federation/SASO-Willen-Edition.git
cd SASO-Willen-Edition
composer install --no-dev --optimize-autoloader
cp .env.example .env
$EDITOR .env # set DB_DSN / DB_USER / DB_PASSWORD / APP_HTTPS
$EDITOR .htaccess # adjust RewriteBase if installed in a sub-directory
# Then visit /installer/start in your browser.
Shared or rental hosting¶
If your host does not provide SSH or Composer:
- Download the latest release ZIP from GitHub Releases —
vendor/is pre-bundled. - Upload the contents of the ZIP into the chosen install directory via cPanel / FTP.
- Edit
.htaccessand setRewriteBaseto match the install path. - Visit
<your-domain>/installer/startand complete the wizard. - The wizard writes
installer/installer.jsonto lock subsequent visits.
Release ZIPs ship in M5. Until then, build one yourself by running
composer install --no-devon a development machine and zipping the result.