Noxalus / Multi-Streaming-Server

A NGINX server with RTMP module to send video streaming to multiple services simultaneously (Youtube, Twitch, Dailymotion, Hitbox, Beam, etc...).
173 stars 41 forks source link

Guide to install on dedicated server? #13

Closed psegovias closed 6 years ago

psegovias commented 6 years ago

Hi can you make a install guide to dedicated server? i try follow step on bootstrap.sh and didnt work.

Regards!

Noxalus commented 6 years ago

Hi @psegovias,

From what I remember, the I've made the bootstrap.sh scripts to easily install all requirements on a dedicated server, and this is what I did on mine (Ubuntu 14.04 LTS), but it's been a looong time already, and I won't be surprise that it doesn't work anymore today... Can you give me more information about the OS you use on your dedicated server and what were the errors?

However, as you mentioned, this project has a lack of documentation, and because some people seem to use it, I've decided to write some pages in the project's wiki.

I will notice you here when the page you are seeking is ready ;)

Noxalus commented 6 years ago

Ok, I've worked a little on this project, and my recent changes should make the installation of it on a dedicated server easier.

As promised, I wrote a small wiki page to explain how it works: here.

Please let me know if it works properly on your side too ;)

psegovias commented 6 years ago

Hi, thanks so much for your reply.

I found this on ubuntu 16.04 fresh install after clone repo and sh bootstrap.sh

./bootstrap.sh: line 93: npm: order not found
insserv: warning: script 'K01nginx' missing LSB tags and overrides
insserv: warning: script 'nginx-conf-watcher' missing LSB tags and overrides
insserv: warning: script 'nginx' missing LSB tags and overrides
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
Job for nginx-conf-watcher.service failed because the control process exited with error code. See "systemctl status nginx-conf-watcher.service" and "journalctl -xe" for details.

Any idea?

Noxalus commented 6 years ago

Thank you for the info, I've only tested it on a Ubuntu 14.04 for now, and I know that there are some differencies with upstart scripts for Ubuntu 16.04, I will try to solve that soon.

Noxalus commented 6 years ago

Ok, I've made some searches, and it appears that init.d scripts need specifc headers on Ubuntu 16.04.

I've just updated the code + fix some issues and I can run this project on a fresh Ubuntu 16.04 now. Let me know if it's OK for you too ;)

psegovias commented 6 years ago

Installation works great! i got the "Nginx is ready to use." but:

http://MY-DEDI-IP:8080/stat >> its a blank page in access.log from nginx show my visit.

ERROR.LOG

2018/03/11 22:37:30 [error] 1413#0: *1 open() "/usr/local/nginx/html/stat.xsl" failed (13: Permission denied), client: MY-PC-IP, server: localhost, request: "GET /stat.xsl HTTP/1.1", host: "MY-DEDI-IP:8080", referrer: "http://MY-DEDI-IP:8080/stat"

2018/03/11 22:37:43 [info] 1413#0: *7 client closed connection while waiting for request, client: MY-PC-IP, server: MY-DEDI-IP:8080

Noxalus commented 6 years ago

This error happens when the user that started the Nginx server doesn't have the proper permission on the files into $PROJECT_PATH/nginx/html/ folder.

I already set the good permission in the bootstrap.sh file (here), and if you clone the repository with the same user that launched the bootstrap.sh script + started the Ngxin server, it should be fine. Can you confirm it's the case?

If not, you can try to perform a chown command on all $PROJECT_PATH/nginx/html folder files:

chown -R myuser:myuser $PROJECT_PATH/nginx/html

As mentionned here.

psegovias commented 6 years ago

I try:

