DeveloperSide.NET Forums
June 05, 2020, 03:04:40 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1] 2
  Print  
Author Topic: Update, new Suite, Control Panel, SourceForge, Installer...  (Read 29926 times)
0 Members and 1 Guest are viewing this topic.
admin
Administrator
Master of All Subjects
*****
Posts: 3272


View Profile WWW Email
« on: September 22, 2006, 05:53:35 PM »

I have built, about a week ago, both an Apache 2.2, MySQL 5.0, PHP 5 branch and a Apache 2.0, MySQL 4.1, PHP 4 branch. I only need to clean things up a bit and update.

For the last couple of days I have also been writing a Control Panel for the Suite, in C\win32 API -- so its going a bit slow as I read the MSDN docs and play around. A similar panel, in function, to the Apache Service Monitor, and the XAMPP Panel. Just better. I'm focusing my time on this part of the project and when itís done, hopefully in 3 or 4 days, I'll integrate it with the Suite and put the new version(s) out. I'd also like to integrate my C\win32 API installer, but I know I will have to rewrite it a bit -- maybe it will make it in.

The new Suites will be...
stable -- Apache 2.0
developer -- Apache 2.2

and after that...
solution -- Apache 2.0 with phpBB, WordPress, etc... integrated.
[I'll probably name it something other than 'solution' -- any suggestions]

I'm also putting this project under SourceForge as the exposure you get can be 10x that of what you would get otherwise.

And there is a 90% chance that I will be able to distribute the SSL-enabled Suite(s) by default. Nothing to do with SourceForge.
Logged

DeveloperSide.NET
Advanced PHP and MySQL Solutions for your Web Design and Development needs with Web.Developer Server Suite.
admin
Administrator
Master of All Subjects
*****
Posts: 3272


View Profile WWW Email
« Reply #1 on: October 06, 2006, 12:19:10 AM »

Things have not been going as fast as I have hoped.

I have been spending most of my time on coding the control panel.

Some of the features are...

Displaying all loaded modules under Apache, including the php extensions, and being able to detect what IPs:Ports Apache, and others, are listening on.

Both of these features have nothing to do with parsing the configuration files.

The IP:PORT feature makes use of undocumented NT functions and structures and has been a real pain to implement.

To associate PID with an IP:PORT is a major problem under Windows 2000.

Under Windows XP, this task is trivial with the 'GetExtendedTcpTable' fuction, as it associates each connection with a PID (think 'netstat -ao').

But under Windows 2000, we only have "GetTcpTable" (think 'netstat -a'). Which is useless for the task at hand.

There are several methods to accomplish this task, and all are hacks and have serious drawbacks.

I do believe there is a good method; something to do with the object manager, but probably involves some major work discovering _really_ undocumented functions and structures. I have seen a program like that (handle.exe by sysinternals), but the code is not being shared.

I did find the code for the other method, which I have cleaned up, went through, and updated to my needs...

What I have had to do is, dump all the handles on the system (thousands of them), give our process Debug level Privilege, filter handles by PID, filter handles by object type number (OB_FILE_TYPE: 26 for Win2k, 28 for WinXP -- its 23 under the header, and was originally documented as 16 or 17, or something), duplicate those handles (most fail -- no way to pre-test), get the object name for that handle, filter by "\Device\Tcp" and "\Device\Udp", then use function 'NtDeviceIoControlFile' to get info. It sounds simple, but every step is a hack, uses a handful of different functions and structures, and is just a pain -- trust me, I've spent the last 4-5 days on this alone and walked away a few times.

Under Winsock, sockets are represented by file handles -- some confusion on this point. So at first I thought just find the right handle under the right PID and duplicate it, and use something like 'getsockname' to get the IP and Port, but Winsock kept on returning that this handle is not a socket handle. But it is a handle, from the Apache process, that is a socket. Maybe its a kernel mode / user mode issue. So if you cannott find an Nt function to use, you got to write a driver.

The current method does work though -- at least for my test with Apache and Win2k. For XP, I could just parse 'GetExtendedTcpTable'.

In other news, this forum's index page Google PR is fluctuating from 5 to 2. I think its all the spammers that sign up every day with a link to their sites -- which is displayed under the member list section and the account profile, which is linked to from the index page for newest user (I've disabled that now). Though I cannot disable new user signup without disabling the board. phpBB is searoiusly lacking, and I would switch to something else but for some reason my mysql dumps are half the size of the phpBB dumps. Have no idea what that is about. The dumps are different in some way. Something to do with the switch from MySQL 4.0 to 4.1. So I do not want to mess with it until everything else is done.
Logged

