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)
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 🙂
cd ~; rm -rf minstall; mkdir minstall; cd minstall; wget --no-check-certificate -O minstall.tar.gz http://www.github.com/downloads/KnightSwarm/Minstall/Latest.tar.gz; tar zxvf minstall.tar.gz; rm minstall.tar.gz
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 minstall.sh install-extra-repositories”]
adds repositories “Multimedia”, “openstatus”, “Java”, “dotdeb”
[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]
[toggle title=”bash minstall.sh configure-general”]
enable/disable extra getty instances
Change Default System Shell
[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]
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 title=”bash minstall.sh http-configure-nginx”]
Disable/Enable Caching SSL Sessions
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]
To upgrade your installed packages regularly and retain Minstall system structure it’s recommended that you use the following command:
bash minstall.sh configure-upgrade
To remove the Minstall script run the following command under the same user you installed Minstall under:
cd ~; rm -rf minstall
This is what I usually run when I need something setup quick.
bash minstall.sh clean-packages
bash minstall.sh install-dropbear
bash minstall.sh install-extra-repositories
bash minstall.sh install-extra-packages
bash minstall.sh configure-general
bash minstall.sh configure-upgrade
bash minstall.sh http-install-nginx
bash minstall.sh http-install-php
bash minstall.sh http-install-php-extra
bash minstall.sh http-install-exim
bash minstall.sh http-install-mysql
bash minstall.sh http-configure-mysql
bash minstall.sh http-configure-nginx
bash minstall.sh manage-add-user
bash minstall.sh configure-user
bash minstall.sh manage-add-host
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)
Added you on skype and had a nice chat with you.
Lets see what we can bring together.
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.
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 🙂
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.
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.
By default Minstall configures PHP 5.3. Is there anyway to install 5.4 by default?
Haven’t set up a new vps with minstall since the update, guess it comes down to what is in the repo?
The minstall master doesn’t seem to work anymore.
True its broken because of MySQL 5.6.
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. 🙁
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.
great article, I really love the minstall script!
Awesome! Its actually remarkable piece of writing, I have got much clear idea regarding from this piece of writing.
How i can add web interface for minstall and what app mostly use?
Minstall development has been “on hold” for a couple of years. Sad to see since I liked how it was done.
Nothing has happened on the Github pages https://github.com/maxexcloo/Minstall
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?
there is the feedburner link : http://feeds.feedburner.com/Lowendguide or the regular wordpress link you can use: http://lowendguide.com/feed