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

Compatibility

[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
[/toggle][/column]
[column size=”1/2″ last=”1″]
[toggle title=”Platforms”] KVM
OpenVZ
VirtualBox
VMware
vServer (Debian Only)
Xen HVM
Xen PV
[/toggle][/column]
Instructions:

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:
[tabs]
[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]
[/tabs]

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

Install
[toggle title=”bash minstall.sh install-extra-repositories”]
adds repositories “Multimedia”, “openstatus”, “Java”, “dotdeb”
[/toggle]

[toggle title=”bash minstall.sh 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 minstall.sh install-ssh Install OpenSSH Server
[toggle title=”bash minstall.sh install-dropbear”]Installs Dropbear SSH Server[/toggle]
[toggle title=”bash minstall.sh install-extra-packages”]Installs these utilities: htop, psmisc, rsync, rsnapshot, screen, zip, unzip, unrar, axel, dnsutils, bwm-ng, curl, ethtool [/toggle]

Configure

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

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

Manage

[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.