Zoneminder install failed

I had FAMP installed before I started install Zoneminder so it might ruined my install. I removed Apache before started Zoneminder install.

Code:
% sudo service zoneminder stop
DBI connect('database=zm;host=localhost','zmuser',...) failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) at /usr/local/lib/perl5/site_perl/ZoneMinder/Config.pm line 106.
Can't connect to db at /usr/local/lib/perl5/site_perl/ZoneMinder/Config.pm line 129.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/ZoneMinder/Config.pm line 129.
Compilation failed in require at /usr/local/lib/perl5/site_perl/ZoneMinder.pm line 33.
BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/ZoneMinder.pm line 33.
Compilation failed in require at /usr/local/bin/zmpkg.pl line 48.
BEGIN failed--compilation aborted at /usr/local/bin/zmpkg.pl line 48.

Do you know what has gone wrong?

Code:
1.4 PHP is installed as a dependency to ZoneMinder. However, you should
   tweak some of it's settings.
   Edit /usr/local/etc/php-fpm.conf and set

       listen = /var/run/php-fpm.sock
       listen.owner = www
       listen.group = www
       env[PATH] = /usr/local/bin:/usr/bin:/bin

Those already are there, should I take ; away front off line?

Maybe I should remove everything and start install it again.
 
Code:
DBI connect('database=zm;host=localhost','zmuser',...) failed: [b]Can't connect to local MySQL server[/b] through socket '/tmp/mysql.sock' (2) at /usr/local/lib/perl5/site_perl/ZoneMinder/Config.pm line 106.
Looks like you forgot to configure the DB settings.
 
I removed everything and started from scratch. Now ZM works, but I had to make little change to those instructions.

When copy/paste text to nginx.conf from that pdf, lines where at wrong order. I had to fix that file.

8.3 Configure fcgiwrap

% sudo service fcgiwrap restart
fcgiwrap not running? (check /var/run/fcgiwrap/fcgiwrap.pid).
Starting fcgiwrap.
chmod: /var/run/fcgiwrap/fcgiwrap.sock: No such file or directory
chown: /var/run/fcgiwrap/fcgiwrap.sock: No such file or directory
chgrp: /var/run/fcgiwrap/fcgiwrap.sock: No such file or directory


I gave command:

% sudo sysrc fcgiwrap_socket_owner="www"
fcgiwrap_socket_owner: -> www


.. before service fcgiwrap restart.
 

Attachments

Is there something wrong with my perl5? ONVIF camera detect gives this error:

Code:
Unable to probe network cameras, status is '255'. Output was:

No results from GetCapabilities: SOAP-ENV:ServerError deserializing message:
unbound prefix at line 2, column 2969, byte 3008 at /usr/local/lib/perl5/site_perl/SOAP/WSDL/Expat/Base.pm line 79.
at line 2 at /usr/local/lib/perl5/site_perl/SOAP/WSDL/Expat/Base.pm line 82.
.
Message was:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:c14n="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsa5="http://www.w3.org/2005/08/addressing" xmlns:xmime="http://tempuri.org/xmime.xsd" xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:tt="http://www.onvif.org/ver10/schema" xmlns:wsbf="http://docs.oasis-open.org/wsrf/bf-2" xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" xmlns:d="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wsr="http://docs.oasis-open.org/wsrf/r-2" xmlns:dndl="http://www.onvif.org/ver10/network/wsdl/DiscoveryLookupBinding" xmlns:dnrd="http://www.onvif.org/ver10/network/wsdl/RemoteDiscoveryBinding" xmlns:dn="http://www.onvif.org/ver10/network/wsdl" xmlns:tad="http://www.onvif.org/ver10/analyticsdevice/wsdl" xmlns:tanae="http://www.onvif.org/ver20/analytics/wsdl/AnalyticsEngineBinding" xmlns:tanre="http://www.onvif.org/ver20/analytics/wsdl/RuleEngineBinding" xmlns:tan="http://www.onvif.org/ver20/analytics/wsdl" xmlns:tds="http://www.onvif.org/ver10/device/wsdl" xmlns:tetcp="http://www.onvif.org/ver10/events/wsdl/CreatePullPointBinding" xmlns:tete="http://www.onvif.org/ver10/events/wsdl/EventBinding" xmlns:tetnc="http://www.onvif.org/ver10/events/wsdl/NotificationConsumerBinding" xmlns:tetnp="http://www.onvif.org/ver10/events/wsdl/NotificationProducerBinding" xmlns:tetpp="http://www.onvif.org/ver10/events/wsdl/PullPointBinding" xmlns:tetpps="http://www.onvif.org/ver10/events/wsdl/PullPointSubscriptionBinding" xmlns:tev="http://www.onvif.org/ver10/events/wsdl" xmlns:tetps="http://www.onvif.org/ver10/events/wsdl/PausableSubscriptionManagerBinding" xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:tetsm="http://www.onvif.org/ver10/events/wsdl/SubscriptionManagerBinding" xmlns:timg="http://www.onvif.org/ver20/imaging/wsdl" xmlns:timg10="http://www.onvif.org/ver10/imaging/wsdl" xmlns:tls="http://www.onvif.org/ver10/display/wsdl" xmlns:tmd="http://www.onvif.org/ver10/deviceIO/wsdl" xmlns:tptz="http://www.onvif.org/ver20/ptz/wsdl" xmlns:trc="http://www.onvif.org/ver10/recording/wsdl" xmlns:trp="http://www.onvif.org/ver10/replay/wsdl" xmlns:trt="http://www.onvif.org/ver10/media/wsdl" xmlns:trv="http://www.onvif.org/ver10/receiver/wsdl" xmlns:tse="http://www.onvif.org/ver10/search/wsdl" xmlns:tns1="http://www.onvif.org/ver10/topics" xmlns:tnsn="http://www.eventextension.com/2011/event/topics" xmlns:tnsavg="http://www.avigilon.com/onvif/ver10/topics" ><SOAP-ENV:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value><env:Subcode><env:Value>ter:NotAuthorized</env:Value></env:Subcode></env:Code><env:Reason><env:Text xml:lang="en">Server authentication failed</env:Text></env:Reason><env:Detail><env:Text>Please provide valid user and password</env:Text></env:Detail></env:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
urn:localhost

