128 lines
3.1 KiB
Plaintext
128 lines
3.1 KiB
Plaintext
Yacht Management Software (YMS) Installation
|
|
|
|
1. Install requirements
|
|
|
|
1.1 Generic
|
|
- MariaDB
|
|
- Python 3
|
|
- python3-bcrypt
|
|
- python3-mysqldb
|
|
- optional
|
|
- gettext
|
|
- mupdf-tools for extended pdf file management
|
|
|
|
1.2 Native GUI
|
|
- Python GTK3
|
|
- python3-gi
|
|
- gir1.2-gtk-3.0
|
|
- gir-rsvg-2.0
|
|
|
|
1.3 Web GUI
|
|
- Webserver
|
|
- PHP (>= 8.0)
|
|
- php-mysql
|
|
- php-xml
|
|
|
|
2. Create database
|
|
|
|
Create a database for YMS on your server, as well as a MariaDB user who has
|
|
the privileges for accessing and modifying it.
|
|
|
|
CREATE DATABASE yms;
|
|
|
|
Create system user for native gui.
|
|
|
|
CREATE USER 'ymssys'@'localhost' IDENTIFIED BY '********';
|
|
GRANT SELECT, INSERT, UPDATE, DELETE ON yms.* TO 'ymssys'@'localhost';
|
|
|
|
Create database-user for web application with minimum necessary rights.
|
|
|
|
CREATE USER 'ymsweb'@'localhost' IDENTIFIED BY '********';
|
|
GRANT SELECT, INSERT, UPDATE, DELETE ON yms.* TO 'ymsweb'@'localhost';
|
|
|
|
3. Run database import
|
|
|
|
Import the mariadb.sql file into your database, which will create the tables.
|
|
|
|
mariadb yms < mariadb.sql
|
|
|
|
According to your desired language import minimal required dataset into your
|
|
new database. For german use
|
|
|
|
mariadb yms < minimal.sql
|
|
|
|
or alternatively for english language
|
|
|
|
mariadb yms < minimal_en.sql
|
|
|
|
Optional import some sample data
|
|
|
|
mariadb yms < mariadb_sample.sql
|
|
|
|
4. Initialize document storage
|
|
Customize path and access rights to your needs
|
|
|
|
mkdir /var/local/yms
|
|
mkdir /var/local/yms/thumb
|
|
chown -R www-data /var/local/yms
|
|
chmod -R 750 /var/local/yms
|
|
|
|
To grant access for the local gui the directory has to be writeable by a special
|
|
group (here as example 'yms'). The user which runs the local gui (here
|
|
'guiuser') has also to be a member of that group as well as the webserver user
|
|
'www-data'.
|
|
|
|
groupadd yms
|
|
usermod -aG yms www-data
|
|
usermod -aG yms guiuser
|
|
chgrp yms /var/local/yms
|
|
chgrp yms /var/local/yms/thumb
|
|
chmod -R 770 /var/local/yms
|
|
|
|
5. Install webgui
|
|
|
|
5.1 Upload webgui files
|
|
|
|
Upload all files and directories (except the install directory) to your
|
|
webserver.
|
|
Disallow access to include files (.inc). There is an example _htaccess
|
|
file.
|
|
|
|
5.2. Create and edit webgui config file
|
|
|
|
Rename sample configfile config.inc-sample:
|
|
|
|
mv config.inc-sample config.inc
|
|
|
|
Open config.inc in a text editor and fill in your database details.
|
|
|
|
5.3. Check file access rights for security
|
|
|
|
Configfile should be readable by webserver but not writeable.
|
|
|
|
chmod 640 config.inc
|
|
chgrp www-data config.inc
|
|
|
|
6. Setup local GUI
|
|
|
|
Create a local database user with same name as your computer user and allow
|
|
database acces with current unix credentials:
|
|
mysql> CREATE USER 'ymsgui'@'localhost' IDENTIFIED VIA unix_socket;
|
|
mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON yms.* TO 'ymsgui'@'localhost';
|
|
|
|
Copy ymsgui.py to /usr/local/bin
|
|
Copy directory yms to /usr/local/share
|
|
|
|
Start ymsgui.py, default configuration file is automatically created
|
|
|
|
7. Start using YMS
|
|
|
|
Use webgui:
|
|
Start your browser and login to YMS with the initial username/password:
|
|
captain/captain
|
|
|
|
Use local client:
|
|
Start ymsgui.py
|
|
Change the password using the local GUI before normal use.
|
|
|