Re: TURN server (coturn) why?

2020-12-15 Thread Denis Noctor
 assuming cloud server is not behind a NAT firewall, which most are... you 
can find a lot of info in the user groups regarding this between March and 
August.

Sent from my iPhone

> On Dec 15, 2020, at 11:49 PM, K. Kamhamea  wrote:
> 
> In summary two conclusions can be drawn, right?
> 1. There is no need to use courn if your server uses a unique public IP.
> 2. You can run a OM Server in a private network with only one public IP using 
> coturn. 
> --- That's cool !!!
> And probably it is even necessary to use coturn if your OM server resides on 
> a cloud that doesn't provide such a service.
> 
> Thank You so much for the link.
> K
> 
>> Am Di., 15. Dez. 2020 um 22:43 Uhr schrieb Ali Alhaidary 
>> :
>> https://www.callstats.io/blog/2017/10/26/webrtc-product-turn-server
>> 
>> 
>> On 12/15/20 5:05 PM, K. Kamhamea wrote:
>> > I wonder why we need a coturn anyway?
>> >
>> > 1. SSL certificates can be installed without it
>> > 2. The server URL can be written without port number (meaning it can 
>> > be accessed by the default 433 port) without turn server installed
>> > the simple iptables command does the trick
>> >
>> > iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 
>> > 5443
>> >
>> > and changing server.xml to the default port doesn't work anyway (with 
>> > or without turn server)
>> >
>> > It think better avoid turn server as it may slow down the 
>> > communication further.


Re: TURN server (coturn) why?

2020-12-15 Thread K. Kamhamea
In summary two conclusions can be drawn, right?
1. There is no need to use courn if your server uses a unique public IP.
2. You can run a OM Server in a private network with only one public IP
using coturn.
--- That's cool !!!
And probably it is even necessary to use coturn if your OM server resides
on a cloud that doesn't provide such a service.

Thank You so much for the link.
K

Am Di., 15. Dez. 2020 um 22:43 Uhr schrieb Ali Alhaidary <
ali.alhaid...@the5stars.org>:

> https://www.callstats.io/blog/2017/10/26/webrtc-product-turn-server
>
>
> On 12/15/20 5:05 PM, K. Kamhamea wrote:
> > I wonder why we need a coturn anyway?
> >
> > 1. SSL certificates can be installed without it
> > 2. The server URL can be written without port number (meaning it can
> > be accessed by the default 433 port) without turn server installed
> > the simple iptables command does the trick
> >
> > iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port
> > 5443
> >
> > and changing server.xml to the default port doesn't work anyway (with
> > or without turn server)
> >
> > It think better avoid turn server as it may slow down the
> > communication further.
>


Re: Access OM from default 433 port

2020-12-15 Thread K. Kamhamea
So true! In tomcat4 OM is started as nobody.
Thank You.

Am Mi., 16. Dez. 2020 um 04:18 Uhr schrieb Maxim Solodovnik <
solomax...@gmail.com>:

