How to Administrate the Apache Web Server Using “Apache GUI” Tool

Apache Web Server is one of the most popular HTTP server on Internet today, due to its open source nature, rich modules and features and can run on almost major platforms and operating systems.

While on Windows platforms there are some built in development environments that provides a Graphical Interface to manage Apache configurations, such as WAMP or XAMPP, on Linux the entire management process must be performed entirely from Command Line, in most of the cases.

While managing and configuring Apache Web Server from command line, can have a huge impact concerning system security, it can also be a scary job for newbies who are not very familiar with doing things from command line.

This is the point where Apache GUI tool can come in handy. This tools is a free and open source package designed for system administrators to manage the functionality of Apache Web Server from a browser, such as:

  1. Edit your web server configuration files right from your browser.
  2. Edit your web documents right from your browser.
  3. Download, search and visualize Apache Logs in real time.
  4. Install, edit or remove Apache modules.
  5. View runtime statistics or detailed graphs transactions of Apache HTTP Server.
  6. Manage global server settings.
  7. Manage and view all VirtualHosts in a tree view.
Apache Web Administartion Tool

Apache Web Administartion Tool

Requirements

  1. Install LAMP in RHEL/CentOS 7

For the purpose of this article, I will be installing Apache GUI Web Tool on a Linode CentOS 7 VPS with IP address 192.168.0.100 and provides you a short init script for starting or stoping the process.

The same instructions also works for RHEL/CentOS 6.x and Fedora distributions.

Step 1: Download and Install Apache GUI

1. Before getting started with downloading and installing Apache GUI tool, you need to assure that Java JDK provided by Java-openjdk package is installed on your system, so you can run Apache GUI.

Use the following commands to locate Java-openjdk package version and install it on RHEL/CentOS 7.

# yum search openjdk
# yum install java-1.8.0
Install Java JDK in CentOS

Install Java JDK Package

2. Assuming, that you are logged in as root and your current working directory is /root, use the following link to download latest version of Apache GUI source package (i.e. ApacheGUI-1.12.0.tar.gz) installation files from Sourceforge.net.

  1. http://sourceforge.net/projects/apachegui/files/

Alternatively, you can also grab the Linux-Solaris-Mac –> ApacheGUI tar archive source files using following wget command as shown below.

# wget https://sourceforge.net/projects/apachegui/files/1.12-Linux-Solaris-Mac/ApacheGUI-1.12.0.tar.gz/download
Download ApacheGUI

Download ApacheGUI

3. After the archive is downloaded, extract it and move the entire resulted directory to /opt system path, which will be the installation location of your Apache GUI Server.

# tar xfz ApacheGUI-1.9.3.tar.gz
# mv ApacheGUI /opt
# cd /opt
Extract ApacheGUI Archive

Extract ApacheGUI Archive

4. Now, it’s time to start and verify Apache GUI Web Tool functionality. Change your directory to ApacheGUI/bin/ path and use run.sh script to start the tool and stop.sh script to stop the server.

# cd ApacheGUI/bin/
# ./run.sh 
Start ApacheGUI Tool

Start ApacheGUI Tool

5. After the tool starts it will display some environment information and you can access it only from your localhost using the following URL address on your browser.

http://localhost:9999/ApacheGUI/

To gain remote control over Apache GUI Web Tool from a browser, you need to add a rule on your system Firewall that opens Port 9999/TCP, which is the default port that Apache GUI Tools listens on. Use the following commands to open port 9999 on RHEL/CentOS 7 using Firewalld utility.

# firewall-cmd --add-port=9999/tcp  ## On fly rule
# firewall-cmd --add-port=9999/tcp  --permanent  ## Permanent rule – you need to reload firewall to apply it
# firewall-cmd --reload
Open Port On CentOS

Open Port on Firewall

6. If port 9999 used by Apache GUI overlaps with another application on your system you can change it by editing ApacheGUI server.xml configuration file, search for Connector port=”9999” protocol=”HTTP/1.1” directive and replace port statement with your favorite port number (don’t forget to apply port firewall rule the same time).

# nano /opt/ApacheGUI/tomcat/conf/server.xml
Change Port of ApacheGUI

Change Port of ApacheGUI

Step 2: Configure Apache GUI

7. Now it’s time to configure Apache GUI Web Tool for Apache Web Server administration from a remote point. Assuming that you have configured your system Firewall and allowed external connections, open a remote browser and type use your server
external IP address to access Apache GUI

http://192.168.1.80:9999/ApacheGUI/

Use following credentials to login into ApacheGUI tool.

Username: admin
Password: admin 
Access ApacheGUI Web Panel

Access ApacheGUI Web Panel

8. Next, the tool will prompt you on How Apache Web Server was installed? Choose Package option, if you installed Apache on RHEL/CentOS using yum package management tool and hit OK to move forward.

Select ApacheGUI Installation Type

Select ApacheGUI Installation Type

9. Provide your Apache Web Server Package Parameters with the following configurations and, also, choose a username and a strong password to login Apache GUI next time.

Server Root: /etc/httpd
Primary Configuration File: /etc/httpd/conf/httpd.conf
Configuration Directory: /etc/httpd
Log Directory: /var/log/httpd
Modules Directory: /etc/httpd/modules
Binary File: /usr/sbin/apachectl
Username: choose a username
Password: choose a strong password
Password: repeat the above password
Apache GUI Configuration

Apache GUI Configuration

10. After you finish hit on Submit button to apply configuration and you’re done. Now you can control Apache Web Server with all its configuration files and edit web documents directly from your browser like in the screenshots below.

ApacheGUI Settings

ApacheGUI Settings

Apache Server Information

Apache Server Information

ApacheGUI VirtualHosts

