Creación de su propio servidor web y alojamiento de un sitio web desde su caja Linux


Muchos de ustedes serían programadores web. Es posible que algunos de ustedes tengan un sitio web y ciertamente lo estarían editando y actualizando con frecuencia. Mientras que algunos que no tienen un conocimiento adecuado de las tecnologías web, aún estarían planeando tener uno.

A través de este artículo, haré saber cómo podría desarrollar un sitio web funcional con muy poco conocimiento e incluso podría alojarlo usando su caja de Linux. Las cosas podrían ser tan simples como eso.

Requerimientos:

Linux Box (Sin embargo, puede usar Windows, pero las cosas seguramente no serán tan simples y perfectas como lo serán en una máquina Linux, Debian se ha utilizado aquí, por ejemplo, citando). Si no tiene un sistema operativo instalado o no sabe cómo instalar un sistema operativo Linux, aquí hay algunas guías que le muestran cómo instalar un sistema operativo Linux.

  • Cómo instalar un servidor mínimo Debian 10 (Buster)
  • Cómo instalar el servidor Ubuntu 20.04
  • Instalación de "CentOS 8.0" con capturas de pantalla

Apache, PHP y MySQL (si tiene un conocimiento inmediato de cualquier otro SQL, puede usarlo, pero los ejemplos del artículo utilizarán MySQL.

  • Cómo instalar LAMP en el servidor Debian 10
  • Cómo instalar LAMP Stack en Ubuntu 20.04
  • Cómo instalar el servidor LAMP en CentOS 8

Marco de gestión de contenido: Drupal con KompoZer, o puede usar WordPress o Joomla (pero aquí usé Drupal como mi sistema de gestión de contenido (CMS)).

  • Cómo instalar WordPress junto con LAMP en Debian 10
  • Cómo instalar WordPress con Apache en Ubuntu 20.04
  • Instale WordPress 5 con Apache, MariaDB 10 y PHP 7 en CentOS 8/7

  • Cómo instalar Drupal en Debian 10
  • Cómo instalar Drupal en Ubuntu
  • Cómo instalar Drupal en CentOS 8

  • Cómo instalar Joomla en Debian 10
  • Cómo instalar Joomla en Ubuntu
  • Cómo instalar Joomla en CentOS 8

Configuración de su propio servidor web y alojamiento de un sitio web en Linux

Una conexión a Internet con IP estática (preferida) conectada a través de un módem que tiene una instalación de alojamiento virtual (en realidad no es tan complejo como parece aquí).

Apache es un programa de servidor web. Viene instalado y configurado en la mayoría de los sistemas. Compruebe si está instalado en su sistema o no.

# apt-cache policy apache2 (On Debian based OS)
apache2:
  Installed: (none)
  Candidate: 2.4.38-3+deb10u3
  Version table:
     2.4.38-3+deb10u3 500
        500 http://httpredir.debian.org/debian buster/main amd64 Packages
     2.4.38-3 -1
        100 /var/lib/dpkg/status
     2.4.25-3+deb9u9 500
        500 http://security.debian.org/debian-security stretch/updates/main amd64 Packages
# yum search httpd (On Red Hat based OS)
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: ftp.iitm.ac.in
 * epel: mirror.smartmedia.net.id
 * extras: ftp.iitm.ac.in
 * updates: ftp.iitm.ac.in
Installed Packages
httpd.i686	2.2.15-28.el6.centos	@updates

A partir de la salida anterior, está claro que Apache está instalado en la caja, si no es en su caso, puede "apto" o "yum" el paquete requerido. Una vez que Apache esté instalado, inícielo como.

# apt-get install apache2 (On Debian based OS)
# service apache2 start
# yum install httpd (On Red Hat based OS)
# service httpd start

Nota: Es posible que deba escribir "httpd" y no "apache" en algún servidor Viz., RHEL. Una vez que se inicia el servidor "apache2" o "http", también conocido como "httpd", puede verificarlo en su navegador yendo a cualquiera de los siguientes enlaces.

http://127.0.0.1
http://localhost
http://your-ip-address

Este enlace se abrirá en una página alojada, lo que significa que Apache se ha instalado e iniciado correctamente.

MySQL es un programa de servidor de bases de datos. Viene con una serie de distribuciones. Compruebe si está instalado en su sistema o no y dónde está instalado.

# whereis mysql
mysql: /usr/bin/mysql /etc/mysql /usr/lib/mysql /usr/bin/X11/mysql /usr/share/mysql 
/usr/share/man/man1/mysql.1.gz

De la salida anterior, está claro que MySQL está instalado junto con la ubicación de los archivos binarios. Si en caso de que no esté instalado, haz "apt" o "yum" para instalarlo e inícielo.

# apt-get install mariadb-server mariadb-client (On Debian based OS)
# service mysql start
# yum install mariadb-server mariadb-client (On Red Hat based OS)
# service mariadb start

Nota: Puede que tenga que escribir "mysqld" en lugar de mysql, obviamente sin comillas, en alguna distribución, a saber, RHEL. Verifique el estado de MySQL, ejecútelo.

# service mysql status (On Debian based OS)
● mariadb.service - MariaDB 10.3.23 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-01-08 01:05:32 EST; 1min 42s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 2540 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
  Process: 2537 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 2457 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_STAR
  Process: 2452 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 2450 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 2506 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 30 (limit: 4915)
   CGroup: /system.slice/mariadb.service
           └─2506 /usr/sbin/mysqld

El resultado anterior muestra que MySQL se está ejecutando durante 11 min 58 seg.

PHP es el lenguaje de programación del lado del servidor diseñado para el desarrollo web y se usa comúnmente como un lenguaje de programación de propósito general. Solo tiene que implementar el script php después de instalar php. Como dije anteriormente, use "apt" o "yum" para instalar el paquete requerido para su caja.

# apt-get install php php-mysql (On Debian based OS)
# yum install php php-mysqlnd (On Red Hat based OS)

Si instaló correctamente el php en su sistema, puede verificar si está funcionando correctamente o no creando un archivo "info.php" en su directorio '/ var/www/html' o '/ var/www' (que es su directorio de Apache) con el contenido que se indica a continuación.

<?php

     phpinfo ();
?>

Ahora navegue hasta su navegador y escriba cualquiera de los siguientes enlaces.

http://127.0.0.1/info.php
http://localhost/info.php
http://your-ip-address/info.php

Lo que significa que php está instalado y funcionando correctamente. Ahora puede crear su sitio web en su directorio de Apache, sin embargo, no siempre es una buena idea reinventar una rueda una y otra vez.

Para ello, existe Content Management Framework (CMF), a saber, Drupal, Joomla, WordPress. Puede descargar el último marco desde el enlace que se proporciona a continuación y puede usar cualquiera de estos marcos, sin embargo, usaremos Drupal en nuestros ejemplos.

  • Drupal: https://drupal.org/project/drupal
  • Joomla: http://www.joomla.org/download.html
  • WordPress: http://wordpress.org/download/

Descargue Drupal desde el enlace anterior, que sería un archivo tar. Mueva el archivo tar a su directorio Apache "/ var/www/html" o "/ var/www". Extraerlo a la raíz del directorio de apache. Donde "x.xx" sería el número de versión.

# mv drupal-x.xx.tar.gz /var/www/ (mv to Apache root directory)
# cd /var/www/ (change working directory)
# tar -zxvf drupal-7.22.tar.gz (extract the archieve)
# cd drupal-7.22 (Move to the extracted folder)
# cp * -R /var/www/ (Copy the extracted archieve to apache directory)

Si todo va bien, vuelva a abrir su navegador y navegue a los enlaces a continuación y será recibido.

http://127.0.0.1
http://localhost
http://your-ip-address

Elija su configuración de idioma.

Verificación de requisitos y permisos de archivo. Proporcione el permiso adecuado a los archivos y carpetas requeridos. Es posible que deba crear ciertos archivos manualmente, lo cual no es un gran problema.

Configuración de la base de datos, el proceso de backend.

Si la configuración de la base de datos es perfecta, los perfiles se instalan automáticamente.

Configurar significa establecer "Nombre del sitio", "Correo electrónico", "Nombre de usuario", "Contraseña", "Zona horaria", etc.

Y si todo va bien, obtendrá una pantalla similar a esta.

Abra su página consultando la dirección http://127.0.0.1.

¡¡¡Hurra!!!

Kompozer es una herramienta que le permite trabajar en GUI para diseñar un sitio web en html y puede insertar un script php en cualquier lugar que desee. Kompozer facilitó demasiado la creación de una página web.

  1. Kompozer: http://www.kompozer.net/download.php

bueno, no es necesario instalarlo en la mayoría de los sistemas Linux. Simplemente descargue, extraiga y ejecute Kompozer.

Si eres creativo, kompozer está ahí para ti.

Algunas palabras sobre direcciones de protocolo de Internet (IP).

http://127.0.0.1

Generalmente se denomina dirección IP de bucle invertido o localhost, y siempre apunta a la máquina en la que se navega. Todas las máquinas de una red que hagan referencia a la dirección anterior volverán a su propia máquina.

Ipconfig/ifconfig: Ejecute esto en su terminal para conocer la dirección local de su máquina.

# ifconfig
eth0      Link encap:Ethernet  HWaddr **:**:**:**:**:**  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0 
          inet6 addr: ****::****:****:****:****/** Scope:Link 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
          RX packets:107991 errors:0 dropped:0 overruns:0 frame:0 
          TX packets:95076 errors:0 dropped:0 overruns:0 carrier:0 
          collisions:0 txqueuelen:1000 
          RX bytes:76328395 (72.7 MiB)  TX bytes:20797849 (19.8 MiB) 
          Interrupt:20 Memory:f7100000-f7120000

Busque la dirección inet: 192.168.1.2 aquí 192.168.1.2 es mi IP local. Cualquier computadora en su LAN, incluido usted, puede consultar su página web alojada utilizando esta dirección.

Sin embargo, una computadora fuera de su LAN no podrá acceder a su página web usando esta dirección IP. Tendrá que pedirle a su proveedor de servicios de Internet que le proporcione una IP estática (que no cambia con el tiempo). Una vez que obtenga su dirección IP estática, la forma más fácil de encontrar su IP es escribir "Mi IP es" en Google y anotar el resultado.

No podrá acceder a esta IP desde su propia máquina ni desde ninguna otra máquina en su LAN. Sin embargo, puede utilizar un servidor proxy (www.kproxy.com) para acceder a su página alojada utilizando su IP estática. Pero antes de eso, necesita configurar un servidor virtual y su proveedor de servicios seguramente será útil en este sentido.

¡Mmm! Eso no es nada difícil. Primero, necesita saber el puerto que usa apache, que en la mayoría de los casos es 80.

# netstat -tulpn

la salida sería algo como:

tcp6       0      0 :::80                   :::*                    LISTEN      6169/apache2

Ahora vaya a su enrutador, que generalmente es http://192.168.1.1 y el nombre de usuario/contraseña sería admin-admin, sin embargo, podría ser diferente en su caso según el proveedor de servicios y el área.

A continuación, vaya a la pestaña Servidor virtual. Complete el número de puerto, el nombre del servicio y la dirección IP local, informe y guarde. Solicite ayuda a su ISP.

Recuerde que sólo podrá acceder a este servidor web desde su máquina, cualquier otra máquina en su LAN o una computadora en Internet cuando su máquina esté en funcionamiento y ejecutando MySQL y Apache simultáneamente.

Un gran poder conlleva una gran responsabilidad. Y ahora es su responsabilidad proteger su máquina. Nunca dé su dirección IP a ninguna persona desconocida hasta que sepa cómo entrar y salir.

Seguramente intentaremos cubrir los temas relacionados con la seguridad y cómo salvaguardarla. Siéntase libre de dar sus valiosos comentarios y compartirlos con sus amigos. Ya sabes que "compartir es cuidar". Tu comentario positivo nos anima y motiva.