diff --git a/README.md b/README.md index 9171240..7cf3289 100644 --- a/README.md +++ b/README.md @@ -5,59 +5,24 @@ May contain blackjack and other things one tends to include in awesome projects. ## Installation - git clone --recursive https://github.com/Programvareverkstedet/nettsiden.git + 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`. +The development environment can be setup with: -To install all mentioned requirements on debian: `apt install composer sqlite3 php8.1-sqlite3 simplesamlphp php-xml`, followed by `composer update`. + nix develop - ./dev.sh +For this you will need to install the nix package manager and possibly set the experimental features in your nix config, likely located at /etc/nix/nix.conf or $HOME/.config/nix/nix.conf +Installing nix with your package manager might not work without some tweaking, but the upstream script should just work which you can find [https://nixos.org/download/](here). -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` + experimental-features = flakes nix-command -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 +You can then run the server with: + runDev ### Admin account @@ -65,15 +30,6 @@ Login goes through `idp.pvv.ntnu.no` via SAML, so you have to use your PVV accou (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);' - + sqlite3 pvv.sqlite "INSERT INTO users (uname, groups) VALUES ('YOUR_USERNAME', 1);" ## Hosting