En esta página
- Requisitos previos para CentOS
- Conexión a Internet
- SELinux
- Deshabilitar SELinux
- Cuenta utilizada para la instalación
- Repositorios adicionales
- Habilitar repositorio Epel
- Instalar Apache con mod_ssl y mod_perl
- Habilite e inicie el servicio httpd.
- Iniciar httpd.servicio
- Comprobar el estado de httpd.service
- Habilitar permanentemente httpd.service
- Abrir el puerto 80 en el cortafuegos local para permitir solicitudes HTTP
- Pruebe el servidor web Apache
- Habilite e inicie el servicio httpd.
- Instalar MariaDB
- Hacer que MariaDB se inicie automáticamente al arrancar
- Establecer contraseña raíz de MariaDB
- Establecer max_allowed_packets para MariaDB
- Paquetes Adicionales
- Crear una base de datos para Bugzilla
- Descargar y extraer Bugzilla
- Copiar la carpeta Bugzilla a la carpeta del servidor web
- Configuración final usando el script de instalación de Bugzilla
- Configurar Apache para albergar nuestra instalación de Bugzilla
- Volver al usuario normal
- 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:puertoproxy=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 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í:
# 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-releasesudo 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.servicioVerificar estado de httpd.service
sudo systemctl estado httpd.servicio
Este comando debería indicarle que httpd.service se está ejecutando (algunas líneas eliminadas)
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-mysqlHacer 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.servicesudo 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!
Ahora intente si puede iniciar sesión con el usuario root
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]':
# 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í:
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.
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:
¡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 -pIngrese 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!)
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] bugzilla]#
Ahora ejecute el siguiente comando para permitir que el script de instalación de Bugzilla verifique el estado de nuestra configuración
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:
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
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:
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!
$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.
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 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:
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:
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:
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:
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.