Author Topic: Database solution for os/2  (Read 707 times)

Devid

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 4
  • Posts: 9
    • View Profile
Database solution for os/2
« on: August 26, 2019, 04:58:10 pm »
Hi to all.
I searched for dbexpert but I discovered that is no longer available...
So I would like to propose to the community a database solution that I use daily: nubuilder.
It's a web client/server application based on Mysql/Javascript/Php. The homepage of the project (open source!) is nubuilder.net.
The last version il NuBuilderForte v. 4, and is based on php 7 so does not work on os/2. But having used it from version 2 I've kept the source of the version 3 (nubuilderpro) that works pretty well on os/2.
Here the instruction for install & start using it.
First of all I downloaded mysql 5.1.72, apache 2.2.34 and php 5.4.45 from Paul Smedley site: https://os2ports.smedley.id.au/
I've installed these programs in my "c:\apps\" directory (c:\apps\apache2, c:\apps\mysql51; c:\apps\php5).
Then I copied "modphp5.dll" in the c:\\apps\apache2\modules and php.ini in c:\mptn\etc directory.
For apache2 configuration I change c:\apps\apache2\conf\httpd.conf for my purpose.
For mysql I copy and edited the my.cnf file in the c:\etc directory.
(At the end of the post there are my conf files and the useful web link)
These are the minimal changes necessary for a proper apache/php/mysql use:
For apache:
Code: [Select]
--> ServerRoot "/apps/apache2"
--> LoadModule php5_module modules/modphp5.dll
--> DocumentRoot "/apps/apache2/htdocs"
--> <Directory "/apps/apache2/htdocs">
--> DirectoryIndex index.html index.php
--> AddType application/x-httpd-php .php
--> #LoadModule authn_core_module modules/authn_co.dll
--> #LoadModule authz_core_module modules/authz_co.dll
--> #LoadModule access_compat_module modules/access_c.dll
--> Order allow,deny
--> Allow from all

For mysql:
Follow the smedley readme.os2 instruction then open a shell command:
Code: [Select]
cd \apps\mysql51\bin
mysqld
Open another shell and:
Code: [Select]
cd \apps\mysql51\bin
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '<password>';
CREATE USER '<user>'@'localhost' IDENTIFIED BY '<password>';
GRANT ALL PRIVILEGES ON *.* TO '<user>'@'localhost';
FLUSH PRIVILEGES;
Where <password> is yours password and <user> is a user name.
For some reason my mysql installation refuse to start and I have to insert always inside the mysql client:
Code: [Select]
use mysql;
DROP TABLE servers;
CREATE TABLE `servers` (
`Server_name` char(64) NOT NULL,
`Host` char(64) NOT NULL,
`Db` char(64) NOT NULL,
`Username` char(64) NOT NULL,
`Password` char(64) NOT NULL,
`Port` int(4) DEFAULT NULL,
`Socket` char(64) DEFAULT NULL,
`Wrapper` char(64) NOT NULL,
`Owner` char(64) NOT NULL,
PRIMARY KEY (`Server_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='MySQL Foreign Servers table';
exit
We login again with the mysql command client but now with <user> account:
Code: [Select]
cd c:\apps\mysql51\bin
mysql -u <user> -p
create database <newdb>;
exit
Where <newdb> is the name of our first database project.
Here arrive the os/2 power: the work area.
I create a folder with two program object inside: one for starting apache server daemon and one for mysql server daemon (see screenshot below). With the Work Area option activate the daemons start automagically whenever I open my databases folder.
And when I finish with my database job closing the folder automagically close also the daemon, so i have not the servers always active.
Some little step and the database system is ready to go...
I have a zip file (newdb.zip) that is the real nubuilder engine (but yet void: below there is also nubuilderprodemo.sql, an example application downloaded some time ago from the nubuilder site). The zip file occupy about 25 MBytes, so i cannot upload such as post attachment. Here Martin can help me saying where I can upload it  ;D.
Unzip newdb.zip inside the c:\apps\apache2\htdocs\ directory and change name with yours project name (c:\apps\apache2\htdocs\<proj_name>)
Inside that directory there is a file called config.php like the following:
Code: [Select]
<?php

    $nuConfigDBHost                 
"localhost";
    
$nuConfigDBName                 "newdb";
    
$nuConfigDBUser                 "user";
    
$nuConfigDBPassword             "userpassword";
    
$nuConfigDBGlobeadminPassword   "globeadminpassword";
    
$nuConfigtitle                  "newdb";

?>

Well, edit it with your data ("newdb" --> proj_name; "user" and "userpassword" --> user name and password created with mysql; "globeadminpassword" --> password of the root user of the project).
Now start firefox and insert the URL:
Code: [Select]
localhost/<proj_name>/nuinstall.phpIn the shown page insert the globeadmin (root) password and click on run.
DONE!
From now on you can "connect" to yours database project from "localhost/proj_name" URL.
For a proper use look at https://wiki.nubuilder.net/nubuilderv3 and https://forums.nubuilder.com/
Below screenshot and zip files.
For some reason the "database" button on the globeadmin page does not work so phpmyadmin login page does not open anymore for me. I think is some httpd.conf/php.ini/my.cnf misconfiguration. I have rimedied with adminer (www.adminer.org).
Happy warping!

Devid

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 4
  • Posts: 9
    • View Profile
Re: Database solution for os/2
« Reply #1 on: August 27, 2019, 01:06:46 pm »
I uploaded the file on dropbox. Here the link: https://www.dropbox.com/s/w6tbe15y2rf5193/NEWDB.zip?dl=1
« Last Edit: August 27, 2019, 01:55:35 pm by Devid »

Devid

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 4
  • Posts: 9
    • View Profile
Re: Database solution for os/2
« Reply #2 on: October 03, 2019, 08:42:40 pm »
Attached the right php.ini. Now phpmyadmin work inside nubuilder

Paul Smedley

  • Sr. Member
  • ****
  • Thank You
  • -Given: 12
  • -Receive: 54
  • Posts: 464
    • View Profile
Re: Database solution for os/2
« Reply #3 on: October 04, 2019, 05:06:25 am »
FWIW - I do have a build of PHP7.3.x available - just not on my public site yet....