opennetadmin / ona

OpenNetAdmin IP Address Management (IPAM) system
opennetadmin.com
GNU General Public License v2.0
136 stars 34 forks source link

Support for Debian 10 (Buster) #154

Closed heppel closed 4 years ago

heppel commented 4 years ago

Hi,

I need to move my ONA-Service fromRaspbian (Stretch based) to something that is based on Buster. After just upgrading my Raspbian, ONA failed miserably. After several tries at fixing it, I moved back to Stretch. Installing ONA on a AMD64 based Debian 10 failed also. I now have a AMD64 based VM with a snapshot just before installing ONA, so I can test.

Installing the "develop" branch failed:

root@busti:~# php /opt/ona/install/installcli.php

WELCOME TO THE OPENNETADMIN INSTALLER.. ONA is licensed under GPL v2.0. Would you like to view license? [y/N] [n] :

CHECKING PREREQUISITES...

PHP version greater than 7.0: PASS PHP GMP module: PASS PHP XML module: PASS PHP JSON module: PASS PHP mysqli function: PASS PHP mbstring function: PASS /opt/ona/www/local/config dir writable: PASS /var/log/ona.log writable: PASS

Database host? [localhost] : Database admin? [root] : Database admin password? : xxxxxx Application Database user name? [onasys] : Application Database user password? [changeme] : Database name? ona[default] : Default DNS domain? [example.com] :

Connected to 'localhost' as 'root'. Dropped existing instance of 'ona_default'. Created new database 'ona_default'. Selected existing DB: 'ona_default'. Creating and updating tables within database 'ona_default'. Loaded tables with default data. Failed to create system user 'ona_sys'. You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'BY 'changeme'' at line 1 Created default DNS domain 'example.com'. Created database connection config file. Updated local version info. There was a fatal error. Install may be incomplete. Fix the issue and try again

Note: Debian uses a Unix socket by default to authenticate the root user in mysql. I changed it to password authentication.

Note 2: Server version: 10.3.22-MariaDB-0+deb10u1 Debian 10

Pleas advise on how to continue.

TIA, Heppel

mattpascoe commented 4 years ago

Here is the quick answer.. using the 'develop' branch edit the /opt/ona/install/installcli.php file and remove 'with mysql_native_password' from lines 502-504. this should get you going.

Mysql and Mariadb have some differences that I was not aware of. I've got to do some testing of a better way to create this user that is compatible with both while still working properly with the socket methods etc.

heppel commented 4 years ago

Thank you. Install worked with the edit.

I now dumped the data from my working installation with 'mysqldump --lock-tables -uroot ona_default > ona.dump' and imported it into the new test installation with 'mysql ona_default < ona.dump'. On first look this worked fine. Is this the way to go or should I do something different ? The working installation is from an older version of the 'master' branch, but it too says 'v18.1.1' in the 'VERSION' file, if that matters.

Regards, Heppel

mattpascoe commented 4 years ago

Here is how I do backups personally: https://github.com/opennetadmin/ona/wiki/Backups

Ultimately once you have restored your data, you will want to run the installer again. It should then perform an upgrade which will adjust anything that is needed. Also at this time the development branch still says v18.1.1 for its version. You can run the installer as many times as you want, it wont hurt if you do.

heppel commented 4 years ago

I did the backup/restore using the 'I want everything!' option. The install run returned: 'Upgraded from index 13 to 14.'. Everything looks fine now.

Thank you very much.

One note: The backup page specifies 'ona_default' as the database for the backup, but the restore uses 'the database 'ona'. Is this intentional ?

mattpascoe commented 4 years ago

Good catch on the documentation, it should be ona_default. I've made the edit so it now is correct.

Glad the update worked for you!