Skip to main content

Cockpit on Fedora Workstation

Credit: https://pixabay.com/photos/cockpit-plane-airplane-jet-100624/

With cockpit installed and running, you can manage your servers using web browser.

# Install cockpit
$ sudo dnf install cockpit
# Start cockpit
$ sudo systemctl start cockpit
# Enable cockpit on boot
$ sudo systemctl enable cockpit.socket
# Open firewall port if neccessary and reload
$ sudo firewall-cmd --zone=public --add-port=9090/tcp --permanent
$ sudo firewall-cmd --reload
[tuyen@g73jh ~]$ sudo dnf install cockpit
[sudo] password for tuyen: 
Copr repo for wireguard owned by jdoss          3.9 kB/s | 3.3 kB     00:00    
Docker CE Stable - x86_64                        13 kB/s | 3.5 kB     00:00    
Dropbox Repository                              1.9 kB/s | 2.9 kB     00:01    
Fedora 30 openh264 (From Cisco) - x86_64        305  B/s | 543  B     00:01    
Fedora Modular 30 - x86_64                      9.5 kB/s | 8.6 kB     00:00    
Fedora Modular 30 - x86_64 - Updates             11 kB/s | 7.8 kB     00:00    
Fedora 30 - x86_64 - Updates                     10 kB/s | 6.9 kB     00:00    
Fedora 30 - x86_64                              9.8 kB/s | 8.7 kB     00:00    
google-chrome                                    15 kB/s | 1.3 kB     00:00    
packages-microsoft-com-prod                      15 kB/s | 2.9 kB     00:00    
RPM Fusion for Fedora 30 - Free - Updates        14 kB/s |  14 kB     00:01    
RPM Fusion for Fedora 30 - Free                  12 kB/s |  15 kB     00:01    
RPM Fusion for Fedora 30 - Nonfree - Updates     14 kB/s |  14 kB     00:01    
RPM Fusion for Fedora 30 - Nonfree               12 kB/s |  15 kB     00:01    
skype (stable)                                  8.5 kB/s | 2.9 kB     00:00    
virtio-win builds roughly matching what was shi 1.5 kB/s | 3.0 kB     00:01    
Fedora 30 - x86_64 - VirtualBox                 501  B/s | 181  B     00:00    
Dependencies resolved.
================================================================================
 Package                     Arch        Version             Repository    Size
================================================================================
Installing:
 cockpit                     x86_64      207-1.fc30          updates       43 k
Installing dependencies:
 cockpit-bridge              x86_64      207-1.fc30          updates      590 k
 cockpit-system              noarch      207-1.fc30          updates      1.5 M
 cockpit-ws                  x86_64      207-1.fc30          updates      1.3 M
 clevis                      x86_64      11-5.fc30           fedora        50 k
 jose                        x86_64      10-4.fc30           fedora        54 k
 libjose                     x86_64      10-4.fc30           fedora        59 k
 libluksmeta                 x86_64      9-2.fc29            fedora        24 k
 luksmeta                    x86_64      9-2.fc29            fedora        20 k
Installing weak dependencies:
 cockpit-dashboard           noarch      207-1.fc30          updates      193 k
 cockpit-docker              x86_64      207-1.fc30          updates      386 k
 cockpit-networkmanager      noarch      207-1.fc30          updates      376 k
 cockpit-packagekit          noarch      207-1.fc30          updates      331 k
 cockpit-storaged            noarch      207-1.fc30          updates      476 k
 udisks2-lvm2                x86_64      2.8.4-1.fc30        updates       62 k
 clevis-luks                 x86_64      11-5.fc30           fedora        17 k
 sscg                        x86_64      2.5.1-2.fc30        fedora        38 k

Transaction Summary
================================================================================
Install  17 Packages

