Random Nerd Tutorials

How to install phpLiteAdmin Database in a Raspberry Pi


In this blog post I’ll introduce you to phpLiteAdmin which is a web-based user interface written in PHP that makes it easy to interact with SQLite databases.

Basic Raspberry Pi setup

Before you continue reading this project, make sure you have Raspbian Operating System installed in your Raspberry Pi.

You can read my Getting Started with the Raspberry Pi Guide to install Raspbian and complete the basic setup.

Installing SQLite

You also need to have SQLite installed in your Raspberry Pi.

Installing Apache2 and PHP

You need to install Apache2 in your Raspberry, Apache is used to serve your web pages. Enter the next command:

pi@raspberry:~ $ sudo apt-get install apache2 -y

You also need to install PHP which is an open source web scripting language that is used to build dynamic web applications. To install PHP and its modules, type in this command:

pi@raspberrypi:~ $ sudo apt-get install php5 libapache2-mod-php5 php5-sqlite -y

Move to your /var/www/html directory and edit the dir.conf file:

pi@raspberry:~ $ cd /var/www/html
pi@raspberrypi:/var/www/html $ sudo nano /etc/apache2/mods-enabled/dir.conf

Make the next change to the file. Before: index.html index.php

After: index.php index.html

Ctrl+X, type Y and press Enter to save your changes. Restart Apache2 service for the changes to take effect:

pi@raspberrypi:/var/www/html $ sudo service apache2 restart

Testing your installation

Create a new PHP file with the name index.php:

pi@raspberrypi:/var/www/html $ sudo nano index.php

Copy the next line to your index.php file:

<?php phpinfo(); ?>

Ctrl+X, type Y and press Enter to save your changes.

Go to your Raspberry Pi IP address (use the command ifconfig to print your Pi IP address in your terminal window) and this is what you should see:

Your PHP installation was successful. Now, you can remove the index.php file:

pi@raspberrypi:/var/www/html $ sudo rm index.php

Installing phpLiteAdmin

While on the /var/www/html directory, create a new folder called database:

pi@raspberrypi:/var/www/html $ sudo mkdir database
pi@raspberrypi:/var/www/html $ cd database/
pi@raspberrypi:/var/www/html/database $

Follow the next command to download and prepare phpLiteAdmin:

pi@raspberrypi:/var/www/html/database $ sudo wget https://bitbucket.org/phpliteadmin/public/downloads/phpLiteAdmin_v1-9-7-1.zip
pi@raspberrypi:/var/www/html/database $ sudo unzip phpLiteAdmin_v1-9-7-1.zip
pi@raspberrypi:/var/www/html/database $ sudo rm phpLiteAdmin_v1-9-7-1.zip

To set a password and the path to your SQLite database in your phpLiteAdmin configuration, this is what you need to do:

pi@raspberrypi:/var/www/html/database $ sudo cp phpliteadmin.config.sample.php phpliteadmin.config.php
pi@raspberrypi:/var/www/html/database $ sudo nano phpliteadmin.config.php

Change your file to look similar to mine (see below). Type a unique password and the path to your SQLite database:

Create a SQLite database file

You can use the file created in the previous tutorial or simply create a new one:

pi@raspberrypi:/var/www/html/database $ sqlite3 sensordata.db
sqlite> .quit

Changing file and folder permissions

In order to make phpLiteAdmin work properly you need to change some permissions and files ownership. Run the following commands:

pi@raspberrypi:/var/www/html/database $ cd ..
pi@raspberrypi:/var/www/html $ sudo chmod 777 database
pi@raspberrypi:/var/www/html $ sudo chmod 777 database/*
pi@raspberrypi:/var/www/html $ sudo chown root:root database
pi@raspberrypi:/var/www/html $ sudo chown root:root database/*

After running the preceding commands, confirm that root is the owner and those are the permissions for the database folder:

pi@raspberrypi:/var/www/html $ ls -l
drwxrwxrwx 2 root root 4096 Jan 30 15:11 database

Testing phpLiteAdmin

Open your http://RPi_IP_Address/database/phpliteadmin.php. This is how it should look like:

Enter your password to login and this is the web page that loads:

On the left menu, you can see your database and table (if you’ve used the database created in the previous tutorial). Open the dhtreadings table:

Inside that table you can see two rows:

Open the Structure tab:

You can see the settings of each column and you can change them if necessary.

Next, open the sensordata database:

Select the Create new table option and give it a name, for example outputs:

Then, you could define the data columns for each row:

Wrapping up

The real advantage of using phpLiteAdmin is: instead of sending SQL commands through a terminal window, you can add, remove, update all data through a nice user interface.

We’ve just scratched the surface of what you can do with SQLite. In the next blog post, we will publish sensor readings with the ESP8266 that will be stored in the database and displayed in your Python web server.

Like home automation? Learn more about Node-RED, Raspberry Pi, ESP8266 and Arduino with my course: Build a Home Automation System for $100.

Do you have any questions? Leave a comment down below!

Thanks for reading. If you like this post probably you might like my next ones, so please support me by subscribing my blog.

Leave a Comment:

Add Your Reply