>
>
> On Tue, 15 Dec 2020 at 19:09, K. Kamhamea  wrote:
>
>> Yes I found that on Google too, but of course ALL servers are started as
>> root, as described in Alvaro's manual.
>>
>
> I haven't read these manuals :)
> I'm using my own scripts :))
>
>
>>
>> Quote:
>> "
>> sudo chown -R nobody:nogroup /opt/open510
>>
>
> this changes the owner to be `nobody`
>
>
>> Restart coturn: sudo /etc/init.d/coturn restart
>> Kurento: sudo /etc/init.d/kurento-media-server restart
>> Tomcat-OpenMeetings: sudo /etc/init.d/tomcat4 restart
>>
>
> I guess `tomcat4` has some code to start as `nobody` as well
> It is insecure to start the service as `root`
>
>
> "
>>
>> Am Di., 15. Dez. 2020 um 03:35 Uhr schrieb Maxim Solodovnik <
>> solomax...@gmail.com>:
>>
>>> The error
>>>
>>> Caused by: java.net.SocketException: Permission denied
>>>
>>> is clear
>>> 443 is privileged port you have to be root or should be granted special
>>> permissions to listen on this port
>>> please search mailing list archives :))
>>>
>>>
>>>
>>> On Tue, 15 Dec 2020 at 00:54, K. Kamhamea 
>>> wrote:
>>>
 In the meantime i found a solution to the problem it is simply this
 instruction

 iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port
 5443

 and th server.xml file can stay the same with port '5443'

 For those who want to debugthe problem anyway here is some of the
 content of the logfiles.

 Starting with port 443 in server.xml
 --

 ...Restarting...
 Using CATALINA_BASE:   /opt/open510
 Using CATALINA_HOME:   /opt/open510
 Using CATALINA_TMPDIR: /opt/open510/temp
 Using JRE_HOME:/usr
 Using CLASSPATH:
 /opt/open510/bin/bootstrap.jar:/opt/open510/bin/tomcat-juli.jar
 Using CATALINA_OPTS:
 Tomcat started.

 14-Dec-2020 17:07:08.538 INFO [main]
 org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
 application directory [/opt/open510/webapps/openmeetings] has finished in
 [9,064] ms
 14-Dec-2020 17:07:08.538 INFO [main]
 org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
 application directory [/opt/open510/webapps/ROOT]
 14-Dec-2020 17:07:08.545 INFO [main]
 org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
 application directory [/opt/open510/webapps/ROOT] has finished in [7] ms
 14-Dec-2020 17:07:08.548 INFO [main]
 org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
 ["http-nio-5080"]
 14-Dec-2020 17:07:08.553 INFO [main]
 org.apache.catalina.startup.Catalina.start Server startup in [9107]
 milliseconds

 starting with port 5443
 -

 ...Restarting...
 Using CATALINA_BASE:   /opt/open510
 Using CATALINA_HOME:   /opt/open510
 Using CATALINA_TMPDIR: /opt/open510/temp
 Using JRE_HOME:/usr
 Using CLASSPATH:
 /opt/open510/bin/bootstrap.jar:/opt/open510/bin/tomcat-juli.jar
 Using CATALINA_OPTS:
 Tomcat started.

 14-Dec-2020 17:20:51.911 INFO [main]
 org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
 application directory [/opt/open510/webapps/openmeetings] has finished in
 [8,919] ms
 14-Dec-2020 17:20:51.911 INFO [main]
 org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
 application directory [/opt/open510/webapps/ROOT]
 14-Dec-2020 17:20:51.919 INFO [main]
 org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
 application directory [/opt/open510/webapps/ROOT] has finished in [8] ms
 14-Dec-2020 17:20:51.921 INFO [main]
 org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
 ["http-nio-5080"]
 14-Dec-2020 17:20:51.926 INFO [main]
 org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
 ["https-jsse-nio-5443"]
 14-Dec-2020 17:20:51.934 INFO [main]
 org.apache.catalina.startup.Catalina.start Server startup in [8969]
 milliseconds

 In the meantime I tried to change this file as well but had no effect

 ---

 /opt/open510/webapps/openmeetings/WEB-INF/classes/hazelcast.xml.original:78:

 https://127.0.0.1:5443/openmeetings


 This is to my opinion the most relevant part of the catalina.out file
 indicating the failure to start port 443

 --


 SEVERE [main]
 org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to
 initialize component [Connector[HTTP/1.1-443]]
 

Re: Group names in moodle plugin

2020-12-15 Thread Ali Alhaidary

No, that is not what we are doing or want to do :-)

When you install the plugin, only one group is automatically created for 
all moodle users, that is what was defied in 'Module Key' default 
'moodle', so all instances of OM in moodle will belong to that group and 
thus all OM users in moodle will join that one group.


What is much more practical and logical is the automatic creation of 
group when creating an instance of OM, it could default to course name 
for example, and to do that my suggestion is 'Module Key' is moved from 
plugin configuration to instance configuration so that the users of that 
instance will be in that specific group.


The issue that we are facing is that all files and recordings goes to 
one single group 'moodle' for all courses, which is very much confusing 
and unorganized


Nothing is done manual or per user my friend :-)

Ali

On 12/16/20 6:16 AM, Maxim Solodovnik wrote:



On Tue, 15 Dec 2020 at 12:15, Ali Alhaidary 
mailto:ali.alhaid...@the5stars.org>> wrote:


Thanks Max, I expected that there will be an option when creating
an instance of OM for group name (could default to Module Key as
moodle).

As for now, all recordings are stored in one group although they
belong to different courses/teachers/dates, the good news is that
teachers can rename the lecture recording as course-date-lecture :-)

Should I raise a jira?


I would prefer to have small discussion first :)))

As I understand you are proposing to add "group" to every user in 
Moodle (manually)

With the default of "module key"?

I doubt someone will do this ...

Ali

On 12/15/20 5:29 AM, Maxim Solodovnik wrote:

Hello Ali,

when you are configuring OM Moodle plugin you are choosing
"Module Key"
This will be your group name

The idea was: you can configure different Moodle instances to use
same OM

To have different groups in OM for the one Moodle you need to
have several instances of OM Moodle plugin installed
Not sure this is possible without modifying source code of plugin

