-
-
Save sergeifilippov/8909839 to your computer and use it in GitHub Desktop.
server { | |
server_name $domain_name; | |
root /var/www; | |
index index.html index.php; | |
access_log /var/log/nginx/access.log; | |
error_log /var/log/nginx/error.log; | |
# Cache static files for as long as possible | |
location ~* \.(?:xml|ogg|mp3|mp4|ogv|svg|svgz|eot|otf|woff|ttf|css|js|jpg|jpeg|gif|png|ico)$ { | |
try_files $uri =404; | |
expires max; | |
access_log off; | |
add_header Pragma public; | |
add_header Cache-Control "public, must-revalidate, proxy-revalidate"; | |
} | |
# if hosting in a sub folder, setup a new location | |
# replace `/linus-dash` with the folder name eg. `/folder_name` | |
#location /linux-dash { | |
# index index.html index.php; | |
#} | |
# Pass PHP requests on to PHP-FPM using sockets | |
location ~ \.php(/|$) { | |
fastcgi_split_path_info ^(. ?\.php)(/.*)$; | |
fastcgi_pass unix:/run/php5-fpm.sock; | |
# fastcgi_pass localhost:9500; # using TCP/IP stack | |
if (!-f $document_root$fastcgi_script_name) { | |
return 404; | |
} | |
try_files $uri $uri/ /index.php?$args; | |
include fastcgi_params; | |
} | |
} |
## Dependecies | |
nginx | |
php-fpm | |
php5-curl | |
1. Install `php-fpm` and configura to use either `sockets` or `TCP/IP` | |
2. Create a nginx configuration (`eg. domain_name.conf`) in `/etc/nginx/conf.d/` |
I installed php-json and php-fpm and configured it to use TCP-IP settings as specified in this tutorial - https://rtcamp.com/tutorials/php/fpm-sysctl-tweaking. The dashboard does not come up after those changes.
Nginx access logs show that the php requests return with 200.
Anything I have missed?
Bump, I have the same problem as 4exob
Add this line before try_files:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
I have the same problem as 4exob and poontrip, but adding
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
before try_files doesn't fix it.
What else can I do to get this running?
Here is a configuration I successfully use for a debian wheezy (not optimized at all but will run). Ask your server for port 8081.
System setup
apt-get install php5-common php5-fpm php5-curl nginx
git clone https://github.com/afaqurk/linux-dash.git /opt
chown -R www-data:www-data /opt/linux-dash
/etc/php5/fpm/pool.d/www.conf
Ensure to have listen = /var/run/php5-fpm.sock and listen.mode = 0660
/etc/nginx/sites-available/linux-dash
upstream php5-fpm-sock {
server unix:/var/run/php5-fpm.sock;
}
server {
# server_name $domain_name;
listen 8081;
root /opt/linux-dash;
index index.html module.php;
access_log /var/log/nginx/linux-dash-access.log;
error_log /var/log/nginx/linux-dash-error.log;
# Pass PHP requests on to PHP-FPM using sockets
location ~ \.php(/|$) {
try_files $uri =404;
fastcgi_pass php5-fpm-sock;
fastcgi_index module.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
All start up
ln -s /etc/nginx/sites-available/linux-dash /etc/nginx/sites-enabled/linux-dash
service nginx reload
Still no data shown. All blank
Here are the nginx.conf for php settings that worked for me -
location ~ \.php(/|$) {
fastcgi_split_path_info ^(. ?\.php)(/.*)$;
fastcgi_pass unix:/run/php-fpm/dash.socket;
# fastcgi_pass localhost:9500; # using TCP/IP stack
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
try_files $uri $uri/ /index.php?$args;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
I got a blank page until I added the line
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
FPM settings /etc/php-fpm.d/dash.conf -
[dash]
listen = /run/php-fpm/dash.socket
listen.backlog = -1
listen.owner = nginx
listen.group = nginx
listen.mode=0660
access.log = /var/log/php-fpm/dash.access.log
access.format = "%t \"%m %r%Q%q\" %s %{mili}dms %{kilo}Mkb %C%%"
; Unix user/group of processes
user = nginx
group = nginx
; Choose how the process manager will control the number of child processes.
pm = dynamic
pm.max_children = 75
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 500
; Pass environment variables
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
; host-specific php ini settings here
; php_admin_value[open_basedir] = /var/www/DOMAINNAME/htdocs:/tmp
I also changed php settings to display errors since I tried to figure whats wrong, you can probably don't need this but if nothing works it might be useful
in /etc/php.ini
error_reporting = E_ALL
display_errors = On
date.timezone = "Antarctica/South_Pole"
I also changed the timezone since not setting it will throw some errors that will mess up some of the widgets (but if everything else is Ok most of them will work).
If you follow this settings above you should have a few logs running (for fpm / nginx ) so if nothing works try to see if there is any useful information in the logs.
Has anyone tried to get this to work with the new setup? I can't seem to give it access to the modules directory...
My config:
upstream php5-fpm-sock { server unix:/var/run/php5-fpm.sock; } server { server_name dash.domain.com; listen 80; root /usr/share/nginx/html/linux-dash; index index.php index.html module.php; access_log /var/log/nginx/linux-dash-access.log; error_log /var/log/nginx/linux-dash-error.log; location ~ \.php$ { try_files $uri =404; root /usr/share/nginx/html/linux-dash; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Works fine!
How can i enable
-exec
-shell_exec
-escapeshellarg
for linux-dash?
How can i enable
-exec
-shell_exec
-escapeshellargfor linux-dash?
first: vim /usr/local/php/etc/php.ini
second: find this word disable_functions
I can see the webpage produced by Dash, but there is no data in any of the boxes.
My set up is on a RPi 5. I am using Nginx
Here is my nginx config:
server {
listen 80 default_server;
listen [::]:80 default_server;
autoindex on;
root /var/www/html;
index index.html index.htm index.php;
server_name silver;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
location /dash {
index index.html index.php;
}
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
#fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_split_path_info ^(. \.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
fastcgi_param HTTPS off;
fastcgi_read_timeout 1000;
include fastcgi_params;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9500;
}
}
In /var/www/ the /html is a link:
lrwxrwxrwx 1 root root 32 Mar 29 13:28 html -> /S3TB/data/share/Documents/HTML/
and /dash can be found in that directory
drwxrwxr-x 5 james janda 4096 Apr 1 14:17 dash
I am assuming that the problem is with my nginx configuration for the location of dash.
Any help would be appreciated.
I believe theres a small typo in the wiki.txt - isn't php-fpm meant to be php5-fpm?