Ayuda con la creacion de un NAS

Como un proyecto de la FP tengo que hacer un nas, la cuestion es que bueno, ya lo tengo hecho pero me hace falta algo… Una interfaz grafica. Estaba pensando en utilizar nextcloud, pero honestamente estoy perdido, el nas lo estoy haciendo con un raspberry pi 4, naturalmente una arquitectura diferente y no se si funcione, he visto que tambien existe nextcloudpi, pero creo que termine con mas dudas o no se, habia entendido que estaba descontinuado o algo asi, no se. Y con los tutoriales que hay honestamente no me ubico… Ya seria lo ultimo que me faltara antes de empezar a trabajar con el escrito, asi que agradeceria bastante si alguien me guia en esta parte.

Usa Samba: https://www.samba.org/ herramientas profesionales para trabajos profesionales.

2 Me gusta

Si, he hecho el nas con samba. Lo que pasa es que necesito una interfaz grafica para que quede mas bonito para la tarea. O eso dijo el profe.

1 me gusta

La verdad es que es la opción más sencilla. Es como navegar en tu propio sistema de archivos, no necesitas instalar nada extra salvo samba en algunas distribuciones y hasta los propios gestores gestores de archivos cuentan con herramientas para facilitar o personalizar el acceso al servicio.

1 me gusta

Un truco o “trampa” para estos casos, es crear una interfáz web con html y css en donde podés estilizarla a gusto y para la navegación, simplemente listas el contenido de las carpetas.

En el caso de la Raspberry Pi, la propia aplicación para instalar el sistema operativo en la unidad te brinda opciones de SOs para servidores NAS.
Es cuestión de elegir la más conveniente y por supuesto que existen otras opciones disponibles buscando apenas un poco por internet.

1 me gusta

Yo he instalado la version lite ya que solo requiero de la terminal. De todas formas, ¿podrias pasarme documentacion o ejemplos de como hacer una solucion web para ver y mover y trabajar con los archivos? Porque yi no tengo ni idea de eso.

Sobre lo de utilizar el sistema de gestion de archivos, bueno, entiendo que no es valido ya que se lo mostre al profesor y como que no, pues.

Es algo de HTML, las etiquetas de link te permiten utilizar el directorio de donde se encuentra el archivo, el resto es estilizar con CSS. Para eso necesitas una base de desarrollo web.

1 me gusta

Bases que no tengo. Pero bueno, vere si chatgpt me ayuda en esto, muchas gracias de todas formas.

¿Por qué no un tui? Así toda la interfaz se manejaría con texto.

El problema allí son los permisos si quieres que la interfaz pueda realizar las configuraciones propias del root.

También puedes ver el código y funcionamiento de TrueNAS que es código abierto como guia.

1 me gusta

creo haber escuchado de trueNAS, aunque creo recordar que no era compatible con raspberry pi, le echare un vistazo. de todas formas un tui… no creo que sea lo que preciso para este proyecto. ademas de que… no se como hacerlo.

1 me gusta

Creo que vamos a necesitar un poco más de contexto para poder ayudarte.

Qué es lo que les han enseñado y cuál es la consigna del proyecto?

1 me gusta

a ver, construir un nas, eso no nos lo han enseñado, estudio una formación profesional en telecomunicaciones. he estudiado redes, como configurar routers, instalar fibra optica por ejemplo, antenas, cosas de esas. Lo del NAS es un proyecto que tengo que hacer para ya poder titularme, tengo que hacer algo relacionado con la tecnologia, redes si se puede, aunque tambien lo hubiera podido hacer de los sistemas de audio, o lo que sea, por que al final de lo que se trata mi carrera es de comunicar, transferir información de forma eficiente, entonces lo del nas, lo he aprendido yo por mi cuenta y es lo que se me ha ocurrido porque pense que no seria tan dificil pues. Y lo que quiero es poner una interfaz grafica para que se vea bonito, tener mejor nota y en general, que este bonito, algo mas profesional y “utilizable” por asi decirlo, por gente que no ha instalado nas en su vida o no saben nada del tema, por eso.

1 me gusta

Bien, o sea que básicamente tenés algunas reglas para seguir:

  1. No vas a poder utilizar una interfaz gráfica ya hecha. Cómo es un trabajo a presentar, básicamente vos mismo vas a tener que desarrollarlo incluyendo esos aspectos.

  2. Tiene que estar enfocado en redes (en este caso un servidor NAS por tu elección).

  3. Vas a necesitar aprender a desarrollar en algo, muy posiblemente crear un script que se encargue de la instalación y demás para automatizarle la tarea al usuario.

Bueno, por lo que veo es que básicamente vas a necesitar saber sobre algún lenguaje de programación.
Un servidor NAS básicamente es una PC con archivos y almacenamiento accesibles como recursos de red, para ello utiliza el protocolo SAMBA,** SSH**, Ftp o SFTP, no hay muchas opciones. Esto es algo ya muy común dentro de la informática o las telecomunicaciones, es algo que se viene usando desde hace décadas.

