5.0-Nano: Known Issues: Difference between revisions
m (→PHP Scripts) |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
This page contains known issues and problems, where applicable offers solutions. | This page contains known issues and problems, where applicable offers solutions. | ||
== MySQL host name 127.0.0.1 or localhost == | |||
The following applies to Windows 7 users. | |||
=== No registry dust and portable === | |||
MySQL 5 supports only IPv4 unfortunately Windows 7 gives priority to IPv6 and returns an IPv6 address for '''localhost''' hence a connection fails. | |||
Uniform Server’s solution is to replace '''localhost''' with port address '''127.0.0.1''' this forces an IPv4 connection. | |||
* When requested for a MySQL '''host name''' use '''127.0.0.1''' | |||
=== Registry dust and portability sacrificed === | |||
I like alternatives and if you wish to use localhost as the MySQL host name perform the following: | |||
* Run regedit and create a DWORD entry at | |||
** HKLM\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters called “DisabledComponents”, | |||
* Set value to 0x20. it sets IPv4 to be preferred over IPv6 | |||
Full details of this solution is found on [http://bobstrand.com '''Bob Strand’s'''] website. | |||
See page: [http://bobstrand.com/totm/2010/04/13/hey-dude-wheres-my-localhost/ '''hey-dude-wheres-my-localhost'''] | |||
== Services not starting == | == Services not starting == | ||
Line 325: | Line 345: | ||
* Problem: Missing import TAB | * Problem: Missing import TAB | ||
* Solution: Use the Query window | * Solution: Use the Query window | ||
'''''Note'':''' Corrected in phpMyAdmin version 3.3.2 and Uniform Server 5.6.3 | |||
Although you can use the Query window (second icon top left) to import files I prefer an import TAB. | Although you can use the Query window (second icon top left) to import files I prefer an import TAB. | ||
Line 344: | Line 366: | ||
$tabs['synchronize']['text'] = $strSynchronize; | $tabs['synchronize']['text'] = $strSynchronize; | ||
</pre> | </pre> | ||
'''''[[#top | Top]]''''' | |||
== MySQL root password (host 127.0.0.1) == | |||
Versions affected, all Mona and Nano series. | |||
'''''Note'':''' Version 5.6.2-Nano Updated | |||
=== Problem === | |||
When changing MySQL root password “localhost” is correctly updated however host “127.0.0.1” remains unchanged. This is undesirable and should be rectified straight away. | |||
=== Solution === | |||
Solution is to download the latest version of Uniform Server. However this may be inconvenient. Existing installation are easily upgradeable as follows: | |||
A] Edit file: UniServer\home\admin\www\'''mqsetup.php''' | |||
Locate this code: | |||
<pre> | |||
// Create query string (not sure if you need to flush privs) | |||
$query = 'SET PASSWORD FOR \'root\'@\'localhost\' = PASSWORD(\'' . $nwpass . '\')'; | |||
$result = mysql_query($query); | |||
</pre> | |||
Just below it add the following code: | |||
<pre> | |||
// Create query string | |||
$query = 'SET PASSWORD FOR \'root\'@\'127.0.0.1\' = PASSWORD(\'' . $nwpass . '\')'; | |||
$result = mysql_query($query); | |||
$query = "FLUSH PRIVILEGES"; | |||
$result = mysql_query($query); | |||
</pre> | |||
B] Start servers | |||
C] From Unitray run restore MySQL password (root name and password both restored to root) | |||
D] From Apanel set a new MySQL root password or use the one you previously set. | |||
'''''[[#top | Top]]''''' | '''''[[#top | Top]]''''' |
Latest revision as of 16:00, 2 July 2010
5-Nano: Introduction | Install and Run | Control | DtDNS | Cron| Security features | Enable SSL | Multi-Servers | Perl | UniTray | Security and passwords | Known Issues | Support
|
|
Known issues and problems
This page contains known issues and problems, where applicable offers solutions.
MySQL host name 127.0.0.1 or localhost
The following applies to Windows 7 users.
No registry dust and portable
MySQL 5 supports only IPv4 unfortunately Windows 7 gives priority to IPv6 and returns an IPv6 address for localhost hence a connection fails.
Uniform Server’s solution is to replace localhost with port address 127.0.0.1 this forces an IPv4 connection.
- When requested for a MySQL host name use 127.0.0.1
Registry dust and portability sacrificed
I like alternatives and if you wish to use localhost as the MySQL host name perform the following:
- Run regedit and create a DWORD entry at
- HKLM\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters called “DisabledComponents”,
- Set value to 0x20. it sets IPv4 to be preferred over IPv6
Full details of this solution is found on Bob Strand’s website.
See page: hey-dude-wheres-my-localhost
Services not starting
If you receive the following errors cause is probably due to User Account Controls (UAC)
Apache error
Installing the ApacheS1 service (OS 5)Access is denied. : Failed to open the WinNT service manager The service name is invalid. More help is available by typing NET HELPMSG 2185. |
MySQL error
The service name is invalid. More help is available by typing NET HELPMSG 2185. ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061) |
There are a couple of simple ways around it.
Solution 1
In my opinion the simplest way of getting UniServer up and working on Windows 7 and I presume the same will apply for Vista is by doing as follows.
- Download 'UniServer5_5.exe' to your machine.
- Run 'UniServer5_5.exe' and choose a location to extract it to.
- Go to the location you chose to extract Uniform Server to and open the 'UniServer' folder.
- Right click on 'Start.exe' and select 'Run as administrator'.
- Right click on the system tray icon (UniTray) and select Install and run all services.
After a couple of seconds Apache and Mysql should now run as expected.
Solution 2
If you really want to be lazy and are happy to always grant UniServer 'Run as administrator' privileges then you could also
- Right click on Start.exe and choose Properties
- Click the compatibility tab.
- Tick the box 'Run this program as administrator'.
Now in future you can just run Start.exe as normal by double clicking it and it will always automatically be run as an administrator.
Note: You only need to perform the above if you want to install Apache and MySQL as a service. If you want to just use them as a normal program then there is no issue and you don't need to run as administrator, you can just choose to run them as standard programs by left clicking on the system tray icon (UniTray) and selecting 'Start Uniserver'. (Extract from forum post by Ollie222)
Servers not starting
Q) Apache and or MySQL servers will not start why?
A) 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.
Run Server Status from UniTray: Check ports are free to use.
If they are in use try the following solutions:
port 80 kill process XP Pro
You can kill the processes that use port 80 on XP Pro as follows:
- 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
Microsoft acquired Sysinternals in July, 2006 free download: Process Explorer for Windows
It is a single file and well worth popping 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.
Move IIS to another port
If you want to run IIS on another port check out this page IIS back-end server
This solutions allows you to use ASP and other applications best suited to IIS
Move UniServer to another port
Alternatively if you want to run UniServer on another port check out this page Multi-Servers
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.
Server not accessible from Internet
Q) I have tried every thing but my servers are not accessible from the Internet.
A) There can be any number of reasons why your server is not accessible from the Internet. The path to your server is not direct a typical access follows this sequence
- A user types into their browser a URL to access a page on your server.
- The domain part of the URL needs to be converted to an IP address that points to your server.
- A browser sends a request to a DNS server to obtain this IP address
- A browser uses the returned IP address to send a page request to your server
- If your server is connected to the Internet via a router the request is routed to your internal network address on port 80.
- This may be intercepted by a firewall and rejected if it has not been configured to allow access.
- Your server uses file .htacces to check allowed IP access if you have not configured this file the request will be rejected (default is to allow only local access).
- Assuming you have enabled external access in file .htaccess the page is served.
- This may be intercepted by a firewall and rejected if it has not been configured to allow Apache to act as a server.
- The above assumes your ISP does not block the ports.
External access requires passing all ten steps resolving an access failure requires pinpointing the cause. Uniform Server contains diagnostics that breaks the above chain making it easier to isolate the cause.
Server Status
With the servers running run Server Status from UniTray note what is displayed for the first two entries.
One of two results are displayed for each entry as follows:
- Your Internet IP Address: IP address displayed or Not connected or error
- Accessible from Internet: YES or NO
IP address
Your IP address is obtained from an external page. If you can surf the Internet from a browser you should see an IP address. Should an IP not be displayed it could be because the external server is down!
Accessibility
Accessibility test uses the above IP address to access your server it removes the dependence on a DN server. In addition it reads a page on your server UniServer\home\access\www\index.html
The folder is not protected by an .htaccess file hence removes any issues associated with .htaccess files.
Failing this test reduces to one or more of the following causes
- Port forwarding is not enabled in router
- Firewall blocking server
- ISP blocking port
Passing this test indicates you may have not enabled external access in file .htaccess.
A quick test is to enter your IP address into a browser e.g http://999.163.178.100 your home page should be displayed.
If not check out this page to put your servers on-line.
If server is accessible using your IP address and still cannot be accessed using your domain name indicates an issue at your DNS provider is the IP setting correct.
HOSTS File
For details see page New Users Quick hosts file
The hosts file is located in the system folder. The path may be different depending on your setup, these paths are for typical default installations.
c:\windows\~system32\drivers\etc | — Windows Vista |
c:\winnt\system32\drivers\etc\hosts | — Windows NT/2000/XP Pro |
c:\windows\system32\drivers\etc\hosts | — Windows XP Home |
Should contain the following as a minimum:
127.0.0.1 localhost # loop back address 127.0.0.1 localhost:80 # loop back address |
Cannot access server using localhost but 127.0.0.1 works
Q) I cannot access server using localhost however http://127.0.0.1 works
A) Check the hosts file contains these two entries:
- 127.0.0.1 localhost
- 127.0.0.1 localhost:80
Error message localhost/apanel has no data
Q) I type http://localhost/apanel it fails with error message localhost/apanel has no data.
A) Try http://127.0.0.1/apanel/ as an alternative. If this works you most likely have entries in the “hosts” file that are specific to IPv6 look for entries similar to these:
:. localhost or :. 127.0.0.1
Comment them out by adding a # (hash) at the beginning of each line for example:
# :. localhost or # :. 127.0.0.1
The "hosts" file should contain only these lines for IP 127.0.0.1
- 127.0.0.1 localhost
- 127.0.0.1 localhost:80
Localhost does not work on another PC
Trying to run servers on another PC and localhost does not work, see above.
I have moved my servers to a different port and localhost:81 on another PC does not work.
You require an entry in the hosts file that looks like this:
127.0.0.1 localhost:81 # loop back address |
Alternatively use http://127.0.0.1:81 to access the servers.
VHOSTS
VHOSTS Not working on another PC
Q I have several virtual hosts set using Apanel, they do not work on another PC.
A) Add corresponding entries in that PC's hosts file
LAN
Cannot access server from another PC
Q) Other users cannot access my server from their PC's on the same LAN or wireless network. My server is working fine locally.
A) Check you have enabled external access in .htaccess.
- On the machine running the server
- Run a command prompt and type ipconfig /all
- Look for Host Name e.g fred123 this should be unique for each machine.
- Alternatively look for IP Address e.g 192.168.1.6
On other machines now try the following:
- Type the following into a browser http://fred123/
- Alternatively type the following into a browser http://192.168.1.6/
Vista
- Problem: Earlier versions of Vista have problems extracting .zip files
- Solution: Download the .exe files these are 7Z self-extracting archives
PHP Scripts
- Problem: Some third party PHP scripts fail to install with development php.ini
- Solution: Before installing third party scripts use UniTray and switch to production php.ini (Default after extraction).
- For the new php.ini file to be picked up remember to restart server.
phpMyAdmin (versions 3.3.0 and 3.3.1)
- Problem: Missing import TAB
- Solution: Use the Query window
Note: Corrected in phpMyAdmin version 3.3.2 and Uniform Server 5.6.3
Although you can use the Query window (second icon top left) to import files I prefer an import TAB. If you want to re-establish this tab proceed as follows:
Edit file:
- UniServer\home\admin\www\phpMyAdmin\libraries\server_links.inc.php
Locate this block:
$tabs['import']['icon'] = 's_sync.png'; $tabs['import']['link'] = 'server_synchronize.php'; $tabs['import']['text'] = $strSynchronize;
Replace with:
$tabs['synchronize']['icon'] = 's_sync.png'; $tabs['synchronize']['link'] = 'server_synchronize.php'; $tabs['synchronize']['text'] = $strSynchronize;
MySQL root password (host 127.0.0.1)
Versions affected, all Mona and Nano series.
Note: Version 5.6.2-Nano Updated
Problem
When changing MySQL root password “localhost” is correctly updated however host “127.0.0.1” remains unchanged. This is undesirable and should be rectified straight away.
Solution
Solution is to download the latest version of Uniform Server. However this may be inconvenient. Existing installation are easily upgradeable as follows:
A] Edit file: UniServer\home\admin\www\mqsetup.php
Locate this code:
// Create query string (not sure if you need to flush privs) $query = 'SET PASSWORD FOR \'root\'@\'localhost\' = PASSWORD(\'' . $nwpass . '\')'; $result = mysql_query($query);
Just below it add the following code:
// Create query string $query = 'SET PASSWORD FOR \'root\'@\'127.0.0.1\' = PASSWORD(\'' . $nwpass . '\')'; $result = mysql_query($query); $query = "FLUSH PRIVILEGES"; $result = mysql_query($query);
B] Start servers
C] From Unitray run restore MySQL password (root name and password both restored to root)
D] From Apanel set a new MySQL root password or use the one you previously set.