¿Cómo hacer un servidor doméstico usando el escritorio de Ubuntu?

26

Estaba pensando hacer mi máquina de escritorio Ubuntu en el servidor de archivos para usarla en casa. Estoy teniendo una vieja computadora portátil. ¿Podría usarlo como un servidor de archivos para que mis otros 4 sistemas puedan descargar datos o ver datos de esa vieja máquina (servidor)? Quiero hacerlo inalámbrico y también quiero acceder a través de Internet, y tener un enrutador. Pero no tengo idea de cómo hacerlo en Ubuntu Desktop o en el servidor Ubuntu. No quiero instalar el servidor Ubuntu.

Quiero compartir todo mi disco. Desea alguna contraseña o algún tipo de seguridad para alguna carpeta para restringir el acceso.

* Estoy viendo para la guía paso a paso cómo puedo hacerlo y cómo acceder desde otra computadora también * .

Estoy cansado de usar Filezilla, pero en Ubuntu solo está disponible la aplicación basada en el cliente. Hay algo como el servidor filezilla en ubuntu.

El otro sistema está en Windows, así como en Ubuntu.
Soy nuevo en redes y en el tipo de servidor, cualquier ayuda sería apreciada.

twister_void
fuente
¿Qué tipo de clientes tienes en tu red? Windows, solo Linux, dispositivos portátiles, reproductores multimedia, etc. Eso es muy relevante para hacer una recomendación sobre qué tipo de protocolo y aplicación de servidor se puede hacer.
gertvdijk
@gertvdijk: Windows y Linux Ambos.
twister_void
1
Para preguntar, ¿utilizará la nueva GUI del servidor o la terminal? Quiero decir, con esto, ¿instalarás Ubuntu Desktop y luego harás de la computadora un servidor o instalarás el servidor de Ubuntu y luego instalarás los servicios? Quiero saber antes de comenzar a escribir una respuesta, ya que en ambos casos necesito explicar muchas cosas.
Luis Alvarado
@LuisAlvarado, quiero hacer que mi servidor GUI del sistema use Ubuntu Desktop. Su declaración "instale Ubuntu Desktop y luego haga de la computadora un servidor". La respuesta es mucho más apreciada.
twister_void

Respuestas:

19

Dado que desea un servidor basado en GUI (que es un escritorio de Ubuntu transformado en un servidor increíble;)), simplemente siga los siguientes pasos antes de continuar:

  1. Actualiza todo. Asegúrese de que ya ha actualizado y actualizado el sistema

    sudo apt-get update && sudo apt-get upgrade

    De esta manera estamos en la misma página.

  2. Asegúrese de que su tarjeta inalámbrica funcione correctamente. Si tiene una tarjeta inalámbrica basada en Broadcom, consulte Instalación de controladores inalámbricos Broadcom . Si tiene otra, es muy probable que encuentre la respuesta en askubuntu después de buscarla con el nombre de la tarjeta inalámbrica. De todos modos, supondré que está funcionando correctamente.

  3. Instale el servicio Samba y configúrelo siguiendo las instrucciones sobre cómo activar Network Discovery y compartir entre computadoras con Samba

  4. Instalar el servicio SSH (principalmente para ayudar a facilitar el camino entre 2 computadoras Ubuntu) siguiendo el ¿Cómo habilitar el intercambio de archivos entre dos PC? . También puede usar masilla en Windows si lo desea. A ¿Cómo usar SSH (comandos ssh y rsync)? La guía también está disponible.

  5. Si vas a compartir internet a través del servidor. Con esto quiero decir, su enrutador se conectará al servidor a través de un cable con cable y luego compartirá Internet de forma inalámbrica con otras computadoras y luego siga las instrucciones de Cómo conectar y compartir su conexión a Internet (con cable e inalámbrico) . De lo contrario, si desea hacerlo por cable a otra computadora y luego compartir la conexión con otras PC (a través de Ethernet por cable)

  6. Si también desea compartir una impresora con las otras computadoras, puede seguir el Qué es el servidor CUPS y cómo compartir una impresora (localmente o en una red)

  7. Como creará un servidor, también recomiendo instalar SQUID PROXY si comparte la conexión a Internet a través del servidor. Esto mejorará el uso del ancho de banda en general y sentirá que Internet es más rápido para todas las PC clientes . Para instalar, siga la primera respuesta en Qué servidores de caché web actualizados están disponibles (Caching HTTP Proxy) (Por Rinzwind)

    Recuerde configurar el proxy squid en /etc/squid/squid.confo /etc/squid3/squid.confpara los permisos del sitio, lo que se debe revertir en caché y otras cosas.

    Después de hacer estos 7 pasos, deberíamos tener un sistema que

    • Puede compartir una carpeta con otras computadoras en la LAN y pueden ver la carpeta compartida sin demasiados problemas, permisos o pasos adicionales.

    • Puede conectarse al servidor a través de SSH o Samba compartiendo sin problema.

    • El servidor puede compartir internet a través de una conexión inalámbrica o por cable.

    • El servidor ahora puede compartir una impresora con todas las otras computadoras, incluidas las similares a Windows.

