Home Web Server: Known Problems: Difference between revisions
No edit summary |
|||
Line 504: | Line 504: | ||
[[Category: Installation]] | [[Category: Installation]] | ||
[[Category: Security]] | [[Category: Security]] | ||
Latest revision as of 20:13, 21 September 2010
Home Web Server: Home | Overview | Single Page Guide | Install | Security | DynDNS Account | DynDNS Updater | Updater portability | Problems |
Common Problems and Issues (3.5 - Apollo) |
It really is a shame you are reading this page, you have obviously encountered problems either during installation or normal operation. In general these problems are common to running any other WAMP installation on a home PC. I have tailored this page specifically for new users unsing UniServer 3.5-Apollo .
Invariably installation problems are conflicts with existing software hence I list these first and attempt to point you in the right direction. Other problems are application specific these I cover as best as I can.
Is port 80 being used
If port 80 is being used by another service or server Uniform Server will not start. Before starting Uniserver make sure you do not have another service running on Port 80. The following check works on XP home and XP Pro:
- Start a command prompt start > run > type in cmd
- At the command prompt type netstat -ano | find "LISTENING" | find ":80"
This produces a list of what ports are being occupied. Any IP followed by :80 means port 80 is being used. You now have the following options:
- Disable (kill process) the offending items
- The ideal is to Delete the offending items these are the main culprits:
- As a last resort you can change Uniserver Listening Port not my choice.
port 80 kill process XP Pro
You can kill the processes that use port 80 on XP Pro as follows:
{By Mr X}
- Start the Command Prompt and then type netstat -ano | find "LISTENING" | find ":80"
- You'll see a bunch of stuff like "TCP x.x.x.x:80 x.x.x.x:0 LISTENING number", what we're interested in here is number, if there are more than one (which normally shouldn't happen), repeat the steps below for each one
- Type tasklist /SVC /FI "PID number", replace number with the one you saw after executing the first command.
- You'll see 3 lines of stuff, but we're only interested in the last line, which should be something like program number service, if program is Skype.exe, you can change the port it listens on; if <service> is not N/A then proceed to the next step
- Type net stop service, replace service with the one displayed after executing the command above (it shouldn't have any spaces).
- You should see something like "The xxxx service was stopped successfully", this means that you've got rid of the service (probably IIS) that was using port 80 (and thus making you unable to access Uniform Server);
port 80 kill process XP Home
XP home does not support the tasklist command. A better alternative for both xp pro and home is to use:
procexp.exe from Sysinternals
While checking to see if it still existed I was surprised to find that Microsoft acquired Sysinternals in July, 2006.
I was even more surprised that these tools can still be downloaded for free: Process Explorer for Windows
It is a single file and well worth poping on your memory stick.
Using
The easiest way to use this tool is to obtain a list of what is running on port 80 using:
- Start the Command Prompt and then type netstat -ano | find "LISTENING" | find ":80"
- You'll see a bunch of stuff like "TCP x.x.x.x:80 x.x.x.x:0 LISTENING number", what we're interested in here is number the PID
- Now run procexp.exe look down the list of PID's and find the ones from the above step. You now have the process name and possibly a description.
- Right click on the file name and select Kill Process repeat for all the above. Now start UniServer you will find it now works.
All you need to do now is decide what you want to do with the offending programs (they will restart next time you reboot) either delete or change the listening ports.
Unistall IIS
XP Pro comes with Windows IIS (Windows Internet Information Server) pre-installed, the following details how to remove it.
Note: XP Home does not have IIS installed hence not a problem.
To uninstall IIS using Add or Remove a Windows Component in Control Panel
- From the Start menu, click Control Panel.
- Double-click Add or Remove Programs.
- Click Add/Remove Windows Components.
- In the Components list click the Application Server check box.
- Click Next.
- Click Close when un-installation of IIS is complete.
Alternative method
To uninstall IIS using the Configure Your Server Wizard
- From the Start menu, click Manage Your Server.
- Under Managing Your Server Roles, click Add or remove a role.
- Read the preliminary steps in the Configure Your Server Wizard and click Next.
- Under Server Role, click Application server (IIS, ASP.NET) and then click Next.
- In the Role Removal Configuration dialog, check the Remove the application server role check box.
- Complete the wizard, and then click Finish.
Disable IIS
If you must have IIS on your machine you have two alternatives as follows:
You can disable IIS by using the Internet Information Services applet in the Administrative tools area of Control panel.
- Select the Default Web Site element
- Right click it
- Now click Stop.
Alternatively change Uniserver Listening Port
Skype
Skype is a little piece of software that lets you make free telephone calls anywhere in the world to another Skype user. They like Uniserver have their own problems with firewalls check out this link. Skype may and does use port 80 this conflicts with Uniserver however it is quite an obliging piece of software in that it can share port 80 or be moved on.
Shared port
I have not confirmed this works but worth a try:
- Stop Uniserver
- Stop Skype
- Start Uniserver
- Then start Skype
If this solution works let me know! However the preferred solution is that recommended by Olajide:
Move it on
Move Skype to another port
- Skype > Tools > Options > Connections
- Change the port to something like 85(incoming). Check that both Uniserver and Skype are happy or try another port.
PS I trust you have killed off... IIS that's another story.
Change UniServer Listening Port
If you must! you can change Uniform Server's listening port as follows:
Change port number Method 1
If you are changing the port because of a conflict and Apache cannot be started you need to open the file httpd.conf located in folder:
*\Uniform Server\udrive\usr\local\apache2\conf
- Choose a suitable alternative port eg 8080
- Change Server Name to read localhost:8080 (line number 266)
- Change Listen to read 8080 (line number 125)
- Save the file.
- Re-start the server. You will not be redirected to apanel so type http://localhost:8080/apanel/ into your browser address bar.
- Click on Apache configuration (do not change any values)
- Click on Save (This automatically changes all other dependent files just saves you changing these manually)
- Re-start the server (This time you will be re-directed to apanel all dependents have been changed.)
Check out notes 1-4 below.
Change port number Method 2
If Apache is running you can use the following method:
- Start apanel by typing the following into your browser address bar: http://localhost/apanel/
- Click on Apache Configuration (menu on the left) choose a suitable alternative port eg 8080
- Change Server Name: to read localhost:8080
- Change Listen: to read 8080
- Click save
- Restart your server for the changes to take place.
Check out notes 1-4 below
Note 1:
Your server will now use port 8080 to access apanel. When the server re-starts the port is automatically inserted for you. After redirection your browser will display http://localhost:8080/apanel/ in your browser address bar. When you start apanel manually remember to include the port number.
Note 2:
Remember this also applies to your web site for example to access your index page use http://localhost:8080/index.html Note 3:
If your servers are on line and registered for example a domain www.fred.com to access your site a user needs to type into their browser address bar http://www.fred.com:8080/index.html Note 4:
If you must change your server port only do it for testing purposes. Never run a real website on any other port other than port 80, remember all browsers default to this standard port 80.
Disable warning message
After changing Apache listening port attempting to either start or stop the MySQL server from apanel will result in the following warning:
» Security Alert! Possible Attack HTTP_REFERER is not localhost, but 'http://localhost:8080/apanel/navigation.php'. To disable this warning go: /home/admin/www/cgi-bin/includes/lang/en/secure.pm
It’s not just a warning it prevents you starting or stopping the server.
Solution:
- Open file: secure.pm
Located in folder: /home/admin/www/cgi-bin/includes/lang/en - Just below this line:
# If you want to disable security check - comment the following lines with #.
Add this:
return 1;
Note: You could comment the lines as stated however return 1 saves typing.
HTTP_REFERER
What is it
What is this referrer thing? When you click a link to go to a new Internet page, your browser secretly (normal operation) sends along with the request the domain address of the current page. This is called the referrer. Among other things it can be used for data logging to find out where a user came from. Uniform Server uses the referrer to check the validly of a domain that can access the admin area. Only localhost has this privilege all external access are denied.
Security
When you receive this error message HTTP_REFERER is not localhost; confirms the security check is working. You are told to disable the security check by commenting out the offending lines in /home/admin/www/cgi-bin/secure.pm. This is masking the real problem.
Scenarios
There are two scenarios that cause the error message:
- After a fresh install you have access to apanel, using any of the control links you receive the following error message:
- HTTP_REFERER is not localhost. but '.'
- You are an advanced user and changed the Apache listening port the error message will be similar to this:
- HTTP_REFERER is not localhost. but 'http://localhost:81/apanel/navigation.php'.
Scenario 1)' There are two possible causes
- Depending on your firewall settings the referrer can be filtered out to prevent your last page identity being obtained. This is known as stealth well the bottom line, it is this that creates the error message because the referrer has been removed and prevents access by localhost.
- To add insult to injury you may find your browser has been set to prevent sending the referrer.
- The solution is to set your firewall so it does not filter out the referrer for localhost. All fire walls have a different procedure to do this I have listed a few of the common ones see HTTP_REFER solution 1 I have also included some of the common browsers.
Scenario 2) Self inflicted
- The solution requires modification to several files these are detailed in Changining UniServer Listening Port.
HTTP_REFER solution 1
If for some reason HTTP_REFER has been filtered out by either your Firewall or browser it will activate Uniform server's security and block access to admin. The solution is to allow HTTP_REFER by setting your firewall or browser accordingly. This page includes some of the common browsers and fire walls to get you started.
Note: To check if it is a firewall issue DISCONNECT FROM THE INTERNET and turn your firewall off.
Check to see if you still get the error message.
If you do it is most likely a browser issue and not a firewall problem.
Common firewalls
Norton Personal
To Create a Rule
Open Norton Internet Security or Norton Personal Firewall and choose one of the following:
In Norton Internet Security/Norton Personal Firewall 2003
- Click Options > Internet Security or
- Personal Firewall (This step is not always needed) and click the Web Content tab
In Norton Internet Security/Norton Personal Firewall 2004 and 2005
- Double-click Privacy Control
- Click Advanced
- Click Add Site (A new site/domain box appears)
- Enter the name of the site that you want to receive the referrer information and click OK.
- In this example, it will be localhost.
- The site name appears in the left frame of the Options window
- Click the name of the new site
- Click the Global Settings tab
- In the "Information about visited sites" section, clear "Use default settings"
- Click Permit
- Click OK to close the Options window
Netbarrier
Go to Privacy > Surf > Information Hiding, and uncheck the "Last Web site visited" box. Sygate Firewall: The free version of this firewall does not block sending referrers.
The Pro version: Click Tools > Options > Security Ensure that 'enable stealth mode browsing' is unchecked.
Zone Alarm Pro
- Under Privacy Button on Left, Click on Site List Tab.
- Right click on "Private Header" column where localhost URL is located. Or click "Add" to add the URL.
- From the menu, choose Options
- On the first tab named "Cookies", remove check mark on "third party cookies - remove private header information"
- Click OK
McAfee
- Right-click the red M icon.
- Click Privacy Service.
- Click Options.
- The McAfee Privacy Service window appears. Click Cookies.
- Enter each web site address from which you would like to allow cookies.
- Click Add.
- Once completed, close the window
Privoxy
There is a "+hide-referrer" option that defaults to "forge a url" in the referral header; either disable this option in default.action (-hide-referrer) or simply place your domain in the { fragile } section of user.action. Another option is to exclude your domain from being proxied in your web browser's settings.
Common browsers
Internet Explorer 6
(Why are you using this! IE7 no way not on my machine) This can be done from the computer's Control Panel > Internet Options, or from within the browser Tools > Internet Options.
- Click Security.
- Click Trusted Sites then Sites
- Add your web site address in the box provided and click Add.
- Uncheck the box that requires https verification.
- Click the Privacy tab (Medium is an acceptable setting on the slider, but click Sites and again enter your web site address)/
- Now click Allow.
- Click Apply.
Firefox 1.x 2.x
- Type about:config in the URL address bar.
- A large collection of alphabetically listed information will appear in the browser window.
- Search for network.http.sendRefererHeader By default, this should be set at 2.
- If it is set to 0 - which disables sending referrers - right click it, select Modify and enter 2 as the value.
- If that doesn't work, try a value of 1 (Value of 2 works fine in Firefox 2)
Note 1: Have you tried the portable version of Firefox 2 excellent browser. Note 1: Have you tried the FireBug extension
Opera 8.5 9.10
Sending referrers is enabled by default. If you have disabled it, go to Tools > Preferences > Advanced > Network > Enable Referrer Logging.
General note:
Upgrade to the latest version of Opera or Firefox they are ace browsers. More than likely I have not covered what you use, no problem search the net for a solution or better still visit their forums.
Dross and Floss
These are items that get left behind after uninstalling programs either because the uninstaller is inefficient or you are informed they are shared files and leaving them will do no harm!.
If you have ever installed individual installation of Apache or MySQL and uninstalled them two files are likely to remain on your PC these are PHP.ini and LIBMYSQL.DLL and remain on the system path.
A conflict occurs when UniServer’s PHP or MySQL programs search for these files.
- They first look along the system path and use these files if found.
- If not they search their local folders.
These programs are designed to work in this manner and the solution is to run a search and delete all copies that are not associated with Uniform Server.
Note: You can have as many copies of UniServer each with their local copies of these files and have no conflicts.
Cached to death
This is one of those areas that is not a general problem but specific when testing. If you have more than one installation of UniServer and run tests an error in one percolates to the other! Even more thought provoking download a new copy and the problem still persists. In the forum I believe I have seen this theme run through many threads.
The problem arises because a browser caches pages, when a page is re-loaded invariably the browser does not update that page unless specifically requested but loads it from cache. If that page or related pages contain errors and you fire up a new server these page can be loaded in place of the new ones as expected. You may have resolved the problem but still see the errors from your previous server tests.
The answer is to clear all caches before doing any new tests you could always disable caching but that has problems in its own right.
Fore Firefox clear the caches as follows:
Tools > options > advanced > network > cache clear now Restart to clear the memory cache.
Note: To clear a single page in Firefox hold down the shift key down click the page refresh button
Windows defender
Windows defender - Windows Vista Ultimate - Running as a service
Quote MS “Windows Defender is a new security program that helps to protect your PC from spyware and other unwanted software.” The trouble is it may also block Uniform Server when run as a service preventing it running.
These images show this blocking in action: {Images by “Star” lifted from forum}
Run as servive
Prevent the program being scanned at start-up using the following sequence:
- Goto Tools and then
- Options
- Scroll down to Advanced options
- Fill in the box, by adding the full path and file name to Tools/Options/ do not scan box,
- Cclick the add button
- Click Save.
This page is worth a visit TechRepublic
NTVDM
NTVDM has encountered an illegal instruction
If you are running Comodo AntiVirus software and receive the following error message:
"NTVDM has encountered an illegal instruction"
- The solution is to edit Apache configuration file httpd.conf
- Located in folder: *\Uniform Server\udrive\usr\local\apache2\conf
- Add the following to the end of the file: Win32DisableAcceptEx
{Thanks to Alan See forum}
Disk Start.vbs Bug fix
Bug fix to stop database from starting when using Disk Start.vbs
Disk Start.vbs located in folder (*\Uniform Server)
No database on startup, Bug fix to stop database from starting when using Disk Start.vbs
Open the file in a text editor,
Change the following:
|
t=MsgBox("Start the MySQL Database Server?", vbYesNo + vbQuestion, "Database Support") |
To this:
|
t=MsgBox("Start the MySQL Database Server?", vbYesNo + vbQuestion, "Database Support") |
{Thanks to Marshy see forum}
Ric |