dist | ||
gammel dokumentasjon | ||
inc | ||
nix | ||
src | ||
www | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
composer.json | ||
composer.lock | ||
docker-compose.yaml | ||
Dockerfile | ||
flake.lock | ||
flake.nix | ||
README.md |
Programvareverkstedets nettside
A website created with the latest and greatest web technologies. May contain blackjack and other things one tends to include in awesome projects.
Installation
git clone --recursive https://github.com/Programvareverkstedet/nettsiden.git
Put it in a folder your webserver can find.
Development setup
Make sure you have sqlite3
, php
and pdo-sqlite
installed.
These can be obtained from your package manager.
Then make sure PHP has the curl
, pdo-sqlite
, ext-dom
and sqlite3
extensions enabled, see /etc/php/php.ini
.
To install all mentioned requirements on debian: apt install composer sqlite3 php8.1-sqlite3 simplesamlphp php-xml
, followed by composer update
.
./dev.sh
On Windows you can use chocolatey and git bash to run ./dev.sh
.
Install php
and sqlite
, then enable these extensions in C:\tools\php80\php.ini
:
mbstring
, openssl
, curl
, pdo-sqlite
and sqlite3
Alternatively you may use cmd
on Windows.
In this case you'll have to perform a composer install
manually beforehand.
Good luck.
dev.bat
Dependency management
dev.sh
will ensure the git submodules have been properly pulled, then download the composer
package manager to a php archive file named composer.phar
, then run it.
Composer will then check for the php extensions needed, such as pdo_sqlite
, which must be enabled on your system.
This usually includes installing a php-sqlite3 package and enabling it in /etc/php/php.ini
:
[PHP]
extension=pdo_sqlite
extension=sqlite3
extension=ext-curl
Composer is used as such:
php composer.phar update
php composer.phar install
Docker
We provide a simple docker-compose setup for local development. First ensure that docker is running:
sudo systemctl start docker
then
DOCKER_USER=$(id -u):$(id -g) docker-compose up
Admin account
Login goes through idp.pvv.ntnu.no
via SAML, so you have to use your PVV account.
(This only works if you use access the local development site via the the hostname localhost
)
To make your account into an admin account, run:
sqlite3 pvv.sqlite 'INSERT INTO users (uname, groups) VALUES ("YOUR_USERNAME", 1);'
If using docker, when already running:
DOCKER_USER=$(id -u):$(id -g) docker-compose exec nettside sqlite3 pvv.sqlite 'INSERT INTO users (uname, groups) VALUES ("YOUR_USERNAME", 1);'
If not already running:
DOCKER_USER=$(id -u):$(id -g) docker-compose run nettside sqlite3 pvv.sqlite 'INSERT INTO users (uname, groups) VALUES ("YOUR_USERNAME", 1);'