Sunteți pe pagina 1din 13

i

INFRAESTRUCTURA

Integrate Ubuntu 16.04 to AD as a Domain Member with Samba


INFORME
and Winbind
Tabla de Contenidos
PROPIEDADES DEL SERVIDOR EN DONDE SE INSTALA...............................................................................3
Características principales..................................................................................................3
Características secundarias.................................................................................................3
Librerías instaladas......................................................................................................................3
PREREQUISITOS...........................................................................................................................................4
Instalación de prerrequisitos................................................................................................4
Obligatorio Servidor Web...............................................................................................................4
Obligatorio Ruby and others..........................................................................................................4
Obligatorio Servidor de Base de Datos...........................................................................................4
Opcional Administración del servidor con COCKPIT........................................................................4
Obligatorio Imagemagick..............................................................................................................4
Operaciones sobre la DB.....................................................................................................5
Creación de usuarios y bases de datos con permisos......................................................................5
Acceso Remoto............................................................................................................................ 6
PROCESO DE INSTALACIÓN.........................................................................................................................7
Método 1 Instalación desde repositorio.................................................................................7
Instalando dependencias de los paquetes requeridos.....................................................................7
Instalando los paquetes requeridos...............................................................................................7
Salida de la instalación.................................................................................................................8
Método 2 Instalación desde la fuente...................................................................................11
Descargando y extrayendo archivos fuente de redmine..................................................................11
Proceso de confguración de redmine...........................................................................................11
Actualizar gemas de ruby.............................................................................................................11
Confguración del archivo de la DB en redmine...............................................................................11
Creación del enlace simbólico de redmine.....................................................................................12
Confguración de passenger sobre apache....................................................................................12
Confguración y habilitación del correo..........................................................................................13
PROPIEDADES DEL SERVIDOR EN DONDE SE
INSTALA
CARACTERÍSTICAS PRINCIPALES

CARACTERÍSTICAS SECUNDARIAS
Librerías instaladas
• vim

• git
PREREQUISITOS
Para la instalación nos hemos basado en algunos libros como en la pagina ofcial, a continuación
presentamos algunos enlaces a sitios web de interés para este tutorial.
A continuación asumiremos que vamos desde cero en un servidor linux Ubuntu 16.04 virgen

INSTALACIÓN DE PRERREQUISITOS
Obligatorio Servidor Web
Para lanzar el servidor web con la aplicación y redmine
sudo apt-get build-dep apache2 -y && sudo apt-get install apache2 -y

Obligatorio Ruby and others


Para ejecutar ruby y otros utilitarios

sudo apt-get build-dep ruby ruby-railties ruby-dev build-essential zlib1g-dev


libmysqlclient-dev

sudo apt-get install ruby ruby-railties ruby-dev build-essential zlib1g-dev


libmysqlclient-dev

Obligatorio Servidor de Base de Datos


Es preferible usar como contraseña “password.2017”, ya que de momento seria la contraseña por
defecto para el usuario root en cualquier base de datos mysql usada en la empresa.

sudo apt-get build-dep mysql-server-core-5.7 mysql-server-5.7 mysql-client-5.7 -y


sudo apt-get install mysql-server-core-5.7 mysql-server-5.7 mysql-client-5.7 -y

Opcional Administración del servidor con COCKPIT

sudo apt-get build-dep cockpit -y && sudo apt install cockpit -y


sudo apt-get build-dep ranger -y && sudo apt install ranger -y

Obligatorio Imagemagick
Esto es para mostrar los diagramas de gantt de la aplicación.

sudo apt-get build-dep imagemagick libmagickwand-dev


OPERACIONES SOBRE LA DB
Creación de usuarios y bases de datos con permisos

mysql> CREATE USER 'dbaAdmin'@'%' IDENTIFIED BY 'password.2017';


Query OK, 0 rows affected (0.01 sec)

mysql> CREATE USER 'dbaRedmine'@'%' IDENTIFIED BY 'password.2016';


Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON * . * TO 'dbaAdmin'@'%' WITH GRANT OPTION;


