]> jfr.im git - irc/unrealircd/unrealircd-webpanel.git/blame - README.md
sql: Some further checking on sessions
[irc/unrealircd/unrealircd-webpanel.git] / README.md
CommitLineData
60230273 1 ## UnrealIRCd Administration WebPanel
1e35660c 2
60230273
VP
3[![Version](https://img.shields.io/badge/UnrealIRCd-6.0.6_or_later-darkgreen.svg)]()
4[![Version](https://img.shields.io/badge/Version-Beta-blue.svg)]()
5[![Maintained](https://img.shields.io/badge/Maintained-yes-darkgreen.svg)]()
6[![Unreal](https://img.shields.io/badge/PHP-8.0_or_later-darkgreen.svg)](https://unrealircd.org)
7
e236ae9a
VP
8 Are you tired of managing your IRC network through a command line interface? Do you wish there was a more user-friendly way to keep track of your servers, channels, and users? Look no further than the UnrealIRCd Web Panel!
9
10This web-based tool provides a comprehensive overview of your IRC network, including all channels and users, as well as detailed information about individual servers and users. With the UnrealIRCd Web Panel, you can easily add and remove server bans and spamfilter entries, rehash your entire network, and filter lists of information based on input criteria, all from the convenience of your web browser.
11
12One of the key features of the UnrealIRCd Web Panel is its user-friendly interface. The panel is designed to be easy to navigate, with all the information you need displayed in an organized and easy-to-understand format. This makes it much easier to manage your network, especially if you have multiple servers or a large number of users.
13
14Additionally, the UnrealIRCd Web Panel is a great tool for keeping track of your network's activity. You can view detailed information about the channels and users on your network as well as manage your servers. This allows you to quickly identify and address any issues that may arise.
15
16Overall, the UnrealIRCd Web Panel is a must-have tool for any administrator managing an IRC network. Its user-friendly interface and powerful management capabilities make it easy to keep track of your network and ensure that everything is running smoothly. So why not give it a try and see how it can improve your IRC network management experience?
17
33f512fa 18## Example Overview from Desktop
5eac3f4d 19 <img src="https://i.ibb.co/7SdFZnk/Screenshot-from-2023-01-14-07-26-21.png">
922a4534 20
33f512fa 21## Example Overview from Mobile
2bc9920e
VP
22<div class="row">
23<img src="https://i.ibb.co/KGLdB43/Screenshot-20230123-233804-Chrome.jpg" height="30%" width="30%">
24<img src="https://i.ibb.co/tB980kd/Screenshot-20230124-000204-Chrome.jpg" height="30%" width="30%">
25</div>
33f512fa 26
922a4534 27## Prerequisites ##
0f498c3d 28- PHP 8 or later
922a4534 29- A webserver
475cb9a8 30- UnrealIRCd 6.0.6-git recommended. Minimal functionality available with UnrealIRCd 6.0.5.
922a4534 31
2f9ac14e
VP
32Note: PHP 8 may require special installation instructions.
33Here are some instructions for:
14d66385
BM
34- Ubuntu 22.04: `apt-get install apache2 libapache2-mod-php`
35- [Ubuntu 20.04](https://linuxhint.com/install-php-ubuntu/)
2f9ac14e
VP
36- [Debian](https://www.vultr.com/docs/how-to-install-php-8-on-debian-11/)
37- [CentOS](https://www.tecmint.com/install-php-8-on-centos/)
38
39For more installation methods for PHP 8, make a websearch for how to install PHP 8 on your operating system.
922a4534
VP
40## Installation ##
41
42Note: This instructional assumes this is going to be hosted in the webroot directory `/var/www/` (html/) directory.
922a4534
VP
43
44Please make sure you have [correctly setup UnrealIRCd for use with JSON-RPC](https://www.unrealircd.org/docs/JSON-RPC) before you continue.
45
f217c52a
BM
46- Go to your webserver root, for example `/var/www/html/`, and clone
47 this repository:
922a4534 48```
f217c52a 49cd /var/www/html
964e17d3 50git clone https://github.com/unrealircd/unrealircd-webpanel
922a4534
VP
51```
52
f217c52a
BM
53- Go into the directory and run composer to install the dependencies
54 (If you don't have composer, then [install it](https://getcomposer.org/download/) first):
7e236785 55```
f217c52a 56cd unrealircd-webpanel
7e236785
BM
57composer install
58```
7e236785 59
f217c52a 60- Edit the configuration file
922a4534 61```
e7192278 62cp config.php.sample config.php
922a4534
VP
63nano config.php
64```
922a4534
VP
65Edit the configuration file to match your UnrealIRCd's RPC credentials and save
66
f217c52a
BM
67NOTE: You most likely want to put the webpanel behind a login, using a
68`.htaccess` file or similar.
aef43f9e
BM
69
70## Updating for end-users ##
71For end-users, when you want to update to the latest version:
72```bash
73git pull
438920b3 74composer install
aef43f9e
BM
75```
76
8d6871b9
VP
77## Authentication
78There will be at least two methods of authentication. Currently in
79development:
80
81- SQL (available but still in development!)
82- Local File DB (not public yet)
83
84### SQL Authentication (Work In Progress)
85<img width="130" height="100" src="https://cdn.shopify.com/s/files/1/1140/2002/products/UV-10073Cautionuseatyourownrisk-01_1024x1024.png?v=1588174823">
86In order to use the SQL Authentication plugin you must first make
87sure you have an SQL database which UnrealIRCd Admin Panel can
88access.
89
90Make sure you've put your SQL details in `config.php` and that you
91have `"sql_auth",` in the plugins section of the config.
92
93You can create the first user by following the example in `config.php`.
94After you've logged in, you will have two new tabs: `Panel Access` and `Logout`.
95You will be able to add and delete users from the `Panel Access` tab.
96
97### Local File DB
98<img width="27" height="27" src="https://media2.giphy.com/media/3o7TKtnuHOHHUjR38Y/giphy.gif?cid=6c09b95281771195a917f87730a56bcdcfa5b6f418dcaf5e&rid=giphy.gif&ct=s"> This might take a while. Please wait a few days.
99
100
aef43f9e
BM
101## Developers ##
102Developers of the webpanel will naturally use the same procedure as
103above. However, sometimes you will want to update to a newer version
104of the unrealircd-rpc-php library. You then need to run:
105```bash
106# For devs only!
438920b3 107composer update
aef43f9e
BM
108git commit composer.lock
109```
110Commiting the composer.lock file updates the dependency for all
111other users, that way a `composer update` by end-users will update
112to exactly the version that `composer install` just installed.