Logo
  • PHP
    • HipHop / HHVM
    • Modern PHP
    • PHPStorm
    • LAMP
    • Laravel
    • Composer
    • PDO
  • JavaScript
    • node.js
    • AngularJS
  • CSS
    • SASS
    • “CSS4” (CSS level 4)
  • HTML
  • Git
  • LAMP
  • Vagrant
  • UI / UX
  • Architecture of …
  • Off-Topic
With ♥ from Berlin
December 23, 2014
Chris
Bootstrap, LAMP, Local Development, mini, PHP
1

Install MINI in 30 seconds inside Ubuntu 14.04 LTS

PreviousNext

This is a guideline on how to install MINI – an extremely simple naked PHP application – more or less automatically inside Ubuntu 14.04 LTS with just some very simple copy&paste-commands on the command line. The best thing: This will also automatically install Apache, PHP, MySQL, PHPMyAdmin, git and Composer, set a password in MySQL and PHPMyadmin and even inside the application code, download the Composer-dependencies, activate mod_rewrite and edit the Apache settings, download the script itself from GitHub and run the demo SQL statements (for demo data). This is 100% automatic (needs 30 seconds of work and +/- 5 minutes of automaticly running tasks), you’ll end up with a fully running installation of MINI. You can thank me later :)

Ah, and disclaimer: This is just the most simple possible setup, made for a quick preview and easy-to-start-with development. Here we use weak passwords, root access etc., so keep that in mind.

1. Log into your server. This script is made for a real, fresh and naked server running Ubuntu 14.04 LTS, not for 12.04, not for CentOS, not for shared hosting. Please don’t write comments and support requests saying “this does not work on my Godaddy hosting”. A developer dies every time somebody uses shared hosting or outdated linux versions.

2. Download the installer script:

wget https://raw.githubusercontent.com/panique/mini/master/_vagrant/bootstrap.sh

3. Make the script executeable:

chmod +x bootstrap.sh

4. Run the script, make sure you’re running it as sudo (otherwise you’ll have a broken installation):

sudo ./bootstrap.sh

Then the installer will run for some minutes, downloading and installing all the stuff, setting the passwords etc. When the script has finally stopped you’ll see “Voila!” on your shell.

The password for the MySQL root user and PHPMyAdmin is “12345678”.

Check your IP in the browser and you’ll (hopefully) see a running installation of MINI:

MINI

This article was written quite a while ago (8 years), please keep this in mind when using the information written here. Links, code and commands might be outdated or broken.

Random articles

  • New project: Building a naked PHP skeleton / boilerplate application from scratchNew project: Building a naked PHP skeleton / boilerplate application from scratch
  • MINI2, an extremely simple barebone PHP application on top of SlimMINI2, an extremely simple barebone PHP application on top of Slim
  • MINI, an extremely simple barebone PHP applicationMINI, an extremely simple barebone PHP application
  • The first micro framework written in Hack is there: hack-mvc !The first micro framework written in Hack is there: hack-mvc !
  • Preview-release of (my) “php-mvc” project (a simple php mvc barebone)Preview-release of (my) “php-mvc” project (a simple php mvc barebone)
  • SensioLabs, creator of Symfony and Silex PHP frameworks, gets $7 million capitalSensioLabs, creator of Symfony and Silex PHP frameworks, gets $7 million capital
  • PHPStorm: 42 Tips and Tricks (47min video talk by Mikhail Vink at Dutch PHP Conference 2015)PHPStorm: 42 Tips and Tricks (47min video talk by Mikhail Vink at Dutch PHP Conference 2015)
  • What’s new in PHPStorm 9What’s new in PHPStorm 9
  • Experimenting with HHVM at Etsy (Link)Experimenting with HHVM at Etsy (Link)
frameworkMVCPHP
Share this

1 Comment

  • Gagan
    April 8, 2016 8:03 am

    Hi,

    I was thinking to use your script and found it very clean to use for small scale websites. But i want to know that are we not allowing to have different model class for every page that we make? If we are writing functions in Model class itself then is it a good design to follow? Or you can suggest me better way to handle it as i found your MINI extremely useful.

    Reply

Leave A Comment Cancel reply

