¿Es posible hacer tu propio servidor?

Sabes, esto es algo que me llevó un tiempo darme cuenta: un servidor es solo una computadora . Podrías tomar cualquier computadora vieja, conectarla a internet, configurarla para servir páginas web y tendrías un servidor¹. Parte de la configuración del software puede ser una molestia, pero todo se ejecuta en hardware perfectamente normal para el consumidor.

Cuando escuche el servidor, probablemente esté pensando en el tipo de computadora que se instala en un bastidor del servidor y se parece a esto:

Estas son máquinas diseñadas para ser servidores en lugar de computadoras personales y ofrecen algunas ventajas importantes: no ocupan mucho espacio y se ajustan a las configuraciones estándar del centro de datos. Pero nada de esto es necesario para hacer un servidor; solo proporciona economías de escala.

De hecho, también puede construir su propio servidor montado en bastidor. De hecho, no es tan diferente de construir una PC de torre; coloca los componentes juntos en una caja, pero la caja tiene diferentes proporciones y está diseñada para caber en un montaje en bastidor. Dado que se instalará en un centro de datos o en un armario en lugar de sentarse junto a su escritorio, sus prioridades son diferentes: probablemente no le importe cuánto ruido hace.

Jeff Atwood tiene un artículo sobre esto: Creación de servidores para la diversión y el profesor … OK, tal vez solo por diversión. Su conclusión fue que “construir y ubicar sus propios servidores no es (siempre) loco, no da miedo, diablos, ni siquiera es particularmente difícil “, por lo que definitivamente es factible si tiene una buena razón para ello. ¡O si lo encuentras divertido!

Imagen de Wikimedia tomada por William Viker y disponible para cualquier propósito con atribución.

notas al pie
¹ Esto podría estar en contra de los términos de servicio en su conexión residencial, así que tenga cuidado con eso.

Es absolutamente posible hacer su propio servidor.

Los servidores cubren una amplia gama de posibilidades.

Servidor, en términos de software, son conjuntos de aplicaciones y utilidades diseñadas para alojar servicios. Raramente se controlan directamente, pero se ejecutan la mayor parte del tiempo o durante todo el día para ejecutar servicios importantes para la red de área local y la red de área amplia.

El servidor, en términos de hardware, es un equipo optimizado para aplicaciones comerciales. Tienden a venir en dos formas, la primera es una torre (muy similar a una computadora de escritorio solo más grande) y la segunda es una caja de montaje en bastidor. La carcasa de montaje en bastidor es el tipo de servidor más popular debido a su densidad de plataforma.

Los servidores de hardware se miden por la potencia de procesamiento, la capacidad de RAM, la capacidad de almacenamiento y el ancho de banda de la red.

En términos de software, puede construir su propio servidor en minutos. Solía ​​construir servidores web Arduino cuando el módulo Arduino PoE era nuevo y he estado construyendo mis propios servidores (desde cero) desde la edad de 10 años.

Diseñé y diseñé mi propia red de entrega de contenido (CDN). He construido mis propios racks y servidores de servidores. Estos racks de servidores se encuentran actualmente en una versión casi pública, donde admitirá el Proyecto Open Compute (algo que debe tener en cuenta si está interesado en el lado de I + D de la ingeniería de servidores). Es completamente personalizado en todo tipo de formas. Toda la carcasa del servidor y algunas de las placas son personalizadas para la plataforma del servidor.

Puede construir su propio software para ejecutar en un servidor o puede construir su propio servidor.

Un servidor puede ser cualquier computadora que ejecute aplicaciones para la red y se ejecute de forma continua o casi continua.

Ejecuto un Nexus 7 como servidor. Ejecuta FreeBSD y está diseñado como un servidor de prueba de penetración. Me llevo esto o a veces ejecuto nodos remotos para que lo controle. Tiene una buena interfaz para hacer este tipo de trabajo desde casa y controla hasta 16 nodos remotos para pruebas de penetración.

Lo más importante para recordar es que no es difícil, es muy divertido y es muy útil si está planeando aprender los sistemas o planea convertirlo en una carrera.

Verifique con sus proveedores de servicios públicos si tiene permiso para ejecutar un servidor en la conexión a Internet y la conexión de alimentación que tiene en su hogar. Aparte de esas preocupaciones, ¡adelante!

Usted lee el RFC 2616 en HTTP / 1.1, y lo busca.

Herramientas

Tus herramientas son:

  • cosas básicas de redes (gestión de socket, enlace, comprender direcciones),
  • buena comprensión de las secuencias de E / S,
  • mucha paciencia para obtener algunas partes sombrías del RFC (los tipos mimo son divertidos).

