Creeu el vostre propi servidor web i allotgeu un lloc web des del vostre Linux Box


Molts de vosaltres serieu programadors web. Alguns de vosaltres podríeu ser deguts a un lloc web i, sens dubte, l'editareu i actualitzeu amb freqüència. Tot i que alguns que no tenen un coneixement adequat de les tecnologies web encara estarien planejant tenir-ne un.

A través d'aquest article, explicaré com podeu desenvolupar un lloc web que funcioni amb molt pocs coneixements i fins i tot podríeu allotjar-lo amb la vostra caixa de Linux. Les coses podrien ser tan senzilles com això.

Requisits:

Linux Box (no obstant això, podeu utilitzar Windows, però segurament les coses no seran tan senzilles i perfectes com ho seran a Linux Machine, Debian s'ha utilitzat aquí per exemple). Si no teniu un sistema operatiu instal·lat o no sabeu com instal·lar un sistema operatiu Linux, aquí teniu algunes guies que us mostren com instal·lar un sistema operatiu Linux.

  • Com instal·lar un servidor mínim Debian 10 (Buster)
  • Com instal·lar el servidor Ubuntu 20.04
  • Instal·lació de \CentOS 8.0 amb captures de pantalla

Apache, PHP i MySQL (tenint un coneixement ràpid de qualsevol altre SQL, podeu utilitzar-lo, però els exemples de l'article faran servir MySQL.

  • Com instal·lar LAMP al servidor Debian 10
  • Com instal·lar LAMP Stack a Ubuntu 20.04
  • Com instal·lar el servidor LAMP a CentOS 8

Marc de gestió de continguts: Drupal amb KompoZer, o podeu utilitzar WordPress o Joomla. (Però aquí vaig utilitzar Drupal com a sistema de gestió de continguts (CMS)).

  • Com instal·lar WordPress juntament amb LAMP a Debian 10
  • Com instal·lar WordPress amb Apache a Ubuntu 20.04
  • Instal·leu WordPress 5 amb Apache, MariaDB 10 i PHP 7 a CentOS 8/7

  • Com instal·lar Drupal a Debian 10
  • Com instal·lar Drupal a Ubuntu
  • Com instal·lar Drupal a CentOS 8

  • Com instal·lar Joomla a Debian 10
  • Com instal·lar Joomla a Ubuntu
  • Com instal·lar Joomla a CentOS 8

Configurar el propi servidor web i allotjar un lloc web a Linux

Una connexió a Internet amb IP estàtica (preferida) connectada a través d'un mòdem amb una instal·lació d'allotjament virtual (en realitat no és tan complex com sembla aquí).

Apache és un programa de servidor web. Ve instal·lat i configurat a la majoria dels sistemes. Comproveu si està instal·lat al vostre 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 sortida anterior, queda clar que Apache està instal·lat a la caixa, si no és en el vostre cas, podeu aplicar o yum el paquet necessari. Un cop instal·lat l'Apache, inicieu-lo com.

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

Nota: és possible que hàgiu d'escriure httpd i no apache en algun servidor, és a dir, RHEL. Un cop iniciat el servidor apache2 o http, també conegut com httpd, podeu comprovar-ho al vostre navegador anant a qualsevol dels enllaços següents.

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

Aquest enllaç s'obrirà a una pàgina allotjada, el que significa que Apache s'ha instal·lat i iniciat correctament.

MySQL és un programa de servidor de bases de dades. Ve ple amb una sèrie de distribucions. Comproveu si està instal·lat al vostre sistema o no i on està instal·lat.

# 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

A partir de la sortida anterior, queda clar que MySQL s'instal·la juntament amb la ubicació dels fitxers binaris. Si no està instal·lat, feu apt o yum per instal·lar-lo i iniciar-lo.

# 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: És possible que hàgiu d'escriure \mysqld en lloc de mysql, òbviament sense cometes, en alguna distribució, és a dir, RHEL. Comproveu l'estat de MySQL, executeu.

# 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

La sortida anterior mostra que MySQL s'està executant durant 11 min 58 segons.

PHP és el llenguatge de programació del costat del servidor dissenyat per al desenvolupament web i s'utilitza habitualment com a llenguatge de programació de propòsit general. Només heu de desplegar l'script php després d'instal·lar php. Com he dit anteriorment, utilitzeu apt o yum per instal·lar el paquet necessari per a la vostra caixa.

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

Si heu instal·lat correctament el php al vostre sistema, podeu comprovar si funciona correctament o no creant un fitxer \info.php al vostre directori '/var/www/html' o '/var/www' (que és el vostre directori Apache) amb el contingut que es mostra a continuació.

<?php

     phpinfo ();
?>

Ara navegueu al vostre navegador i escriviu qualsevol dels enllaços següents.

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

El que significa que php està instal·lat i funciona correctament. Ara podeu crear el vostre lloc web al vostre directori Apache, però, no sempre és una bona idea reinventar una roda una i altra vegada.

Per a això, existeix el Content Management Framework (CMF), és a dir, Drupal, Joomla, WordPress. Podeu descarregar l'últim marc des de l'enllaç que es proporciona a continuació i podeu utilitzar qualsevol d'aquests marcs, però, utilitzarem Drupal als nostres exemples.

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

Baixeu Drupal des de l'enllaç anterior, que seria un arxiu tar. Moveu l'arxiu tar al vostre directori Apache '/var/www/html' o '/var/www'. Extraieu-lo a l'arrel del directori apache. On x.xx seria el número de versió.

# 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 tot va bé, torneu a obrir el vostre navegador i navegueu als enllaços següents i us donaran la benvinguda.

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

Trieu la vostra configuració d'idioma.

Comprovació de requisits i permís de fitxer. Proporcioneu el permís adequat als fitxers i carpetes necessaris. És possible que hàgiu de crear determinats fitxers manualment, cosa que no és gran cosa.

Configura la base de dades, el procés de backend.

Si la configuració de la base de dades passa, els perfils perfectes s'instal·len automàticament.

Configurar significa configurar Nom del lloc, Correu electrònic, Nom d'usuari, Contrasenya, Zona horària, etc.

I si tot va bé, tindreu una pantalla com aquesta.

Obriu la vostra pàgina fent referència a l'adreça http://127.0.0.1.

Hurra!!!

Kompozer és una eina que us permet treballar en GUI per dissenyar un lloc web en html i podeu inserir un script php a qualsevol lloc que vulgueu. Kompozer va fer que fos massa fàcil crear una pàgina web.

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

bé, no cal que l'instal·leu a la majoria del sistema Linux. Només cal que baixeu, extreu i executeu Kompozer.

Si ets creatiu, Kompozer està a la teva disposició.

Algunes paraules sobre les adreces de protocol d'Internet (IP).

http://127.0.0.1

Generalment s'anomena adreça IP de loopback o localhost, i sempre apunta a la màquina on es navega. Totes les màquines d'una xarxa que fan referència a l'adreça anterior tornaran a la seva pròpia màquina.

Ipconfig/ifconfig: executeu-ho al vostre terminal per conèixer l'adreça local de la vostra 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

Cerqueu l'adreça inet:192.168.1.2 aquí 192.168.1.2 és la meva IP local. Qualsevol ordinador de la vostra LAN, inclòs vosaltres, podeu consultar la vostra pàgina web allotjada mitjançant aquesta adreça.

Tanmateix, un ordinador fora de la vostra LAN no podrà accedir a la vostra pàgina web mitjançant aquesta adreça IP. Haureu de demanar al vostre proveïdor de serveis d'Internet que us proporcioni una IP estàtica (que no canvia amb el temps). Un cop tingueu la vostra adreça IP estàtica, la manera més fàcil de trobar la vostra IP és escriure \La meva IP és a Google i anotar el resultat.

No podreu accedir a aquesta IP des de la vostra pròpia màquina ni des de cap altra màquina de la vostra LAN. Tanmateix, podeu utilitzar un servidor intermediari (www.kproxy.com) per accedir a la vostra pàgina allotjada mitjançant la vostra IP estàtica. Però abans d'això, heu de configurar un servidor virtual i el vostre proveïdor de serveis segur que us serà útil en aquest sentit.

Hmmm! Això no és gens difícil. Primer, heu de conèixer el port que utilitza Apache, que en la majoria dels casos és 80.

# netstat -tulpn

la sortida seria una cosa com:

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

Ara aneu al vostre encaminador, que generalment és http://192.168.1.1 i el nom d'usuari/contrasenya seria admin-admin, però, en el vostre cas, podria ser diferent segons el proveïdor de serveis i l'àrea.

A continuació, aneu a la pestanya Servidor virtual. Ompliu el número de port, el nom del servei i l'adreça IP local, informeu-lo i deseu-lo. Demaneu ajuda al vostre ISP.

Recordeu que només podreu accedir a aquest servidor web des de la vostra màquina, qualsevol altra màquina de la vostra LAN o un ordinador a Internet quan la vostra màquina estigui activada i executant MySQL i Apache simultàniament.

Amb un gran poder, ve una gran responsabilitat. I ara és la vostra responsabilitat protegir la vostra màquina. No doneu mai la vostra adreça IP a cap persona desconeguda fins que no conegueu les vostres entrades i sortides.

Segurament intentarem cobrir els temes relacionats amb la seguretat i com salvaguardar-la. No dubteu a fer els vostres valuosos comentaris i compartir-los amb els vostres amics. Ja saps que Compartir és cuidar. El teu comentari positiu ens anima i ens motiva.