Página 1 de 1

Construcción e Instalación de Harbour y ModHarbour

Publicado: Vie Abr 23, 2021 2:39 pm
por Daniel López
Hola a todos,

Como os comente en la sesiones de los viernes os dejo los pasos para la instalación de Mod-Harbour en Debian 10:

- Para esta implementación voy a usar Virtualmin para la gestión de "VirtualHost" de Apache por la facilidad que nos ofrece para gestionar Servidores Linux de una manera gráfica.

- Antes de iniciar la instalación se recomienda tener el sistema actualizado.

1. Instalación de Virtualmin ( opcional )

Código: Seleccionar todo

cd /tmp
sudo wget http://software.virtualmin.com/gpl/scripts/install.sh
sudo /bin/sh install.sh
# AÑADIMOS NOMBRE DE DOMINIO, previamente configurados los DNS del Dominio al server.
# ACCEDEMOS https://nombrededomino:10000 | https://ippública:10000
2. Configuración Firewall ( opcional )

Código: Seleccionar todo

sudo apt install ufw
sudo ufw allow OpenSSH
sudo ufw allow 10000
sudo ufw allow 20000
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
# COMPROBAMOS LA CONFIGURACIÓN
sudo ufw status numbered

3. instalación de Dependencias Harbour

Código: Seleccionar todo

# Herramientas opcionales
sudo apt install mc tree net-tools -y
# Instalación de BD Maria Db ( Virtualmin instala MariaDb por Defecto )
sudo apt install mariadb-server -y
# Instalación opcional de Postgresql
sudo apt install postgresql postgresql-contrib -y 
# Dependencias
sudo apt install bash git gcc binutils fakeroot debhelper valgrind upx uncrustify autoconf automake intltool gdebi gdebi-core git-svn build-essential subversion libncurses5-dev libslang2-dev libx11-dev libgpm-dev liballegro4.2-dev libcairo2-dev libcups2-dev libcurl4-openssl-dev libfreeimage-dev libgs-dev libpcre++-dev libmagic-dev unixodbc-dev libpq-dev libexpat1-dev libbz2-dev libsqlite3-dev openssl libssl-dev libcurl4-gnutls-dev libmariadb-dev libmariadb-dev-compat libmariadbclient-dev apache2-dev kore -y 
4. Descarga de Harbour y Mod-Harbour

Código: Seleccionar todo

# Para que funciones los enlaces de este manual la descarga se debe realizar sobre la raíz de sistema.
cd /
sudo git clone https://github.com/harbour/core harbour
sudo git clone https://github.com/fivetechsoft/mod_harbour
5. Definición de Variables de Entorno

Código: Seleccionar todo

export HB_WITH_PCRE=local
export HB_USER_CFLAGS="-fPIC"
export HB_WITH_CURL=/usr/include
export HB_WITH_OPENSSL=yes
export HB_BUILD_CONTRIBS=""
# Mover crear enlace de librería Curl o Cambiar ruta en variable
cd /usr/include
sudo ln -s x86_64-linux-gnu/curl
6. Construcción Harbour

Código: Seleccionar todo

cd /harbour
sudo -E make 
sudo -E make install
7. Construcción Mod-Harbour

Código: Seleccionar todo

cd /mod_harbour/linux
sudo sh go.sh 
cd /var/www/html
sudo ln -sf /mod_harbour/linux/libharbour.so.3.2.0 libharbour.so.3.2.0
sudo ln -sf /mod_harbour/samples modharbour_samples
cd /usr/lib/apache2/modules
sudo ln -sf /mod_harbour/linux/mod_harbour.so mod_harbour.so

8. Configuración de Apache

Código: Seleccionar todo

cd /etc/apache2/mods-available
sudo vim harbour.load
# incluir en el fichero
LoadModule harbour_module /usr/lib/apache2/modules/mod_harbour.so
#guardamos
sudo vim harbour.conf
<FilesMatch "\.(prg|hrb)$">
    SetHandler harbour
</FilesMatch>
#guardamos
sudo a2enmod harbour
sudo systemctl restart apache2
9. Configurar VirtualHost para Samples con Alias ( La configuración se deberá realizar sobre el VirtualHost activo siendo *opcional*, configuración para Virtualmin ya que por defecto crea la raíz de directorio dentro de /HOME )

Código: Seleccionar todo

#Dentro de  <VirtualHost *:443>
Alias "/samples" "/var/www/html/modharbour_samples"
<Directory "/var/www/html/modharbour_samples">
             Options +Indexes +IncludesNOEXEC +SymLinksIfOwnerMatch +ExecCGI
             AllowOverride All
             DirectoryIndex index.prg index.php index.html
</Directory>
10. Por ultimo os paso algunos cambios de permisos para Pruebas ( solo de ejemplos, no usar estos permisos para desarrollos ), también incluyo enlaces simbólicos para el correcto funcionamiento de Samples.

Código: Seleccionar todo

sudo sudo ln -sf /usr/local/include/harbour /usr/include/harbour
sudo chmod 777 -R   /var/www/html/modharbour_samples/data
sudo chmod 777 -R  /var/www/html/modharbour_samples/chat
sudo chmod 777 -R /var/www/html/modharbour_samples/genesis/data /var/www/html/modharbour_samples/machine/
sudo chmod 777 -R  /var/www/html/modharbour_samples/snippets/snippets.dbf
sudo ln -sf /usr/local/share/harbour/contrib/hbcurl/hbcurl.ch /usr/include/harbour
sudo ln -sf /usr/local/share/harbour/contrib/hbcurl/hbcurl.ch /usr/local/include/harbour
sudo ln -sf /usr/local/share/harbour/contrib/hbhpdf/harupdf.ch /usr/include/harbour
sudo ln -sf /usr/local/share/harbour/contrib/hbhpdf/harupdf.ch /usr/local/include/harbour
Indicar que para realizar esta guía he contado con la esencial ayuda de Cristóbal Navarro.

Espero que os ayude...

Re: Construcción e Instalación de Harbour y ModHarbour

Publicado: Vie Abr 23, 2021 2:55 pm
por Cristobal
Gracias Daniel, muy bien, un documento que quedará ahí para siempre

Re: Construcción e Instalación de Harbour y ModHarbour

Publicado: Jue Ago 26, 2021 12:48 am
por fabian_palacio
Muchas gracias Daniel!!!