X-Git-Url: https://jfr.im/git/irc/unrealircd/unrealircd-webpanel.git/blobdiff_plain/a644a0ee58e267b28726d0cc1a409b4ef0491673..05f01f6dda9c9a9058df9b1620fe523beb690328:/README.md?ds=sidebyside
diff --git a/README.md b/README.md
index 3ac6d0f..db92f66 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,34 @@
-# unrealircd-webpanel
- UnrealIRCd Administration WebPanel
+ ## UnrealIRCd Administration WebPanel
-
+[![Version](https://img.shields.io/badge/UnrealIRCd-6.0.6_or_later-darkgreen.svg)]()
+[![Version](https://img.shields.io/badge/Version-Beta-blue.svg)]()
+[![Maintained](https://img.shields.io/badge/Maintained-yes-darkgreen.svg)]()
+[![Unreal](https://img.shields.io/badge/PHP-8.0_or_later-darkgreen.svg)](https://unrealircd.org)
+
+The UnrealIRCd Administration WebPanel gives you an overview of your IRC network,
+with detailed information about servers, users and channels.
+You can easily add and remove server bans, spamfilters and do other administrative tasks,
+all from the convenience of your web browser.
+
+## Example Overview from Desktop
+
+
+
+## Example Overview from Mobile
+
+
+
+
## Prerequisites ##
+- UnrealIRCd 6.0.6 or later
+- A webserver (e.g. apache or nginx)
- PHP 8 or later
-- A webserver
-- UnrealIRCd 6.0.6-git recommended. Minimal functionality available with UnrealIRCd 6.0.5.
Note: PHP 8 may require special installation instructions.
Here are some instructions for:
-- [Ubuntu 20/22](https://linuxhint.com/install-php-8-ubuntu-22-04/)
+- Ubuntu 22.04: `apt-get install apache2 libapache2-mod-php`
+- [Ubuntu 20.04](https://linuxhint.com/install-php-ubuntu/)
- [Debian](https://www.vultr.com/docs/how-to-install-php-8-on-debian-11/)
- [CentOS](https://www.tecmint.com/install-php-8-on-centos/)
@@ -18,7 +36,6 @@ For more installation methods for PHP 8, make a websearch for how to install PHP
## Installation ##
Note: This instructional assumes this is going to be hosted in the webroot directory `/var/www/` (html/) directory.
-You may want to hide this somehow. Well, you definitely should. I don't know how to do that though. Sorry.
Please make sure you have [correctly setup UnrealIRCd for use with JSON-RPC](https://www.unrealircd.org/docs/JSON-RPC) before you continue.
@@ -41,28 +58,57 @@ composer install
cp config.php.sample config.php
nano config.php
```
-The file will look like this:
-
-
Edit the configuration file to match your UnrealIRCd's RPC credentials and save
-NOTE: You most likely want to put the webpanel behind a login, using a
-`.htaccess` file or similar.
+IMPORTANT: You will want to put the webpanel behind a login, using a
+`.htaccess` file or similar. Don't open it up to the world!
## Updating for end-users ##
For end-users, when you want to update to the latest version:
```bash
git pull
-composer update
+composer install
```
+## Authentication
+Right now, by default everyone being able to access the URL can use the
+webpanel. In future versions this will no longer be the case.
+
+### SQL Authentication
+First, create a database and a user in MySQL or MariaDB. Typical commands to
+do so are:
+
+```sql
+CREATE DATABASE unrealircdwebpanel;
+CREATE USER 'unrealircdwebpanel'@'localhost' IDENTIFIED BY 'enter-some-random-password-here';
+GRANT ALL ON unrealircdwebpanel.* TO 'unrealircdwebpanel'@'localhost';
+```
+
+Now, open your `config.php` and in the define PLUGINS section load the `sql_auth`
+module by uncommenting the // from the `"sql_auth"` line.
+And fill in the information for your SQL setup, so set `SQL_IP`,
+`SQL_DATABASE`, `SQL_USERNAME` and `SQL_PASSWORD` properly.
+
+Finally, configure a first admin user by setting the information in
+`SQL_DEFAULT_USER`. This will be added to the SQL database first time you
+start the panel.
+
+Then, surf to the webpanel page and you should see a login page. If you
+don't see a login page then you have not loaded the sql_auth plugin
+properly.
+
+Once succesfully logged in you should remove the `SQL_DEFAULT_USER` item
+again from your `config.php` because it is no longer needed.
+
+You can now add and delete users through the `Panel Access` tab.
+
## Developers ##
Developers of the webpanel will naturally use the same procedure as
above. However, sometimes you will want to update to a newer version
of the unrealircd-rpc-php library. You then need to run:
```bash
# For devs only!
-composer install
+composer update
git commit composer.lock
```
Commiting the composer.lock file updates the dependency for all