GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar Bugzilla 5.0 en CentOS 7

En esta página

  1. Requisitos previos para CentOS
    1. Conexión a Internet
    2. SELinux
      1. Deshabilitar SELinux
    3. Cuenta utilizada para la instalación
    4. Repositorios adicionales
      1. Habilitar repositorio Epel
  2. Instalar Apache con mod_ssl y mod_perl
    1. Habilite e inicie el servicio httpd.
      1. Iniciar httpd.servicio
      2. Comprobar el estado de httpd.service
      3. Habilitar permanentemente httpd.service
      4. Abrir el puerto 80 en el cortafuegos local para permitir solicitudes HTTP
      5. Pruebe el servidor web Apache
  3. Instalar MariaDB
    1. Hacer que MariaDB se inicie automáticamente al arrancar
    2. Establecer contraseña raíz de MariaDB
    3. Establecer max_allowed_packets para MariaDB
  4. Paquetes Adicionales
  • Instalar Bugzilla
    1. Crear una base de datos para Bugzilla
    2. Descargar y extraer Bugzilla
    3. Copiar la carpeta Bugzilla a la carpeta del servidor web
    4. Configuración final usando el script de instalación de Bugzilla
    5. Configurar Apache para albergar nuestra instalación de Bugzilla
      1. Volver al usuario normal
      2. Pruebe la instalación de Bugzilla con su navegador
  • Este HowTo lo guiará a través de la instalación de Bugzilla 5.0 en CentOS 7. Bugzilla es un sistema avanzado de seguimiento de errores, desarrollado por la Fundación Mozilla (la organización que desarrolla el famoso navegador Firefox). Bugzilla le permite rastrear defectos y cambios de código en sus aplicaciones, le permite comunicarse fácilmente con su equipo de desarrollo y enviar y revisar parches.

    Requisitos previos para CentOS

    Conexión a Internet

    Debe tener una instalación mínima de CentOS 7 con las últimas actualizaciones y la dirección IP y el nombre de host establecidos. Su máquina debería poder acceder a Internet. Si no puede acceder a Internet directamente y tiene que usar un servidor proxy, debe configurar yum para usar un proxy editando /etc/yum.conf. Agregue las siguientes líneas (cámbielas según sus necesidades):

    # El servidor proxy - servidor proxy:puerto
    proxy=http://192.168.178.1:8080
    # Los detalles de la cuenta para conexiones yum
    # proxy_username=yum-user
    # proxy_password=qwerty


    Cuando usamos herramientas de línea de comandos que requieren acceso a Internet y está detrás de un servidor proxy, asegúrese de ejecutar siempre los siguientes dos comandos antes de usar comandos que necesitan una conexión a Internet:

    exportar http_proxy=http://192.168.178.1:8080/
    exportar https_proxy=http://192.168.178.1:8080/


    Con este método, debería poder usar este instructivo incluso si está detrás de un proxy.

    SELinux

    Security-Enhanced Linux (SELinux) es un mecanismo de seguridad de control de acceso obligatorio (MAC) implementado en el kernel. Es un excelente mecanismo de seguridad, pero romperá Bugzilla hasta que se lance un paquete oficial de Bugzilla 5.0 rpm que también configurará SELinux. Entonces, en este punto, configuraremos SELinux en modo permisivo. En este modo, SELinux está habilitado pero no aplicará la política de seguridad.

    Deshabilitar SELinux

    Ejecute el siguiente comando para cambiar el modo SELinux de obligatorio a permisivo.

    sudo sed -i 's/^SELINUX=hacer cumplir$/SELINUX=permisivo/g' /etc/selinux/config


    El archivo ahora debería verse así:

    # Este archivo controla el estado de SELinux en el sistema.
    # SELINUX=puede tomar uno de estos tres valores:
    #     cumplimiento:se aplica la política de seguridad de SELinux.
    #     permisivo:SELinux imprime advertencias en lugar de aplicar.
    #     inhabilitado:no se carga ninguna política de SELinux.
    SELINUX=permisivo
    # SELINUXTYPE=puede tomar uno de dos valores:
    #     dirigido:los procesos objetivo están protegidos ,
    #     mínimo:modificación de la política específica. Solo los procesos seleccionados están protegidos.
    #     mls:protección de seguridad multinivel.
    SELINUXTYPE=targeted


    Después de ese cambio, reinicia tu máquina.

    Cuenta utilizada para la instalación

    Si no se indica explícitamente lo contrario, todos los comandos de este instructivo se ejecutan como el usuario 'instalador', que es un usuario administrativo en la máquina CentOS 7 y puede ejecutar comandos con 'sudo'.

    Repositorios Adicionales

    Necesitaremos muchos paquetes que no están en los repositorios oficiales de CentOS, por lo que habilitamos un repositorio adicional en nuestra caja de CentOS.

    Habilitar repositorio Epel

    Ejecute los siguientes comandos para habilitar el repositorio de epel.

    sudo yum install deltarpm epel-release
    sudo yum update


    Información:Debe aceptar la clave GPG de epel al instalar el primer paquete desde el repositorio de epel.

    Instalar Apache con mod_ssl y mod_perl

    sudo yum install httpd httpd-devel mod_ssl mod_ssl mod_perl mod_perl-devel


    Esto instalará Apache, mod_ssl, mod_perl y wget con todas las dependencias necesarias.

    Habilitar e iniciar httpd.service

    CentOS 7 usa systemd, por lo que habilitaremos e iniciaremos Apache de la 'manera systemd'.

    Iniciar httpd.servicio

    sudo systemctl start httpd.servicio

    Verificar estado de httpd.service

    sudo systemctl estado httpd.servicio


    Este comando debería indicarle que httpd.service se está ejecutando (algunas líneas eliminadas)

    httpd.service:el servidor Apache HTTP
       Cargado:cargado (/usr/lib/systemd/system/httpd.service; deshabilitado)
       Activo:activo (en ejecución) desde el martes 04-08-2015 11:18:03 CEST; Hace 6 s
     PID principal:11930 (/usr/sbin/httpd)
    ...

    Habilitar permanentemente httpd.service

    Después de verificar el resultado anterior, habilitamos httpd.service para iniciarse automáticamente con:

    sudo systemctl habilitar httpd.servicio


    El sistema creará automáticamente un enlace simbólico para habilitar el servicio http. para el inicio automático.

    Abrir el puerto 80 en el cortafuegos local para permitir solicitudes HTTP

    CentOS 7 usa FirewallD, por lo que tenemos que usar firewall-cmd para cambiar la configuración del firewall para permitir conexiones entrantes en el puerto 80 (HTTP).

    sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
    # éxito
    sudo firewall-cmd --reload
    # éxito

    Probar el servidor web Apache

    Use un navegador y abra http://ip-of-your-server/ (reemplace ip-of-your-server con la dirección IP de su servidor). Debería ver la página de prueba de Apache. - ¡Apache está funcionando!

    Instalar MariaDB

    CentOS 7 viene con MariaDB en lugar de MySQL. MariaDB es un código abierto equivalente a MySQL. Para instalar MariaDB ejecute los siguientes comandos:

    sudo yum install mariadb-server mariadb mariadb-devel php-mysql

    Hacer que MariaDB se inicie automáticamente al arrancar

    Para iniciar automáticamente MariaDB en el arranque, lo configuramos como un servicio de la misma manera que lo hicimos antes con httpd.service. Ejecute los siguientes tres comandos para iniciar, verifique el estado y habilite MariaDB como un servicio permanente:

    sudo systemctl start mariadb.service
    sudo systemctl status mariadb.service
    sudo systemctl enable mariadb.service

    Establecer contraseña raíz de MariaDB

    Abra un indicador de SQL en su servidor MariaDB ejecutando el siguiente comando:

    mysql -u raíz


    Debe aterrizar en el aviso de MariaDB. ¡En los siguientes comandos, debe reemplazar myrootpassword con la contraseña que desea usar para su usuario root de MariaDB!

    MariaDB [ (ninguno) ]> SET PASSWORD FOR 'root'@'localhost' =PASSWORD('myrootpassword'); Consulta OK, 0 filas afectadas (0.00 seg) MariaDB [ (ninguno) ]> \qBye


    Ahora intente si puede iniciar sesión con el usuario root

    mysql -u root -p
    Ingrese la contraseña:myrootpasswordBienvenido al monitor de MariaDB. Los comandos terminan en; o \g.
    Su ID de conexión de MariaDB es 5
    Versión del servidor:5.5.41-MariaDB MariaDB Server
    Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab y otros.
    Escriba 'ayuda;' o '\h' para obtener ayuda. Escriba '\c' para borrar la declaración de entrada actual. MariaDB [ (ninguno) ]> \qBye

    Establecer max_allowed_packets para MariaDB

    Bugzilla necesita un tamaño mínimo de 'max_allowed_packet' configurado dentro de MariaDB. Así que cambiemos la configuración genérica de MariaDB para establecer el tamaño de 'max_allowed_packet' en 4 MBytes.
    Abra '/etc/my.cnf' con su editor y agregue las siguientes líneas debajo de la sección '[mysqld]':

    # Bugzilla
    # tamaño máximo permitido para subir archivos adjuntos
    #¡cambia esto si necesitas más!
    max_allowed_packet=4M


    Después de ese cambio, todo 'my.cnf' se ve así:

    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    # Se recomienda deshabilitar los enlaces simbólicos para evitar diversos riesgos de seguridad
    enlaces simbólicos=0
    # Las configuraciones de usuario y grupo se ignoran cuando se usa systemd.
    # Si necesita ejecutar mysqld con un usuario o grupo diferente,
    # personalice su archivo de unidad systemd para mariadb de acuerdo con las
    # instrucciones en http://fedoraproject.org/wiki/Systemd

    # Bugzilla
    # tamaño máximo permitido para cargar un archivo adjunto
    # ¡cámbielo si necesita más!
    max_allowed_packet=4M

    [mysqld_safe]
    log-error=/var/log/mariadb/mariadb.log
    pid-file =/var/run/mariadb/mariadb.pid

    #
    # incluir todos los archivos del directorio de configuración
    #
    !includedir /etc/my.cnf. d


    Los cambios surtirán efecto después de reiniciar MariaDB.

    sudo systemctl reiniciar mariadb.servicio

    Paquetes Adicionales

    Bugzilla necesita muchos paquetes adicionales, principalmente relacionados con Perl, algunos requisitos previos para que los módulos de Perl funcionen y una configuración para poder descargar e instalar módulos de Perl. Para ello instalamos todas las dependencias necesarias. También nos aseguramos de que

    NO INSTALE el paquete perl-homedir, porque esto interrumpiría la instalación de Bugzilla.

    ('perl-homedir' instalaría módulos perl en carpetas de usuario a las que Bugzilla no podrá acceder, ¡así que absolutamente no lo instale!)

    El siguiente comando se asegurará de que perl-homedir no esté instalado y instalará los otros paquetes necesarios:

    sudo yum install gcc gcc-c++ graphviz graphviz-devel patchutils gd gd-devel wget perl* -x perl-homedir


    ¡Se instalarán alrededor de 1300 paquetes!

    Instalar Bugzilla

    Ahora que hemos terminado todos los preparativos, estamos listos para descargar la última versión de Bugzilla, crear la base de datos y realizar la configuración final.

    Crear una base de datos para Bugzilla

    Para crear una base de datos para Bugzilla en nuestro servidor MariaDB, debemos abrir nuevamente el indicador raíz de MariaDB:

    mysql -u root -p
    Ingrese la contraseña:myrootpassword

    Bienvenido al monitor de MariaDB. Los comandos terminan en; o \g.
    Su ID de conexión de MariaDB es 5
    Versión del servidor:5.5.41-MariaDB MariaDB Server
    Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab y otros.
    Escriba 'ayuda;' o '\h' para obtener ayuda. Escriba '\c' para borrar la declaración de entrada actual.


    En el indicador raíz de MariaDB, ingrese los siguientes comandos para crear una base de datos 'bugs' y permitir que el usuario 'bugs' acceda a ella por completo. (¡Cambie 'bugsuserpassword' por su contraseña!)

    MariaDB [(ninguno)]> crear errores en la base de datos; consulta correcta, 1 fila afectada (0,00 segundos) MariaDB [(ninguno)]> otorgar todos los errores.* a [email protected] identificado por 'bugsuserpassword'; consulta correcta, 0 fila afectados (0.00 seg)MariaDB [ (ninguno) ]> \qBye

    Descargar y extraer Bugzilla

    Si bien hay diferentes opciones para obtener BugZilla, usamos wget para descargar el tarball. Queremos obtener la versión estable (5.0).

    cd
    wget 'https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-5.0.tar.gz'


    Una vez completada la descarga, extraemos el archivo:

    tar -xzvf bugzilla-5.0.tar.gz

    Copiar la carpeta Bugzilla a la carpeta del servidor web

    Ahora copiemos la carpeta extraída (bugzilla-5.0) a su ubicación de destino (/var/www/html/bugzilla) con el siguiente comando

    cd
    sudo cp -R ./bugzilla-5.0/ /var/www/html/bugzilla/

    Configuración final usando el script de instalación de Bugzilla

    Los siguientes comandos deben ejecutarse como usuario root, por lo que abrimos un shell raíz con el siguiente comando:

    sudo su
    [instalador de [correo electrónico protegido]]#


    Nuestro indicador ahora tiene un '#' al final, lo que significa que somos root. ¡Tenga cuidado con todos los comandos ahora! ¡El howto ahora siempre mostrará el aviso para decirle que debe ser root para ejecutar los comandos!

    Ahora (como root) cambiamos a la carpeta del servidor web donde reside bugzilla

    [[email protected] instalador]# cd /var/www/html/bugzilla
    [[email protected] bugzilla]#


    Ahora ejecute el siguiente comando para permitir que el script de instalación de Bugzilla verifique el estado de nuestra configuración

    [[email protected] bugzilla]# ./checksetup.pl


    Por lo general, el resultado del comando anterior nos dirá que faltan algunos módulos de Perl en nuestra instalación (opcionales y obligatorios) y que tenemos que instalar al menos los necesarios para poder continuar. Por supuesto, puede instalar todos los módulos opcionales requeridos (y si lo desea) ejecutando a mano los comandos que le mostrará el script de instalación, pero con este único comando instalará todos los módulos perl necesarios a la vez (obligatorios y opcionales). Así que vamos a ejecutarlo:

    [[email protected] bugzilla]# /usr/bin/perl install-module.pl --all


    La secuencia de comandos de instalación establecerá ahora una configuración de CPAN temporal e intentará instalar todos los módulos perl que necesita Bugzilla (obligatorios y opcionales). Solo deben aparecer algunas advertencias menores durante el proceso.

    Al final, verifiquemos nuevamente el estado de la instalación ejecutando checksetup.pl

    [[email protected] bugzilla]# ./checksetup.pl


    Todas las dependencias deberían estar bien ahora, excepto un módulo ( DBD-Oracle (v1.19)  que no se encuentra. Esto está bien porque este módulo solo se instalará si encuentra una instalación de Oracle en funcionamiento que no tenemos.

    El script de instalación ahora mostrará el siguiente texto:

    Leyendo ./localconfig...

    Esta versión de Bugzilla contiene algunas variables que puede querer
    cambiar y adaptar a su configuración local. Las siguientes variables son
    nuevas en ./localconfig desde la última vez que ejecutó checksetup.pl:

    create_htaccess, webservergroup, use_suexec, db_driver, db_host,
    db_name, db_user, db_pass, db_port , db_sock, db_check,
    db_mysql_ssl_ca_file, db_mysql_ssl_ca_path, db_mysql_ssl_client_cert,
    db_mysql_ssl_client_key, index_html, interdiffbin, diffpath,
    site_wide_secret

    Edite y vuelva a configurar localmente el archivo . -Ejecute checksetup.pl
    para completar su instalación.


    Entonces, como se indicó anteriormente, abrimos ./localconfig con nuestro editor y lo cambiamos según nuestras necesidades. Aquí está el que usé (comentarios eliminados), ¡asegúrese de cambiar los nombres de la base de datos y las contraseñas según sus necesidades!

    $create_htaccess =1;
    $webservergroup ='apache';
    $use_suexec =0;
    $db_driver ='mysql';
    $db_host ='localhost';
    $db_name ='bugs';
    $db_user ='bugs';
    $db_pass ='bugsuserpassword';
    $db_port =0;
    $db_sock ='';
    $db_check =1;
    $db_mysql_ssl_ca_file ='';
    $db_mysql_ssl_ca_path ='';
    $db_mysql_ssl_client_cert ='';
    $db_mysql_ssl_client_key ='';
    $index_html =0;
    $interdiffbin ='/bin/interdiff';
    $diffpath ='/bin';
    $site_wide_secret ='ifKuihguW8nlxLcxeNU4whHzFbxDIGWSvtR6S7Ul38cFQn004YDcVzuBJfnF8M9X';


    Ahora ejecutemos el script de configuración nuevamente. Ahora debería detectar la configuración correcta de la base de datos y comenzar a acceder al servidor MariaDB para una configuración final.

    [[email protected] bugzilla]# ./checksetup.pl


    Salida (algunas líneas eliminadas)

    ...
    ...
    Agregando nueva tabla bz_schema...
    Inicializando bz_schema...
    Creando tablas...
    Convirtiendo el tamaño máximo de datos adjuntos a 100G. ..
    Configuración de opciones para campos desplegables estándar:
       prioridad bug_status rep_platform resolución bug_severity op_sys
    Creando ./directorio de datos...
    ...
    . ..
    Precompilación de plantillas... listo.
    Reparación de permisos de archivo...
    Inicialización de "Cambios en el árbol de dependencias" email_setting ...
    Inicialización de "Cambios en productos/componentes" email_setting . ..
    Marcar estados de errores cerrados como tales...
    Crear clasificación predeterminada 'Sin clasificar'...
    Configurar claves foráneas...
    Configurar el flujo de trabajo de estado predeterminado. ..
    Creando grupos predeterminados...
    Configurando preferencias de usuario...

    Parece que todavía no tenemos un administrador configurado. O esta es
    la primera vez que usa Bugzilla, o sus privilegios de administrador
    podrían haber sido borrados accidentalmente.

    Ingrese la dirección de correo electrónico del administrador:


    Ahora sigue las indicaciones y finaliza tu configuración (¡usa tus valores para las respuestas aquí!):

    Ingrese la dirección de correo electrónico del administrador:[email protected]
    Ingrese el nombre real del administrador:Der PCFreak
    Ingrese una contraseña para la cuenta del administrador:adminpassword
    Por favor, vuelva a escribir la contraseña para verificar:adminpassword
    [email protected] ahora está configurado como administrador.


    Cuando todo salió bien, debería ver:

    Creando el producto ficticio inicial 'TestProduct'...

    Ahora que ha instalado Bugzilla, debe visitar la página 'Parámetros'
    (vinculada en el pie de página de la cuenta de administrador) para asegurarse de que
    está configurada como desee, esto incluye configurar la opción 'urlbase' en
    la URL correcta.
    checksetup.pl completo.


    En este punto casi hemos terminado. Ejecute la siguiente línea para comentar una línea en el archivo .htaccess que creó el script de instalación de Bugzilla:

    [[email protected] bugzilla]# sed -i 's/^Opciones -Índices$/#Opciones -Índices/g' ./.htaccess

    Configure Apache para alojar nuestra instalación de Bugzilla

    Apache todavía no sabe nada sobre Bugzilla. Así que vamos a crear el archivo /etc/httpd/conf.d/bugzilla.conf con el siguiente contenido para presentar nuestro sitio web Bugzilla al servicio httpd.

    #/etc/httpd/conf.d/bugzilla.conf
    <VirtualHost *:80>

    DocumentRoot /var/www/html/bugzilla/
    </VirtualHost>
    <Directory /var/www/html/bugzilla>
    AddHandler cgi-script .cgi
    Options +Indexes +ExecCGI
    DirectoryIndex index.cgi
    AllowOverride Limit FileInfo Indexes
    </Directory>


    Una vez creado el archivo reiniciamos Apache para que los cambios surtan efecto:

    [[email protected] bugzilla]# systemctl reiniciar httpd.servicio

    Regresar a usuario normal

    Ya no es necesario trabajar como root, puede usar sudo ahora si necesita privilegios de root. Ejecute el siguiente comando para salir del shell raíz:

    [[email protected] bugzilla]# exit
    [[email protected] ~]$

    Prueba la instalación de Bugzilla con tu navegador

    Use un navegador y abra http://ip-of-your-server/ (reemplace ip-of-your-server con la dirección IP de su servidor). Ahora debería ver la página de Bugzilla en lugar de la página de prueba predeterminada de Apache.
    Ahora puede iniciar sesión con las credenciales que proporcionó en el script de instalación de Bugzilla. En este How-To esto fue:

    Dirección de correo electrónico:[email protected]
    Contraseña     :adminpassword


    ¡Voilá! Ahora tiene una instalación de Bugzilla 5.0 en funcionamiento en CentOS 7. Ahora puede continuar configurando los detalles de Bugzilla dentro de la interfaz web de Bugzilla.


    Cent OS
    1. Cómo instalar PHP 7, 7.2 y 7.3 en CentOS 7

    2. Cómo instalar Java 11 y 12 en CentOS 7

    3. Cómo instalar Wine 4.0 en CentOS 7

    4. Cómo instalar Vim 8.2 en CentOS 7

    5. Cómo instalar Bugzilla en CentOS 6

    Cómo instalar Java en CentOS 7

    Cómo instalar Ruby en CentOS 7

    Cómo instalar PostgreSQL en CentOS 7

    Cómo instalar Go en CentOS 7

    Cómo instalar R en CentOS 7

    Cómo instalar R en CentOS 8