microsoft-windows-azure-cloud-hosting

Microsoft’s Azure platform gives away high money prizes for “testing out” their cloud services

Disclaimer: DEV METAL does not get any money etc. for saying this, there is no affiliate link, no deal with

Hacked french TV channel exposed passwords in TV interview (video, screenshots, links)

This week a major french TV networks was hacked (Article on CNN #1, #2), resulting in 11 channels being completely

php

“Belt” adds very clever everyday functions to PHP, comes with JavaScript naming styles and eventually solves the needle/haystack problem

This little projects is basically super-simple, but somehow really really clever and definitly a time-saver: Belt is a typical Composer-loaded

composer

A short & simple Composer tutorial

In this little Composer tutorial we’ll walk through the absolute basics of Composer, the PHP dependency management tool. Composer has

O’Reilly’s Programming JavaScript Applications by Eric Elliott for free (Early Access release)

O’Reilly currently offers the entire book Programming JavaScript Applications by Eric Elliott for free (as an online-readable version) while its

laracon-2014-eu-amsterdam

Laracon 2013 – Kapil Verma: Engineering Complex Applications with Laravel 4 (40min video)

More videos of 2013’s and 2014’s Laracon events from US and EU on their Youtube channel. This article was written

frontend-workflow

[german] Modernes Frontend-Development mit Bower, Grunt, Yeoman (45min Video, Thorsten Rinne auf der IPC2013)

Der Titel sagt ja wohl alles! :) Absoluter Pflichtvortrag für jeden Frontendler der NICHT mit Bower etc. arbeitet. Thorsten Rinne

MINI, an extremely simple barebone PHP application

For my daily work I often needed to setup super-simple PHP applications, just some more or less static pages plus

Rare Steve Jobs AND Bill Gates video interview from 2007’s D5 conference (90min)

This is something great! Two of the most important people in the last 20 years’s mainstream consumer IT history in

ilovepreloaders – A tumblr collection of preloader animations

An excellent collection of preloaders (GIFs, Movies and real ready-to-copy&paste code) here in this wonderful blog: http://ilovepreloaders.tumblr.com/ This thing just

1/4

Categories

Search

js javascript
Push database changes to all clients in real-time (!) with AngularJS and Firebase
node.js
PayPal drops Java, goes node.js / JavaScript
php
How to install sqlite driver for PHP in Ubuntu & Debian
Frontend Ops Conf 2014 – Keynote by Alex Sexton: “Front End Operations”
Microsoft enters post-password era with Hello (promo video)
css
How to center a div vertically and horizontally (modern methods, without fixed size!)
times-new-roman
The Times talks about Times New Roman (3min video)
hearthbleed-ssl-bug
The SSL Heartbleed bug explained in 30 seconds
Dangerous Performance Myths in the Web (video talk by Thomas Lohner, PHPUG Latvia)
php mvc
Preview-release of (my) “php-mvc” project (a simple php mvc barebone)
phpstorm-8
A PHPStorm shortcuts cheat sheet (for Windows, Mac OS and Linux)
New project: Building a naked PHP skeleton / boilerplate application from scratch
phpstorm-8
Ignore .idea folder from git in PHPStorm
vagrant
Generate Vagrant boxes with Laravel, HipHop, Nginx, WordPress, MySQL, MariaDB, MongoDB, RabbitMQ etc. with one click
set up a local virtual machine for development with vagrant and puphpet / puppet (and ubuntu, linux, php, apache, mysql)
A super-simple pre-configured Vagrant box with HipHop, Hack and Hack code examples

Tags

apache bash centos composer conference coupon CSS debian fonts framework git GitHub hack HHVM HipHop HTML HTML5 IDE JavaScript JS LAMP laravel linux mod_rewrite MVC MySQL Nginx optimization PHP PHP 5.5 PHP 5.6 phpmyadmin PHPStorm security server SSD Ubuntu UI UX vagrant video virtual machine voucher VPS wordpress
Side-Project: Wordle-Solver:
www.wordle-helper.info

Pages

  • Privacy Policy
 
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
Do not sell my personal information.
Cookie SettingsAccept
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SAVE & ACCEPT