An apache host viewer to list all provided host and vhosts on current system.
This application uses the friends of bash libraries (https://github.com/bjoern-hempel/friends-of-bash). Check that the libraries are available:
user$ friends-of-bash --version
friends-of-bash/v0.0.11
If you can see a similar friends of bash version output like above, you can now install this application:
user$ sudo -E friends-of-bash install "git@github.com:bjoern-hempel/apache-host-viewer.git"
If you don't have installed the friends of bash libraries, please install them first. In short:
user$ cd ~ && git clone git@github.com:bjoern-hempel/friends-of-bash.git && cd friends-of-bash
user$ sudo -E bin/install
user$ cd .. && rm -rf friends-of-bash
user$ apache-host-viewer --help
An apache host viewer (v0.0.36) by Björn Hempel <bjoern@hempel.li>.
Usage: apache-host-viewer [options...]
-h, --help Shows this help.
-v, --version Shows the version number.
-l, --only-list-domains Only list the domains, that are available on this system.
-m, --markdown Shows the output as markdown and disable all other output types (json, html) - default output
-j, --json Shows the output as json and disable all other output types (markdown, html)
--html Shows the output as html and disable all other output types (markdown, json)
--compress-json Compress the outputted json.
--output-target Writes also the result into this target folder.
--output-name Set the output name (default is "index").
--create-markdown Creates a markdown file (--output-target must be set).
--create-json Creates a json file (--output-target must be set).
--create-html Creates a html file (--output-target must be set).
-i, --install-live-view Installs the live view api.
-s, --show-system-info Shows system informations.
--show-links Shows links inside the markdown and html file.
--show-ssl-certificates Shows the ssl certificates.
--show-domain-list Shows a separated domain list.
-d, --docker-container Checks a docker machine instead of the local machine.
--disable-vhost-parser Disable the vhost parser.
--silence Disable the output.
The script uses the DUMP_VHOSTS function from apachectl
(apachectl -S
). This requires sudo credentials:
user$ sudo apache-host-viewer
The markdown result could be:
### Projects
- file:///var/www/de/rsm-live/wmbw/start-up-bw/www/html/current/web
- targets:
- http://www.start-up-bw.wmbw.rsm-live.de
- http://start-up-bw.wmbw.rsm-live.de
- https://www.start-up-bw.wmbw.rsm-live.de
- https://start-up-bw.wmbw.rsm-live.de
- ssl: true
- app: HTML project
- version: unknown
- file:///var/www/html
- targets:
- http://wmbw.rsm-live.de
- http://www.wmbw.rsm-live.de
- http://wmbw.rsm-live.de
- https://www.wmbw.rsm-live.de
- https://wmbw.rsm-live.de
- ssl: true
- app: HTML project
- version: unknown
- https://www.startupgipfel.de/registration/
- targets:
- http://www.start-up-bw.de
- http://start-up-bw.de
- http://www.startupbw.de
- http://startupbw.de
- ssl: false
- app: redirection
- version: not available
- file:///var/www/de/rsm-stage/wmbw/start-up-bw/www/html/current/web
- targets:
- http://www.start-up-bw.wmbw.rsm-stage.de
- http://start-up-bw.wmbw.rsm-stage.de
- https://www.start-up-bw.wmbw.rsm-stage.de
- https://start-up-bw.wmbw.rsm-stage.de
- ssl: true
- app: TYPO3
- version: 8.7.1
The script uses the DUMP_VHOSTS function from apachectl
(apachectl -S
). This requires sudo credentials:
user$ sudo apache-host-viewer --html
The markdown result could be:
<!DOCTYPE html>
<html lang="en">
<head>
<!--[if IE]>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<![endif]-->
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta charset="UTF-8" />
<title>wmbw.rsm-live.de</title>
<link rel="stylesheet" href="markdown.css">
<style>
.markdown-body {
box-sizing: border-box;
min-width: 200px;
max-width: 980px;
margin: 0 auto;
padding: 45px;
}
</style>
</head>
<body>
<article class="markdown-body">
<h3 id="projects">Projects</h3>
<ul>
<li>file:///var/www/de/rsm-live/wmbw/start-up-bw/www/html/current/web<ul>
<li>targets:<ul>
<li><a href="http://www.start-up-bw.wmbw.rsm-live.de">http://www.start-up-bw.wmbw.rsm-live.de</a></li>
<li><a href="http://start-up-bw.wmbw.rsm-live.de">http://start-up-bw.wmbw.rsm-live.de</a></li>
<li><a href="https://www.start-up-bw.wmbw.rsm-live.de">https://www.start-up-bw.wmbw.rsm-live.de</a></li>
<li><a href="https://start-up-bw.wmbw.rsm-live.de">https://start-up-bw.wmbw.rsm-live.de</a></li>
</ul>
</li>
<li>ssl: true</li>
<li>app: HTML project</li>
<li>version: unknown</li>
</ul>
</li>
<li>file:///var/www/html<ul>
<li>targets:<ul>
<li><a href="http://wmbw.rsm-live.de">http://wmbw.rsm-live.de</a></li>
<li><a href="http://www.wmbw.rsm-live.de">http://www.wmbw.rsm-live.de</a></li>
<li><a href="http://wmbw.rsm-live.de">http://wmbw.rsm-live.de</a></li>
<li><a href="https://www.wmbw.rsm-live.de">https://www.wmbw.rsm-live.de</a></li>
<li><a href="https://wmbw.rsm-live.de">https://wmbw.rsm-live.de</a></li>
</ul>
</li>
<li>ssl: true</li>
<li>app: HTML project</li>
<li>version: unknown</li>
</ul>
</li>
<li><a href="https://www.startupgipfel.de/registration/">https://www.startupgipfel.de/registration/</a><ul>
<li>targets:<ul>
<li><a href="http://www.start-up-bw.de">http://www.start-up-bw.de</a></li>
<li><a href="http://start-up-bw.de">http://start-up-bw.de</a></li>
<li><a href="http://www.startupbw.de">http://www.startupbw.de</a></li>
<li><a href="http://startupbw.de">http://startupbw.de</a></li>
</ul>
</li>
<li>ssl: false</li>
<li>app: redirection</li>
<li>version: not available</li>
</ul>
</li>
<li>file:///var/www/de/rsm-stage/wmbw/start-up-bw/www/html/current/web<ul>
<li>targets:<ul>
<li><a href="http://www.start-up-bw.wmbw.rsm-stage.de">http://www.start-up-bw.wmbw.rsm-stage.de</a></li>
<li><a href="http://start-up-bw.wmbw.rsm-stage.de">http://start-up-bw.wmbw.rsm-stage.de</a></li>
<li><a href="https://www.start-up-bw.wmbw.rsm-stage.de">https://www.start-up-bw.wmbw.rsm-stage.de</a></li>
<li><a href="https://start-up-bw.wmbw.rsm-stage.de">https://start-up-bw.wmbw.rsm-stage.de</a></li>
</ul>
</li>
<li>ssl: true</li>
<li>app: TYPO3</li>
<li>version: 8.7.1</li>
</ul>
</li>
</ul>
</article>
</body>
</html>
The script uses the DUMP_VHOSTS function from apachectl
(apachectl -S
). This requires sudo credentials:
user$ sudo apache-host-viewer --json
The markdown result could be:
{
"projects": {
"file:///var/www/de/rsm-live/wmbw/start-up-bw/www/html/current/web": {
"domains": [
"http://www.start-up-bw.wmbw.rsm-live.de",
"http://start-up-bw.wmbw.rsm-live.de",
"https://www.start-up-bw.wmbw.rsm-live.de",
"https://start-up-bw.wmbw.rsm-live.de"
],
"ssl": true,
"app": "HTML project",
"version": "unknown"
},
"file:///var/www/html": {
"domains": [
"http://wmbw.rsm-live.de",
"http://www.wmbw.rsm-live.de",
"http://wmbw.rsm-live.de",
"https://www.wmbw.rsm-live.de",
"https://wmbw.rsm-live.de"
],
"ssl": true,
"app": "HTML project",
"version": "unknown"
},
"https://www.startupgipfel.de/registration/": {
"domains": [
"http://www.start-up-bw.de",
"http://start-up-bw.de",
"http://www.startupbw.de",
"http://startupbw.de"
],
"ssl": false,
"app": "redirection",
"version": "not available"
},
"file:///var/www/de/rsm-stage/wmbw/start-up-bw/www/html/current/web": {
"domains": [
"http://www.start-up-bw.wmbw.rsm-stage.de",
"http://start-up-bw.wmbw.rsm-stage.de",
"https://www.start-up-bw.wmbw.rsm-stage.de",
"https://start-up-bw.wmbw.rsm-stage.de"
],
"ssl": true,
"app": "TYPO3",
"version": "8.7.1"
}
}
}
The script uses the DUMP_VHOSTS function from apachectl
(apachectl -S
). This requires sudo credentials:
user$ sudo apache-host-viewer --show-system-info
The markdown result could be:
### System informations
| Name | Value |
| ---- | ----- |
| document created at | 2017-05-28 16:38:38 |
| full os name | Linux Debian 8.8 (3.16.0-4-amd64 x86_64) |
| number of cpus | 4 |
| ram size in gb | 15.6774 |
| hd disc size in gb | 219 |
| used hd disc size | 2 % |
| number of updateable applications | 0 |
| php version | 7.0.19-1~dotdeb+8.1 |
| mysql version | 5.5.55 |
### Users
| Username | Fullname |
| ---- | ----- |
| bjoern | Björn Hempel |
| user2 | User 2 |
| user3 | User 3 |
### Projects
- file:///var/www/de/rsm-live/wmbw/start-up-bw/www/html/current/web
- targets:
- http://www.start-up-bw.wmbw.rsm-live.de
- http://start-up-bw.wmbw.rsm-live.de
- https://www.start-up-bw.wmbw.rsm-live.de
- https://start-up-bw.wmbw.rsm-live.de
- ssl: true
- app: HTML project
- version: unknown
- file:///var/www/html
- targets:
- http://wmbw.rsm-live.de
- http://www.wmbw.rsm-live.de
- http://wmbw.rsm-live.de
- https://www.wmbw.rsm-live.de
- https://wmbw.rsm-live.de
- ssl: true
- app: HTML project
- version: unknown
- https://www.startupgipfel.de/registration/
- targets:
- http://www.start-up-bw.de
- http://start-up-bw.de
- http://www.startupbw.de
- http://startupbw.de
- ssl: false
- app: redirection
- version: not available
- file:///var/www/de/rsm-stage/wmbw/start-up-bw/www/html/current/web
- targets:
- http://www.start-up-bw.wmbw.rsm-stage.de
- http://start-up-bw.wmbw.rsm-stage.de
- https://www.start-up-bw.wmbw.rsm-stage.de
- https://start-up-bw.wmbw.rsm-stage.de
- ssl: true
- app: TYPO3
- version: 8.7.1
You can use this parameter in combination with all other parameters (--markdown, --json, --html, --create-markdown, --create-json, --create-html).
The following command will create a markdown file (index.md
) into the folder /var/ww/html/server
. The following command also prints the markdown result on the screen:
user$ sudo apache-host-viewer --output-target=/var/www/html/server --output-name=index
Here it comes. It will also create a index.html
and a index.json
file into the folder /var/ww/html/server
:
user$ sudo apache-host-viewer --output-target=/var/www/html/server --output-name=index --create-json --create-html
You can suppress all outputs (except error messages) with the parameter --silence
. This is usefull if you like to use this command as a cronjob task. The following command creates a md, a json and a html file into the folder /var/www/html/server
and don't output any message to the command line:
user$ sudo apache-host-viewer --output-target=/var/www/html/server --output-name=index --show-system-info --show-links --create-json --create-html --silence
TODO..
MIT © Björn Hempel
Have fun! :)