Gambas 3.18.4 on Debian 11 and/or 12
================================================================================
== follow these instructions exactly (they are very case sensitive!!)
== replace '/home/willy/shared' with your own location to gbwilly.gambas3.stable
== do a su root or with sudo
== I use useraccount willy in instructions, replace by your useraccount name
== Your server hosting the repo can be on your local system (use 127.0.0.1 as ip)
== <ip of server> can be replaced by FQDN of server if known to host
================================================================================
---------------------
On your client system
---------------------
1. First extract gbwilly.gambas3.stable to a location (so you can read this file)
-> I will use the folder shared in my home drive as example for extraction (so /home/willy/shared/)
-> you need to end up with /home/willy/shared/gbwilly.gambas3.stable
2. open a terminal and install openssh client on your system: (-> you can do this with sudo)
$: su root
$: apt-get install openssh-client rsync
3. As root or with sudo rights:
$: cd /home/willy/shared
$: chown -R willy:root gbwilly.gambas3.stable
$: chmod -R 750 gbwilly.gambas3.stable
$: cd gbwilly.gambas3.stable
$: chmod 640 gbwilly.gambas3* && ls -l
drwxr-x--x 2 willy root 4096 mei 3 11:25 conf
drwxr-x--x 2 willy root 4096 mei 3 22:41 db
drwxr-x--x 4 willy root 4096 mei 3 12:37 dists
-rw-r----- 1 willy root 1745 mei 3 20:54 gbwilly.gambas3.asc
-rw-r----- 1 willy root 1745 mei 3 20:54 gbwilly.gambas3.gpg
drwxr-x--x 3 willy root 4096 apr 30 01:54 pool
4. As user willy (use your own user of choice)
$: mkdir ~/.ssh && cd ~/.ssh
$: ssh-keygen (generate a key named id_rsa.pub in ~/.ssh)
-----------------------------------------------------------------------------
On your webserver (I asume a Debian server for my instructions)
-----------------------------------------------------------------------------
1. Make sure you have a user willy made (or your name of choice, but same as on your local system with extracted repo)
You can add this user to sudo group if you like.
2. Open a terminal and configure and install ssh-server:
$: su root
$: apt-get install openssh-server apache2
Configure the ssh server to accept connections from users based on authenticated keys.
$: nano -w /etc/ssh/sshd_config
PermitRootLogin no
PermitEmptyPasswords no
# PubkeyAuthentication yes (unmark this later after we send the client key to server)
$: systemctl restart sshd
---------------------
On your client system
---------------------
1. From terminal as user willy copy key to webserver:
$: ssh-copy-id -i id-rsa.pub "willy@<ip of webserver>"
2. Check if it works to connect to webserver
$: ssh willy@<ip of server>
-----------------------------------------------------------------------------
On your webserver (I asume a Debian server my instructions)
-----------------------------------------------------------------------------
1. Open terminal:
$: su root
$: nano -w /etc/ssh/sshd_config
PermitRootLogin no
PermitEmptyPasswords no
PubkeyAuthentication yes (unmark this)
$: systemctl restart sshd
$: exit
2. Continue in terminal as user willy:
$: mkdir /home/willy/shared/gbWilly.gambas3.stable
$: chown willy:root /home/willy/shared/gbWilly.gambas3.stable
$: chmod 755 //home/willy/shared/gbWilly.gambas3.stable
---------------------
On your client system
---------------------
1. Open a terminal as user willy to push the repository to the webserver:
$: rsync -avze ssh /home/willy/shared/gbWilly.gambas3.stable/* <ip of server>:/home/willy/shared/gbWilly.gambas3.stable
This will update the repo on your account on the webserver. This is the way to update your online repo as well.
Make repo ok on local system, rsync to server and done.
-----------------------------------------------------------------------------
On your webserver (I asume a Debian server for my instructions)
-----------------------------------------------------------------------------
1. Now we need to make sure that your repository is published for use. Open a terminal
$: su root
$: mkdir /var/www/public_html/gbwilly.gambas3.intra (-> add an index.html to this folder)
$: chown -R willy:root /var/www/
$: chmod -R 755 /var/www/
$: nano /etc/apache2/sites-available/gbwilly.gambas3.intra
<VirtualHost *:80>
ServerAdmin webmaster@<your ip>
ServerName freya.home.intra
ServerAlias gbwilly.gambas3.intra
DocumentRoot /var/www/public_html/gbwilly.gambas3.intra
<Directory /var/www/public_html/gbwilly.gambas3.intra/>
Options Indexes FollowSymLinks MultiViews
Require all granted
</Directory>
Alias /gambas3-stable /home/willy/shared/gbWilly.gambas3.stable
<Directory /home/willy/shared/gbWilly.gambas3.stable/>
Options Indexes FollowSymLinks MultiViews
Require all granted
</Directory>
</VirtualHost>
$: nano /etc/apache2/ports.conf
LISTEN 80
$: a2ensite gbwilly.gambas3
$: systemctl reload apache2
---------------------
On your client system
---------------------
$: su root
$: nano /etc/hosts
<ip of server> gbwilly.gambas3.intra
$: echo "deb
http://gbWilly.gambas3.intra/gambas3-stable bookworm main" >> /etc/apt/sources.list
$: wget -O -
http://develop.eurogarden.intra/gambas3 ... .intra.gpg | tee /etc/apt/trusted.gpg.d/gbwilly.gambas3.intra.gpg
$: apt-get update
$: apt-get upgrade
$: apt-get install gambas3
3. If updating from 3.18.0 from official make sure to reinstall gambas3-runtime as the 3.18.0 version of official will stick around because of the way it is packaged and conflicts with my version. Installing it will remove the old one and some obselete dependencies and might install new ones (all in the gui section, if running gui applications)
$: apt-get install gambas3-runtime
--> you could also first remove old gambas3 and then reinstall new version
4. If on gui check SynapticPackageManager if all is ok
- open SynapticPackageManager from system menu
- Search for gambas3
- for bullseye: check if all installed packages are 3.18.4-1~debian11
- for bookworm: check if all installed packages are 3.18.4-1~debian12
- if not replace the old ones by installing the new ones
5. Report back on any trouble you encounter (or successes as well)