Complete Guide: Koha Library Management System Setup

Step-by-step installation and configuration tutorial

📅 Published: October 20, 2025
⏱️ Reading Time: 8 minutes
🏷️ Category: System Setup
Introduction: This comprehensive guide will walk you through the complete setup process for Koha Library Management System with the InOut module. Follow each step carefully to ensure a successful installation.

Prerequisites

  • Ubuntu/Debian-based Linux system
  • Root or sudo access
  • Existing Koha installation
  • MySQL/MariaDB database server
  • Basic command-line knowledge

Installation Steps

1 Switch to Root User

First, switch to the root user to ensure you have the necessary permissions for installation.

sudo su
2 Install Apache and PHP Dependencies

Install Apache web server and required PHP modules for the application to function properly.

sudo apt-get install -y git php libapache2-mod-php php-{bcmath,bz2,intl,gd,mbstring,mysql,zip}
Note: This command installs multiple PHP extensions. The installation may take a few minutes.
3 Navigate to Koha Directory

Change to the Koha OPAC directory where we'll clone the InOut repository.

cd /usr/share/koha/opac/htdocs
4 Clone InOut Repository

Clone the InOut module from GitHub repository.

git clone https://github.com/omkar2403/inout.git
5 Set Proper Permissions

Configure file permissions to allow Apache to read and write to the InOut directory.

sudo chmod 777 -R inout sudo chown www-data:www-data -R inout
Security Warning: The 777 permission is used here for ease of setup. In production, consider using more restrictive permissions.

Database Configuration

6 Login to MySQL

Access the MySQL command-line interface.

mysql -u root -p
Note: You'll be prompted to enter your MySQL root password.
7 Create Database

Create a new database for the InOut module.

CREATE DATABASE libinout;
8 Create Database User

Create a dedicated user for the InOut database.

CREATE USER 'libinout'@'localhost' IDENTIFIED BY 'Libinout@123';
9 Grant Privileges

Assign necessary permissions to the database user.

GRANT ALL PRIVILEGES ON *.* TO 'libinout'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES;

Exit MySQL after granting privileges:

exit;
10 Import Sample Data

Import the database schema and sample data from the SQL file.

mysql -u root -p libinout < /usr/share/koha/opac/htdocs/inout/DB/inout.sql
11 Configure Database Connection

Update the database connection file with your credentials.

nano /usr/share/koha/opac/htdocs/inout/functions/dbconn.php

Update the following parameters:

  • Database username
  • Database password
  • Database name

Save and exit: Press Ctrl+X, then Y, then Enter

12 Restart Apache Server

Reload and restart Apache to apply all changes.

sudo systemctl reload apache2 && systemctl restart apache2
13 Test the Installation

Navigate to the login page in your web browser.

http://your-server-address/inout/login.php
Success: If you can see the login page, your installation is complete!

Troubleshooting

Login Issues?

If you're unable to login with the default credentials, follow these steps to reset the password:

1 Access MySQL
mysql -u root -p
2 Select Database
USE libinout;
3 Update Password

First, set a temporary password:

UPDATE users SET pass='your_password' WHERE username='your_username';

Then, encrypt it with SHA1:

UPDATE users SET pass=SHA1('your_password') WHERE username='your_username';

Conclusion

Congratulations! You've successfully installed and configured the Koha InOut module. Make sure to change default passwords and secure your installation before deploying to production.

Need Help? If you encounter any issues during installation, feel free to leave a comment below or contact support.

© 2025 Tech Setup & Troubleshooting Blog | All Rights Reserved

Helping you solve technical challenges, one step at a time.

Comments

Popular posts from this blog