Changing listening port from the web interface


(Alessio Fattorini) #1

Continuing the discussion from RFC: interface complexity level:

Think it deserves a new discussion


RFC: interface complexity level
(Giacomo Sanchietti) #2

Not all services will honor changes to TCP/UDP port properties, so I think a global panel is not a viable option (at least for now).

Let’s start adding and “Advanced” section to non-core services just like @stephdl did:

Packages will be available on mirrors since tomorrow (yes, we also need to fix this!).


(Stéphane de Labrusse) #3

I’m the maintainer of smeserver-service_control but among this I do not want to see it again here, I do prefer that each module brings its settings.

Imagine that when you change one port number you restart all services and expand all templates->atomic bomber

Okay with time the contrib should be rewritten and all cases could be thought to expand only the relevant service and templates…but it means to start from scratch and what about exception of new modules.

@giacomo, speaking concretely about nethserver-package using the TCPPorts or UDPPorts properties (a property with several port number inside like dovecot for example), what is the solution if we want to offer the ability to change port to custom values ?

a) set one key db by service with a TCPPort property (like sme, but can be confused)

[root@sme9 ~]# config show imap
imap=service
    ConcurrencyLimit=4000
    ConcurrencyLimitPerIP=48
    TCPPort=143
    access=public
    status=enabled
[root@sme9 ~]# config show imaps
imaps=service
    TCPPort=993
    access=public
    status=enabled

b) set properties under the dovecot key like PopPort, PopSPort, ImapPort, ImapSPort and rewrite on the fly the property TCPPorts in the template


(Giacomo Sanchietti) #4

There isn’t a simple solution.
We had the same problem for the Asterisk/FreePBX module but we didn’t find a very good solution.
We thought about to split the port list into multiple services as you suggested. But with actual implementation the runlevel-adjust will complain about missing services.

At the end we came with a very custom solution: a special property inside the service which control a specific template fragment for opening/closing the ports. Still it doesn’t resolve the problem about listen port.

Maybe switching to systemd in RHEL 7 can help us to simplify a bit the code for service management.


(Stéphane de Labrusse) #5

ok :frowning: but i’m disapointed :smile:

as I see several services are concerned, I just found that we can’t change the port of apache (http,https), correct me if I’m wrong.