Wednesday, August 27, 2014

Nginx and Android: A great on-the-go web dev tool

There are times when you just need to develop on the go. When this happens, you might not want to carry around that bulky laptop -- or maybe your only option is a tablet or smartphone. If that's the case, and you have an Android device handy, you're in luck! The Nginx(pronounced engine-x) web server is great way to have a portable web server for testing, developing, and even serving up web pages.
NAMP (nginx android web server) is a 10-day trial app (after the trial, the cost of a license is $0.99 until Sept 1st, 2014, after which the price will raise to $4.99). Here are some of the app features:
  • Nginx v1.5.0
  • PHP v5.4.13
  • MySQL v5.1.62
  • msmtp 1.4.30
  • NAMPFTP v1.0
  • Export MySQL backups to Dropbox
  • Export backups of sites to Dropbox
  • Backup of MySQL databases
  • Easy management of virtual hosts directly from the application
  • Add FTP users with custom privileges
  • Run the server on port 80 or 8080
You can connect to the server either locally, on the Wi-Fi LAN, or from a WAN address. With the addition of a solid text editor (such as Jota+), your Android device will become a powerful web-development tool.
Let's install and use NAMP.


Installation of NAMP is quite simple. Just follow these steps:
  1. Open the Google Play Store on your Android device
  2. Search for NAMP
  3. Locate and tap the entry by NAMP Ltd.
  4. Tap Install
  5. Read the permissions listing
  6. If the permissions listing is acceptable, tap Accept
Once the installation is complete, you'll see an icon for NAMP on your home screen (or in your app drawer -- or both). Tap that, and you'll be presented with the licensing information (plus information about when your trial period will expire). Once all of that information is gone, you'll see that the various services are started and the addresses to reach the default web page (Figure A).
Figure A
Figure A
NGINX running on a Verizon-branded LG G Pad.


If you tap the Status button (upper left corner of the NAMP main window), you gain access to each of the services installed. Tap on the nginx entry, and you can start/stop the service, edit the configuration file, and even add virtual hosts (Figure B).
Figure B
Figure B
The nginx service control panel.
If you tap the Settings entry (from the Settings menu), you can set NAMP to autostart on boot, enable an external .ini file, allow the usage of Root, and more (Figure C).
Figure C
Figure C
The NAMP Settings window.
The most important thing you'll need to know is where to store your files. Open up your file manager (if you don't have one, I suggest Astro File Manager) and look for a folder called htdocs. Within that folder is where you'll place all of your html and other source files.

Database management

If you're wanting to work with databases, NAMP has you covered. There is a special version of phpMyAdmin you can run with NAMP. Here's how you do it:
  1. From the NAMP main window, tap the Settings button
  2. Tap the Tools entry
  3. Tap phpMyAdmin
  4. Allow phpMyAdmin to download
  5. Tap OK when prompted (this will restart the nginx services)
  6. Tap phpMyAdmin again (this will open the web browser to localhost:8000)
By default, the MySQL username is root and the password is blank (as in no password). At this point, you should be able to use phpMyAdmin as you would if it were running on a standard server.
If you need to edit the MySQL configuration file, you can do so by selecting MySQL from the main window Settings menu and tapping the EDIT button (Figure D).
Figure D
Figure D
The MySQL window within the NAMP server.
If you're looking for an easy way to work with web development on the go, you should give NAMP and nginx a try. Outside of logging into a remote server to work on your web development, this might well be your best bet.