Home |  Mewsoft |   Overview |  Features |  License |  Installation |  Troubleshooting |  SDK |  Customization |  FAQ |  PDF    
 
 Engine Management
  Auctions Manager
  Accounts Manager
  Pending Accounts
  Accounting Manager
  Banner Advertisers
  Mail Manager

  System Statistics

 System Management 
  Category Manager
  Language Manager
  Fees Manager
  Database & SQL Manager
  System Announcements
  System Maintenance
 System Setup
  Configuration
  General Options
  Category Options
  Listing Options
  File Upload Options
  Billing System Setup
  Portal Tools
 Layout & Integration
  General Classes
  Special Classes
  Template Editor
  Custom Functions
 System Tools
  Lock System Access
  Server Backup
  Setup Wizard

 

Troubleshooting

 

I get file not found when I start the admin after installation
Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Can't Load  Errors With myacount, addurl
 

 

 

 

 

 

 

 


I get file not found when I start the admin after installation
If you get the error like file not found when you try to start the admin program after installation, then there are several possibilities for this error:
  • Make sure you installed the executables directory "dir" under your server executables directory, this is normally your server cgi-bin directory.
  • Make sure you set the correct files and directories permissions as explained in the post installation configuration. The NetSheild will set the correct permissions automatically on some systems like Linux, but it will not change the permissions on other systems like Windows and FreeBSD. Use your FTP or Telnet to change the permissions.
  • Try to edit the file data/startup.ini which includes the directories and filenames of the programs using any text editor like Notepad.
  • On Windows system you may have to call the files with the extension. For example instead of calling the program admin, just call it as admin.exe.
  • Make sure you are using the correct full browser URL to the directory where you installed the search engine executable directory "dir".
  • Make sure you have installed the correct version of the program according to your server operating system. For example you can not run Windows version on Unix system and visa versa.
  • make sure your server hardware is also compatible with the version you are using of the program, even for the same operating system. For example, you can not use the Linux version built for i686 on a Cobalt system.

 


Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
If you keep getting: error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'. Some RPM's put the mysql.sock file in /var/lib/mysql/mysql.sock instead of /tmp/mysql.sock, a small solution is to symlink it:

ln -s /var/lib/mysql/mysql.sock  /tmp

 

Problem Details (from mysql documentations, www.mysql.com):

Can't connect to [local] MySQL server error