ApacheGUI VirtualHosts

Step 3: Create systemv init script

11. If you need method to manage Apache GUI Tool without always changing directory to [APACHEGUI_HOME], which for this installation is /opt/ApacheGUI/, and execute run.sh and stop.sh scripts, create a init configuration file /etc/init.d/apache-gui as in the following excerpt.

# nano /etc/init.d/apache-gui

Copy the below text without any modification, save it and apply execution permissions.

#!/bin/sh
#
#
# System startup script for apache-gui
#
### BEGIN INIT INFO
# Provides: apache-gui
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start the apache-gui
# Description:       Start the apache-gui
### END INIT INFO
#
# chkconfig: 2345 20 80
# description: Runs the apache-gui
# processname: apache-gui
#
# Source function library
. /etc/init.d/functions

case "$1" in
    start)
    cd /opt/ApacheGUI/bin/
./run.sh
       ;;
    stop)
   cd /opt/ApacheGUI/bin/
./stop.sh
        ;;
    *)
        echo $"Usage: $0 {start|stop}"
        exit 2
esac
exit $? 
ApacheGUI init Script

ApacheGUI init Script

12. Use the following commands to manage Apache GUI process on RHEL/CentOS 7.

# service apache-gui start
# service apache-gui stop

OR

# systemctl start apache-gui
# systemctl stop apache-gui
# systemctl status apache-gui
Start ApacheGUI Service

Start ApacheGUI Service

13. If you need Apache GUI Web Tool to automatically run after system reboot, use the following command to enable it system-wide.

# chkconfig apache-gui on

To disable it system-wide.

# chkconfig apache-gui off
Start ApacheGUI System-Wide

Start ApacheGUI System-Wide

Even though Apache GUI Web Tool has some limitations and doesn’t provide the same degree of flexibility for Apache Web Server as you can achieve from command line, it can provide a modern free Java web interface to administer your web server and has a full inline editor for web documents such as HTML, CSS, JavaScript, XML, Json, PHP, Perl, Shell, Python and can generate some detailed graphs of Apache Transactions.

Reference Links

Apache GUI Homepage

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

Matei Cezar

I'am a computer addicted guy, a fan of open source and linux based system software, have about 4 years experience with Linux distributions desktop, servers and bash scripting.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

16 Responses

  1. cybernard says:

    What’s going on here. This article has comments dating back to September 8,2014, but is was supposedly post today October 8, 2018! You can’t comment on an article that doesn’t exist yet.

  2. cybernard says:

    apache2-2.4.35

    Haha LogFormat is an invalid configuration command according to ApacheGUI in mod_log_conf Funny apache doesn’t register any errors.
    Error message abound.
    Tree view seems broken

    I don’t see the benefit, all configurations shown is a web based notepad.

    About the only thing it has is hover over links to the apache documentation, its not even in-line help like sublime, phpstorm or etc.

    Logs are no better than standard GREP over ssh.
    Control can’t retrieve extended info, and won’t tell me how to fix it.
    Global Settings “Sorry, an error has occured” WOW very helpful
    Mime Types “Sorry, an error has occured” WOW very helpful
    Virtual hosts /etc/apache2/conf.d/apache2-manual? conf (No such file or directory)
    Add virtual hosts gets stuck Loading Active Files
    History ditto virtual hosts error.

  3. Paul says:

    OMG… I did it again… 1.8 is what I had. The latest release is 1.11.0

  4. Paul says:

    Sorry, I forgot to mention that the latest release is is 1.8.0

  5. Paul says:

    [email protected] /]$ sudo wget http://downloads.sourceforge.net/project/apachegui/1.9%20Linux-Solaris-Mac/ApacheGUI-1.9.3.tar.gz
    –2018-09-05 08:42:30– http://downloads.sourceforge.net/project/apachegui/1.9%20Linux-Solaris-Mac/ApacheGUI-1.9.3.tar.gz
    Resolving downloads.sourceforge.net (downloads.sourceforge.net)… 216.105.38.13
    Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.105.38.13|:80… connected.
    HTTP request sent, awaiting response… 404 Not Found
    2018-09-05 08:42:30 ERROR 404: Not Found.

  6. Ian says:

    Nice post. I am currently having issues with mine, i install SNAP server on ubuntu 14.04 server and it has apache installed but things are not working right for me. I can not access the portal to manage the server using username and password. when i typed localhost it just show that it worked that all

  7. Junaid Ali says:

    I am like a newbie network admin, for the time being I am following your this tutorial for a gui for my apache server. But, I wanted to ask about webmin or plesk or the puppet for apache gui configurations.

    Can Anyone please point out which one is the best among the webmin, plesk, puppet or the ApacheGui explained in this tutorial..

    Regards

    • Ravi Saive says:

      @Junaid,

      I worked with Webmin as well as on Plesk, but ApacheGUI seems much easier to configure Apache configuration like creating Vhosts, etc..

    • Matei Cezar says:

      The most flexible way to manage your server is through command line. If you truly need a GUI to manage Apache web server then ApacheGui represents a tool especially crafted for Apache, unlike the other you’ve mentioned which are serve multiple purposes.

  8. Sandeep says:

    Nice post. To the point and crisp. Keep up the good work.

    Thanks,
    Sandeep

  9. Matei Cezar says:

    Make sure that /etc/init.d/apache-gui file has execution permission ( chmod +x /etc/init.d/apache-gui ) and start the service from root account or a system user with root privileges.
    Also make sure that the file has the same content as presented on above excerpt ( file comments are important here)

  10. RAUL says:

    friend error

    env: /etc/init.d/apache-gui: Permiso denegado

    Failed to start LSB: Start the apache-gui.

Got something to say? Join the discussion.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.