DeveloperSide.NET
Advanced PHP and MySQL Solutions for your Web Design and Development needs with Web.Developer Server Suite.
DeliriumServers
Customer, Basic Support
Jr. Member
*****
Posts: 61

delirium.martin@gmail.com a5m0deu5
View Profile WWW
« Reply #2 on: October 15, 2006, 04:31:09 PM »

how goes the progress?
Logged

es, i'm crazy
admin
Administrator
Master of All Subjects
*****
Posts: 3272


View Profile WWW Email
« Reply #3 on: October 21, 2006, 01:35:36 AM »

I have put up the 'Web-Developer Control Panel' version 0.9 [beta] on the Download page. I could use some feedback. There are still features to be added and a few adjustments to be made.
Logged

DeveloperSide.NET
Advanced PHP and MySQL Solutions for your Web Design and Development needs with Web.Developer Server Suite.
DeliriumServers
Customer, Basic Support
Jr. Member
*****
Posts: 61

delirium.martin@gmail.com a5m0deu5
View Profile WWW
« Reply #4 on: October 21, 2006, 06:03:04 AM »

when viewing the apache2 service description I can see one line then it looks like a very small part of a cut off line of text shows.  ip and port did not show up in extended service info. also clicking on links in the info button seem to be broken (no ip) I tested this on longhorn server.

-delirium
v1.19 of panel?
Logged

es, i'm crazy
admin
Administrator
Master of All Subjects
*****
Posts: 3272


View Profile WWW Email
« Reply #5 on: October 21, 2006, 01:13:23 PM »

99% sure its because you are running on Vista. At least now I know the method of IP detection of a Process on that platform is broken, which make sense as the ob_file_type keeps on changing. The link problem is related to the IP problem -- but it should have defaulted the URLs to 'http://localhost/...'. Will look into it, fix it, and release version 0.91 [beta] later on today.

There is also a file named log.txt that should be in the same dir as WDController.exe. It contains the debug log.
Logged

DeveloperSide.NET
Advanced PHP and MySQL Solutions for your Web Design and Development needs with Web.Developer Server Suite.
admin
Administrator
Master of All Subjects
*****
Posts: 3272


View Profile WWW Email
« Reply #6 on: October 21, 2006, 04:05:17 PM »

v0.92[beta] released. See if that fixes your problems...
Logged

DeveloperSide.NET
Advanced PHP and MySQL Solutions for your Web Design and Development needs with Web.Developer Server Suite.
DeliriumServers
Customer, Basic Support
Jr. Member
*****
Posts: 61

delirium.martin@gmail.com a5m0deu5
View Profile WWW
« Reply #7 on: October 21, 2006, 06:28:26 PM »

the lan Ip is detected and shows up, although since most of those directories are set to localhost only, only a few of the info pages resolve.  I'd probably prefer just using localhost as default there.  The IP doesn't seem to show up right for mysql service though 0.0.0.0:3306.  And in the apache2 service, the description is still cut off, so i can see the very tips of the next line of text, looks kind of messy.

well keep up the good work and I can't wait for suite 1.19!
-delirium
Logged

es, i'm crazy
admin
Administrator
Master of All Subjects
*****
Posts: 3272


View Profile WWW Email
« Reply #8 on: October 21, 2006, 07:35:42 PM »

Quote

the lan Ip is detected and shows up, although since most of those directories are set to localhost only, only a few of the info pages resolve. I'd probably prefer just using localhost as default there.


Sometimes the 'localhost' part is missing from the Windows HOSTS file and will not work. Though that does not happen often. But, if the user has Apache listening on a LAN IP only, 'localhost' also does not work.

So I have to use the IP:PORT Apache is binding to, or at least one of them.

Quote

The IP doesn't seem to show up right for mysql service though 0.0.0.0:3306.


0.0.0.0:3306 is correct. The '0.0.0.0' part means MySQL is listening to all interfaces. The same would be true if Apache was 'Listen 80' -> '0.0.0.0:80'.

Quote

And in the apache2 service, the description is still cut off, so i can see the very tips of the next line of text, looks kind of messy.


I was expecting that; at least its not going into the next line under.

What is the text of the description line? You can copy/paste it from log.txt
Logged

DeveloperSide.NET
Advanced PHP and MySQL Solutions for your Web Design and Development needs with Web.Developer Server Suite.
DeliriumServers
Customer, Basic Support
Jr. Member
*****
Posts: 61

