vhost-manager is a tool for ubuntu servers to easily manage shared web hosting sites with nginx and php-fpm
Have a fresh installation of one the following Ubuntu versions: 20.04, 22.04 on a server or use docker!
You can choose to use vhost-manager as super root, but if you want to grant a user access, you'll have to add them to sudo
group and vhost-admin
group
Remember when running the bash-install script to be sudo root, and also as mentioned use a fresh server!
- Update and install utillities:
apt-get update -y && apt-get install -y --no-install-recommends nano curl ca-certificates
- Download vhost-manager installation script:
curl -O https://raw.githubusercontent.com/nsommer89/vhost-manager/master/update-install/bash-install-full.sh
- Install it:
bash bash-install-full.sh
- Try it out
vhost
orvhost <some-command>
- Pull Docker Ubuntu 22.04:
docker pull ubuntu:22.04
- Start a ubuntu docker container:
docker run -p 80:80 -p 443:443 -p 22:22 -a stdin -a stdout -i -t ubuntu:22.04 /bin/bash
- When inside the container run
apt-get update -y && apt-get install -y --no-install-recommends nano curl ca-certificates
- Download vhost-manager installation script:
curl -O https://raw.githubusercontent.com/nsommer89/vhost-manager/master/update-install/bash-install-full.sh
- Install it:
bash bash-install-full.sh
- Copy the env.dist file
cp app/.env.dist app/.env
and fill out the values - Run
docker-compose build
to build it - Run
docker-compose up
- You can use./cli
to shell into the container or./cli <your-command>
- Dump the contents from
update-install/dump.sql
to the database which name you can see in the .env file. You can find phpMyAdmin at http:/localhost:8018/ - Try it out with
./cli
or you can also do./cli vhost <some-command> <some-argument>
To test it, you can add a DNS A record that points to 127.0.0.1, e.g. *.yourdomain.com and use this to create sites in the vhost-manager.
Version history, see https://raw.githubusercontent.com/nsommer89/vhost-manager/master/update-install/versions.json
No items currently
- Update and render it in GenerateVersions.php
- Update VHOST_MANAGER_VERSION variable in install script to install newest version
- Push to develop
- Merge develop into master
- Branch new version branch
v<xxx>
from master