Total download size: 5.5 M
Installed size: 7.9 M
Is this ok [y/N]: y
Downloading Packages:
Fedora 30 - x86_64 -3924% [=====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================Fedora 30 - x86_64 -3924% [=====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================(1/17): cockpit-207-1.fc30.x86_64.rpm            35 kB/s |  43 kB     00:01    
(2/17): cockpit-dashboard-207-1.fc30.noarch.rpm 140 kB/s | 193 kB     00:01    
(3/17): cockpit-bridge-207-1.fc30.x86_64.rpm    335 kB/s | 590 kB     00:01    
(4/17): cockpit-networkmanager-207-1.fc30.noarc 939 kB/s | 376 kB     00:00    
(5/17): cockpit-packagekit-207-1.fc30.noarch.rp 1.4 MB/s | 331 kB     00:00    
(6/17): cockpit-storaged-207-1.fc30.noarch.rpm  1.6 MB/s | 476 kB     00:00    
(7/17): cockpit-docker-207-1.fc30.x86_64.rpm    395 kB/s | 386 kB     00:00    
(8/17): cockpit-system-207-1.fc30.noarch.rpm    2.6 MB/s | 1.5 MB     00:00    
(9/17): cockpit-ws-207-1.fc30.x86_64.rpm        2.1 MB/s | 1.3 MB     00:00    
(10/17): udisks2-lvm2-2.8.4-1.fc30.x86_64.rpm    53 kB/s |  62 kB     00:01    
(11/17): clevis-luks-11-5.fc30.x86_64.rpm       1.1 kB/s |  17 kB     00:15    
(12/17): jose-10-4.fc30.x86_64.rpm              3.6 kB/s |  54 kB     00:15    
(13/17): clevis-11-5.fc30.x86_64.rpm            3.2 kB/s |  50 kB     00:15    
(14/17): libjose-10-4.fc30.x86_64.rpm           108 kB/s |  59 kB     00:00    
(15/17): libluksmeta-9-2.fc29.x86_64.rpm        269 kB/s |  24 kB     00:00    
(16/17): sscg-2.5.1-2.fc30.x86_64.rpm           391 kB/s |  38 kB     00:00    
(17/17): luksmeta-9-2.fc29.x86_64.rpm           184 kB/s |  20 kB     00:00    
--------------------------------------------------------------------------------
Total                                           279 kB/s | 5.5 MB     00:20     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Installing       : cockpit-bridge-207-1.fc30.x86_64                      1/17 
  Installing       : cockpit-system-207-1.fc30.noarch                      2/17 
  Installing       : libjose-10-4.fc30.x86_64                              3/17 
  Installing       : jose-10-4.fc30.x86_64                                 4/17 
  Running scriptlet: clevis-11-5.fc30.x86_64                               5/17 
  Installing       : clevis-11-5.fc30.x86_64                               5/17 
  Installing       : cockpit-docker-207-1.fc30.x86_64                      6/17 
  Installing       : cockpit-networkmanager-207-1.fc30.noarch              7/17 
  Installing       : cockpit-dashboard-207-1.fc30.noarch                   8/17 
  Installing       : cockpit-packagekit-207-1.fc30.noarch                  9/17 
  Installing       : sscg-2.5.1-2.fc30.x86_64                             10/17 
  Running scriptlet: cockpit-ws-207-1.fc30.x86_64                         11/17 
  Installing       : cockpit-ws-207-1.fc30.x86_64                         11/17 
  Running scriptlet: cockpit-ws-207-1.fc30.x86_64                         11/17 
Applying SELinux policy change for cockpit-wsinstance-factory...

  Installing       : libluksmeta-9-2.fc29.x86_64                          12/17 
  Running scriptlet: libluksmeta-9-2.fc29.x86_64                          12/17 
  Installing       : luksmeta-9-2.fc29.x86_64                             13/17 
  Installing       : clevis-luks-11-5.fc30.x86_64                         14/17 
  Installing       : udisks2-lvm2-2.8.4-1.fc30.x86_64                     15/17 
  Installing       : cockpit-storaged-207-1.fc30.noarch                   16/17 
  Installing       : cockpit-207-1.fc30.x86_64                            17/17 
  Running scriptlet: cockpit-207-1.fc30.x86_64                            17/17 
  Verifying        : cockpit-207-1.fc30.x86_64                             1/17 
  Verifying        : cockpit-bridge-207-1.fc30.x86_64                      2/17 
  Verifying        : cockpit-dashboard-207-1.fc30.noarch                   3/17 
  Verifying        : cockpit-docker-207-1.fc30.x86_64                      4/17 
  Verifying        : cockpit-networkmanager-207-1.fc30.noarch              5/17 
  Verifying        : cockpit-packagekit-207-1.fc30.noarch                  6/17 
  Verifying        : cockpit-storaged-207-1.fc30.noarch                    7/17 
  Verifying        : cockpit-system-207-1.fc30.noarch                      8/17 
  Verifying        : cockpit-ws-207-1.fc30.x86_64                          9/17 
  Verifying        : udisks2-lvm2-2.8.4-1.fc30.x86_64                     10/17 
  Verifying        : clevis-11-5.fc30.x86_64                              11/17 
  Verifying        : clevis-luks-11-5.fc30.x86_64                         12/17 
  Verifying        : jose-10-4.fc30.x86_64                                13/17 
  Verifying        : libjose-10-4.fc30.x86_64                             14/17 
  Verifying        : libluksmeta-9-2.fc29.x86_64                          15/17 
  Verifying        : luksmeta-9-2.fc29.x86_64                             16/17 
  Verifying        : sscg-2.5.1-2.fc30.x86_64                             17/17 

Installed:
  cockpit-207-1.fc30.x86_64            cockpit-dashboard-207-1.fc30.noarch     
  cockpit-docker-207-1.fc30.x86_64     cockpit-networkmanager-207-1.fc30.noarch
  cockpit-packagekit-207-1.fc30.noarch cockpit-storaged-207-1.fc30.noarch      
  udisks2-lvm2-2.8.4-1.fc30.x86_64     clevis-luks-11-5.fc30.x86_64            
  sscg-2.5.1-2.fc30.x86_64             cockpit-bridge-207-1.fc30.x86_64        
  cockpit-system-207-1.fc30.noarch     cockpit-ws-207-1.fc30.x86_64            
  clevis-11-5.fc30.x86_64              jose-10-4.fc30.x86_64                   
  libjose-10-4.fc30.x86_64             libluksmeta-9-2.fc29.x86_64             
  luksmeta-9-2.fc29.x86_64            

Complete!
[tuyen@g73jh ~]$ 

Start and enable cockpit running on boot.

[tuyen@g73jh ~]$ sudo systemctl start cockpit
[sudo] password for tuyen: 
Sorry, try again.
[sudo] password for tuyen: 
[tuyen@g73jh ~]$ sudo systemctl status cockpit
● cockpit.service - Cockpit Web Service
   Loaded: loaded (/usr/lib/systemd/system/cockpit.service; static; vendor pres>
   Active: active (running) since Thu 2019-11-28 09:39:17 +07; 7s ago
     Docs: man:cockpit-ws(8)
  Process: 8624 ExecStartPre=/usr/sbin/remotectl certificate --ensure --user=ro>
 Main PID: 8633 (cockpit-tls)
    Tasks: 1 (limit: 4915)
   Memory: 1.5M
   CGroup: /system.slice/cockpit.service
           └─8633 /usr/libexec/cockpit-tls

Nov 28 09:39:14 g73jh systemd[1]: Starting Cockpit Web Service...
Nov 28 09:39:14 g73jh remotectl[8624]: Generating temporary certificate using: >
Nov 28 09:39:17 g73jh systemd[1]: Started Cockpit Web Service.
lines 1-14/14 (END)

Access cockpit locally via https://localhost:9090/ using local user account.

Cockpit login page

Cockpit Dashboard - System

Cockpit Dashboard - System

Open firewall port tcp@9090 if allow to access remotely.

[tuyen@g73jh ~]$ sudo firewall-cmd --zone=public --add-port=9090/tcp
success
[tuyen@g73jh ~]$ sudo firewall-cmd --zone=public --add-port=9090/tcp --permanent
success
[tuyen@g73jh ~]$ 

Cockpit on RHEL 7.x

[tuyendq@rhel1 ~]$ sudo yum install -y cockpit
Loaded plugins: product-id, search-disabled-repos, subscription-manager
copr:copr.fedorainfracloud.org:jdoss:wireguard         | 3.3 kB     00:00     
epel/x86_64/metalink                                   | 5.6 kB     00:00     
epel                                                   | 5.4 kB     00:00     
nginx                                                  | 2.9 kB     00:00     
packages-microsoft-com-prod                            | 2.9 kB     00:00     
remi-php72                                             | 3.0 kB     00:00     
remi-safe                                              | 3.0 kB     00:00     
rhel-7-server-dotnet-rpms                              | 4.0 kB     00:00     
rhel-7-server-extras-rpms                              | 3.4 kB     00:00     
rhel-7-server-optional-rpms                            | 3.2 kB     00:00     
rhel-7-server-rpms                                     | 3.5 kB     00:00     
zabbix                                                 | 2.9 kB     00:00     
zabbix-non-supported                                   |  951 B     00:00     
(1/15): packages-microsoft-com-prod/primary_db           | 230 kB   00:00     
(2/15): remi-php72/primary_db                            | 229 kB   00:00     
(3/15): epel/x86_64/updateinfo                           | 1.0 MB   00:00     
(4/15): remi-safe/primary_db                             | 1.6 MB   00:01     
(5/15): epel/x86_64/primary_db                           | 6.9 MB   00:03     
(6/15): rhel-7-server-dotnet-rpms/7Server/x86_64/updatei |  28 kB   00:03     
(7/15): nginx/x86_64/primary_db                          | 160 kB   00:04     
(8/15): rhel-7-server-dotnet-rpms/7Server/x86_64/primary | 178 kB   00:04     
(9/15): rhel-7-server-extras-rpms/x86_64/updateinfo      | 215 kB   00:03     
(10/15): rhel-7-server-extras-rpms/x86_64/primary_db     | 577 kB   00:03     
(11/15): rhel-7-server-optional-rpms/7Server/x86_64/upda | 2.5 MB   00:04     
(12/15): zabbix/x86_64/primary_db                        | 117 kB   00:01     
(13/15): rhel-7-server-optional-rpms/7Server/x86_64/prim | 8.3 MB   00:05     
(14/15): rhel-7-server-rpms/7Server/x86_64/updateinfo    | 3.5 MB   00:05     
(15/15): rhel-7-server-rpms/7Server/x86_64/primary_db    |  65 MB   00:19     
Resolving Dependencies
--> Running transaction check
---> Package cockpit.x86_64 0:195.1-1.el7 will be installed
--> Processing Dependency: cockpit-bridge for package: cockpit-195.1-1.el7.x86_64
--> Processing Dependency: cockpit-system for package: cockpit-195.1-1.el7.x86_64
--> Processing Dependency: cockpit-ws for package: cockpit-195.1-1.el7.x86_64
--> Running transaction check
---> Package cockpit-bridge.x86_64 0:195.1-1.el7 will be installed
--> Processing Dependency: glib-networking for package: cockpit-bridge-195.1-1.el7.x86_64
---> Package cockpit-system.noarch 0:195.1-1.el7 will be installed
---> Package cockpit-ws.x86_64 0:195.1-1.el7 will be installed
--> Running transaction check
---> Package glib-networking.x86_64 0:2.56.1-1.el7 will be installed
--> Processing Dependency: gsettings-desktop-schemas for package: glib-networking-2.56.1-1.el7.x86_64
--> Processing Dependency: libgnutls.so.28(GNUTLS_1_4)(64bit) for package: glib-networking-2.56.1-1.el7.x86_64
--> Processing Dependency: libgnutls.so.28(GNUTLS_2_12)(64bit) for package: glib-networking-2.56.1-1.el7.x86_64
--> Processing Dependency: libgnutls.so.28(GNUTLS_3_0_0)(64bit) for package: glib-networking-2.56.1-1.el7.x86_64
--> Processing Dependency: libgnutls.so.28(GNUTLS_3_1_0)(64bit) for package: glib-networking-2.56.1-1.el7.x86_64
--> Processing Dependency: libgnutls.so.28()(64bit) for package: glib-networking-2.56.1-1.el7.x86_64
--> Processing Dependency: libproxy.so.1()(64bit) for package: glib-networking-2.56.1-1.el7.x86_64
--> Running transaction check
---> Package gnutls.x86_64 0:3.3.29-9.el7_6 will be installed
--> Processing Dependency: trousers >= 0.3.11.2 for package: gnutls-3.3.29-9.el7_6.x86_64
--> Processing Dependency: libhogweed.so.2()(64bit) for package: gnutls-3.3.29-9.el7_6.x86_64
--> Processing Dependency: libnettle.so.4()(64bit) for package: gnutls-3.3.29-9.el7_6.x86_64
---> Package gsettings-desktop-schemas.x86_64 0:3.28.0-2.el7 will be installed
---> Package libproxy.x86_64 0:0.4.11-11.el7 will be installed
--> Processing Dependency: libmodman.so.1()(64bit) for package: libproxy-0.4.11-11.el7.x86_64
--> Running transaction check
---> Package libmodman.x86_64 0:2.0.1-8.el7 will be installed
---> Package nettle.x86_64 0:2.7.1-8.el7 will be installed
---> Package trousers.x86_64 0:0.3.14-2.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================
 Package                    Arch    Version         Repository           Size
==============================================================================
Installing:
 cockpit                    x86_64  195.1-1.el7     rhel-7-server-rpms   48 k
Installing for dependencies:
 cockpit-bridge             x86_64  195.1-1.el7     rhel-7-server-rpms  552 k
 cockpit-system             noarch  195.1-1.el7     rhel-7-server-rpms  1.6 M
 cockpit-ws                 x86_64  195.1-1.el7     rhel-7-server-rpms  805 k
 glib-networking            x86_64  2.56.1-1.el7    rhel-7-server-rpms  145 k
 gnutls                     x86_64  3.3.29-9.el7_6  rhel-7-server-rpms  681 k
 gsettings-desktop-schemas  x86_64  3.28.0-2.el7    rhel-7-server-rpms  605 k
 libmodman                  x86_64  2.0.1-8.el7     rhel-7-server-rpms   28 k
 libproxy                   x86_64  0.4.11-11.el7   rhel-7-server-rpms   65 k
 nettle                     x86_64  2.7.1-8.el7     rhel-7-server-rpms  327 k
 trousers                   x86_64  0.3.14-2.el7    rhel-7-server-rpms  289 k

Transaction Summary
==============================================================================
Install  1 Package (+10 Dependent packages)

Total download size: 5.1 M
Installed size: 12 M
Downloading packages:
(1/11): cockpit-bridge-195.1-1.el7.x86_64.rpm            | 552 kB   00:03     
(2/11): cockpit-195.1-1.el7.x86_64.rpm                   |  48 kB   00:04     
(3/11): cockpit-system-195.1-1.el7.noarch.rpm            | 1.6 MB   00:02     
(4/11): cockpit-ws-195.1-1.el7.x86_64.rpm                | 805 kB   00:02     
(5/11): glib-networking-2.56.1-1.el7.x86_64.rpm          | 145 kB   00:01     
(6/11): gnutls-3.3.29-9.el7_6.x86_64.rpm                 | 681 kB   00:01     
(7/11): libmodman-2.0.1-8.el7.x86_64.rpm                 |  28 kB   00:00     
(8/11): gsettings-desktop-schemas-3.28.0-2.el7.x86_64.rp | 605 kB   00:01     
(9/11): libproxy-0.4.11-11.el7.x86_64.rpm                |  65 kB   00:01     
(10/11): nettle-2.7.1-8.el7.x86_64.rpm                   | 327 kB   00:01     
(11/11): trousers-0.3.14-2.el7.x86_64.rpm                | 289 kB   00:02     
------------------------------------------------------------------------------
Total                                            402 kB/s | 5.1 MB  00:12     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : nettle-2.7.1-8.el7.x86_64                                 1/11 
  Installing : libmodman-2.0.1-8.el7.x86_64                              2/11 
  Installing : libproxy-0.4.11-11.el7.x86_64                             3/11 
  Installing : gsettings-desktop-schemas-3.28.0-2.el7.x86_64             4/11 
  Installing : trousers-0.3.14-2.el7.x86_64                              5/11 
  Installing : gnutls-3.3.29-9.el7_6.x86_64                              6/11 
  Installing : glib-networking-2.56.1-1.el7.x86_64                       7/11 
  Installing : cockpit-bridge-195.1-1.el7.x86_64                         8/11 
  Installing : cockpit-system-195.1-1.el7.noarch                         9/11 
  Installing : cockpit-ws-195.1-1.el7.x86_64                            10/11 
  Installing : cockpit-195.1-1.el7.x86_64                               11/11 
  Verifying  : trousers-0.3.14-2.el7.x86_64                              1/11 
  Verifying  : gsettings-desktop-schemas-3.28.0-2.el7.x86_64             2/11 
  Verifying  : cockpit-system-195.1-1.el7.noarch                         3/11 
  Verifying  : cockpit-ws-195.1-1.el7.x86_64                             4/11 
  Verifying  : libmodman-2.0.1-8.el7.x86_64                              5/11 
  Verifying  : nettle-2.7.1-8.el7.x86_64                                 6/11 
  Verifying  : cockpit-195.1-1.el7.x86_64                                7/11 
  Verifying  : cockpit-bridge-195.1-1.el7.x86_64                         8/11 
  Verifying  : gnutls-3.3.29-9.el7_6.x86_64                              9/11 
  Verifying  : glib-networking-2.56.1-1.el7.x86_64                      10/11 
  Verifying  : libproxy-0.4.11-11.el7.x86_64                            11/11 

Installed:
  cockpit.x86_64 0:195.1-1.el7                                                

Dependency Installed:
  cockpit-bridge.x86_64 0:195.1-1.el7                                         
  cockpit-system.noarch 0:195.1-1.el7                                         
  cockpit-ws.x86_64 0:195.1-1.el7                                             
  glib-networking.x86_64 0:2.56.1-1.el7                                       
  gnutls.x86_64 0:3.3.29-9.el7_6                                              
  gsettings-desktop-schemas.x86_64 0:3.28.0-2.el7                             
  libmodman.x86_64 0:2.0.1-8.el7                                              
  libproxy.x86_64 0:0.4.11-11.el7                                             
  nettle.x86_64 0:2.7.1-8.el7                                                 
  trousers.x86_64 0:0.3.14-2.el7                                              

Complete!
[tuyendq@rhel1 ~]$ 
[tuyendq@rhel1 ~]$ sudo systemctl start cockpit
[tuyendq@rhel1 ~]$ sudo systemctl status cockpit
● cockpit.service - Cockpit Web Service
   Loaded: loaded (/usr/lib/systemd/system/cockpit.service; static; vendor preset: disabled)
   Active: active (running) since Thu 2019-11-28 14:59:59 +07; 6s ago
     Docs: man:cockpit-ws(8)
  Process: 23723 ExecStartPre=/usr/sbin/remotectl certificate --ensure --user=root --group=cockpit-ws --selinux-type=etc_t (code=exited, status=0/SUCCESS)
 Main PID: 23734 (cockpit-ws)
   CGroup: /system.slice/cockpit.service
           └─23734 /usr/libexec/cockpit-ws

Nov 28 14:59:59 rhel1 systemd[1]: Starting Cockpit Web Service...
Nov 28 14:59:59 rhel1 remotectl[23723]: Generating temporary certificate us...
Nov 28 14:59:59 rhel1 remotectl[23723]: Error generating temporary dummy c...l
Nov 28 14:59:59 rhel1 remotectl[23723]: Generating temporary certificate us...
Nov 28 14:59:59 rhel1 systemd[1]: Started Cockpit Web Service.
Nov 28 14:59:59 rhel1 cockpit-ws[23734]: Using certificate: /etc/cockpit/w...t
Hint: Some lines were ellipsized, use -l to show in full.
[tuyendq@rhel1 ~]$ sudo systemctl enable cockpit
[tuyendq@rhel1 ~]$ cat /etc/services | grep cockpit
[tuyendq@rhel1 ~]$ sudo firewall-cmd --zone=public --add-port=9090/tcp --permanent
success
[tuyendq@rhel1 ~]$ sudo firewall-cmd --reload
success
[tuyendq@rhel1 ~]$ 


Popular posts from this blog

Microsoft Windows Server 2012 R2 Standard Evaluation Product Key

Microsoft Windows Server 2012 R2 Standard Evaluation D2N9P-3P6X9-2R39C-7RTCD-MDVJX DBGBW-NPF86-BJVTX-K3WKJ-MTB6V

ManageEngine ServiceDesk Plus - Reset password

Let's reset the default administrator's password to 'admin'

hmailserver: Notes from the field

hmailserver is one of free open source mail servers running on Microsoft Windows operating system.