K
k4ys3r
Usuario VIP
- Joined
- Apr 28, 2011
- Messages
- 263
- Reaction score
- 260
- Points
- 81
Este tutorial va orientado o dedicado para aquellos que necesitan o quieren tener mas de un oscam en un vps para estudio o experimentos.
Yo tengo 3 oscam en un vps con distintas configuraciones. Uso un oscam solo para cache, Un oscam solo para compartir y por ultimo un oscam para hacer pruebas.
Normalmente oscam se instala como root, aquí vamos a tratarlo como usuarios independientes para cada oscam. ¿Por qué hacer esto? Si sabes algo de linux, cuando ejecutas un proceso como root, si este proceso tiene algún bug o puede ser hackeado expones todo el sistema.
Partiendo de un vps con ubuntu 20 o superior (puedes usar en cualquier versión) ya instalado vamos a seguir los pasos
en primero lugar tener actualizado el sistema
Ya tenemos actualizado nuestro sistema, ahora vamos al tema de seguridad, algo que todos deberíais tener en vuestro sistema linux y es cambiar el puerto ssh
Buscar la línea
Quitar el # y poner el puerto que uno quiera quedando
Sustituya el puerto 22 por un puerto entre 1024 y 65536
Guardamos el archivo, control + x
Reiniciamos el servicio ssh
Para establecer una conexión SSH después de este cambio, introduzca el siguiente comando:
En este caso seria
Vamos a compilar oscam
Cambiamos de directorio, a mi me gusta ir a opt, cuestión de gustos
Descargamos los archivos necesarios para compilación
Vamos a la carpeta creada
Con esto ya tenemos compilado oscam en su ultima versión. El archivo resultante es "oscam"
Ahora crearemos los usuarios necesarios para cada oscam. Se pueden crear tantos usuarios como instalaciones queremos. Aquí voy a poner 3 pero puedes usar los que tu vps te aguante. Yo he tenido 10 oscam en un servidor.
Acepta todo lo que te salga sin escribir nada. Hay un momento que te pide que le des un pass al usuario pero no lo hacemos. Esto es para que este usuario no pueda acceder desde fuera, solo lo necesitamos para correr oscam.
/home/s1
/home/s2
/home/s3
Ahora copiamos el archivo creado en la compilacion a cada directorio
sudo cp oscam /home/s1/s1
sudo cp oscam /home/s2/s2
sudo cp oscam /home/s3/s3
ahora en cada directorio de cada usuario tenemos un binario oscam renombrado como el propio usuario s1, s2, s3
Ahora vamos a crear dos carpetas necesarias para meter los archivos de configuración de oscam.
Para servidor s1
Para servidor s2
Para servidor s3
Dentro de la carpeta config vamos a meter todos los archivos necesarios para que oscam funcione, que serian:
oscam.conf
oscam.user
oscam.server
oscam.fakecws
oscam.srvid2
Ahora damos permisos 755 a cada directorio y sus archivos
Necesitamos decirle a nuestro sistema el dueño de cada carpeta y sus archivos para que solo este usuario pueda ejecutarlos
Vamos con el script de arranque y de testeo por si oscam se cae que lo levante y nuestros usuarios ni se darán cuenta.
Para servidor s1
Para servidor s2
Para servidor s3
Ya tenemos nuestros script creados
Lo pasamos a /home
Damos permisos de ejecución
Vamos a hacer que estos script arranque en cada reinicio y controlen el estado. Para esto vamos a indicarlo en crontab, para eso
se nos abre crontab y añadimos
Reiniciamos el vps y tendremos los 3 servidores en marcha
OJO!!
En los archivos de configuración debéis de tener muy claro el no usar los mismos puertos, si no no os arranca.
Cuando para saber si esta funcionando con hacer un top
Veréis todos los procesos en ejecución y los oscam con su nombre especificado mas arriba
Cualquier cosa me decis
Yo tengo 3 oscam en un vps con distintas configuraciones. Uso un oscam solo para cache, Un oscam solo para compartir y por ultimo un oscam para hacer pruebas.
Normalmente oscam se instala como root, aquí vamos a tratarlo como usuarios independientes para cada oscam. ¿Por qué hacer esto? Si sabes algo de linux, cuando ejecutas un proceso como root, si este proceso tiene algún bug o puede ser hackeado expones todo el sistema.
Partiendo de un vps con ubuntu 20 o superior (puedes usar en cualquier versión) ya instalado vamos a seguir los pasos
en primero lugar tener actualizado el sistema
sudo apt-get update
sudo apt-get upgrade
Ya tenemos actualizado nuestro sistema, ahora vamos al tema de seguridad, algo que todos deberíais tener en vuestro sistema linux y es cambiar el puerto ssh
sudo nano /etc/ssh/sshd_config
Buscar la línea
#Port 22
Quitar el # y poner el puerto que uno quiera quedando
Sustituya el puerto 22 por un puerto entre 1024 y 65536
Port 8383
Guardamos el archivo, control + x
Reiniciamos el servicio ssh
sudo service ssh restart
Para establecer una conexión SSH después de este cambio, introduzca el siguiente comando:
ssh root@Dirección_IP_del_Servidor -p NuevoPuerto
En este caso seria
ssh root@ipserver -p 8383
Vamos a compilar oscam
sudo apt-get install build-essential -y
sudo apt-get install libssl-dev libpcsclite-dev -y
sudo apt-get install mercurial cvs subversion libncurses-dev -y
sudo apt-get install cmake -y
Cambiamos de directorio, a mi me gusta ir a opt, cuestión de gustos
cd /etc/opt
Descargamos los archivos necesarios para compilación
svn checkout https://svn.streamboard.tv/oscam/trunk oscam-svn
Vamos a la carpeta creada
cd oscam-svn
sudo cmake -DWEBIF=1
sudo make
Con esto ya tenemos compilado oscam en su ultima versión. El archivo resultante es "oscam"
Ahora crearemos los usuarios necesarios para cada oscam. Se pueden crear tantos usuarios como instalaciones queremos. Aquí voy a poner 3 pero puedes usar los que tu vps te aguante. Yo he tenido 10 oscam en un servidor.
adduser --disabled-login s1
Acepta todo lo que te salga sin escribir nada. Hay un momento que te pide que le des un pass al usuario pero no lo hacemos. Esto es para que este usuario no pueda acceder desde fuera, solo lo necesitamos para correr oscam.
Con esto tenemos creados usuario s1, s2, s3 con sus respectivos directorios enadduser --disabled-login s2
adduser --disabled-login s3
/home/s1
/home/s2
/home/s3
Ahora copiamos el archivo creado en la compilacion a cada directorio
sudo cp oscam /home/s1/s1
sudo cp oscam /home/s2/s2
sudo cp oscam /home/s3/s3
ahora en cada directorio de cada usuario tenemos un binario oscam renombrado como el propio usuario s1, s2, s3
Ahora vamos a crear dos carpetas necesarias para meter los archivos de configuración de oscam.
Para servidor s1
sudo mkdir /home/s1/config
sudo mkdir /home/s1/tmp
Para servidor s2
sudo mkdir /home/s2/config
sudo mkdir /home/s2/tmp
Para servidor s3
sudo mkdir /home/s3/config
sudo mkdir /home/s3/tmp
Dentro de la carpeta config vamos a meter todos los archivos necesarios para que oscam funcione, que serian:
oscam.conf
oscam.user
oscam.server
oscam.fakecws
oscam.srvid2
Ahora damos permisos 755 a cada directorio y sus archivos
sudo chmod -R 755 /home/s1/*
sudo chmod -R 755 /home/s2/*
sudo chmod -R 755 /home/s3/*
Necesitamos decirle a nuestro sistema el dueño de cada carpeta y sus archivos para que solo este usuario pueda ejecutarlos
chown -R s1:s1 /home/s1/*
chown -R s2:s2 /home/s2/*
chown -R s3:s3 /home/s3/*
Vamos con el script de arranque y de testeo por si oscam se cae que lo levante y nuestros usuarios ni se darán cuenta.
Para servidor s1
sudo nano s01.sh
#!/bin/sh
# Script de inicio automático de usuario de OSCam
# Version: 1.2 by K4ys3r
# Date: 21.02.2011
# Ingrese el usuario aquí
OSCAMUSER=s1
# Tu Oscam dir
OSCAMDIR=/home/s1
# Tu directorio de configuración de Oscam
CONFDIR=/home/s1/config
# Tu Oscam tmp dir
TMPDIR=/home/s1/tmp
# Especifique aquí el archivo oscam, por ejemplo. oscam.x64
DAEMON=s1
# Aquí el tiempo en seg. especificar
CHECKTIME=3
# ¡¡De aquí en adelante, no cambies nada, a menos que sepas lo que estás haciendo !!
###############################################################
while sleep $CHECKTIME
do
APP=$(ps aux | grep -v grep | grep $DAEMON) >/dev/null
if [ -z "$APP" ];
then
echo " Se inicia el servidor 1!!!"
rm -r $TMPDIR/*
su $OSCAMUSER -c "touch $TMPDIR/lb.log"
su $OSCAMUSER -c "$OSCAMDIR/$DAEMON -c $CONFDIR -t $TMPDIR -b -p 512"
su $OSCAMUSER -c "date +'Server 1 Offline, %A %d.%m.%Y um %H:%M:%S !!!' >> $OSCAMDIR/$DAEMON-crash.log"
#else
# echo " El servidor 1 esta activo"
fi
done
Para servidor s2
sudo nano s02.sh
#!/bin/sh
# Script de inicio automático de usuario de OSCam
# Version: 1.2 by K4ys3r
# Date: 21.02.2011
# Ingrese el usuario aquí
OSCAMUSER=s2
# Tu Oscam dir
OSCAMDIR=/home/s2
# Tu directorio de configuración de Oscam
CONFDIR=/home/s2/config
# Tu Oscam tmp dir
TMPDIR=/home/s2/tmp
# Especifique aquí el archivo oscam, por ejemplo. oscam.x64
DAEMON=s2
# Aquí el tiempo en seg. especificar
CHECKTIME=3
# ¡¡De aquí en adelante, no cambies nada, a menos que sepas lo que estás haciendo !!
###############################################################
while sleep $CHECKTIME
do
APP=$(ps aux | grep -v grep | grep $DAEMON) >/dev/null
if [ -z "$APP" ];
then
echo " Se inicia el servidor 2!!!"
rm -r $TMPDIR/*
su $OSCAMUSER -c "touch $TMPDIR/lb.log"
su $OSCAMUSER -c "$OSCAMDIR/$DAEMON -c $CONFDIR -t $TMPDIR -b -p 512"
su $OSCAMUSER -c "date +'Server 2 Offline, %A %d.%m.%Y um %H:%M:%S !!!' >> $OSCAMDIR/$DAEMON-crash.log"
#else
# echo " El servidor 2 esta activo"
fi
done
Para servidor s3
sudo nano s03.sh
#!/bin/sh
# Script de inicio automático de usuario de OSCam
# Version: 1.2 by K4ys3r
# Date: 21.02.2011
# Ingrese el usuario aquí
OSCAMUSER=s3
# Tu Oscam dir
OSCAMDIR=/home/s3
# Tu directorio de configuración de Oscam
CONFDIR=/home/s3/config
# Tu Oscam tmp dir
TMPDIR=/home/s3/tmp
# Especifique aquí el archivo oscam, por ejemplo. oscam.x64
DAEMON=s3
# Aquí el tiempo en seg. especificar
CHECKTIME=3
# ¡¡De aquí en adelante, no cambies nada, a menos que sepas lo que estás haciendo !!
###############################################################
while sleep $CHECKTIME
do
APP=$(ps aux | grep -v grep | grep $DAEMON) >/dev/null
if [ -z "$APP" ];
then
echo " Se inicia el servidor 3!!!"
rm -r $TMPDIR/*
su $OSCAMUSER -c "touch $TMPDIR/lb.log"
su $OSCAMUSER -c "$OSCAMDIR/$DAEMON -c $CONFDIR -t $TMPDIR -b -p 512"
su $OSCAMUSER -c "date +'Server 3 Offline, %A %d.%m.%Y um %H:%M:%S !!!' >> $OSCAMDIR/$DAEMON-crash.log"
#else
# echo " El servidor 3 esta activo"
fi
done
Ya tenemos nuestros script creados
Lo pasamos a /home
sudo mv s01.sh /home/
sudo mv s02.sh /home/
sudo mv s03.sh /home/
Damos permisos de ejecución
sudo chmod -R 755 /home/s01.sh
sudo chmod -R 755 /home/s02.sh
sudo chmod -R 755 /home/s03.sh
Vamos a hacer que estos script arranque en cada reinicio y controlen el estado. Para esto vamos a indicarlo en crontab, para eso
Si es la primera vez que lo ejecutamos nos pedirá que editor queremos usar, yo uso siempre nanosudo crontab -e
se nos abre crontab y añadimos
# m h dom mon dow command
@reboot /home/s01.sh &
@reboot /home/s02.sh &
@reboot /home/s03.sh &
Reiniciamos el vps y tendremos los 3 servidores en marcha
sudo reboot
OJO!!
En los archivos de configuración debéis de tener muy claro el no usar los mismos puertos, si no no os arranca.
Cuando para saber si esta funcionando con hacer un top
Veréis todos los procesos en ejecución y los oscam con su nombre especificado mas arriba
s1
s2
s3
Cualquier cosa me decis
Last edited: