Setup and configure the Metamug API Console server
The Metamug Console can be downloaded from https://metamug.com/dl as a zip or tar file in case of Linux. You can select the appropriate version depending on your operating system. No additional setup is required to run API Console.
If you are connecting to your remote server using
ssh terminal, upload the the zip/tar file to your server. If you follow the guide for AWS EC2 SSH access or CPanel SSH access depending on whether your server is hosted on AWS cloud or CPanel based hosting.
tar -xvf metamug-linux-x64-1.5.6.tar.gz cd metamug-linux-x64-1.5.6/METAMUG_CONSOLE/bin sudo sh catalina.sh start
After extracting, you will obtain a folder named
METAMUG_CONSOLE inside which you will find the
bin folder mentioned in the rest of this article and other required files and folders.
You can navigate to
METAMUG_CONSOLE/bin folder for starting/stopping the server.
The console runs as a server and can be started using the following commands:
Navigate to the
\bin folder and run the following
For starting the server.
For Stopping the server.
Navigate to the
/bin folder and run the following
For starting the server
sudo sh catalina.sh start
For starting the server on the main thread of the terminal, this will show the logs on the terminal screen
sudo sh catalina.sh run
For stopping the server
sudo sh catalina.sh stop
It is recommended to run the server as root using
sudo to prevent any file permission issues.
Note: The above scripts can be executed using
sh instead of
bash but we do not recommend doing so as the
sh command may not completely run all the required scripts and may cause unpredictable behaviour.
Enable port 7000 to be accessed remotely.
sudo ufw allow 7000 sudo ufw enable
For Windows, Open
/bin/setenv.bat and locate the following line in the file
set "JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx2048m"
Xms and Xmx represents the minimum and maximum value in mb respectively. You can modify the values according to your requirements
For Max/Linux, open
/bin/setenv.sh and locate the following lines in the file
export CATALINA_OPTS="$CATALINA_OPTS -Xms1024m" export CATALINA_OPTS="$CATALINA_OPTS -Xmx2048m"
Point your browser at http://localhost:7000 You should see the launch page of Metamug API Console.
Login into your account using the default credentials (username: admin, password: admin) given above and voila! You're ready to use the Metamug Console.
You'll need internet connection to download updates later. Otherwise you can use console without internet.
If you get permission denied error on startup or shutdown.
catalina.sh: 1: eval: permission denied
Do the following on your linux box.
sudo chmod a+x metamug-linux-x64/METAMUG_CONSOLE/jdk/bin/java sudo chown -R root:root metamug-linux-x64/
The default password can be changed in
A common startup problem is when another program has claimed port 7000, which
Metamug is configured to run on by default. To avoid this port conflict, Metamug's
port can be changed in
<Connector port="7000" protocol="HTTP/1.1" ...
If you encounter any problems, please create a support request at: firstname.lastname@example.org
If you have setup an apache server with ssl, you can use it to proxy the request to console and the generated apis.
Make changes to your
api.example.com.conf file as follows
ServerAdmin webmaster@localhost DocumentRoot /var/www/html ProxyPreserveHost On ProxyPass / http://127.0.0.1:7000/ ProxyPassReverse / http://127.0.0.1:7000/
The above configuration assumes both apache and Metamug API Console are hosted on the same server.
Update the host name in
conf/server.xml to match the domain name used in the virtual host of apache server. You need to change the
<Host name="api.example.com" appBase="webapps" unpackWARs="true" autoDeploy="true" deployXML="true">
Also update your connector tag in
<Connector port="7000" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" scheme="https" secure="true" proxyName="api.example.com" proxyPort="443" />
The following attributes inform API Console, it is being accessed via a reverse proxy with ssl.
scheme="https" secure="true" proxyName="api.example.com" proxyPort="443"
If you do not perform the above step of adding proxy to Connector tag, every POST request will throw 403 error. You can learn how to setup a certbot ssl with apache reverse proxy
The API will be available at
Read this for more on making API requests.
Ask at Stackoverflow for Metamug: https://stackoverflow.com/tags/metamug