Query OK, 0 rows affected (0.00 sec)

mysql> CREATE DATABASE DB_REDMINE;


Query OK, 1 row affected (0.00 sec)

mysql> CREATE DATABASE DB_REDMINE_341;


Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON DB_REDMINE.* TO 'dbaRedmine'@'%';


Query OK, 0 rows affected (0.01 sec)

mysql> GRANT ALL PRIVILEGES ON DB_REDMINE_341.* TO 'dbaRedmine'@'%';


Query OK, 0 rows affected (0.01 sec)

mysql> FLUSH PRIVILEGES;


Query OK, 0 rows affected (0.00 sec)

En la parte anterior hemos creado dos usuarios que se pueden conectar desde cualquier host de las
redes que pueden acceder a ese servidor DB_MYSQL sin embargo solo uno tiene privilegios de root
sobre la DB.
Para mayor información acerca de los permisos por favor consultar el siguiente link:
https://dev.mysql.com/doc/refman/5.7/en/connection-access.html
En el caso de querer borrar los usuarios creados por favor consultar los siguientes links
https://stackoverfow.com/questions/5555328/error-1396-hy000-operation-create-user-failed-for-
jacklocalhost
Acceso Remoto
Para esto editamos el archivo siguiente /etc/mysql/mysql.conf.d/mysql.cnf
Cambiamos de esto
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
Bind-address = 127.0.0.1

a esto
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
Bind-address = 0.0.0.0

y reiniciamos el servicio de mysql

sudo service mysql restart


[ ok ] Stopping MySQL database server: mysqld.
[ ok ] Starting MySQL database server: mysqld ..
[info] Checking for tables which need an upgrade, are corrupt or were
not closed cleanly..
PROCESO DE INSTALACIÓN
Vamos a seguir las especifcaciones recomendadas por un libro de redmine que se lo puede encontrar
en http://fle.allitebooks.com/20170531/Redmine Cookbook.pdf
Específcamente en la pagina 22, aunque con ciertas modifcaciones, se sigue un proceso parecido
para la instalación.

MÉTODO 1 INSTALACIÓN DESDE REPOSITORIO


Instalando dependencias de los paquetes requeridos

sudo apt-get build-dep redmine redmine-mysql

Instalando los paquetes requeridos

sudo apt-get install redmine redmine-mysql

El password usado sera “password.2016”


Salida de la instalación
Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
Selecting previously unselected package dbconfig-mysql.
(Reading database ... 459444 files and directories currently installed.)
Preparing to unpack .../dbconfig-mysql_2.0.4ubuntu1_all.deb ...
Unpacking dbconfig-mysql (2.0.4ubuntu1) ...
Selecting previously unselected package ruby-eventmachine.
Preparing to unpack .../ruby-eventmachine_1.0.7-3build3_amd64.deb ...
Unpacking ruby-eventmachine (1.0.7-3build3) ...
Selecting previously unselected package ruby-mysql2.
Preparing to unpack .../ruby-mysql2_0.4.3-2ubuntu2_amd64.deb ...
Unpacking ruby-mysql2 (0.4.3-2ubuntu2) ...
Selecting previously unselected package redmine-mysql.
Preparing to unpack .../redmine-mysql_3.2.1-2_all.deb ...
Unpacking redmine-mysql (3.2.1-2) ...
Selecting previously unselected package redmine.
Preparing to unpack .../redmine_3.2.1-2_all.deb ...
Unpacking redmine (3.2.1-2) ...
Selecting previously unselected package passenger.
Preparing to unpack .../passenger_5.0.27-2_amd64.deb ...
Unpacking passenger (5.0.27-2) ...
Selecting previously unselected package rails.
Preparing to unpack .../rails_2%3a4.2.6-1_all.deb ...
Unpacking rails (2:4.2.6-1) ...
Selecting previously unselected package libjs-codemirror.
Preparing to unpack .../libjs-codemirror_5.4.0-1_all.deb ...
Unpacking libjs-codemirror (5.4.0-1) ...
Selecting previously unselected package redmine-plugin-custom-css.
Preparing to unpack .../redmine-plugin-custom-css_0.1.6+dfsg-1_all.deb ...
Unpacking redmine-plugin-custom-css (0.1.6+dfsg-1) ...
Selecting previously unselected package redmine-plugin-local-avatars.
Preparing to unpack .../redmine-plugin-local-avatars_1.0.1-1_all.deb ...
Unpacking redmine-plugin-local-avatars (1.0.1-1) ...
Selecting previously unselected package redmine-plugin-pretend.
Preparing to unpack .../redmine-plugin-pretend_0.0.2+git20130821-3_all.deb ...
Unpacking redmine-plugin-pretend (0.0.2+git20130821-3) ...
Selecting previously unselected package ruby-recaptcha.
Preparing to unpack .../ruby-recaptcha_0.4.0-1_all.deb ...
Unpacking ruby-recaptcha (0.4.0-1) ...
Selecting previously unselected package redmine-plugin-recaptcha.
Preparing to unpack .../redmine-plugin-recaptcha_0.1.0+git20121018-3_all.deb ...
Unpacking redmine-plugin-recaptcha (0.1.0+git20121018-3) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for doc-base (0.10.7) ...
Processing 1 added doc-base file...
Registering documents with scrollkeeper...
Setting up dbconfig-mysql (2.0.4ubuntu1) ...
Setting up ruby-eventmachine (1.0.7-3build3) ...
Setting up ruby-mysql2 (0.4.3-2ubuntu2) ...
Setting up redmine-mysql (3.2.1-2) ...
Setting up redmine (3.2.1-2) ...
Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
dbconfig-common: writing config to
/etc/dbconfig-common/redmine/instances/default.conf