delirium.martin@gmail.com a5m0deu5
View Profile WWW
« Reply #9 on: October 21, 2006, 07:44:32 PM »

Description: Apache/2.2.2 (Win32) mod_vd/2.0 mod_ssl/2.2.2 OpenSSL/0.9.8b PHP/5.2.0-dev mod_perl/2.0.3-dev Perl/v5.8.8



that's weird, now suddenly all the info buttons all resolve to localhost..... and it all works



-delirium
Logged

es, i'm crazy
admin
Administrator
Master of All Subjects
*****
Posts: 3272


View Profile WWW Email
« Reply #10 on: October 24, 2006, 08:51:07 PM »

Version 0.94[beta] is out.

A few adjustments.

And it should fix the clipping problem.
Logged

DeveloperSide.NET
Advanced PHP and MySQL Solutions for your Web Design and Development needs with Web.Developer Server Suite.
DeliriumServers
Customer, Basic Support
Jr. Member
*****
Posts: 61

delirium.martin@gmail.com a5m0deu5
View Profile WWW
« Reply #11 on: October 24, 2006, 09:37:38 PM »

well it doesn't clip, it just cuts it off at the end now...

also, the info button seems broken for me now, it does stuff like this http://localhost/server-info/server-status/server-info/server-status/phpinfo.php/server-status
It opens the first page right, but then each thing you click on it appends to the address, so for the above you can see I clicked about 4 things.

I'm back on Server2003 btw

-delirium
Logged

es, i'm crazy
admin
Administrator
Master of All Subjects
*****
Posts: 3272


View Profile WWW Email
« Reply #12 on: October 24, 2006, 10:13:04 PM »

Quote

well it doesn't clip, it just cuts it off at the end now...


If the text is to big for the line, it should clip with a  "..." at the end. You should not see any partial letters at the end of the line and nothing under. Is that not happening?

Under log.txt, could you locate something like the following and post it here...
Quote
Clipping string to fit '210' Dialog Units [if needed]...
"Apache/2.2.3 (Win32) PHP/5.1.5 mod_perl/2.0.3-dev Perl/v5.8.8"

Retrieving handle to a display device context (DC).

Detected Font Face: System
Dialog Unit Width (for above font): 8 [pixels]
Average (current, non-system?) Font Width: 10 [pixels]

Control Width: 525 [pixels]
String Length: 61 [characters]
String Width: 473 [pixels]

Fit String Index: 61 [characters]
Fit String Width: 473 [pixels]

Releasing handle to the display device context (DC).


I see the other problem, working on it... [fixed this one -- still working on other, v0.95]
Logged

DeveloperSide.NET
Advanced PHP and MySQL Solutions for your Web Design and Development needs with Web.Developer Server Suite.
DeliriumServers
Customer, Basic Support
Jr. Member
*****
Posts: 61

delirium.martin@gmail.com a5m0deu5
View Profile WWW
« Reply #13 on: October 25, 2006, 12:55:32 AM »

right, no ... just cuts off, here it what you asked for:

Code:
Clipping string to fit '210' Dialog Units [if needed]...
"Apache/2.2.3 (Win32) mod_vd/2.0 DAV/2 PHP/5.1.5 mod_ssl/2.2.3 OpenSSL/0.9.8b mod_perl/2.0.3-dev Perl/v5.8.8"

Retrieving handle to a display device context (DC).

Detected Font Face: System
Dialog Unit Width (for above font): 6 [pixels]
Average (current, non-system?) Font Width: 8 [pixels]

Control Width: 560 [pixels]
String Length: 107 [characters]
String Width: 734 [pixels]

Fit String Index: 79 [characters]
Fit String Width: 555 [pixels]

Releasing handle to the display device context (DC).
Logged

es, i'm crazy
admin
Administrator
Master of All Subjects
*****
Posts: 3272


View Profile WWW Email
« Reply #14 on: October 25, 2006, 03:44:26 PM »

Version 0.96 is out. I *think* the clipping problem is fixed.

It is surprisingly difficult to formulate the pixel length of a string with font and size that is not "System", under a dialog (as a primary window). About 120 lines of code (though I use lots of debug code). The formula is simple, but getting all the variables correct is quite involved.
Logged

DeveloperSide.NET
Advanced PHP and MySQL Solutions for your Web Design and Development needs with Web.Developer Server Suite.
Pages: [1] 2
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.9 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!