Simple, modern looking server status page with administration and some nice features, that can run even on shared webhosting

Overview

Server Status (Official)

This is the official Server Status Project.

License Current release Beta-Build Stability Build

Very simple server status page written in PHP that can run on PHP 5.4+ - even on shared webhosting even without shell access. Because why waste your money on another server (or host on a server that you might want to do maintenance on), when you can use cheap webhosting? And as a cherry on top - it works even without javascript!

How do I install this thing?

Simply put the files on your server and access it from your browser. There will be a simple install dialog waiting for you. If you prefer you can install manually by filling the info in config.php.template and renaming it to config.php. As this does not run installation scripts you need to head to your install directory and run create-server-config.php and then delete it. If you don't want to allow php to access your files or you have permission issues, use the following instructions.

FOR IIS:

// Rename IISWebConfig to web.config

FOR Apache and Nginx

// Rename ApacheHtaccess to .htaccess

You can find more info on our wiki page

Contributing

Anyone is welcome to make pull request with new features or security patches / bug fixes.

You may create a pull request anytime or you can join our discord here(https://discord.gg/Wgxnxz4)

Translations

Any help with translations is much welcome! You can join us at https://poeditor.com/join/project/37SpmJtyOm. You can even add your own language. Just let me know when you're done and I'm going to include the language in the next release.

List of contributors

Does it actually run somewhere?

Yes it does! https://status.trucksbook.eu/ (Trucksbook) https://status.theskyfallen.com (The Skyfallen Productions Company) https://status.ecidsf.com/ (ECIDSF) https://status.otuts.eu/ (OTUTS) And many more!

FAQ

My Translations are not working. What to do?

  1. Open your shell
  2. Type this command 'sudo nano /etc/locale.gen'
  3. Uncomment all the languages you want.
  4. Save with 'Ctrl+X'
  5. Run 'sudo locale-gen'
  6. Restart apache 'sudo service apache2 restart'
  7. Enjoy!

Do you have a demo page?

Yes we have! Head over to https://demo.status.sajdl.com/admin and try the admin interface for yourself. Login details:

email: [email protected]
password: Ss123456

Please note that changes are reverted every hour.

I noticed there is a new release. How do I update?

Updating server status is fairly straightforward. Download your config.php from the server. Delete all files. Upload the new release with config.php you downloaded earlier. You need to manually run install scripts. For that head to your domain and run create-server-config.php deleting it afterwards. If you don't want to allow php to access your files or you have permission issues, use the following instructions.

FOR IIS:

// Rename IISWebConfig to web.config

FOR Apache and Nginx

// Rename ApacheHtaccess to .htaccess

Is there any way to do this automatically?

We are working on it but it is not yet included. Stay tuned!

Can I somehow pull status info from Server status programatically?

Yes you can! As of 9f7e15f we added API to pull status data... And more APIs are coming! Results are encoded in JSON format which should be pretty easy to use in any common programming language.

Why does this project exist?

It was written as a school project where we had to create a website. I went with this because I found the lack of good looking, easy to install and use status page rather weird. Therefore my goal (as stated above) was to create a simplistic status page that could run almost anywhere. The code is not the nicest or cleanest and it definitely doesn't have that many features, but hey, it works!

Feature Request

You can write an issue and I will try to take a look when I get some time OR you can actually make a fork as the code it GNU licensed. Pull requests are most welcome!


If you like this project, buy us a coffee!

Buy Me A Coffee

Comments
  • Add Privacy policy

    Add Privacy policy

    This is fixing #38.

    It adds a basic privacy policy. I'm not a legal guy, but right now, the page doesn't collect personal data, it doesn't use Google Analytics and nobody can register on the page. The first part is written specific to the Swiss law, you might have to change it but I don't know a good phrase which will suit well here.


    Also I'm going to merge this Branch to my Fork and add a paragraph for my Telegram-Feature (#37 ) because this is collecting personal data. After that I'm going to push master again and you should see the paragraph in the correspondending PR.

    opened by jhuesser 18
  • Implementation of Email & Telegram notification

    Implementation of Email & Telegram notification

    Here is the PR requests for email notification. This implements the email notification together with @jhuesser Telegram notification.

    I have chosen to keep token for the subscribers in the subscriber table rather than using the tokens table, since the token table is very much linked to the admin users as it is now. This can of course be changed if so desired but would require a way to avoid the overlapping table IDs.

    In addition to the email notification the changes will also add Markdown support for incidents.

    The code is working and can be tested on my test server as linked to in #65.

    Design of dropdown menu, email and HTML template should be considered work in progress. Help on that part is very much appreciated!

    Install.php has yet to be updated to render settings with the new config.php options.

    Subscriber menu as of now: dropdown_menu

    Manage subscription: (with support for IDN domains!) subscription

    Email notification: status_email

    Telegram notification: telegram_message

    opened by thnilsen 15
  • https problem .htaccess lenguage

    https problem .htaccess lenguage

    Hello I gave my contribution with the Italian language ... the problem is that on my server with https and cloudflare installed nothing works .... if I delete the .htaccess file then it works however the problem is that it does not change the language. .. how can I solve this problem?

    opened by darkban 14
  • Subscribe to Services via Telegram

    Subscribe to Services via Telegram

    This adds a "Login with Telegram" Button to the header of the status page. Any visitors can now login with telegram. After Login a new menu entry "Subscription" is shown. On this page the user can subscribe to a service. every time an incident is added to this service, the user gets a message from your telegram bot.

    You can create a new bot through https://t.me/BotFather after that BotFather will provide you with the API-token.

    I've tested it on https://status.jhuesser.ch


    Translations: Sorry, I don't have much expirience in translating stuff. I just used echo _("My string here"); Please let me know what I can do.

    enhancement 
    opened by jhuesser 13
  • People Contributing

    People Contributing

    As I can see there are a lot of people wanting to contribute. I would also like to help too. It's a prefect and simple project. Actually you could allow anyone by creating Slack or Discord Group. It is a really nice project and it should not die.

    opened by yigitkeremoktay 12
  • Update bootstrap

    Update bootstrap

    fixes from #143 are included

    • Lifted to bootstrap 5
    • cleaned up main.css
    • fixed some beauty bugs
    • replaced glyph with fontawesome
    • colors obtained from bootstrap

    Known issues #142

    opened by Tealk 10
  • Start/End Time Invalid

    Start/End Time Invalid

    I am having an issue adding scheduled maintenance. When I select a start and end time, both on the date I am trying to add the post, and also with dates selected days and weeks in the future, I get two messages that pop in from the right of my display. These errors state that both the start and end times are invalid. I have made sure that the end time is indeed after the start time. I love your project and everything works great except for this little wrinkle. See attached screenshot for the exact error. Thank you for your time in working on this project. screen shot 2018-10-13 at 02 50 52

    bug 
    opened by rhbarber98 10
  • [BUG]

    [BUG]

    [https://user-images.githubusercontent.com/70025692/98031725-36f26800-1e13-11eb-8ead-cd920023c0a4.png]

    Serveradress: https://rezureax.net/status/login

    image

    bug 
    opened by ghost 9
  • Language Change to German

    Language Change to German

    Hello Github-Users

    I have sucessfully installed the Statuspage in a vHost, now when i change the language in the config.php it doesnt change the languages at the web.

    question 
    opened by CookieCr2nk 9
  • Languagevariables

    Languagevariables

    Hello, In the following pages the texts are displayed in English despite German language.

    • index.php (Status [Major outage, etc.], Incidents [Impacted Services], Footer [Imprint & Privacy Policy])
    • admin/index.php (Incidents [Impacted Services], Footer [Imprint & Privacy Policy])
    • admin/settings (Services [In German is "Name" shown as "Vorname" but this is the Translation for "Surname"], User ["active" must be "Aktiv"])

    Greetings.

    bug 
    opened by derrobin154 7
  • Add date header to incident view

    Add date header to incident view

    As discussed in #73 here is the PR for the code.

    Room for improvements on the following areas:

    • How the date and timestamp if fetched from the incident class objects. Changed to public for now.

    • How to identify that the users is on the admin page. The parsing of _SERVER variables is not fool proof and currently has one issue if a user is on the admin login page and clicks on the logo/title in the navbar, the frontpage will identify the users as coming from the admin section and thus not render the date headers if.

    opened by thnilsen 7
  • PHP message: PHP Notice:  Undefined variable: strSubsMenu

    PHP message: PHP Notice: Undefined variable: strSubsMenu

    2022/11/24 17:04:04 [error] 1115#1115: *283 FastCGI sent in stderr: "PHP message: PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are required to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /www/pp/server-status/template.php on line 207" while reading upstream, client: 130.162.146.22, server: rdkrdl.online, request: "GET /?lang=zh_CN HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "rdkrdl.online:1414", referrer: "http://rdkrdl.online:1414/" 2022/11/24 17:04:06 [error] 1115#1115: *283 FastCGI sent in stderr: "PHP message: PHP Parse error: syntax error, unexpected ')', expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in /www/pp/server-status/admin/index.php on line 42" while reading response header from upstream, client: 130.162.146.22, server: rdkrdl.online, request: "GET /admin/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "rdkrdl.online:1414", referrer: "http://rdkrdl.online:1414/?lang=zh_CN" 2022/11/24 17:04:08 [error] 1115#1115: *283 FastCGI sent in stderr: "PHP message: PHP Notice: Undefined variable: strSubsMenu in /www/pp/server-status/template.php on line 52 PHP message: PHP Notice: Use of undefined constant admin - assumed 'admin' in /www/pp/server-status/template.php on line 59" while reading response header from upstream, client: 130.162.146.22, server: rdkrdl.online, request: "GET /?lang=zh_CN HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "rdkrdl.online:1414", referrer: "http://rdkrdl.online:1414/" 2022/11/24 17:04:08 [error] 1115#1115: *283 FastCGI sent in stderr: "PHP message: PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are required to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /www/pp/server-status/template.php on line 207" while reading upstream, client: 130.162.146.22, server: rdkrdl.online, request: "GET /?lang=zh_CN HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "rdkrdl.online:1414", referrer: "http://rdkrdl.online:1414/"

    opened by Johnny-Song-Tiger 1
  • Still alive?

    Still alive?

    Is this project still alive?

    I tried to install it with docker, and I have a problem with adding New Service or New Service group. image

    Will be great if it is still alive, and anybody helping me with my pain :)

    opened by palicepta 8
  • some improvements

    some improvements

    I have added my previous improvements

    • update Bootstrap, Font Awesome and jquery
    • moved all third party vendors to the vendor folder
    • darkmode improved
    • add imprint url to setup
    opened by Tealk 0
  • Specified key was too long; max key length is 767 bytes

    Specified key was too long; max key length is 767 bytes

    HI,

    Brand new installation keep getting this when installing:

    Error while creating database. Please check permission for your account or MYSQL version. Error: Specified key was too long; max key length is 767 bytes

    When I press indstall again, it says "Settings" table already created.

    I look in PHPMYADMIN and db is populated

    What to do?

    Regards Martin

    bug 
    opened by twister5800 2
Releases(Version2Beta10)
  • Version2Beta10(Nov 12, 2020)

    This version is fully functional except:

    • There are visual problems in options page in the admin panel

    Features Added:

    • Categorization for services
    • Options migrated to database

    Features waiting to be added:

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0-BETA9(Oct 2, 2020)

  • v1.1(Aug 24, 2020)

  • v2.0.0-beta7(Aug 24, 2020)

  • v1.0.2(Apr 14, 2018)

  • v1.0.1(Jan 13, 2018)

  • v1.0.0(Jan 13, 2018)

    First release of Server status, including functioning installation (just unpack into your webroot, access the site, fill in the required data and you're ready to go!), Czech and English localization and 70% ready simplified Chinese. Should be stable and working properly. More features are coming, any feature requests and pull requests are welcome, as well as translations.

    Source code(tar.gz)
    Source code(zip)
Owner
Server status project
Server status project
This is a setup for a Tor based shared web hosting server

General Information: This is a setup for a Tor based shared hosting server. It is provided as is and before putting it into production you should make

Daniel Winzen 312 Dec 24, 2022
this is a simple website about news and it has some features

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

a14z 2 Dec 11, 2022
❄️ Magento 2 Snowflake module allow you to add snow and even more on your site and make winter fun.

❄️ Magento 2 Snowflake module allow you to add snow and even more on your site and make winter fun.

OpenGento 6 Apr 30, 2022
A PHP library that can be used manually as well as a CLI script that you can just run on your file

Run phpcs on files and only report new warnings/errors compared to the previous version. This is both a PHP library that can be used manually as well

Payton Swick 20 Aug 4, 2022
Sync Wordpress Pages and Posts (even custom post types + fields) from static Markdown + YAML files

Sync Markdown Files to WordPress Posts and Pages Static site generators let you use a revision-controlled tree of markdown files to make a site, but d

null 26 Sep 26, 2022
This project backports features found in the latest PHP versions and provides compatibility layers for some extensions and functions

This project backports features found in the latest PHP versions and provides compatibility layers for some extensions and functions. It is intended to be used when portability across PHP versions and extensions is desired.

Symfony 2.2k Dec 29, 2022
This project processes a small database with php all on a web server. This project uses XAMPP to run the web server and the database.

PHP-introduction This project processes a small database with php all on a web server. This project uses XAMPP to run the web server and the database.

Tyler Jacques 1 Jan 6, 2022
Cheatsheet for some Php knowledge you will frequently encounter in modern projects.

Cheatsheet for some Php knowledge you will frequently encounter in modern projects.

Arnaud Becher 1.1k Jan 2, 2023
Run your WP site on github pages, php innovation award winner https://www.phpclasses.org/package/12091-PHP-Make-a-WordPress-site-run-on-GitHub-pages.html

Gitpress Run wordpress directly on github pages Gitpress won the innovation award for may 2021 Read more about this https://naveen17797.github.io/gitp

naveen 13 Nov 18, 2022
The server administration software for your needs

The server administration software for your needs. Developed by experienced server administrators, this panel simplifies the effort of managing your hosting platform.

Froxlor 1.5k Dec 29, 2022
Laravel Plans is a package for SaaS apps that need management over plans, features, subscriptions, events for plans or limited, countable features.

Laravel Plans Laravel Plans is a package for SaaS apps that need management over plans, features, subscriptions, events for plans or limited, countabl

ángel 2 Oct 2, 2022
A Nice LevelSystem plugin for Pocketmine

LevelSystem A Nice LevelSystem plugin for Pocketmine Commands Command Description Permission /ls LevelSystem Command ls.cmd.staff Features Support Pur

Laith Youtuber 9 Sep 12, 2022
A nice shortcut for group count queries with Eloquent / Laravel

Hightop PHP A nice shortcut for group count queries with Eloquent / Laravel Visit::top('browser'); // [ // 'Chrome' => 63, // 'Safari' => 50, //

Andrew Kane 3 Aug 24, 2022
Skosmos is a web-based tool providing services for accessing controlled vocabularies, which are used by indexers describing documents and searchers looking for suitable keywords.

Skosmos is a web-based tool providing services for accessing controlled vocabularies, which are used by indexers describing documents and searchers looking for suitable keywords.

National Library of Finland 195 Dec 24, 2022
Naive Bayes works by looking at a training set and making a guess based on that set.

Naive Bayes Naive Bayes works by looking at a training set and making a guess based on that set. It uses simple statistics and a bit of math to calcul

Assisted Mindfulness 29 Nov 27, 2022
Hi Im L, I found a box that I believe it's contain Kira's real ID. for open that box we need to find three keys. let's start looking for them

DeathNote ctf Description are you smart enaugh to help me capturing the three keys for open the box that contain the real ID of kira? Let's start solv

Hamza Elansari 4 Nov 28, 2022
This Validate Class is for those who are looking for a validator that returns a code for every each error (Laravel/Api)

Validator-Class This Validate Class is for those who are looking for a validator that returns a code for every each error (Laravel/Api) Requirements A

Barbod 3 Jul 18, 2022
A status monitor for Elite Dangerous, written in PHP. Designed for 1080p screens in the four-panel-view in panel.php, and for 7 inch screens with a resolution of 1024x600 connected to a Raspberry Pi.

EDStatusPanel A status monitor for Elite Dangerous, written in PHP. Designed for 1080p screens in the four-panel-view in panel.php, and for 7 inch scr

marcus-s 24 Oct 4, 2022