Consideraciones divertidas

Cosas a considerar para la diversión extra:

  • arquitectura de complemento para agregar soporte CGI / mod,
  • archivos de configuración para, bueno, muchas cosas,
  • mucha experimentación sobre cómo optimizar las transferencias,
  • mucha experimentación para ver cómo gestionar la carga en términos de CPU y memoria, y elegir un modelo de despacho (bucle grande y uniforme, despacho de aceptación única, multiproceso, multiproceso, etc.).

Que te diviertas. Es algo muy bueno de ver.

Otras sugerencias (más simples)

  • Cliente / servidor FTP (principalmente RFC959 pero hay versiones anteriores y también algunas extensiones)
  • Cliente / servidor IRC (principalmente RFC1459, pero hay extensiones)

Son mucho más fáciles de abordar primero, y sus RFC son mucho más fáciles de digerir (bueno, el IRC tiene algunas partes extrañas, pero el FTP es bastante claro).

Elección de idioma

Por supuesto, algunos detalles de implementación dependerán en gran medida del idioma y la pila que use para implementarlo. Abordé todo eso en C, pero estoy seguro de que puede ser divertido igual de bien en otros lenguajes (bueno, tal vez no sea tan divertido, pero sigue siendo divertido).

Obviamente, puede hacer su propio servidor, y el precio puede ser de cero a decenas de miles de dólares.

  • Crear un servidor web

Si está utilizando Linux, simplemente ejecute

  1. Cualquier sistema basado en RedHat (Redhat, CentOS, Fedora)

yum instalar httpd -y
systemctl iniciar httpd

2. Sistema basado en Debian (Ubuntu, Crunchbag, Raspbian)

sudo apt-get install apache2
servicio apache2 inicio

Una vez que ingrese la ip de la máquina, en su navegador tendrá algo como esto

Felicitaciones, acaba de crear un servidor web para usted, ahora vaya a los Tutoriales web en línea de W3Schools y aprenda algunos tutoriales HTTP para crear algunas páginas web para usted.

  • Crear un servidor de archivos

Ok, entonces quieres crear algo que sirva archivos a tus usuarios. Utilice el servicio de intercambio de archivos samba .

Las instrucciones se pueden encontrar aquí: Configuración de un servidor de archivos Linux usando Samba

  • Configurar un servidor web más simple en su computadora portátil

Esto es lo más sorprendente, solo ejecuta el siguiente comando en tu terminal

python -m SimpleHTTPServer

Ahora, diríjase a su navegador web e ingrese su dirección IP con el puerto no 8000 en este caso.

Increíble !!!! Correcto ??? Nunca aprendí, compartir era tan simple y en una línea puedo lograr cosas usando Python.

  • Oh, vamos Ashish, quiero decir algo como los grandes servidores, que vemos en los centros de datos, algo así.

Entonces, para simplificar las cosas, estas no son más que un montón de máquinas que tienen RAM y capacidad de procesamiento. En términos simples, es su escritorio o computadora portátil sin pantalla, y obviamente con un alto almacenamiento o poder de cómputo dependiendo de la aplicación.

Entonces, en ese caso, su máquina en la que está leyendo esta respuesta no es más que un servidor. Por cierto, tengo un servidor de $ 35 para ti, como un bono.

Una Raspberry Pi, que se ejecuta como servidor de base de datos y servidor de archivos.

Wikipedia define un servidor como un dispositivo que proporciona funcionalidad para otros programas o dispositivos, llamados “clientes”. Según esta definición, cualquier computadora se puede configurar estrictamente como un servidor, pero como cuestión práctica hay algunas cosas a considerar …

  1. Los servidores están diseñados para ser sistemas tolerantes a fallas y la alta disponibilidad es importante, por lo que todos los puntos de falla generalmente se han duplicado (por ejemplo: PSU), el hardware de escritorio promedio no está diseñado para admitir esta configuración de hardware redundante.
  2. Los servidores generalmente usan RAID para lograr un almacenamiento tolerante a fallas al compartir contenido en múltiples unidades y en algunas configuraciones si una unidad falla y permite que los datos contenidos en él sigan siendo accesibles usando una unidad alternativa hasta que la unidad se reemplace, momento en el que la RAID se “reconstruye” .

