Construcción e Instalación de Harbour y ModHarbour

Configuración e instalación de Servidores, y conceptos sobre el tema
Responder
Avatar de Usuario
Daniel López
Mensajes: 6
Registered for: 3 years 2 months
Spain

Construcción e Instalación de Harbour y ModHarbour

Mensaje 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...
“En mi máquina sí funciona” ;)

Cristobal
Site Admin
Mensajes: 315
Registered for: 3 years 5 months
Spain

Mensaje por Cristobal »

Gracias Daniel, muy bien, un documento que quedará ahí para siempre
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces

fabian_palacio
Mensajes: 3
Registered for: 2 years 11 months
Argentina

Mensaje por fabian_palacio »

Muchas gracias Daniel!!!

Responder