Welcome to the PufferPanel community forums! If you need help please register an account and post in the Support category.

404 Not Found

  • Hello,
    I have installed Pufferpanel according to the steps but when I get in the site it showed "404 Not Found".
    I'm using Ubuntu 16.10 server with nginx.
    I believe it is some problem on the installation, are there any ways to fix?

  • What do the first few lines of /etc/nginx/sites-available/pufferpanel.conf look like? On a default setup, they should look like this:

    server {
        listen 80;
        root /srv/pufferpanel;
        index index.php;
        server_name server1.domain.com;
        client_max_body_size 20m;
        client_body_timeout 120s;
        location / {
            try_files /public/router.php =404;
            fastcgi_split_path_info ^(.+?\.php)(/.*)$;
            fastcgi_pass unix:/run/php/php7.0-fpm.sock;
            fastcgi_index router.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
        location /assets {
            try_files /app/$uri =404;

    If it does, then make sure the listing of /srv/pufferpanel has this:

    app                 composer.json  composer.phar  install  logs    pufferpanel  src
    CODE_OF_CONDUCT.md  composer.lock  config.json    LICENSE  public  README.md    vendor

    If you don't perhaps you skipped a step.

  • Hello,
    I have found that the "/srv/pufferpanel" did not exist as I forgot to unzip the ".tar.gz"
    Now I solved the 404 Not Found error. However when I log in the website it showed the error in the image. My conf file is same as the conf for nginx. How can I solve it? (I think there's some problem on router.php)

  • My guess is that you haven't actually installed it. Refer to the install documentation. After you untar it inside of /srv you need to do the following:

    cd pufferpanel 
    chmod +x pufferpanel
    ./pufferpanel install

    More info here: https://www.pufferpanel.com/docs

  • Hello, I did everything accordingly when I install, including the chmod.
    I guess there is some problem on the php file. Could you send me both php file so I can replace them via ftp? Thanks.

  • What is the result of you running the following command? (The last 10 lines).

    cat /var/log/nginx/error.log

  • 2017/12/21 15:14:49 [error] 3290#3290: *4 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Exception: The config file config.json does not exist. in /srv/pufferpanel/src/core/config/jsonconfig.php:37
    Stack trace:
    #0 /srv/pufferpanel/src/core/config.php(57): PufferPanel\Core\Config\JsonConfig->__construct('config.json')
    #1 /srv/pufferpanel/src/core/config.php(36): PufferPanel\Core\Config::checkStatus()
    #2 /srv/pufferpanel/public/router.php(35): PufferPanel\Core\Config::config('logsDirectory')
    #3 {main}
      thrown in /srv/pufferpanel/src/core/config/jsonconfig.php on line 37" while reading response header from upstream, client: 192.***.**.57, server: 192.***.**.119, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "192.***.**.119"


      PufferPanel - A Game Server Management Panel
      Copyright (c) 2015 Dane Everitt
      This program is free software: you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published by
      the Free Software Foundation, either version 3 of the License, or
      (at your option) any later version.
      This program is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      GNU General Public License for more details.
      You should have received a copy of the GNU General Public License
      along with this program.  If not, see http://www.gnu.org/licenses/.
    namespace PufferPanel\Core\Config;
    use \Exception;
    class JsonConfig implements ConfigInterface {
        private $config;
         * Constructor class for implementing configuration files from JSON.
         * @param string $path Configuration file relative to BASE_DIR
         * @param bool $array
        public function __construct($path, $array = false) {
            if (!file_exists(BASE_DIR . $path)) {
                throw new Exception("The config file " . $path . " does not exist.");
            $this->config = json_decode(file_get_contents(BASE_DIR . $path), $array);
            if (json_last_error() != "JSON_ERROR_NONE") {
                throw new Exception("An error occured when trying decode " . $path . ". " . json_last_error());
        public function config($base = null) {
            return (is_null($base)) ? $this->config : property_exists($this->config, $base) ? $this->config->{$base} : null;

  • The log is saying that the file config.json is not found. This file is supposed to be found in /srv/pufferpanel/config.json. While you can recreate it with something like below, perhaps you want to attempt a purge and a reinstall. I think you get instructions on how to purge when you attempt to reinstall.

        "mysql": {
            "host": "localhost",
            "database": "pufferpanel",
            "username": "pufferpanel",
            "password": "[*hashedmysqlpassword*]",
            "port": "3306"

  • When I installed the panel and when it asked for mysql detalis, I entered and it said "no permission to access to database". Is this the reason why the config is not generated?

  • It is quite possible but I do not know for sure. Do you not have a privileged mysql account to use? I just use my root. I believe puffer uses it to create a limited user, a database and tables.

  • I have created a user and a database for pufferpanel, and I granted privileges for it. Probably I skipped some steps, maybe just use the root as the mysql user.
    Also should I recreate the config and put those details back?

  • Just re-run the install and this time use the root mysql login. Let me know if that works.

  • 0_1516003795518_螢幕快照 2018-01-15 下午4.09.01.png
    The website was able to connect but this error occurred.


    2018/01/15 16:07:04 [alert] 2517#2517: *12 open socket #15 left in connection 5
    2018/01/15 16:07:04 [alert] 2517#2517: *11 open socket #14 left in connection 6
    2018/01/15 16:07:04 [alert] 2517#2517: aborting

Log in to reply