Lamento informarte que no es algo sencillo que se pueda hacer con unos simples pasos, vas a tener que aprender a desarrollar en algún lenguaje, siendo irrelevante cuál debido a la cantidad de opciones disponibles. Va a depender de tu elección.

  • Una manera de lograr esto es con Java, de cuál ya existe una parte del curso en la comunidad desarrollado por @Sugoli15.

  • Otro lenguaje fácil de aprender pero un poco más complicado en cuanto a lo visual es Python.
    Existen módulos en Python para crear TUIs y GUIs que podrían ayudarte, además de que Python se puede combinar muy bien con bash scripting, lo que facilita la manipulación y scrapeo de archivos a un servidor NAS.
    (Podés encontrar un curso de Python en este foro. El enlace al mismo está en mi perfíl).

  • Por último tenemos a HTML con CSS. Visualmente se pueden lograr maravillas con esto. Una página puede ser hosteada en la red local de manera muy muy sencilla y el sitio solo debe dedicarse a mostrar el contenido de dicha carpeta.

  • En cuanto al protocolo a utilizar, cualquiera te va a servir, incluso se pueden combinar dentro del mismo proyecto para facilitar la creación de funciones útiles.

Todo esto esto son opciones por las cuales yo encararía en base a lo que me descibís del proyecto.
En estos casos es muy difícil volver a inventar la rueda.

Por cierto, muy buena carrera. A mí me gustaría estudiar ingeniería en telecomunicaciones. Me parece de lo más interesante.

Otras ideas de proyecto:

  1. Sistema de monitoreo de redes, hosts activos, elaboración de reportes, puertos disponibles, detección de amenazas, etc.
    Básicamente algo que muestre su hosts en la red se encuentran activos, podes ingresarlos manualmente, alguna que otra interfaz de usuario, etc.

  2. Servidor de correos electrónicos. Este posiblemente sea mucho trabajo. Podría cambiarse por un sistema de mensajería, aunque sea por terminal.

A medida que vaya teniendo más ideas, voy a ir modificando mi comentario.

1 me gusta

bueno, no me dijeron nada de no utilizar interfaces graficas ya hechas, de hecho mi primera idea fue utilizar nextcluod, pero bueno, tambien te digo, hacer todo desde cero, no me molesta tampoco tanto, igual y me suben nota por ello. lo la base del proyecto, o sea, samba. eso ya lo tengo hecho, segui un tutorial, lo comprobe, y ya puedo pasar archivos como si nada, esa parte yo la daria por practicamente terminada.

la opción que yo elegiria seria utilizar html con css. ¿por que? 1. entiendo que es mas “sencillo” en teoria, 2. pues se me hace algo mas similar a la idea que tenia con nexcloud, 3. la web duela lo que me duela, es como la niña mimada hoy en dia. quizas haria una con java, pero ya para proyectos personales y no de mi carrera.

yo bueno, lo mio no es una ingeniería, es una FP, una formación de España, solo dura 2 años, nada básicamente.

agradezco un montón tus sugerencias, definitivamente me serán muy útiles.

respecto a la opción de hacerlo con la web, básicamente (por no escribir html y css a cada rato) pues… ¿me podrías decir algo de como podría conectar el servidor samba que tengo con el programa web? o sea, lo mas quiero que me digas como se llama la técnica o el procedimiento para ya poder buscarlo a mayor profundidad por mi mismo, para que básicamente la tarea no me la hagas tu pues. y ademas, también me gustaría saber como la podría hacer visible en otra red que no sea la miá. también supongo que tendría que aprender a hacer un “servidor” para la pagina web, eso si recuerdo haberlo hecho antes, el año pasado, pero eso ya fue fuera del curso, fuera de clases, un profe nos dijo, ¿es enseño esto? y los 2 creo que había dijimos va

1 me gusta

Al ser samba, lo único que necesitas es la localización de los archivos o los directorios dónde estos se alojan.
Podés montar (mount) los recursos compartidos en samba en tu PC cliente como si fuese una unidad de almacenamiento (pendrive o algo así).

Con tree, que es una herramienta simple en sistemas tipo UNIX, podés generar un archivo HTML con el contenido listado del directorio o recurso compartido.

1 me gusta

gracias, ya tengo mas o menos una idea de que es lo que quiero hacer para la interfaz grafica.

Estaba pensando en cómo podrías hacerlo y quizás te tenga una opción muy sencilla. Vas a tener que aplicar bash scripting, pero te va a ahorrar muchos pasos.

La técnica consiste o en que el sitio se ejecute en bucle en la PC cliente, el cual construirá los archivos html constantemente para refrescar el contenido, crear las plantillas .html de los subdirectorios y cosas por el estilo. De esta manera podrás listar archivos dentro de un html con un simple for que lo escriba.

La otra posibilidad y lo que yo haría, sería un script de bash corriendo en bucle en el servidor NAS, que la página esté alojada ahí y que haga eso mismo, pero sólo para actualizar el contenido. Esta opción es la que yo tomaría.

De esta manera, automatizas el proceso de refresco de contenido, etcétera.
Con esto podrás hasta ponerle íconos a los archivos listados en base a su extensión, la manera en la que los archivos son listados e incluso nuevos subdirectorios en el servidor de manera automática.
Vas a tener un archivo de estilos .css donde vas a tener las funciones para estilizar el sitio.

Seguramente haya más ideas que puedas utilizar pero tendría que ponerme a hacer el proyecto yo para resolver cada paso jajajajaja
Te va a tocar ir resolviendo los obstáculos a medida que surjan, un paso a la vez.

¡Mucha suerte con el proyecto! Espero poder haberte iluminado un poco el camino.

1 me gusta

vale, gracias, esta tarde retomare mi proyecto y te digo que es lo que he estado haciendo. como compensación iré actualizando la publicación original, para compartir todo lo que tengo, así si alguien quiere hacer un nas rápidamente, pues… que no haga todo desde cero.

1 me gusta