A MySQL client on Unix can connect to the mysqld server in two different ways: Unix sockets, which connect through a file in the file system (default `/tmp/mysqld.sock') or TCP/IP, which connects through a port number. Unix sockets are faster than TCP/IP but can only be used when connecting to a server on the same computer. Unix sockets are used if you don't specify a hostname or if you specify the special hostname localhost.

On Windows you can connect only with TCP/IP if the mysqld server is running on Win95/Win98. If it's running on NT, you can also connect with named pipes. The name of the named pipe is MySQL. If you don't give a hostname when connecting to mysqld, a MySQL client will first try to connect to the named pipe, and if this doesn't work it will connect to the TCP/IP port. You can force the use of named pipes on Windows by using . as the hostname.

The error (2002) Can't connect to ... normally means that there isn't a MySQL server running on the system or that you are using a wrong socket file or TCP/IP port when trying to connect to the mysqld server.

Start by checking (using ps or the task manager on Windows) that there is a process running named mysqld on your server! If there isn't any mysqld process, you should start one.

If a mysqld process is running, you can check the server by trying these different connections (the port number and socket pathname might be different in your setup, of course):

shell> mysqladmin version
shell> mysqladmin variables
shell> mysqladmin -h `hostname` version variables
shell> mysqladmin -h `hostname` --port=3306 version
shell> mysqladmin -h 'ip for your host' version
shell> mysqladmin --socket=/tmp/mysql.sock version

Note the use of backquotes rather than forward quotes with the hostname command; these cause the output of hostname (that is, the current hostname) to be substituted into the mysqladmin command.

Here are some reasons the Can't connect to local MySQL server error might occur:

  • mysqld is not running.
  • You are running on a system that uses MIT-pthreads. If you are running on a system that doesn't have native threads, mysqld uses the MIT-pthreads package. However, all MIT-pthreads versions doesn't support Unix sockets. On a system without sockets support you must always specify the hostname explicitly when connecting to the server. Try using this command to check the connection to the server:
    shell> mysqladmin -h `hostname` version
    
  • Someone has removed the Unix socket that mysqld uses (default `/tmp/mysqld.sock'). You might have a cron job that removes the MySQL socket (for example, a job that removes old files from the `/tmp' directory). You can always run mysqladmin version and check that the socket mysqladmin is trying to use really exists. The fix in this case is to change the cron job to not remove `mysqld.sock' or to place the socket somewhere else. See section.
  • You have started the mysqld server with the --socket=/path/to/socket option. If you change the socket pathname for the server, you must also notify the MySQL clients about the new path. You can do this by providing the socket path as an argument to the client.
  • You are using Linux and one thread has died (core dumped). In this case you must kill the other mysqld threads (for example, with the mysql_zap script before you can start a new MySQL server.
  • You may not have read and write privilege to either the directory that holds the socket file or privilege to the socket file itself. In this case you have to either change the privilege for the directory / file or restart mysqld so that it uses a directory that you can access.

If you get the error message Can't connect to MySQL server on some_hostname, you can try the following things to find out what the problem is :

  • Check if the server is up by doing telnet your-host-name tcp-ip-port-number and press Enter a couple of times. If there is a MySQL server running on this port you should get a responses that includes the version number of the running MySQL server. If you get an error like telnet: Unable to connect to remote host: Connection refused, then there is no server running on the given port.
  • Try connecting to the mysqld daemon on the local machine and check the TCP/IP port that mysqld it's configured to use (variable port) with mysqladmin variables.
  • Check that your mysqld server is not started with the --skip-networking option.
How to Protect or change the MySQL socket file `/tmp/mysql.sock'

If you have problems with the fact that anyone can delete the MySQL communication socket `/tmp/mysql.sock', you can, on most versions of Unix, protect your `/tmp' file system by setting the sticky bit on it. Log in as root and do the following:

shell> chmod +t /tmp
This will protect your `/tmp' file system so that files can be deleted only by their owners or the superuser (root).

You can check if the sticky bit is set by executing ls -ld /tmp. If the last permission bit is t, the bit is set.

You can change the place where MySQL uses / puts the socket file the following ways:

  • Specify the path in a global or local option file. For example, put in /etc/my.cnf:
    [client]
    socket=path-for-socket-file
    
    [mysqld]
    socket=path-for-socket-file
    
  • Specifying this on the command line to safe_mysqld and most clients with the --socket=path-for-socket-file option.
  • Specify the path to the socket in the MYSQL_UNIX_PORT environment variable.
  • Defining the path with the configure option --with-unix-socket-path=path-for-socket-file.

You can test that the socket works with this command:

shell> mysqladmin --socket=/path/to/socket version

for more details check mysql website http://www.mysql.com.

 


Can't Load  Errors With myacount, addurl
If you got error like this:

Can't load '/cgi-bin/dir/SSLeay.so' for module Crypt::SSLeay: libssl.so.1: cannot open shared object file: No such file or directory

Then you do not have OpenSSL installed on your server.

The "Addurl" and "Manage Account" programs uses secure socket layer SSL for connections.

There are two solutions.

The first solution is to install OpenSSL on your server. You can get it from www.openssl.org.

The second solution is to use the non secure file "myaccountssl" instead of "myacount". Just change the file name in the file data/startup.ini. This line like this:

My_Account_Prog=myaccount

change it to :

My_Account_Prog=myaccountssl

 


 
Copyright © 2001-2004 Mewsoft™ Corporation. All rights reserved.