Skip to main content

PHPMyAdmin

We gaan ervan uit dat je hier al een werkende Pterodactyl installatie hebt met NGINX, een (sub)domein voor PHPMyAdmin gekoppeld hebt en een Let's Encrypt SSL certificaat werkend hebt.

Voor het installeren van PHPMyAdmin naast Pterodactyl met NGINX en een SSL certificaat moet je de volgende stappen uitvoeren:

    1. Installeer PHPMyAdmin:
      sudo apt-get install phpmyadmin
    2. Maak een DNS record aan voor PHPMyAdmin;
    3. Pas de NGINX config toe die hieronder aan de pagina staat (let erop dat je <domain> aanpast naar het domain en hier een SSL Let's Encrypt certificaat op zet);
    4. Maak een syslink met PHPMyAdmin naar de web-directory:
      sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
    5. Herstart nu NGINX met het commando:
      sudo service nginx restart
NGNIX config

server {
        listen 80;
        server_name <domain>;
        return 301 https://$server_name$request_uri;
}

server {
        listen 443 ssl http2;
        server_name <domain>;
        root /var/www/html/phpmyadmin;
        index index.php;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php/php8.1-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

        access_log /var/log/nginx/phpmyadmin.app-access.log;
        error_log  /var/log/nginx/phpmyadmin.app-error.log error;

# SSL Configuration
        ssl_certificate /etc/letsencrypt/live/<domain>/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/<domain>/privkey.pem;
        ssl_session_cache shared:SSL:10m;
        ssl_protocols TLSv1.2 TLSv1.3;

    # See https://hstspreload.org/ before uncommenting the line below.
    # add_header Strict-Transport-Security "max-age=15768000; preload;";
        add_header X-Content-Type-Options nosniff;
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header Content-Security-Policy "frame-ancestors 'self'";
        add_header X-Frame-Options DENY;
        add_header Referrer-Policy same-origin;

}