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

  1. April 21, 2013 at 07:12

    Thanks for the great guide! I’d love to see what you think of the latest development on Minstall (feel free to email me :P)

    • April 21, 2013 at 13:14

      Added you on skype and had a nice chat with you.
      Lets see what we can bring together.

  2. Jitesh
    April 29, 2013 at 12:59

    Hi, thanks for providing such a detailed guide but I’m totally noob to VPS and specially to Linux. So would appreciate if you can clear some of my doubts:

    1, Once configured, does Minstall provides any web management interface like Webmin/cPanel/Zpanel etc.?
    2, After adding host (my domain.com I believe) how can I install wordpress on that domain?
    3, How can i configure mail accounts?

    Thanks in advance for your kind help.

    • April 29, 2013 at 15:22

      1. No, you have to install this manually
      2. download the wordpress files from wordpress.org and create a mysql user with minstall, create mysql database and connect the mysql user with the database. When updated DNS, browse to your new site and run through the installation wizard.
      3. You need to install something like dovecot to be able to use pop3/imap. Exim does only handle SMTP.

      Regarding your second point I’ll add that to my “guides to write” list. thanks 🙂

      • Jitesh
        April 30, 2013 at 17:14

        Thanks, I will look forward for that guide.

        But currently being a noob I prefer to use LEB with + 1 GB memory and uses zPanelX to manage all of my websites. If you are familiar with Zpanel, I would also appreciate a guide from you to optimize it for security and wordpress.

        • May 1, 2013 at 14:19

          I have never used zPanel myself so I don’t have a clear opinion about it. From what I’ve read it is easy to install, have more then a few security vulnerabilities.
          I have made a note of your request regarding the guide for zPanel, I will be honest and say it will have low priority because of the mentioned vulnerabilities.

          The wordpress guide with minstall is now published.

  3. Andrew
    May 20, 2014 at 23:29

    By default Minstall configures PHP 5.3. Is there anyway to install 5.4 by default?

    • May 23, 2014 at 07:55

      Haven’t set up a new vps with minstall since the update, guess it comes down to what is in the repo?

  4. mcjdubb
    May 31, 2014 at 08:56

    The minstall master doesn’t seem to work anymore.

    • Andrew
      June 1, 2014 at 06:22

      True its broken because of MySQL 5.6.

  5. September 20, 2014 at 04:42

    I was tested minstall master on Debian 6 x64. It works flawless on OpenVZ but somehow seems has many glitches when running on KVM. Cons is, some awesome modules, such as adding/managing vhosts not longer works on master branch. 🙁

    • September 21, 2014 at 07:23

      A working on KVM version was supposed to be included in v7 of Minstall. Unfortunatly Max has stopped the development of Minstall.
      I think it’s sad since I grew fond of it.

  6. January 7, 2015 at 11:09

    great article, I really love the minstall script!

  7. March 6, 2015 at 02:20

    Awesome! Its actually remarkable piece of writing, I have got much clear idea regarding from this piece of writing.

  8. March 25, 2016 at 07:50

    How i can add web interface for minstall and what app mostly use?

  9. June 1, 2016 at 10:38

    Oh my goodness! Incredible article dude! Thank you, However I am experiencing issues with your RSS.
    I don’t know why I am unable to join it. Is there anyone else getting similar
    RSS issues? Anyone that knows the solution will you kindly respond?
    Thanks!!

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.