On Sat, 12 Dec 2020 at 10:20, Ali Alhaidary
mailto:ali.alhaid...@the5stars.org>> wrote:

Hi,

When setting OM plugin in moodle, the default group will be
'moodle',
however, it is needed that different courses in moodle
connects to
different groups in OM, how to do that ?



-- 
Best regards,

Maxim




--
Best regards,
Maxim


Re: Safari

2020-12-15 Thread Maxim Solodovnik
Hello Daniel,

While investigating (and remote debugging, thanks to Jason)
We were able to find out the issue is in Safari browser (and I found no way
to work around this)

According to my tests `Safari 12` and `Safari 14.1` should work as expected
Not sure is 14.1 is released :(( (I've tested developer preview ...)

On Wed, 16 Dec 2020 at 01:45, Daniel Ascher 
wrote:

> Hi all. I can't remember if the issues with using Safari for OM have been
> resolved. Can someone let me know? Thanks.
>
> Dan
>
>

-- 
Best regards,
Maxim


Re: Access OM from default 433 port

2020-12-15 Thread Maxim Solodovnik
On Tue, 15 Dec 2020 at 19:09, K. Kamhamea  wrote:

> Yes I found that on Google too, but of course ALL servers are started as
> root, as described in Alvaro's manual.
>

I haven't read these manuals :)
I'm using my own scripts :))


>
> Quote:
> "
> sudo chown -R nobody:nogroup /opt/open510
>

this changes the owner to be `nobody`


> Restart coturn: sudo /etc/init.d/coturn restart
> Kurento: sudo /etc/init.d/kurento-media-server restart
> Tomcat-OpenMeetings: sudo /etc/init.d/tomcat4 restart
>

I guess `tomcat4` has some code to start as `nobody` as well
It is insecure to start the service as `root`


"
>
> Am Di., 15. Dez. 2020 um 03:35 Uhr schrieb Maxim Solodovnik <
> solomax...@gmail.com>:
>
>> The error
>>
>> Caused by: java.net.SocketException: Permission denied
>>
>> is clear
>> 443 is privileged port you have to be root or should be granted special
>> permissions to listen on this port
>> please search mailing list archives :))
>>
>>
>>
>> On Tue, 15 Dec 2020 at 00:54, K. Kamhamea 
>> wrote:
>>
>>> In the meantime i found a solution to the problem it is simply this
>>> instruction
>>>
>>> iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port
>>> 5443
>>>
>>> and th server.xml file can stay the same with port '5443'
>>>
>>> For those who want to debugthe problem anyway here is some of the
>>> content of the logfiles.
>>>
>>> Starting with port 443 in server.xml
>>> --
>>>
>>> ...Restarting...
>>> Using CATALINA_BASE:   /opt/open510
>>> Using CATALINA_HOME:   /opt/open510
>>> Using CATALINA_TMPDIR: /opt/open510/temp
>>> Using JRE_HOME:/usr
>>> Using CLASSPATH:
>>> /opt/open510/bin/bootstrap.jar:/opt/open510/bin/tomcat-juli.jar
>>> Using CATALINA_OPTS:
>>> Tomcat started.
>>>
>>> 14-Dec-2020 17:07:08.538 INFO [main]
>>> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
>>> application directory [/opt/open510/webapps/openmeetings] has finished in
>>> [9,064] ms
>>> 14-Dec-2020 17:07:08.538 INFO [main]
>>> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
>>> application directory [/opt/open510/webapps/ROOT]
>>> 14-Dec-2020 17:07:08.545 INFO [main]
>>> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
>>> application directory [/opt/open510/webapps/ROOT] has finished in [7] ms
>>> 14-Dec-2020 17:07:08.548 INFO [main]
>>> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
>>> ["http-nio-5080"]
>>> 14-Dec-2020 17:07:08.553 INFO [main]
>>> org.apache.catalina.startup.Catalina.start Server startup in [9107]
>>> milliseconds
>>>
>>> starting with port 5443
>>> -
>>>
>>> ...Restarting...
>>> Using CATALINA_BASE:   /opt/open510
>>> Using CATALINA_HOME:   /opt/open510
>>> Using CATALINA_TMPDIR: /opt/open510/temp
>>> Using JRE_HOME:/usr
>>> Using CLASSPATH:
>>> /opt/open510/bin/bootstrap.jar:/opt/open510/bin/tomcat-juli.jar
>>> Using CATALINA_OPTS:
>>> Tomcat started.
>>>
>>> 14-Dec-2020 17:20:51.911 INFO [main]
>>> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
>>> application directory [/opt/open510/webapps/openmeetings] has finished in
>>> [8,919] ms
>>> 14-Dec-2020 17:20:51.911 INFO [main]
>>> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
>>> application directory [/opt/open510/webapps/ROOT]
>>> 14-Dec-2020 17:20:51.919 INFO [main]
>>> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
>>> application directory [/opt/open510/webapps/ROOT] has finished in [8] ms
>>> 14-Dec-2020 17:20:51.921 INFO [main]
>>> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
>>> ["http-nio-5080"]
>>> 14-Dec-2020 17:20:51.926 INFO [main]
>>> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
>>> ["https-jsse-nio-5443"]
>>> 14-Dec-2020 17:20:51.934 INFO [main]
>>> org.apache.catalina.startup.Catalina.start Server startup in [8969]
>>> milliseconds
>>>
>>> In the meantime I tried to change this file as well but had no effect
>>>
>>> ---
>>>
>>> /opt/open510/webapps/openmeetings/WEB-INF/classes/hazelcast.xml.original:78:
>>>
>>> https://127.0.0.1:5443/openmeetings
>>>
>>>
>>> This is to my opinion the most relevant part of the catalina.out file
>>> indicating the failure to start port 443
>>>
>>> --
>>>
>>>
>>> SEVERE [main]
>>> org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to
>>> initialize component [Connector[HTTP/1.1-443]]
>>> org.apache.catalina.LifecycleException: Protocol handler initialization
>>> failed
>>> at
>>> org.apache.catalina.connector.Connector.initInternal(Connector.java:1042)
>>> at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
>>> at
>>> org.apache.catalina.core.StandardService

Re: Group names in moodle plugin

2020-12-15 Thread Maxim Solodovnik
On Tue, 15 Dec 2020 at 12:15, Ali Alhaidary 
wrote:

> Thanks Max, I expected that there will be an option when creating an
> instance of OM for group name (could default to Module Key as moodle).
>
> As for now, all recordings are stored in one group although they belong to
> different courses/teachers/dates, the good news is that teachers can rename
> the lecture recording as course-date-lecture :-)
>
> Should I raise a jira?
>

