All Projects → junelsolis → freeradius-admin

junelsolis / freeradius-admin

Licence: GPL-3.0 license
A web interface for FreeRADIUS with a MySQL backend. Fast and painless configuration with Docker.

Programming Languages

PHP
23972 projects - #3 most used programming language
HTML
75241 projects
PLpgSQL
1095 projects
PLSQL
303 projects
Makefile
30231 projects
perl
6916 projects

Projects that are alternatives of or similar to freeradius-admin

Phpminiadmin
extremely lightweight alternative to heavy phpMyAdmin for quick and easy access MySQL databases
Stars: ✭ 278 (+826.67%)
Mutual labels:  phpmyadmin
Vagrant Centos7 Ansible Lamp
Ansible example using Vagrant to deploy Centos7 server with Apache2.4.6, PHP7 (with xdebug), mariaDB5.5 and phpmyadmin to local VM.
Stars: ✭ 41 (+36.67%)
Mutual labels:  phpmyadmin
Themes
Third party phpMyAdmin themes
Stars: ✭ 135 (+350%)
Mutual labels:  phpmyadmin
Wordpress Nginx Docker Compose
Run WordPress with nginx using Docker Compose.
Stars: ✭ 460 (+1433.33%)
Mutual labels:  phpmyadmin
Phpmyadmin
A Chassis extension to install and configure phpMyAdmin on your server.
Stars: ✭ 8 (-73.33%)
Mutual labels:  phpmyadmin
Docker Compose Lamp
A basic LAMP stack environment built using Docker Compose.
Stars: ✭ 1,284 (+4180%)
Mutual labels:  phpmyadmin
php-crud-admin
A database admin interface for MySQL, PostgreSQL or SQL Server in a single file PHP script.
Stars: ✭ 24 (-20%)
Mutual labels:  phpmyadmin
Kickoff Docker Php
🐳 🐘 🚀 Easily setup a PHP project with Docker
Stars: ✭ 213 (+610%)
Mutual labels:  phpmyadmin
Mirth Connect Docker
Mirth-Connect Docker container (+ Mysql container + PHPMyAdmin container)
Stars: ✭ 29 (-3.33%)
Mutual labels:  phpmyadmin
Bedrock Docker
Development Setup for Bedrock Wordpress based on Docker
Stars: ✭ 102 (+240%)
Mutual labels:  phpmyadmin
Docker
Docker container for phpMyAdmin
Stars: ✭ 476 (+1486.67%)
Mutual labels:  phpmyadmin
Phpmyadmin sql backup
A Python script to automate SQL dumps via phpMyAdmin's web interface
Stars: ✭ 17 (-43.33%)
Mutual labels:  phpmyadmin
Dockerweb
A docker-powered bash script for shared web hosting management. The ultimate Docker LAMP/LEMP Stack.
Stars: ✭ 89 (+196.67%)
Mutual labels:  phpmyadmin
Neard
🎲 Portable WAMP software stack
Stars: ✭ 296 (+886.67%)
Mutual labels:  phpmyadmin
Oneinstack
OneinStack - A PHP/JAVA Deployment Tool
Stars: ✭ 1,983 (+6510%)
Mutual labels:  phpmyadmin
Docker Lamp
Docker with Apache, MySql, PhpMyAdmin and Php
Stars: ✭ 276 (+820%)
Mutual labels:  phpmyadmin
Phalcon Vm
Vagrant configuration for PHP7, Phalcon 3.x and Zephir development.
Stars: ✭ 43 (+43.33%)
Mutual labels:  phpmyadmin
phpmyadmin-authentication-bruteforce
phpMyAdmin Authentication Bruteforce Tool
Stars: ✭ 58 (+93.33%)
Mutual labels:  phpmyadmin
Pma
Simple shell script that installs phpMyAdmin on a Laravel Homestead box.
Stars: ✭ 199 (+563.33%)
Mutual labels:  phpmyadmin
Docker Nginx Php Mysql
Docker running Nginx, PHP-FPM, MySQL & PHPMyAdmin
Stars: ✭ 1,322 (+4306.67%)
Mutual labels:  phpmyadmin

A web interface for FreeRADIUS with a MySQL backend.

Try the Demo Site

https://fradmin-demo.junelsolis.com

Login credentials: admin, password

Install with Docker for Testing

The simplest way to install this app is using Docker.

  1. Clone the master branch of this repository
  2. Run cd freeradius-admin
  3. Run docker-compose build
  4. Run docker container exec fradmin-web chown -R www-data:www-data /var/www/html
  5. Run docker compose up
  6. Using your browser go to http://localhost:80. The login credentials are admin and password.
  7. phpmyadmin is included as a service for testing and evaluation. It is accessible at http://localhost:9200.
  8. To test the RADIUS server, login to the shell of the radtest container using docker container exec -it fradmin-radtest /bin/sh. Run radtest testuser password fradmin-radius:1812 0 testing123.

Production Setup

  1. The folder ./mysql/src/data must be emptied to prevent any conflicts with database passwords.
  2. Edit docker-compose.yml. Change the MYSQL_ROOT_PASSWORD entry to your own password.
  3. Edit ./web/src/.env by changing the database settings to match the above.
  4. Edit ./freeradius/config/freeradius/mods-enabled/sql with the correct database root password.
  5. IMPORTANT Navigate to the ./web/src directory and run the following code php artisan key:generate in order to generate an app key.
  6. Build the images by running docker-compose build at the project root.
  7. Run docker-compose up -d to run the services in the background.
  8. Confirm the services are up docker container ps.
  9. OPTIONAL: Make ./generate-le.sh executable chmod u+x generate-le.sh then run .generate-le.sh to generate a LetsEncrypt SSL certificate using standalone method. You may need to modify this script in order to work with your specific setup.

mysql

The fradmin-mysql container is configured with a generic username and password. This should be changed in the docker-compose.yml file for production setups. The file radius.sql is a modified version of the radius MySQL schema included with freeRADIUS distributions. It is loaded by the container on startup if the database and tables do not already exist.

Furthermore, it is set to port-forward 3306 in case you need direct network access to the MySQL service. If this sort of access is not needed, it should be disabled in production setups by changing the 'port' declaration to 'expose'.

freeradius 3.0.17

The FreeRADIUS 3 server is the service around which the rest of the services in this app are built. You will need some knowledge about configuring it in order to make it work according to your requirements. The configuration files are located in the folder ./freeradius/config/freeradius. This folder is volume-mapped to As is, these files are ready to be deployed and will instantiate one virtual server called server01 listening on the default auth and acct ports 1812 and 1813. Depending on your use case, you may wish to edit the Simultaneous-Use section of the queries.conf file.

laravel

For a production setup, modify the .env file located in ./web/src and make sure you change the app key by going to a terminal, navigating to the ./web/src directory, and running php artisan key:generate.

How to Contribute

Contributors are welcome. Fork the project and create a pull request. Please have a look at CONTRIBUTING.md for some guidelines.

Project History

I originally started this project as a way to automate and simplify network user management at Maxwell Adventist Academy, a secondary school outside Nairobi, Kenya where I worked both as a physician and network administrator. I saw an interest in it because there was an opportunity to learn PHP/Laravel and configure FreeRADIUS at the same time. This was a challenge because the FreeRADIUS documentation does not seem very clear to beginners to the technology like me.

One of the things I found lacking was a GUI to manage users. There are some open source solutions out there, but I wanted one that was customized to our specific needs. And so this project was born, after having gone through a few iterations. With this repository, I am attempting to rewrite the application using Docker to help simplify development and deployment.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].