Estos son solo dos puntos de los cientos que podrían discutirse. ¿Puede construir su propio servidor? Sí, si no está preocupado por la redundancia, la capacidad, las capacidades, etc., sin embargo, si quiere decir, ¿puede hacer su propio servidor en el sentido de la palabra que usan las empresas? costo, y no lo haría usted mismo, sino armarlo usted mismo (lo mismo que armar un escritorio personalizado con piezas de varios proveedores).

en la práctica, todas las PC tienen servicio, así que sí, ya tienes un servidor, ahora necesitas saber qué necesitas para el servidor y dónde.

ejemplo, un servidor web:

1- Necesitas la PC, cualquier PC.

2- Un software en el sistema operativo que puede servir su web, en Windows tal vez solo XAMPP está bien, o visualbasic con iis, etc.

3- Para la cordura necesita una ip estática en internet (debe hablar con su proveedor de servicios de Internet).

4- Finalmente necesita comprar un dominio (para que pueda acceder a sus servicios en mywebexample.com), este proceso es DNS (servidor de nombres de dominio), escribe el nombre de su web y es redirigido a su servidor en su hogar :), dependiendo de dónde compre su dominio, puede necesitar agregar un servidor DNS en su máquina.

Después de eso tiene un servidor web, ahora necesita construir una web y preocuparse por la seguridad.

con otro servicio como Mail o FTP necesita cambiar el “2-” al servicio correcto.

pd: perdón por mi mal inglés

Técnicamente, cada computadora es un servidor, podemos hacer un servidor independientemente de la configuración o el sistema operativo. Puede ejecutar un servidor configurando cualquier lenguaje del lado del servidor como PHP, JAVA, Ruby y otros. Si no conoce estos idiomas, descargue Mongoose Binary Web Server Application desde el enlace. Si va a desarrollar solo una aplicación del lado del cliente, puede usarla muy bien. Simplemente ejecute el exe y abrirá el navegador y mostrará la estructura de carpetas de la ruta base desde la que se activa.

Grandes respuestas a continuación. Excelente lectura Solo agregaría que el punto de decisión principal es “¿A quién le está sirviendo?”

Si va a enviar correo y archivos al mundo, necesitará un ISP que lo transportará y deberá registrar un nombre de dominio (como clintonmail.com). Honestamente, es mejor que encuentres una compañía local que te aloje.

Sin embargo, si solo quiere servir archivos para usted, su familia y amigos, ¡tiene mejores opciones! Comparto mi disco duro externo en mi oficina a mi pantalla grande en la sala de estar. Un buen dispositivo de almacenamiento conectado a la red (NAS) tendrá una interfaz web que cualquiera puede usar. Aún puede poner contraseñas en los directorios si lo desea. Incluso puede usar Plex o Kodi para servirlos fuera de su hogar.

Las personas que tienen Internet generalmente navegan por un servidor que es una solicitud saliente. Pero cuando aloja un servidor, tiene que ocuparse de las solicitudes entrantes.

Todo lo que necesita es un mapeador de solicitud de llamada entrante. ejemplos son Apache, nginx Microsoft IIS, etc.

Si ejecuta cualquiera de estos con éxito, su IP pública se convierte en el servidor accesible en Internet (sin costo). El mapeo de nombres de dominio es su elección.

Sí, pero tengo curiosidad de cómo te refieres a tu pregunta.

Tomé algunos tipos diferentes de servidores y los configuré en una computadora en casa, incluidos OwnCloud en NGinx y Syncthing. Entonces, en ese sentido, hice mi propio servidor.

También puede tomar un lenguaje de programación y codificar su propio software de servidor desde cero. También lo hice usando Node.js con Express y Socket.IO. Podría ir aún más lejos y escribir un servidor con C sin usar ninguna biblioteca, pero no sé por qué haría eso.

Incluso podría construir un servidor a partir de piezas si lo desea, solo ordene las piezas en línea.

Realmente, puedes hacer un servidor en cualquiera de esos sentidos.

¡Sí! ¡Totalmente! Es bastante fácil hacer uno, todo lo que necesitas es gastar 1k +. No, solo estoy bromeando, puedes alojar un servidor usando tu vieja PC. Simplemente obtenga el sistema operativo y el software correctos y tendrá su propio servidor. De lo contrario, para los novatos y los que son como yo. Y tienen una billetera grande y son demasiado vagos. Son esto!

ENLACE: https://www.amazon.com/Synology-

ENLACE PARA LA CUBIERTA / ENVOLVENTE DEL SERVIDOR: Amazon.com: Safstar Wall Mount Network Server Data Cabinet Enclosure Rack Glass Door Lock w / Fan (18U): Cocina y comedor