I would prefer to have small discussion first :)))

As I understand you are proposing to add "group" to every user in Moodle
(manually)
With the default of "module key"?

I doubt someone will do this ...



> Ali
> On 12/15/20 5:29 AM, Maxim Solodovnik wrote:
>
> Hello Ali,
>
> when you are configuring OM Moodle plugin you are choosing "Module Key"
> This will be your group name
>
> The idea was: you can configure different Moodle instances to use same OM
>
> To have different groups in OM for the one Moodle you need to have several
> instances of OM Moodle plugin installed
> Not sure this is possible without modifying source code of plugin
>
> On Sat, 12 Dec 2020 at 10:20, Ali Alhaidary 
> wrote:
>
>> Hi,
>>
>> When setting OM plugin in moodle, the default group will be 'moodle',
>> however, it is needed that different courses in moodle connects to
>> different groups in OM, how to do that ?
>>
>>
>
> --
> Best regards,
> Maxim
>
>

-- 
Best regards,
Maxim


Re: TURN server (coturn) why?

2020-12-15 Thread Ali Alhaidary

https://www.callstats.io/blog/2017/10/26/webrtc-product-turn-server


On 12/15/20 5:05 PM, K. Kamhamea wrote:

I wonder why we need a coturn anyway?

1. SSL certificates can be installed without it
2. The server URL can be written without port number (meaning it can 
be accessed by the default 433 port) without turn server installed

the simple iptables command does the trick

iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 
5443


and changing server.xml to the default port doesn't work anyway (with 
or without turn server)


It think better avoid turn server as it may slow down the 
communication further.


Safari

2020-12-15 Thread Daniel Ascher
Hi all. I can't remember if the issues with using Safari for OM have been
resolved. Can someone let me know? Thanks.

Dan


TURN server (coturn) why?

2020-12-15 Thread K. Kamhamea
I wonder why we need a coturn anyway?

1. SSL certificates can be installed without it
2. The server URL can be written without port number (meaning it can be
accessed by the default 433 port) without turn server installed
the simple iptables command does the trick

iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 5443

and changing server.xml to the default port doesn't work anyway (with or
without turn server)

It think better avoid turn server as it may slow down the communication
further.


Re: Access OM from default 433 port

2020-12-15 Thread K. Kamhamea
Yes I found that on Google too, but of course ALL servers are started as
root, as described in Alvaro's manual.

