New Apache integration in cockpit (Web server)

Some works I am doing on the cockpit side to integrate the apache features inside the new server-manager, the new things I needed to learn is to make a table from a key type/database, well a lot of fun.


2 posts were split to a new topic: Install wordpress inside a virtualhost

now going to the dashboard thinktank/creation…proxypass done


the dashboard is coming, I detect all php scl and mysql version

I have the best to do, make this

Scoreboard: _W____..........................................................................................................................................................................................................................................................

to a nice graph

well some fun to come



Well done Steph!

  • I’d change some labels, the most important is the app title: why not keeping the same Nethgui title: “Web server”?
  • About the graph: it needs a caption/label/title to understand its meaning. What about “Server workload”? And a caption for each colour.

The “Lamp status” is a nice idea, we can develop further. I understand its purpose is to inform the admin of the available software stack, to install some PHP web application in a vhost home.

If possible I’d group together some elements, instead of giving the bare RPM list. Furtheremore, I’d not limit the list to the “LAMP” concept: also PostgreSQL is citizen here :wink:

For instance, the groups could be

  • PHP version(s) and which one is using FPM
  • SQL Databases
  • Apache itself – we can never forget it :smiley:

All this information can be folded, like you can see in other Cockpit dashboards, because it’s required only during (hopefully) rare occasions, like a new web app software installation.


nice ideas, I wanted yesterday to detect portsgre(official and scl), but I stepped back because of the time to detect all services, but it is probably just a matter of customisations/adaptations, so yes I will go further

agreed but web server could be also nginx :smiley:

The works on the graph is not terminated, so definitively yes, captation and title, but due to css, it is hard, I hope I will have more chance soon :slight_smile:

Agree, I would leave the original name that hides the software we’re using.

1 Like


Amazing work!

It’s almost time to test it :wink:

READY to testing ->

please go to verify this new nethserver-package

the goals are :

  • apache virtualhosts
  • proxypass
  • FTP

Thank to @dev_team for their supports


Hi Steph! I’m testing your RPM and I hope other people will join this conversation and test it too!

:trophy: First of all, great work! Let’s discuss what can be polished now.

[root@vm5 ~]# rpm -qa nethserver-httpd*


Ok! but I want to test it on a real server :wink:

Virtual hosts

Creation form

  1. There’s still a missing space in the title label => Create a virtual host
  2. Inline notification text: The server alias name of each virtual hosts will be automatically created. The plural virtual hosts should be virtual host. I’d reword it as
    Virtual host names will be added as host name aliases under System > Dashboard > Hostname.
  3. Allow access from trusted networks only enabled by default. Now that it is folded under “Advanced settings” I’d change the default state to unchecked.
    I’m afraid the enabled default is too restrictive and might produce an unexpected result. Once created the access to the web site is forbidden from a public IP. It might be right for a testing web site, but misleading.
    What do you think?
  4. If Create button is pushed with no value in Virtual host names (FQDN) field the validator error message is This FQDN is already used in another virtualhost: I propose to mark the HTML field mandatory to prevent server validation or to fix the validator message and reflect the actual error condition.
  5. The validator label This FQDN is already used in another virtualhost should be The virtual host name is already used
  6. Take note of Enable FTP access label text and compare it in the next section.

List view

  1. FTP access label from previous screenshot becomes FTP auth in the List view. I’d go with FTP access instead.
  2. The items in the List view seem to have no sorting rule applied. I’d expect Default always in the first position, then the other items in alphabetical sort.

Delete form


  1. The dialog title should display the (first) virtual host name, e.g. Delete virtual host
  2. I’d remove the warning message completely
  3. The inline notification text could be reworded, according to the creation form:
    Existing host name aliases under System > Dashboard > Hostname are preserved.


First-time empty state:


  1. The tile should be No FTP users found. Subtitle: Create the first FTP user account to access the FTP server.

Once an user is created I can see:

…I don’t like the “FTP server is disabled” empty state. I think we can display the normal layout instead, that one I can see when both FTP server is enabled and at least one user exists:


To recap the changes I propose here are

  • “Configuration” section always visible: it is necessary to enable/disable the FTP server for Virtual hosts. Remove the “FTP server is disabled” empty state and display the normal layout.
  • Change the first time empty state labels: No FTP users found - Create the first FTP user account to access the FTP server
  • If possible, I’d list the virtual hosts FTP users here: they cannot just be enabled/disabled.


  1. the event notification messages say “Account xyz updated”: I’d say “FTP user” instead.
  2. when FTP is enabled there’s an untranslated label in the event notification message

Delete form


  1. Change title label Delete user <username>

Reverse proxy

  1. Subtitle label: A reverse proxy forwards HTTP client requests to another web server

Create form

  1. Fix the Info text as proposed in the Virtual hosts > Creation form section above

Delete form


  1. Title label without the: Delete reverse proxy <fpname>
  2. Remove the warning completely
  3. Fix the Info text as proposed in the List view > Delete form section above

Here and There

Event notification messages say “X has been well updated”: I’d remove “well”!

/cc @giacomo @edoardo_spadoni

I agree on this.

I agree.

We already used the same behavior on other pages.

I disagree :slight_smile: See above.

I’ve already evaluated it, IMHO it can be misleading but I’m not sure.

I agree.

For all other label changes, I have no preferences, so feel free to open a PR.

RELEASED :sunny:

Well, it is a new way now to use the virtualhost, proxypass, FTP, cockpit is cool


i know i’m late, but i think in Logs the ability to see vsftp.log is missing
great work tnx!

edit: and maybe also xferlog would be helpful to see :thinking:

1 Like

Hi @dz00te, something new to play, please could you test ?


thank @dz00te for the verification :heart_eyes::star_struck::smiling_face_with_three_hearts::kissing_heart:

1 Like

Would it be wise to put mysql and other databases in their own tab, as there is mysql/mariadb/corona, PostgreSQL and mssql server on linux just to start…

Just not sure the db items belong on a ‘web server’ tab (although as you mentioned it was a ‘lamp’ tab… as some people run a tomcat java stack and don’t run php, nor lamp. So if it was a lamp tab, that could be useful for that demographic, but not sure why you wouldn’t separate them into areas of functionality, as that’s where an admin would assume to look.

There’s so many stacks now, i wouldn’t think that as a starting point you’d narrow it to lamp.

Personally I’d like to see a “Web Server” tab that has sub items of Apache Httpd and nginx, and other database tab that has sub items of db types, as you would in other mangement panels.

anyway my 2c.

this is looking really promising though, really nice work.