Avíseme si alguno de estos pasos parece difícil de ayudar en el camino.

Cosas adicionales pueden ser instalar xbmc y poner todas las películas en el servidor. Luego, a través de las opciones de configuración de xbmc, habilite el servicio web para que el resto de las computadoras puedan ver películas desde el mismo servidor. Hay muchas cosas que puedes hacer con un servidor ubuntu.

Luis Alvarado
fuente
¡¡¡¡¡¡¡Guau!!!!!!! Son 9 preguntas en 1.
Aditya
¿Por qué sí lo es? Su pregunta necesitaba tantas respuestas para un servidor correcto.
Luis Alvarado
@LuisAlvarado, gracias Luis Alvarado. Buena respuesta
twister_void
6

bueno, puedes hacerlo con el servidor de archivos samba.

puedes instalarlo sudo apt-get install samba

Primero, edite los siguientes pares clave / valor en la sección [global] de /etc/samba/smb.conf:

   workgroup = EXAMPLE
   ...
   security = user

El parámetro de seguridad está más abajo en la sección [global] y se comenta de forma predeterminada. Además, cambie EJEMPLO para que coincida mejor con su entorno.

Cree una nueva sección en la parte inferior del archivo, o descomente uno de los ejemplos, para que se comparta el directorio:

[share]
    comment = Ubuntu File Server Share
    path = /srv/samba/share
    browsable = yes
    guest ok = yes
    read only = no
    create mask = 0755

    comment: a short description of the share. Adjust to fit your needs.

    path: the path to the directory to share.

Este ejemplo usa / srv / samba / sharename porque, de acuerdo con el Estándar de jerarquía del sistema de archivos (FHS), / srv es donde se deben servir los datos específicos del sitio. Técnicamente, los recursos compartidos de Samba se pueden colocar en cualquier parte del sistema de archivos siempre que los permisos sean correctos, pero se recomienda cumplir con los estándares.

navegable: permite a los clientes de Windows navegar por el directorio compartido usando el Explorador de Windows.

guest ok: allows clients to connect to the share without supplying a password.

solo lectura: determina si el recurso compartido es de solo lectura o si se otorgan privilegios de escritura. Los privilegios de escritura solo se permiten cuando el valor es no, como se ve en este ejemplo. Si el valor es sí, entonces el acceso al recurso compartido es de solo lectura.

create mask: determines the permissions new files will have when created.

Ahora que Samba está configurado, es necesario crear el directorio y cambiar los permisos. Desde una terminal ingrese:

sudo mkdir -p /srv/samba/share
sudo chown nobody.nogroup /srv/samba/share/

[Note]  

The -p switch tells mkdir to create the entire directory tree if it doesn't exist. Change the share name to fit your environment.

Finalmente, reinicie los servicios de samba para habilitar la nueva configuración:

sudo restart smbd
sudo restart nmbd

El crédito va aquí: Samba y para más información también lo ves.

rɑːdʒɑ
fuente
Esto es simplemente un cortar y pegar.
don.joey
2
Sí, y mencioné a dónde va el crédito.
rɑːdʒɑ
TAMBIÉN. COMPLICADO.
Jebeld17
4

La instalación openssh-serverle permitiría acceder a toda su unidad de forma segura a través de Internet o desde dispositivos en su hogar, siempre que admitan sFTP. Si alguno no lo hace por alguna razón, un recurso compartido de Samba podría complementar eso como se detalla en otra respuesta. Así es como configuro el mío:

Instale el servidor OpenSSH :apt-get install openssh-server

Abra el puerto 22 : utilizo varias formas de hacerlo gufw(puede que necesite instalarlo, no estoy seguro de si es el predeterminado). Si desea abrirlo a Internet en una etapa posterior, deberá reenviar el puerto 22 al servidor desde su enrutador. Normalmente puede hacer esto a través de una interfaz web en el enrutador. Si puede, asigne al servidor una IP estática allí también (es decir, apague el DHCP para el servidor).

Edite la configuración de ssh : haga una copia de seguridad y abra el archivo /etc/ssh/sshd_configy cambie / agregue la configuración

PermitRootLogin no
AllowUsers guarav_java other_user_if_necessary

Para obtener la máxima seguridad, puede configurar inicios de sesión basados en claves como se detalla aquí https://help.ubuntu.com/community/SSH/OpenSSH/Keys , pero sería suficiente si configura una contraseña realmente segura y la guarda en Cada máquina cliente.