chown root.root Multi-Streaming-Server/nginx/html/* -R
chown nobody.nobody Multi-Streaming-Server/nginx/html/* -R
chown randomuser.randomuser Multi-Streaming-Server/nginx/html/* -R

None of that work, i will try with a fresh install, btw can i use bootstrap.sh with root user?

UPDATE:

fresh install same error, maybe cuz im installing with root user?

Noxalus commented 6 years ago

I did my tests with root user too, and it works for me.

Can you give me the result of these commands?

ls -la Multi-Streaming-Server/nginx
ls -la Multi-Streaming-Server/nginx/html
ls -la /usr/local/nginx
psegovias commented 6 years ago
root@VPN:~# ls -la Multi-Streaming-Server/nginx
total 24
drwxr-xr-x 6 root root 4096 Mar 12 21:01 .
drwxr-xr-x 7 root root 4096 Mar 12 21:05 ..
drwxr-xr-x 2 root root 4096 Mar 12 21:09 conf
drwxr-xr-x 2 root root 4096 Mar 12 21:01 html
drwxr-xr-x 2 root root 4096 Mar 12 21:01 init
drwxr-xr-x 2 root root 4096 Mar 12 21:01 script

root@VPN:~# ls -la Multi-Streaming-Server/nginx/html
total 28
drwxr-xr-x 2 root root  4096 Mar 12 21:01 .
drwxr-xr-x 6 root root  4096 Mar 12 21:01 ..
-rwxr-xr-x 1 root root   537 Mar 12 21:01 50x.html
-rwxr-xr-x 1 root root   612 Mar 12 21:01 index.html
-rwxr-xr-x 1 root root 11765 Mar 12 21:01 stat.xsl
root@VPN:~# ls -la /usr/local/nginx
total 48
drwxr-xr-x 12 root   root 4096 Mar 12 21:11 .
drwxr-xr-x 11 root   root 4096 Mar 12 21:05 ..
drwx------  2 nobody root 4096 Mar 12 21:11 client_body_temp
drwxr-xr-x  2 root   root 4096 Mar 12 21:05 conf
drwxr-xr-x  2 root   root 4096 Mar 12 21:06 conf-watcher
drwx------  2 nobody root 4096 Mar 12 21:11 fastcgi_temp
lrwxrwxrwx  1 root   root   39 Mar 12 21:05 html -> /root/Multi-Streaming-Server/nginx/html
drwxr-xr-x  2 root   root 4096 Mar 12 21:17 logs
drwx------  2 nobody root 4096 Mar 12 21:11 proxy_temp
drwxr-xr-x  2 root   root 4096 Mar 12 21:05 sbin
drwx------  2 nobody root 4096 Mar 12 21:11 scgi_temp
drwxr-xr-x  2 root   root 4096 Mar 12 21:05 script
drwx------  2 nobody root 4096 Mar 12 21:11 uwsgi_temp
Noxalus commented 6 years ago

Why nobody user owns some Nginx files? Are you sure you've installed this project with the root user?

Another thing you can try is to install the project in your home directory (/home or ~), the root folder has more restricted rights, even if it shouldn't be a problem here...

Noxalus commented 6 years ago

I've tested to launch the bootstrap.sh script in the root folder, and indeed, I have the exact same permission error. So if you install it somewhere else, it should be fine. Let me know when it's good for you ;)

psegovias commented 6 years ago

Fresh install on 16.04 x64 non root directory

root@VPN:/home# ls -la Multi-Streaming-Server/nginx
total 24
drwxr-xr-x 6 root root 4096 Mar 13 16:49 .
drwxr-xr-x 7 root root 4096 Mar 13 16:52 ..
drwxr-xr-x 2 root root 4096 Mar 13 17:01 conf
drwxr-xr-x 2 root root 4096 Mar 13 16:49 html
drwxr-xr-x 2 root root 4096 Mar 13 16:49 init
drwxr-xr-x 2 root root 4096 Mar 13 16:49 script
root@VPN:/home# ls -la Multi-Streaming-Server/nginx/html
total 28
drwxr-xr-x 2 root root  4096 Mar 13 16:49 .
drwxr-xr-x 6 root root  4096 Mar 13 16:49 ..
-rwxr-xr-x 1 root root   537 Mar 13 16:49 50x.html
-rwxr-xr-x 1 root root   612 Mar 13 16:49 index.html
-rwxr-xr-x 1 root root 11765 Mar 13 16:49 stat.xsl
root@VPN:/home# ls -la /usr/local/nginx
total 28
drwxr-xr-x  7 root root 4096 Mar 13 16:53 .
drwxr-xr-x 11 root root 4096 Mar 13 16:52 ..
drwxr-xr-x  2 root root 4096 Mar 13 16:52 conf
drwxr-xr-x  2 root root 4096 Mar 13 16:53 conf-watcher
lrwxrwxrwx  1 root root   39 Mar 13 16:52 html -> /home/Multi-Streaming-Server/nginx/html
drwxr-xr-x  2 root root 4096 Mar 13 16:53 logs
drwxr-xr-x  2 root root 4096 Mar 13 16:52 sbin
drwxr-xr-x  2 root root 4096 Mar 13 16:52 script

Yayyyyyy!

captura de pantalla 2018-03-13 a la s 17 11 52

tonight i will test streaming 👍

Noxalus commented 6 years ago

Good news! 😄

I think I can now close this issue, let me know if you find another problem ;)