Introduction to Minstall

One of my favourite quickstart scripts is Minstall, a helpful script to use on your freshly installed VPS.
With Minstall you can remove unnecessary services and install commonly used services, it will let you start with a low-mem using VPS.

The readme tells us to run the script as root on a freshly installed server. If you run it on a already setup server, it is possible that it will break your current installation.

I will try and do a brief introduction to the different modules that are available. If you need help with Minstall, I suggest that you visit #minstall on IRC network Freenode.

First of all, lets see whats officially supported


[column size=”1/2″][toggle title=”Operating Systems”]
CentOS 6.3 32 Bit
CentOS 6.3 64 Bit
Debian 6 (Squeeze) 64 Bit
Debian 6 (Squeeze) 32 Bit
Ubuntu 12.04 (Precise Pangolin) 32 Bit
Ubuntu 12.04 (Precise Pangolin) 64 Bit
[column size=”1/2″ last=”1″]
[toggle title=”Platforms”] KVM
vServer (Debian Only)
Xen PV

Install Minstall

Installing Minstall is as easy as copy/paste. Below is the command to remove older version (if installed), download the latest version from GitHUB, unpack it into the minstall directory and clean up downloaded files. Could it be easier 🙂



ok, now that you have installed Minstall, how do you use it and what are the most common commands?

Basicly, Minstall is divided into four parts:
[tab title=”INSTALL”] where you can remove all packages that is not needed to boot your VPS, add extra repositories, choose which  SSH Server to use[/tab]
[tab title=”CONFIGURE”]This is where you change system settings[/tab]
[tab title=”HTTP”]All you need to bring up a complete webserver[/tab]
[tab title=”MANAGE”]add/remove users, virtual hosts [/tab]

Click the commandline to get a short description on what it does

[toggle title=”bash install-extra-repositories”]
adds repositories “Multimedia”, “openstatus”, “Java”, “dotdeb”

[toggle title=”bash clean-packages”]removes all non-essential packages on this system; You will only have the neccesary packages to start your OS. Not even a SSHD will be installed.[/toggle]

[toggle title=”bash install-ssh Install OpenSSH Server
[toggle title=”bash install-dropbear”]Installs Dropbear SSH Server[/toggle]
[toggle title=”bash install-extra-packages”]Installs these utilities: htop, psmisc, rsync, rsnapshot, screen, zip, unzip, unrar, axel, dnsutils, bwm-ng, curl, ethtool [/toggle]


[toggle title=”bash configure-general”]
enable/disableBash History
enable/disable extra getty instances
Change Default System Shell
Change Timezone[/toggle]
[toggle title=”bash configure-ssh”]
enable/disable Root Logins
enable/disable SFTP Umask Privacy[/toggle]
[toggle title=”bash configure-upgrade”]Update packages, upgrade packages and clears cache[/toggle]
[toggle title=”bash configure-user”]
Clean & Update Default User Files
Clean & Wipe Root Crontab[/toggle]

The install commands are self explanatory
[toggle title=”bash http-install-exim”] Install Exim, an MTA so you can send mail from your VPS[/toggle]
[toggle title=”bash http-install-mysql”] MySQL databaseserver[/toggle]
[toggle title=”bash http-install-nginx”] NGINX, a popular webserver[/toggle]
[toggle title=”bash http-install-php”] php, the language of the web [/toggle]
[toggle title=”bash http-install-php-extra”]
installs extra packages, like: php5-sqlite, libmcrypt4, php5-gd, php5-cli, php5-curl, php-pear[/toggle]
[toggle title=”bash http-configure-mysql”]
Configure MySQL For Minimal Memory Usage
Disable InnoDB Database Engine
[toggle title=”bash http-configure-nginx”]
Disable/Enable Cache
Disable/Enable Caching SSL Sessions
Disable/Enable Compression
Protect the default host by denying unmatched requests[/toggle]


[toggle title=”manage-add-user”] Add User[/toggle]
[toggle title=”manage-add-host”] Add Virtual Host (you need atleast one user to be able to create a virtual host)[/toggle]
[toggle title=”manage-manage-host”] Manage Virtual Host[/toggle]
[toggle title=”manage-manage-user”] Manage User[/toggle]
[toggle title=”manage-remove-host”] Remove Virtual Host[/toggle]

Upgrading Packages

To upgrade your installed packages regularly and retain Minstall system structure it’s recommended that you use the following command:

Remove Minstall

To remove the Minstall script run the following command under the same user you installed Minstall under:

This is what I usually run when I need something setup quick.

21 comments for “Introduction to Minstall

Leave a Reply

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.