Es posible que desee crear un usuario para cada persona que se conecta. Si hace eso, puede agregarlos a todos al mismo grupo (ssh_users, por ejemplo) y permitir que todos en ese grupo se conecten usando AllowGroups ssh_users. (Para obtener más información, consulte http://knowledgelayer.softlayer.com/learning/how-do-i-permit-specific-users-ssh-access )

Verifique que la configuración sea válida : puede verificar si ha cometido algún error de sintaxis en el archivo de configuración consshd –t

Conéctese desde el servidor a sí mismo : en este punto, debería poder conectarse a la máquina desde sí mismo en un terminal ssh localhost(suponiendo que ya lo haya hecho openssh-client). Luego inténtelo desde otra máquina en su red ssh <ip-address>,.

Si la IP del servidor es estática en su red doméstica, puede agregar una entrada /etc/hostsen una computadora Ubuntu que se conecte a ella con la línea

server_ip_address        theserver

Esto significará que puede conectarse simplemente ssh theserver, o como lo llame. Puede hacer lo mismo para Windows (consulte aquí: http://helpdeskgeek.com/windows-7/windows-7-hosts-file/ )

Conexión a través de sFTP : si puede conectarse al servidor desde otra máquina en su red doméstica en una terminal, puede conectarse a través de sFTP y explorar y transferir archivos de forma segura. Personalmente, configuré un atajo de teclado para poder montar / desmontar mi servidor con comandos de teclado (en Ubuntu):

gvfs-mount sftp://user@ipaddress
gvfs-mount -u sftp://user@ipaddress

(La -ubandera es el comando umount)

Póngalos en el cuadro "Comando:" de Configuración del sistema> Teclado> Accesos directos> Accesos directos personalizados> + (Nuevo acceso directo), asígnele un nombre, haga clic en Aplicar, luego haga clic en la columna derecha e ingrese una combinación de teclas ( CTRL+SHFT++y, CTRL+SHFT+-respectivamente, parece lógico) .

Puede reemplazar la dirección IP con lo que está en /etc/hosts. Esto montará el servidor como una unidad en Nautilus y puede explorar las carpetas como las de su computadora local. En Windows, puede conectarse mediante el software FTP (Filezilla, etc.). No lo he probado, pero estoy seguro de que probablemente también haya integración sFTP en el Explorador de Windows.

Otra ventaja de los inicios de sesión basados ​​en claves en este punto es que no se le solicita una contraseña cada vez que se conecta (a menos que configure una para proteger la clave). Es posible que desee verlo después de que haya funcionado con los inicios de sesión de contraseña (y antes de abrirlo al exterior).

Conexión desde el exterior : el último paso sería ver si puede conectarse desde Internet, es decir, al lado o lo que sea. Si no tiene una dirección IP estática para su hogar, podría ser complicado mantenerse al día con su dirección IP. Yo uso un servicio dns dinámico ( http://afraid.org/ es gratuito) personalmente, pero es posible que encuentre otra solución mejor. Luego, reemplazaría la dirección IP en los comandos de montaje anteriores con la dirección web dinámica que apunta a su red doméstica.

Una última sugerencia de seguridad, mantén pestañas en tu registro SSH si vas por esto ( /var/log/auth.log), solo para asegurarte de que no ocurra nada malo. Si lo encuentra, Fail2Ban es una solución ( http://www.fail2ban.org/wiki/index.php/Main_Page y https://help.ubuntu.com/community/Fail2ban ). Para minimizar el riesgo, puede cambiar el puerto en el que SSHD escucha algo no estándar como 500, y cambiar las reglas de reenvío de puertos correspondientes en su enrutador y el firewall del servidor (Por qué: /server/189282 / why-change-default-ssh-port ) aunque personalmente no lo he probado con gvfs-mount.

mtdevans
fuente
2

Haga clic derecho en la carpeta que desea usar como su directorio público principal, vaya a "Opciones para compartir". Aparecerá un cuadro de diálogo emergente que le indicará con instrucciones de instalación para paquetes adicionales necesarios para ejecutar correctamente un servidor doméstico, instalar, reiniciar, repetir y permitir el intercambio de carpetas. ¡Es así de simple! :)

Jebeld17
fuente
1
Quiero compartir todo mi disco, así como mi carpeta de inicio a través de mi red local, estos sistemas tienen Ubuntu y Windows. Entonces, ¿cómo puedo compartir?
twister_void
Abra una terminal: Sistema de archivos "Sudo nautilus" <Inicio (clic derecho) <Opciones para compartir. Es posible que también deba modificar los permisos, pero primero intente sin alterar los permisos. El directorio de inicio es el ÚNICO directorio que recomendaría compartir. Los otros son demasiado riesgosos y pueden dañar su sistema de archivos.
Jebeld17