Please the following command from a command line for more information:

/usr/local/bin/zmonvif-probe.pl profiles
 
Have you tried following the instructions?
Code:
Please the following command from a command line for more information:

/usr/local/bin/zmonvif-probe.pl profiles
 
Have you tried following the instructions?
Code:
Please the following command from a command line for more information:

/usr/local/bin/zmonvif-probe.pl profiles

Code:
% /usr/local/bin/zmonvif-probe.pl profiles
Use of uninitialized value $scheme in substitution (s///) at /usr/local/lib/perl5/site_perl/SOAP/WSDL/Factory/Transport.pm line 37.
Use of uninitialized value $scheme in hash element at /usr/local/lib/perl5/site_perl/SOAP/WSDL/Factory/Transport.pm line 40.
Use of uninitialized value $scheme in exists at /usr/local/lib/perl5/site_perl/SOAP/WSDL/Factory/Transport.pm line 59.
Use of uninitialized value $scheme in exists at /usr/local/lib/perl5/site_perl/SOAP/WSDL/Factory/Transport.pm line 75.
Use of uninitialized value $scheme in concatenation (.) or string at /usr/local/lib/perl5/site_perl/SOAP/WSDL/Factory/Transport.pm line 83.
no transport class found for scheme <> at /usr/local/lib/perl5/site_perl/SOAP/WSDL/Factory/Transport.pm line 83.
 
% cat /usr/local/lib/perl5/site_perl/SOAP/WSDL/Factory/Transport.pm

package SOAP::WSDL::Factory::Transport;
use strict;
use warnings;
our $VERSION = 3.003;

my %registered_transport_of = ();

# Local constants
# Could be made readonly, but that's just for the paranoid...
my %SOAP_LITE_TRANSPORT_OF = (
ftp => 'SOAP::Transport::FTP',
http => 'SOAP::Transport::HTTP',
https => 'SOAP::Transport::HTTP',
mailto => 'SOAP::Transport::MAILTO',
'local' => 'SOAP::Transport::LOCAL',
jabber => 'SOAP::Transport::JABBER',
mq => 'SOAP::Transport::MQ',
);

my %SOAP_WSDL_TRANSPORT_OF = (
http => 'SOAP::WSDL::Transport::HTTP',
https => 'SOAP::WSDL::Transport::HTTP',
);

# class methods only
sub register {
my ($class, $scheme, $package) = @_;
die "Cannot use reference as scheme" if ref $scheme;
$registered_transport_of{ $scheme } = $package;
}

sub get_transport {
my ($class, $url, %attrs) = @_;


my $scheme = $url;
$scheme =~s{ \:.+$ }{}xm;


if (defined $registered_transport_of{ $scheme }) {
no strict qw(refs);
$registered_transport_of{ $scheme }->can('new') or
eval "require $registered_transport_of{ $scheme }"
or die "Cannot load transport class $registered_transport_of{ $scheme } : $@";

# try "foo::Client" class first - SOAP::Tranport always requires
# a package withoug the ::Client appended, and then
# instantiates a ::Client object...
# ... pretty weird ...
# ... must be from some time when the max number of files was a
# sparse resource ...
# ... but we've decided to mimic SOAP::Lite...

return $registered_transport_of{ $scheme }->new( %attrs );
}

# try SOAP::Lite's Transport module - just skip if not require'able
SOAP_Lite: {
if (exists $SOAP_LITE_TRANSPORT_OF{ $scheme }) {
no strict qw(refs);
# behaves interestingly different under different versions of perl
# maybe true even if it's not available
my $protocol_class = $SOAP_LITE_TRANSPORT_OF{ $scheme } . '::Client';
$protocol_class->can('new')
or eval "require $SOAP_LITE_TRANSPORT_OF{ $scheme }"
or last SOAP_Lite;

# may fail if it's not available
my $transport = eval { $protocol_class->new( %attrs ) }
or last SOAP_Lite;
return $transport;
}
}

if (exists $SOAP_WSDL_TRANSPORT_OF{ $scheme }) {
no strict qw(refs);
$SOAP_WSDL_TRANSPORT_OF{ $scheme }->can('new')
or eval "require $SOAP_WSDL_TRANSPORT_OF{ $scheme }"
or die "Cannot load transport class $SOAP_WSDL_TRANSPORT_OF{ $scheme } : $@";
return $SOAP_WSDL_TRANSPORT_OF{ $scheme }->new( %attrs );
}

die "no transport class found for scheme <$scheme>";
}

1;

=pod

=head1 NAME

SOAP::WSDL::Factory::Transport - Factory for retrieving transport objects

=head1 SYNOPSIS

# from SOAP::WSDL::Client:
$transport = SOAP::WSDL::Factory::Transport->get_transport( $url, @opt );

# in transport class:
package MyWickedTransport;
use SOAP::WSDL::Factory::Transport;

# register class as transport module for httpr and https
# (httpr is "reliable http", a protocol developed by IBM).
SOAP::WSDL::Factory::Transport->register( 'httpr' , __PACKAGE__ );
SOAP::WSDL::Factory::Transport->register( 'https' , __PACKAGE__ );

=head1 DESCRIPTION

SOAP::WSDL::Transport serves as factory for retrieving transport objects for
SOAP::WSDL.

The actual work is done by specific transport classes.

SOAP::WSDL::Transport tries to load one of the following classes:

=over

=item * the class registered for the scheme via register()

=item * the SOAP::Lite class matching the scheme

=item * the SOAP::WSDL class matching the scheme

=back

=head1 METHODS

=head2 register

SOAP::WSDL::Transport->register('https', 'MyWickedTransport');

Globally registers a class for use as transport class.

=head2 proxy

$trans->proxy('http://soap-wsdl.sourceforge.net');

Sets the proxy (endpoint).

Returns the transport for this protocol.

=head2 set_transport

Sets the current transport object.

=head2 get_transport

Gets the current transport object.

=head1 WRITING YOUR OWN TRANSPORT CLASS

=head2 Registering a transport class

Transport classes must be registered with SOAP::WSDL::Factory::Transport.

This is done by executing the following code where $scheme is the URL scheme
the class should be used for, and $module is the class' module name.

SOAP::WSDL::Factory::Transport->register( $scheme, $module);

To auto-register your transport class on loading, execute register() in your
tranport class (see L<SYNOPSIS|SYNOPSIS> above).

Multiple protocols or multiple classes are registered by multiple calls to
register().

=head2 Transport plugin package layout

You may only use transport classes whose name is either
the module name or the module name with '::Client' appended.

=head2 Methods to implement

Transport classes must implement the interface required for SOAP::Lite
transport classes (see L<SOAP::Lite::Transport> for details,
L<SOAP::WSDL::Transport::HTTP|SOAP::WSDL::Transport::HTTP> for an example).

To provide this interface, transport modules must implement the following
methods:

=over

=item * new

=item * send_receive

Dispatches a request and returns the content of the response.

=item * code

Returns the status code of the last send_receive call (if any).

=item * message

Returns the status message of the last send_receive call (if any).

=item * status

Returns the status of the last send_receive call (if any).

=item * is_success

Returns true after a send_receive was successful, false if it was not.

=back

SOAP::Lite requires transport modules to pack client and server
classes in one file, and to follow this naming scheme:

Module name:
"SOAP::Transport::" . uc($scheme)

Client class (additional package in module):
"SOAP::Transport::" . uc($scheme) . "::Client"

Server class (additional package in module):
"SOAP::Transport::" . uc($scheme) . "::Client"

SOAP::WSDL does not require you to follow these restrictions.

There is only one restriction in SOAP::WSDL:

You may only use transport classes whose name is either the module name or
the module name with '::Client' appended.

SOAP::WSDL will try to instantiate an object of your transport class with
'::Client' appended to allow using transport classes written for SOAP::Lite.

This may lead to errors when a different module with the name of your
transport module suffixed with ::Client is also loaded.

=head1 LICENSE AND COPYRIGHT

Copyright 2004-2007 Martin Kutter. All rights reserved.

This file is part of SOAP-WSDL. You may distribute/modify it under
the same terms as perl itself

=head1 AUTHOR

Martin Kutter E<lt>martin.kutter fen-net.deE<gt>

=head1 REPOSITORY INFORMATION

$Rev: 851 $
$LastChangedBy: kutterma $
$Id: Transport.pm 851 2009-05-15 22:45:18Z kutterma $
$HeadURL: https://soap-wsdl.svn.sourceforge.n...WSDL/trunk/lib/SOAP/WSDL/Factory/Transport.pm $

=cut



Those bold lines failed..
 
Back
Top