Debian package

From Aquarium-Control
Jump to navigation Jump to search

The Debian package shall check all dependencies and install the application on the Raspberry Pi.

Dependencies

Before starting the installation, the following dependencies are verified

  • Apache 2 with php
  • MariaDB
  • bcrypt (for running the database setup script)

Content

The Debian package contains the following data:

Debian package content
File name Description Origin Target directory
aquarium_control executable of main control target/release of main control repo /usr/local/bin
aquarium_control.toml configuration of main control config of main control repo /etc/aquarium_control
aquarium.sql database dump containing empty database database repo -
aquariumcontrol_database_cleanup_setup.sh script for setting up database maintenance database repo /usr/local/bin
aquariumcontrol_database_setup.sh script for initializing database database repo /usr/local/bin
aquarium_client executable of terminal application target/release of client repo /usr/local/bin

Creation of directories and files

The Debian package creates

  • a directory and a set of files for the file-based communication as defined in the section [data_logger] of the configuration file.
  • an empty log file as defined in the section [logger] of the configuration file.

Database creation

During the installation of the package the user is asked if the database for the aquarium control already exists. If the user informs that the database does not exist, the user shall provide the following information:

  • desired database name
  • default user name
  • password

The script will:

  • create the database using the desired database name
  • import the SQL dump to the database
  • create the SQL user with the corresponding user name and password
  • grant all privileges on the database to the user
  • update the main control configuration file with the database name, user name and password

Database update

Message queue creation

Setup of webpage

Setup of main application configuration file

Setup of main application

Setup of terminal client

Instructions to the user