Creating config file /etc/dbconfig-common/redmine/instances/default.conf with new


version

Creating config file /etc/redmine/default/database.yml with new version


granting access to database redmine_default for redmine/instance@localhost:
success.
verifying access for redmine/instance@localhost: success.
creating database redmine_default: success.
verifying database redmine_default exists: success.
dbconfig-common: flushing administrative password
rake aborted!
Could not create directory
/usr/share/redmine/public/plugin_assets/redmine_custom_css/javascripts: Permission den
ir_s_mkdir - /usr/share/redmine/public/plugin_assets/redmine_custom_css
/usr/share/redmine/lib/redmine/plugin.rb:395:in `rescue in mirror_assets'
/usr/share/redmine/lib/redmine/plugin.rb:392:in `mirror_assets'
/usr/share/redmine/lib/redmine/plugin.rb:428:in `block in mirror_assets'
/usr/share/redmine/lib/redmine/plugin.rb:427:in `each'
/usr/share/redmine/lib/redmine/plugin.rb:427:in `mirror_assets'
/usr/share/redmine/config/initializers/30-redmine.rb:23:in `<top (required)>'
/usr/share/redmine/config/environment.rb:14:in `<top (required)>'
Errno::EACCES: Permission denied @ dir_s_mkdir -
/usr/share/redmine/public/plugin_assets/redmine_custom_css
/usr/share/redmine/lib/redmine/plugin.rb:393:in `mirror_assets'
/usr/share/redmine/lib/redmine/plugin.rb:428:in `block in mirror_assets'
/usr/share/redmine/lib/redmine/plugin.rb:427:in `each'
/usr/share/redmine/lib/redmine/plugin.rb:427:in `mirror_assets'
/usr/share/redmine/config/initializers/30-redmine.rb:23:in `<top (required)>'
/usr/share/redmine/config/environment.rb:14:in `<top (required)>'
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)
dpkg: error processing package redmine (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up passenger (5.0.27-2) ...
Setting up rails (2:4.2.6-1) ...
Setting up libjs-codemirror (5.4.0-1) ...
dpkg: dependency problems prevent configuration of redmine-plugin-custom-css:
redmine-plugin-custom-css depends on redmine (>= 2.3.1~); however:
Package redmine is not configured yet.

dpkg: error processing package redmine-plugin-custom-css (--configure):


dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error
from a previous failure.
dpkg: dependency problems prevent configuration of redmine-plugin-local-avatars:
redmine-plugin-local-avatars depends on redmine (>= 2.3.1~); however:
Package redmine is not configured yet.

dpkg: error processing package redmine-plugin-local-avatars (--configure):


dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of redmine-plugin-pretend:
redmine-plugin-pretend depends on redmine (>= 2.3.1~); however:
Package redmine is not configured yet.
dpkg: error processing package redmine-plugin-pretend (--configure):
dependency problems - leaving unconfigured
Setting up ruby-recaptcha (0.4.0-1) ...
No apport report written because the error message indicates its a followup error
from a previous failure.
No apport report written because MaxReports is reached already
dpkg: dependency problems prevent configuration of redmine-plugin-recaptcha:
redmine-plugin-recaptcha depends on redmine (>= 2.0.0); however:
Package redmine is not configured yet.

dpkg: error processing package redmine-plugin-recaptcha (--configure):


dependency problems - leaving unconfigured
No apport report written because MaxReports is reached already
Errors were encountered while processing:
redmine
redmine-plugin-custom-css
redmine-plugin-local-avatars
redmine-plugin-pretend
redmine-plugin-recaptcha
E: Sub-process /usr/bin/dpkg returned an error code (1)

NOTA:
De momento este método no funciono sin embargo es mas rápido que el
segundo método.
MÉTODO 2 INSTALACIÓN DESDE LA FUENTE

Descargando y extrayendo archivos fuente de redmine


Posicionarse en el directorio siguiente /home/<USUARIO_NO_ROOT>, pero en nuestro caso es:

cd /home/csiguam

Descargar desde el repositorio de github de redmine, existen otras formas que se las pueden
encontrar en el manual de redmine http://www.redmine.org/projects/redmine/wiki/Download

git clone https://github.com/redmine/redmine.git

Proceso de configuración de redmine


Actualizar gemas de ruby
Actualizar las gemas, ya que con esta herramienta lograremos desplegar la aplicación web, junto con
webrick, el cual es un servidor web liviano.

sudo gem update && sudo gem install bundler

Configuración del archivo de la DB en redmine


Implementar el archivo de confguración de la DB a utilizar, en nuestro caso MYSQL
cd /home/csiguam/redmine/config
cp database.yml.example database.yml

Editar el archivo de confguración de la conexión de la base de datos


de esto
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: ""
encoding: utf8

a esto
production:
adapter: mysql2
database: DB_REDMINE
host: localhost
username: dbaRedmine
password: "password.2016"
encoding: utf8

Creación del enlace simbólico de redmine


sudo ln -s /home/csiguam/redmine341/public /var/www/html/redmine341

Configuración de passenger sobre apache


Es importante destacar que este archivo de confguración se debe posicionar o crear sobre el
siguiente directorio /etc/apache2/sites-available/ es decir que si no existe hay que crearlo

Note para el trabajo actual tan solo fue necesario copiar el 000-default.conf que
viene por defecto en apache y añadir unas pocas lineas

<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifes what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this fle) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/redmine341

<Directory /var/www/html/redmine341>
RailsBaseURI /redmine
PassengerResolveSymlinksInDocumentRoot on
</Directory>

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,


# error, crit, alert, emerg.
# It is also possible to confgure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/redmine341_passenger_error.log
CustomLog ${APACHE_LOG_DIR}/redmine341_passenger_error_access.log combined

# For most confguration fles from conf-available/, which are


# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI confguration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet


La parte de confguración de los logs es importante ya que siempre los logs ayudan a saber que no
esta funcionando en la instalación y despliegue de la aplicación.

Configuración y habilitación del correo


Confguración original que funciona
1 configuration.yml
production:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: 172.20.1.5
port: 25
tls: false
enable_starttls_auto: false
domain: 'empresa.gob.co'
authentication: :none
#user_name: 'redmine@empresa.gob.co'
#password: '2016.Password'
openssl_verify_mode: 'none'

Error del clima


Could not fnd gem 'codeclimate-test-reporter' in any of the gem sources listed in your Gemfle or
available on this machine.

S-ar putea să vă placă și