Pero sí, si necesitas más ayuda, envíame un PM (mensaje privado).

Si, absolutamente.

ni siquiera necesita nuevo hardware, solo deje que su dispositivo actual haga el trabajo: su computadora portátil funcionará bien.

Un servidor no es más que una computadora. Nada más y nada menos.

Las grandes empresas obviamente usan hardware especial con múltiples fuentes de alimentación / RAM ECC y CPU muy caras. Pero en esencia, esto no es necesario.

Cualquier dispositivo que ejecute Windows / Linux / Mac puede ser un servidor. Mi raspberry pi es un servidor 🙂

Hacer su propio servidor es tan simple como instalar un software (en Windows y Mac) y tan simple como ejecutar un comando (en Linux y sus hermanos).

Por ejemplo, puede usar XAMPP, porque es multiplataforma y tiene una buena interfaz (fácil de usar para principiantes). Se inicia rápidamente y no es demasiado voluminoso.

Tengo alrededor de 3 sistemas en mi casa. Todos ellos tienen instalado XAMPP. Entonces, técnicamente, tengo 3 servidores en mi habitación. Créeme, he alojado mi sitio web en uno de ellos (pero no resultó ser una buena idea ya que mi velocidad de carga no era demasiado buena y mi pariente había comprado un alojamiento pago, así que lo alojé allí).

¡Instala una aplicación de servidor y Bingo!

Tu computadora es tu servidor

La mejor manera de sentirlo es instalar Ubuntu en él y luego, en la terminal, escriba estos comandos

sudo apt-get update -y
sudo apt-get install apache2 -y

Después de eso, vaya a su navegador y escriba http: // localhost /

Eso es todo, ejecutaste tu primer servidor
Y si desea enviarlo a la web, debe pedirle a su ISP que le proporcione una conexión IP estática y luego a través de un enrutador puede empujar su conexión a Internet

Sí, lo he hecho para varios clientes y para mí.

Mi último servidor recorre círculos alrededor del servidor HP de una empresa. Con 64G ram y 6 SSD en banda y dos SSD en espejo para OS y copia de seguridad, realiza una transferencia de datos de aproximadamente 1.6GB por segundo. Eso supera a las manos de HP por una diferencia de alrededor de 40 mil dólares. El mío es solo 3k. El HP 43k, aunque tiene una mejor tarjeta LAN. Tal vez yo también lo compre.

La idea básica es comprar la CPU y la memoria correcta, la placa base y un montón de SSD en algún método pensado.

Muchas de mis computadoras portátiles y de escritorio Ubuntu ejecutan LAMP – Linux (Ubuntu) Apache 2 (servidor) MySQL y PHP. Principalmente uso estas máquinas para programar y probar PHP complejo antes de cargar el código en sitios web públicos en servidores de acceso público.

En mi clase para estudiantes de octavo grado, utilizamos una Raspberry Pi como servidor para proyectos de estudiantes HTML / CSS / JavaScript / PHP. Este Pi es accesible en todo nuestro edificio, con más de 200 computadoras de escritorio y 200 Chromebooks para cualquier persona que conozca la dirección IP interna numérica. Algunos de nuestros alumnos de octavo grado aprenden a configurar una caja Linux o una Pi como servidor.

Si te refieres a hacer tu propia caja de servidor, sí, es súper fácil.

  • Compre o cree una máquina de clase de servidor.
  • Instale FreeBSD u otro sabor de Unix.
  • Instale el software necesario, con el tipo según sus necesidades.

Si quiere programar su propia web u otro tipo de servidor, puede hacerlo. Aprenda programación de red, que es un proceso relativamente sencillo. Específicamente, aprenda a usar sockets en su idioma favorito. Use un socket de servidor (o el término del lenguaje para esta construcción), conectando algo de lógica, y viola, tiene un servidor. Si el servidor se utiliza para un protocolo existente, solo asegúrese de poder analizar y generar ese protocolo.

En 1998 estaba ejecutando mi propio servidor de DNS y correo en un 486 con 16 MB (sí, megabytes) conectado a Internet a través de ISDN (BRI, por lo que 128 Kb / segundo). Estaba ubicado en mi habitación de atrás.

Todavía estoy ejecutando mi propio servidor de DNS y correo como VM en una PC de escritorio bastante antigua. He asignado 2 GB de RAM y un TB de disco. Hoy es una mala idea, realmente necesito trasladarlo a un VPS en otro lugar.

Obviamente, sí. Puedes hacer tu propio servidor. Cualquier dispositivo que ejecute software de servidor también podría considerarse un servidor.