Construcción e Instalación de Harbour y ModHarbour
Publicado: Vie Abr 23, 2021 2:39 pm
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 )
2. Configuración Firewall ( opcional )
3. instalación de Dependencias Harbour
4. Descarga de Harbour y Mod-Harbour
5. Definición de Variables de Entorno
6. Construcción Harbour
7. Construcción Mod-Harbour
8. Configuración de Apache
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 )
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.
Indicar que para realizar esta guía he contado con la esencial ayuda de Cristóbal Navarro.
Espero que os ayude...
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
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
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
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
Código: Seleccionar todo
cd /harbour
sudo -E make
sudo -E make install
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
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>
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
Espero que os ayude...