Quote:
"
sudo chown -R nobody:nogroup /opt/open510
Restart coturn: sudo /etc/init.d/coturn restart
Kurento: sudo /etc/init.d/kurento-media-server restart
Tomcat-OpenMeetings: sudo /etc/init.d/tomcat4 restart
"

Am Di., 15. Dez. 2020 um 03:35 Uhr schrieb Maxim Solodovnik <
solomax...@gmail.com>:

> The error
>
> Caused by: java.net.SocketException: Permission denied
>
> is clear
> 443 is privileged port you have to be root or should be granted special
> permissions to listen on this port
> please search mailing list archives :))
>
>
>
> On Tue, 15 Dec 2020 at 00:54, K. Kamhamea  wrote:
>
>> In the meantime i found a solution to the problem it is simply this
>> instruction
>>
>> iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port
>> 5443
>>
>> and th server.xml file can stay the same with port '5443'
>>
>> For those who want to debugthe problem anyway here is some of the content
>> of the logfiles.
>>
>> Starting with port 443 in server.xml
>> --
>>
>> ...Restarting...
>> Using CATALINA_BASE:   /opt/open510
>> Using CATALINA_HOME:   /opt/open510
>> Using CATALINA_TMPDIR: /opt/open510/temp
>> Using JRE_HOME:/usr
>> Using CLASSPATH:
>> /opt/open510/bin/bootstrap.jar:/opt/open510/bin/tomcat-juli.jar
>> Using CATALINA_OPTS:
>> Tomcat started.
>>
>> 14-Dec-2020 17:07:08.538 INFO [main]
>> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
>> application directory [/opt/open510/webapps/openmeetings] has finished in
>> [9,064] ms
>> 14-Dec-2020 17:07:08.538 INFO [main]
>> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
>> application directory [/opt/open510/webapps/ROOT]
>> 14-Dec-2020 17:07:08.545 INFO [main]
>> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
>> application directory [/opt/open510/webapps/ROOT] has finished in [7] ms
>> 14-Dec-2020 17:07:08.548 INFO [main]
>> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
>> ["http-nio-5080"]
>> 14-Dec-2020 17:07:08.553 INFO [main]
>> org.apache.catalina.startup.Catalina.start Server startup in [9107]
>> milliseconds
>>
>> starting with port 5443
>> -
>>
>> ...Restarting...
>> Using CATALINA_BASE:   /opt/open510
>> Using CATALINA_HOME:   /opt/open510
>> Using CATALINA_TMPDIR: /opt/open510/temp
>> Using JRE_HOME:/usr
>> Using CLASSPATH:
>> /opt/open510/bin/bootstrap.jar:/opt/open510/bin/tomcat-juli.jar
>> Using CATALINA_OPTS:
>> Tomcat started.
>>
>> 14-Dec-2020 17:20:51.911 INFO [main]
>> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
>> application directory [/opt/open510/webapps/openmeetings] has finished in
>> [8,919] ms
>> 14-Dec-2020 17:20:51.911 INFO [main]
>> org.apache.catalina.startup.HostConfig.deployDirectory Deploying web
>> application directory [/opt/open510/webapps/ROOT]
>> 14-Dec-2020 17:20:51.919 INFO [main]
>> org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web
>> application directory [/opt/open510/webapps/ROOT] has finished in [8] ms
>> 14-Dec-2020 17:20:51.921 INFO [main]
>> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
>> ["http-nio-5080"]
>> 14-Dec-2020 17:20:51.926 INFO [main]
>> org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler
>> ["https-jsse-nio-5443"]
>> 14-Dec-2020 17:20:51.934 INFO [main]
>> org.apache.catalina.startup.Catalina.start Server startup in [8969]
>> milliseconds
>>
>> In the meantime I tried to change this file as well but had no effect
>>
>> ---
>>
>> /opt/open510/webapps/openmeetings/WEB-INF/classes/hazelcast.xml.original:78:
>>
>> https://127.0.0.1:5443/openmeetings
>>
>>
>> This is to my opinion the most relevant part of the catalina.out file
>> indicating the failure to start port 443
>>
>> --
>>
>>
>> SEVERE [main]
>> org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to
>> initialize component [Connector[HTTP/1.1-443]]
>> org.apache.catalina.LifecycleException: Protocol handler initialization
>> failed
>> at
>> org.apache.catalina.connector.Connector.initInternal(Connector.java:1042)
>> at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
>> at
>> org.apache.catalina.core.StandardService.initInternal(StandardService.java:533)
>> at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
>> at
>> org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:1057)
>> at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
>> at org.apache.catalina.startup.Catalina.load(Catalina.java:724)
>> at org.apache.catalina.startup.Catalina.load(Catalina.java:746)