anúncios

quarta-feira, 14 de outubro de 2015

Resetando a senha de root do MySQL no Linux

O objetivo deste post, é resetar a senha do MySQL, caso tenha esquecido devido um longo período sem utilizar o MySQL.

Observação: Distro utilizada: Debian 8 (Jessie), mas pode ser utilizado em distros derivadas do Debian, como o Ubuntu/Mint e até outras distros não derivadas do Debian, adaptando apenas a inicialização do serviço do MySQL.

Segue os procedimentos:
Parar o serviço do MySQL
#/etc/init.d/mysql stop

Iniciar o serviço MySQL como segue:
#mysqld_safe --skip-grant-tables

Acessar o MySQL em outro terminal

$mysql -u root
Execute os comandos após o comando acima
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update user set password=PASSWORD("nova_senha_mysql") where User='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

Redefinindo as permissões
mysql> grant all privileges on *.* to 'root'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on *.* to 'root'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on *.* to 'root@localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> show grants for 'root'@'%';
+-------------------------------------------+
| Grants for root@% |
+-------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' |
+-------------------------------------------+
1 row in set (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql>quit

Parar o serviço do MySQL
# /etc/init.d/mysql stop
[ ok ] Stopping MySQL database server: mysqld.


Iniciar o serviço do MySQL normal
# /etc/init.d/mysql start
[ ok ] Starting MySQL database server: mysqld.


Por fim, faça o teste logando com a nova senha definida para o root no MySQL.
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 49
Server version: 5.5.44-0+deb7u1 (Debian)
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

Feito!

segunda-feira, 12 de outubro de 2015

Instalando e Configurando o Ocomon no Debian

O que é Ocomon ?

Ocomon é uma ferramenta open source de gerenciamento de chamados e inventário de informática que uma empresa deve ter.

Depois de conhecer o Ocomon e pra que serve, podemos seguir os procedimentos de instalação e configuração do Ocomon em seu servidor GNU/Linux Debian.

Observação: Testado no GNU/Linux Debian 8 (Jessie) e versão do Ocomon é 2.0-RC6 até a data de publicação deste post.

Atualizando o repositório de pacotes
#apt-get update
Instalando os pacotes pré-requisitos necessários
#apt-get install apache2 mysql-server libmysqlclient15-dev php5 php5-gd php5-mysql snmp snmpd libsnmp-dev curl libssh2-1-dbg libssh2-1-dev libssh2-php php5-ssh2 php5-ldap php5-gd
Criando o banco de dados Ocomon no MySQL
# mysql_install_db
# mysql -u root -p
Enter password: < digite a senha de root que foi definida na instalação do MySQL >
mysql> create database ocomon character set utf8;
Criar o usuário ocomon para o banco ocomon
mysql> GRANT ALL PRIVILEGES ON *.* TO ocomon@localhost IDENTIFIED BY 'senha_ocomon' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> quit

Download do Ocomon
wget -c "http://sourceforge.net/projects/ocomonphp/files/ocomon_2.0-RC6.tar.gz"
Extrair o Ocomon para o diretório raiz do Apache
#tar -xzvf ocomon_2.0-RC6.tar.gz -C /var/www/html
Renomear ocomon_2.0-RC6 para helpdesk
OBS: Isso é opcional, apenas para facilitar ao usuário acessar na url.
#cd /var/www/html
#mv ocomon_2.0-RC6/ helpdesk

Ajuste de configuração
#cd /var/www/html/helpdesk/includes
#mv config.inc.php-dist config.inc.php
Altere as seguintes linhas no arquivo config.inc.php
#vim config.inc.php
linha 10: o usuário do banco definido para o Ocomon
linha 13: a senha do usuário acima definido para o Ocomon
linha 15: apenas trocar se o banco de dados estiver em outro servidor, nesse caso deve colocar o IP do servidor do banco de dados
linha 17: o nome do banco de dados criado para o Ocomon
ESC + :x (salva e sai do editor Vim)

Criar as tabelas do banco ocomon
Primeiro acessar até o diretório abaixo:
#cd /var/www/html/helpdesk/install/2.0RC6
Editar o script do banco
#vim DB_OCOMON_2.0RC6_FULL.SQL
linha 03: deixe o nome do banco de dados definido
Comente as linhas 05 e 06 deixando assim
/*CREATE USER ocomon@localhost IDENTIFIED BY 'senha_ocomon';
GRANT SELECT , INSERT , UPDATE , DELETE ON `ocomon` . * TO 'ocomon'@'localhost'; */

OBS: Como já foi criado o usuário ocomon com as permissões quando criamos o banco de dados ocomon, por isso essa linha foi comentada, pois já existe um usuário ocomon.
linha 08: deixe o nome do banco de dados definido

Agora é necessário substituir o TYPE por ENGINE, mas usaremos um atalho no Vim.
Deixe o Vim em modo padrão (comando) e segue a instrução.
ESC + %s/TYPE/ENGINE/g
A instrução acima substituirá o TYPE por ENGINE em todas as linhas.

Feito corretamente os passos anteriores, execute como segue
#mysql -u ocomon -p < DB_OCOMON_2.0RC6_FULL.SQL
Confira se gerou as tabelas
#mysql -u ocomon -p
mysql> show databases;
mysql> use ocomon;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A


Database changed
mysql> show tables;
+-----------------------------+
| Tables_in_ocomon |
+-----------------------------+
| CCUSTO |
| areaXarea_abrechamado |
| assentamentos |
| assistencia |
| avisos |
| cat_problema_sistemas |
| categoriaXproblema_sistemas |
| categorias |
| config |
| configusercall |
| contatos |
| doc_time |
| dominios |
| email_warranty |
| emprestimos |
| equipXpieces |
| equipamentos |
| estoque |
| fabricantes |
| feriados |
| fornecedores |
| global_tickets |
| hist_pieces |
| historico |
| hw_alter |
| hw_sw |
| imagens |
| instituicao |
| itens |
| licencas |
| localizacao |
| lock_oco |
| mail_hist |
| mail_list |
| mail_templates |
| mailconfig |
| marcas_comp |
| materiais |
| modelos_itens |
| modulos |
| moldes |
| msgconfig |
| nivel |
| ocodeps |
| ocorrencias |
| permissoes |
| polegada |
| predios |
| prior_atend |
| prior_nivel |
| prioridades |
| prob_tipo_1 |
| prob_tipo_2 |
| prob_tipo_3 |
| prob_x_script |
| problemas |
| reitorias |
| resolucao |
| script_solution |
| scripts |
| sistemas |
| situacao |
| sla_out |
| sla_solucao |
| softwares |
| solucoes |
| status |
| status_categ |
| styles |
| sw_padrao |
| temas |
| tempo_garantia |
| tempo_status |
| tipo_equip |
| tipo_garantia |
| tipo_imp |
| tipo_item |
| uprefs |
| usuarios |
| usuarios_areas |
| uthemes |
| utmp_usuarios |
+-----------------------------+
82 rows in set (0.00 sec)


Reinicie o serviço do MySQL
# /etc/init.d/mysql restart
[ ok ] Restarting mysql (via systemctl): mysql.service.


Reinicie o serviço do Apache
# /etc/init.d/apache2 restart
[ ok ] Restarting apache2 (via systemctl): apache2.service.


Acessar no browser -> http://IPSERVIDOR/helpdesk
Usuário e Password default são admin/admin respectivamente.

Se tiver problemas com acentuação, adicione no início das páginas a linha abaixo:
header('Content-Type: text/html; charset=iso-8859-1');
Feito!

sexta-feira, 9 de outubro de 2015

Instalando e Configurando o Jenkins no Debian

O que é Jenkins ?

Jenkins é uma ferramenta de integração contínua capaz de realizar o deploy da aplicação de forma automatizada. Assim, uma vez configurado os jobs corretamente de uma determinada hora, o deploy será feito na hora programada, caso ocorra alguma quebra de build, é encaminhado um e-mail para a equipe de desenvolvimento.

Depois de conhecer o Jenkins e pra que serve, podemos seguir os procedimentos de instalação e configuração do Jenkins em seu servidor GNU/Linux Debian.

Observação: Testado no GNU/Linux Debian 8 (Jessie) e versão atual do Jenkins é 1.632, do JDK é 1.8.60, do Tomcat é 8.0.26 e Maven é 3.3.3 até a data de publicação deste post.

Pré-requisitos: JDK, Tomcat, Maven

Download JDK
x86: wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-i586.tar.gz"
x64: wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-x64.tar.gz"

Download Tomcat
wget -c "http://ftp.unicamp.br/pub/apache/tomcat/tomcat-8/v8.0.26/bin/apache-tomcat-8.0.26.tar.gz"

Download Jenkins
wget -c "http://mirrors.jenkins-ci.org/war/latest/jenkins.war"

Configurando JDK
#mkdir /opt/java
#tar -xzvf jdk-8u60-linux-i586.tar.gz -C /opt/java

Criando link simbólico jdk8
#ln -s /opt/java/jdk1.8.0_6/ jdk8

Adicionar variável de ambiente $JAVA_HOME no PATH do sistema
#vim /etc/profile
export JAVA_HOME="/opt/java/jdk8"
export CLASSPATH="$JAVA_HOME/lib":$CLASSPATH
export PATH="$JAVA_HOME/bin":$PATH
export MANPATH="$JAVA_HOME/man":$MANPATH
ESC +:x (para salvar e sair do editor Vim).
#source /etc/profile

Configurando Tomcat
#mkdir /opt/tomcat
#tar -xzvf apache-tomcat-8.0.26.tar.gz -C /opt/tomcat
#chmod +x /opt/tomcat/apache-tomcat-8.0.26/bin/catalina.sh
#chmod +x /opt/tomcat/apache-tomcat-8.0.26/bin/startup.sh
#chmod +x /opt/tomcat/apache-tomcat-8.0.26/bin/shutdown.sh
Startar o Tomcat
#/opt/tomcat/apache-tomcat-8.0.26/startup.sh

Estrutura de diretórios do Tomcat
bin - executáveis e scripts do Tomcat
conf - arquivos de configuração do Tomcat
logs - arquivos de logs das aplicações, inclusive do Tomcat
temp - diretório temporário do Tomcat
webapps - diretório com os contextos (similar ao /var/www do Apache)
work - arquivos de servlets gerados pelo Tomcat a partir de JSPs
lib - bibliotecas comuns a todas as aplicações e ao Tomcat

Configurando Maven
wget -c "http://mirror.nbtelecom.com.br/apache/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz"
tar -xzvf apache-maven-3.3.3-bin.tar.gz -C /opt/

Adicionar variável de ambiente $MVN_HOME no PATH do sistema
#vim /etc/profile
export MVN_HOME="/opt/apache-maven-3.3.3/"
export PATH=$PATH:"$MVN_HOME/bin"
ESC +:x (para salvar e sair do editor Vim).
#source /etc/profile

Deploy Jenkins
Após a configuração do Tomcat, faremos o deploy do Jenkins.
Copiar o arquivo jenkins.war no diretório webapps do Tomcat.
#cp jenkins.war /opt/tomcat/apache-tomcat-8.0.26/webapps/

Reinicie o Tomcat
#/opt/tomcat/apache-tomcat-8.0.26/shutdown.sh
#/opt/tomcat/apache-tomcat-8.0.26/startup.sh

Acesse no browser -> http://IPSERVIDOR:8080/jenkins
Feito!

segunda-feira, 14 de setembro de 2015

Instalando e Configurando o SonarQube no Debian

O que é SonarQube ?

SonarQube é um software open-source que se propõe a ser a central de qualidade do seu código-fonte, lhe possibilitando o controle sobre um grande número de métricas de software, e ainda apontando uma série de possíveis bugs.

Depois de conhecer o SonarQube e pra que serve, podemos seguir os procedimentos de instalação e configuração do SonarQube em seu servidor GNU/Linux Debian.

Observação: Testado no GNU/Linux Debian 8 (Jessie) e versão atual do SonarQube é 5.1.2 até a data de publicação deste post.

Pré-requisitos: JDK, MySQL ou PostgreSQL.
Nesse post, será utilizado o Java 1.8, e MySQL

Download JDK
x86: wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-i586.tar.gz"
x64: wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u60-b27/jdk-8u60-linux-x64.tar.gz"

Download SonarQube
wget -c "https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-5.1.2.zip"

Instalação do MySQL
#apt-get update
#apt-get install mysql-server libmysqlclient15-dev


Configurando JDK
#apt-get purge openjdk-7-jre gcj-4.7-base gcj-4.7-jre openjdk-6-jre-headless #apt-get remove --purge openjdk-*

#mkdir /opt/java
#tar -xzvf jdk-8u60-linux-i586.tar.gz -C /opt/java


Criando link simbólico jdk8
#ln -s /opt/java/jdk1.8.0_6/ jdk8

Adicionar variável de ambiente $JAVA_HOME no PATH do sistema.
#vim /etc/profile
export JAVA_HOME="/opt/java/jdk8"
export CLASSPATH="$JAVA_HOME/lib":$CLASSPATH
export PATH="$JAVA_HOME/bin":$PATH
export MANPATH="$JAVA_HOME/man":$MANPATH

ESC +:x (para salvar e sair do editor Vim).
O mesmo conteúdo da variável de ambiente $JAVA_HOME no arquivo /etc/environment>
#source /etc/profile
#source /etc/environment

Criando o banco de dados Sonarqube no MySQL
# mysql_install_db
# mysql -u root -p
Enter password: < digite a senha de root que foi definida na instalação do MySQL >
mysql> create database sonar character set utf8;

Criar o usuário sonar para o banco sonar
mysql> GRANT ALL PRIVILEGES ON *.* TO sonar@localhost IDENTIFIED BY 'senha_sonar' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> quit

Configurando SonarQube
#unzip sonarqube-5.1.2.zip -d /opt
#cd /opt/sonarqube-5.1.2
#vim conf/sonar.properties
Por fim o username/password do banco de dados utilizado.
linha 18: sonar.jdbc.username: sonar
linha 19: sonar.jdbc.password: senha_sonarqube

Descomentar a linha referente ao banco de dados que será utilizado, nesse caso é o MySQL.
linha 33: sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
Definir o host/context
linha 99: sonar.web.host: Hostaname OU IP
linha 103: sonar.web.context: /sonar

Descomentar a linha 106 onde define a porta utilizada no Sonar.
linha 106: sonar.web.port=9000
ESC +:x (para salvar e sair do editor Vim).

Ajustar script de inicialização
Acesse de acordo com arquitetura do servidor Linux
x86: #vim /opt/sonarqube-5.1.2/bin/linux-x86-32/sonar.sh
x64: #vim /opt/sonarqube-5.1.2/bin/linux-x86-64/sonar.sh
Adicione as linhas abaixo, substituindo a arquitetura de acordo com servidor Linux.
SONAR_HOME=/opt/sonarqube-5.1.2
PLATAFORMA=linux-x86-32

E editar as linhas 28 e 29.
WRAPPER_CMD="${SONAR_HOME}/bin/${PLATAFORMA}/wrapper"
WRAPPER_CONF="${SONAR_HOME}/conf/wrapper.conf"

ESC +:x (para salvar e sair do editor Vim).

Startando o SonarQube
Utilize de acordo com a arquitetura do seu servidor Linux
x86: #chmod +x /opt/sonarqube-5.1.2/bin/linux-x86-32/sonar.sh
#/opt/sonarqube-5.1.2/bin/linux-x86-32/sonar.sh start
x64: #chmod +x /opt/sonarqube-5.1.2/bin/linux-x86-64/sonar.sh
#/opt/sonarqube-5.1.2/bin/linux-x86-64/sonar.sh start

Acesse no browser: http://IPSERVIDOR:9000/sonar
Feito!

domingo, 23 de agosto de 2015

Instalando e Configurando Redmine no Debian

O que é o Redmine ?

Redmine é um software livre, gerenciador de projetos baseados na web e ferramenta de gerenciamento de bugs. Ele contém calendário e gráficos de Gantt para ajudar na representação visual dos projetos e seus deadlines (prazos de entrega). Ele pode também trabalhar com múltiplos projetos.

O design do Redmine foi influenciado pelo Trac, um pacote de software semelhante.
O Redmine é escrito usando o framework Ruby on Rails. Ele é multiplataforma e suporta diversos banco de dados e possibilita o uso integrado com vários repositórios de versionamento de código fonte, tais como: SVN, Git, CVS.

Depois de conhecer o Redmine e pra que serve, podemos seguir os procedimentos de instalação e configuração do Redmine em seu servidor GNU/Linux Debian.

Observação: Testado no GNU/Linux Debian 8 (Jessie) e versão atual do Redmine é 3.1.0 até a data de publicação deste post.

Atualizando o repositório de pacotes
#apt-get update
Instalando os pacotes pré-requisitos necessários
#apt-get install rubygems, libopenssl-ruby libmysql-ruby libapache2-mod-fcgid libapache2-mod-passenger ruby libnet-ssh-ruby1.8 python-setuptools librmagick-ruby1.8 mysql-server libmysqlclient15-dev libmagickcore-dev libmagickwand-dev ruby-dev

Download do Readmine
Opcional: Salvo em /usr/src/

$wget -c "www.redmine.org/releases/redmine-3.1.0.tar.gz"
#tar -xzvf redmine-3.1.0.tar.gz -C /usr/src/

Habilitar os módulos abaixo no Apache
#a2enmod fcgid
#a2enmod passenger

Reinicie o servidor Apache
# /etc/init.d/apache2 restart
[ ok ] Restarting web server: apache2 ... waiting ....
Instalar o Rails
# gem install rails --version 4.0.0
Aguarde... É demorado essa parte.
Definição do banco de dados utilizado no Redmine, nesse caso será utilizado o MySQL.
#cd /usr/src/redmine-3.1.0/config
Renomeia o arquivo database.yml
#mv database.yml.example database.yml
Editar o arquivo database.yml com as informações (database, username, password) do banco criado anteriormente.

#vim database.yml
5 production:
6 adapter: mysql2
7 database: redmine
8 host: localhost
9 username: redmine
10 password: "senha_redmine"
11 encoding: utf8

Criando o banco de dados para o Redmine no MySQL
# mysql_install_db
# mysql -u root -p
Enter password: < digite a senha de root que foi definida na instalação do MySQL > Criar o banco de dados redmine
mysql> create database redmine character set utf8;
Criar o usuário redmine para o banco readmine
mysql> GRANT ALL PRIVILEGES ON *.* TO redmine@localhost IDENTIFIED BY 'senha_redmine' WITH GRANT OPTION; Query OK, 0 rows affected (0.15 sec)
mysql> quit

Instalação do bundler
#gem install bundler
#cd /usr/src/redmine-3.1.0
Nesse caso será instalado o Redmine sem os bancos PostgreSQL e SQLite, o banco utilizado é MySQL configurado anteriormente.

# bundle install --without postgresql sqlite development test
Log execução do bundle install. Um pouco demorado essa parte.
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
Fetching gem metadata from https://rubygems.org/.........
Fetching version metadata from https://rubygems.org/..
Resolving
dependencies.....................................................
Using rake 10.4.2
Using i18n 0.7.0
Installing json 1.8.3 with native extensions
Installing minitest 5.8.0
Using thread_safe 0.3.5
Installing tzinfo 1.2.2
Installing activesupport 4.2.3
Installing builder 3.2.2
Using erubis 2.7.0
Installing mini_portile 0.6.2
Installing nokogiri 1.6.6.2 with native extensions
Installing rails-deprecated_sanitizer 1.0.3
Installing rails-dom-testing 1.0.7
Installing loofah 2.0.3
Installing rails-html-sanitizer 1.0.2
Installing actionview 4.2.3
Installing rack 1.6.4
Using rack-test 0.6.3
Installing actionpack 4.2.3
Installing globalid 0.3.6
Installing activejob 4.2.3
Installing mime-types 2.6.1
Installing mail 2.6.3
Installing actionmailer 4.2.3
Installing actionpack-action_caching 1.1.1
Installing actionpack-xml_parser 1.0.2
Installing activemodel 4.2.3
Installing arel 6.0.3
Installing activerecord 4.2.3
Using bundler 1.10.6
Installing coderay 1.1.0
Using thor 0.19.1
Installing railties 4.2.3
Installing jquery-rails 3.1.3
Installing mysql2 0.3.19 with native extensions
Installing net-ldap 0.3.1
Installing protected_attributes 1.1.3
Installing ruby-openid 2.3.0
Installing rack-openid 1.4.2
Installing sprockets 3.3.2
Installing sprockets-rails 2.3.2
Installing rails 4.2.3
Installing rbpdf 1.18.6
Installing redcarpet 3.1.2 with native extensions
Installing request_store 1.0.5
Bundle complete! 28 Gemfile dependencies, 45 gems now installed.
Gems in the groups postgresql, sqlite, development, test and rmagick were not installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
Criar um token para sessão
#rake generate_secret_token
Criar as tabelas do banco de dados e popular a base de dados
RAILS_ENV=production rake db:migrate
RAILS_ENV=production REDMINE_LANG=pt-BR rake redmine:load_default_data


Acessar o diretório onde fez a instalação do Redmine, nesse caso é: /usr/src/redmine-3.1.0
cd /usr/src/redmine-3.1.0
Setando as devidas permissões do Redmine
#chown -R www-data:www-data files log tmp public/plugin_assets
#chmod -R 755 files log tmp public/plugin_assets


Startar o Redmine
# ruby script/rails server webrick -e production
script/rails no longer exists, please use bin/rails instead.
Se aparecer a mensagem acima, então fazer como sugere na mensagem.
# ruby bin/rails server webrick -e production
=> Booting WEBrick
=> Rails 4.2.3 application starting in production on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2015-08-19 22:04:11] INFO WEBrick 1.3.1
[2015-08-19 22:04:11] INFO ruby 1.9.3 (2012-04-20) [i486-linux]
[2015-08-19 22:04:11] INFO WEBrick::HTTPServer#start: pid=24768 port=3000
Teste no navegador: http://localhost:3000 ou http://ip-ou-nome-servidor:3000
Username: admin
Password: admin

Criando um script para inicialização automática
Por padrão o Redmine não inicializa o servidor WEBrick. Então será necessário criar um script para inicializá-lo sempre que o sistema operacional for iniciado.
Dentro do diretório /etc/init.d crie um arquivo com o nome redmine.sh, seta a permissão para a execução e adicione o conteúdo conforme abaixo:

#vim /etc/init.d/redmine.sh
#!/bin/bash
cd /usr/src/redmine-3.1.0
ruby bin/rails server webrick -e production
ESC + :x (sai e salva do editor Vim).
Em seguida adicione o script nos diretórios de inicialização com o seguinte comando:
#update-rc.d redmine.sh defaults 99
Screenshot Redmine em execução

Feito!

sexta-feira, 21 de agosto de 2015

4 anos de blog

O blog esta completando hoje, dia 21 de Agosto de 2015, 4 anos!!!

Gostaria de agradecer a todos pelo prestígio e a paciência de ler os posts que são publicados. Espero continuar compartilhando conhecimentos no blog para nossos leitores. Continuem prestigiando e divulgando o blog Mundo da Computação Integral, assim aumentamos nossa comunidade.

segunda-feira, 27 de julho de 2015

Instalando e configurando Zabbix no Debian

O que é o Zabbix ?

Zabbix é um software que monitora diversos parâmetros de uma rede como a integridade e desempenho dos servidores. Oferece excelentes relatórios e visualização de dados de recursos com base nos dados armazenados, e usa um mecanismo de notificação flexível que permite aos usuários configurar e-mail com alertas para qualquer evento, o que permite uma reação rápida para os problemas do servidor.

Corretamente configurado, o Zabbix pode desempenhar um papel importante no controle da infraestrutura de TI. Isto é igualmente verdade para as pequenas organizações com alguns servidores e para grandes empresas com um grande número de servidores.

O Zabbix é escrito e distribuído sob a GNU General Public License versão 2. Isso significa que seu código-fonte é distribuído gratuitamente e está disponível para o público em geral.

Depois de conhecer o Zabbix e pra que serve, podemos seguir os procedimentos de instalação e configuração do Zabbix em seu servidor GNU/Linux Debian.

Observação: Testado no GNU/Linux Debian 8 (Jessie) e versão atual do Zabbix é 2.4.45 até a data de publicação deste post.

Segue os procedimentos de instalação e configuração do Zabbix
Atualizando o repositório de pacotes
#apt-get update
Instalando os pacotes pré-requisitos necessários
#apt-get install apache2 mysql-server php php-gd php-mysql php-curl php-imap php-ldap

Criando o banco de dados Zabbix no MySQL
# mysql_install_db
# mysql -u root -p
Enter password: < digite a senha de root que foi definida na instalação do MySQL >
Criar o banco de dados zabbix
mysql> create database zabbix character set utf8;
Criar o usuário zabbix para o banco zabbix
mysql> GRANT ALL PRIVILEGES ON *.* TO zabbix@localhost IDENTIFIED BY 'senha_zabbix' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
Listar o banco zabbix que foi criado e demais bancos existentes.
mysql> show database;
mysql> quit

Criando usuário Zabbix sem Shell
#useradd zabbix -s /bin/false
root@Saitam:/etc/mysql# passwd zabbix
Digite a nova senha UNIX: < digite uma senha para o usuário zabbix >
Redigite a nova senha UNIX: < digite a mesma senha informada acima >
passwd: senha atualizada com sucesso

Algumas parametrizações no PHP para o Zabbix
Altere as linha 121, 372, 660, 884 do arquivo /etc/php5/apache2/php.ini e deixe como segue:
max_input_time = 300
max_execution_time = 300
post_max_size = 16M
date.timezone = "America/Sao_Paulo"
Descomentar a linha 704 para não falhar no setup da tela 1 para 2 always_populate_raw_post_data = -1

Reinicie o serviço Apache para efeito
#service apache2 restart

Download do Zabbix
Opcional: Salvo em /usr/src/
#cd /usr/src/
#wget -c "https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz"

Extraindo o arquivo zabbix-2.4.5.tar.gz
# tar -xzvf zabbix-2.4.5.tar.gz
# cd zabbix-2.4.5
Executar o configure com as opções
#./configure --enable-server --enable-agent --with-mysql --with-netsnmp --with-libcurl=/usr/bin/curl-config --with-ssh2 --with-openipmi
Após finalizar de checar a execução do arquivo configure, se aparecer no final 'execute run make install' é porque está pronto para o próximo passo.
# make install

Populando o banco Zabbix
# cd database/mysql
# mysql -D zabbix -u zabbix -p < schema.sql
Enter password: < digitar a senha definida para o usuário zabbix >

# mysql -D zabbix -u zabbix -p < images.sql
Enter password: < digitar a senha definida para o usuário zabbix >

# mysql -D zabbix -u zabbix -p < data.sql
Enter password: < digitar a senha definida para o usuário zabbix >


Configuração do Banco MySQL para Zabbix está OK
Ajuste de permissões
# mkdir /etc/zabbix
# chown -R zabbix.zabbix /etc/zabbix/

Local de configuração padrão do Zabbix
# cd /usr/local/etc
# vim zabbix_agent.conf
Altere a linha 13
Server=192.168.1.5 #Altere para o IP do seu servidor Zabbix
# vim zabbix_server.conf
Verifique as linhas 78,92,102
DBName=zabbix #Nome do banco de dados criado
DBUser=zabbix #Usuário do banco de dados criado
DBPassword=zabbix #Senha do banco de dados criado

Criar um link simbólico no local default (/usr/local/etc/) do Zabbix para /etc/zabbix
# ln -s /usr/local/etc/ /etc/zabbix/

Ajustar scripts de inicialização Zabbix para o Debian
# cd /usr/src/zabbix-2.4.5/misc/init.d/debian
# cp zabbix-* /etc/init.d/
# cd /etc/init.d/
# chmod +x zabbix-server
# chmod +x zabbix-agent
# rcconf
Marque as opções zabbix-server e zabbix-agent
Startar os serviços Zabbix
# /etc/init.d/zabbix-server start
Starting Zabbix server daemon: zabbix_server
# /etc/init.d/zabbix-agent start
Starting Zabbix agent daemon: zabbix_agentd
Criar o diretório zabbix no /var/www/html
# mkdir /var/www/html/zabbix
Copiar o diretório frontends do Zabbix para o /var/www/html/zabbix
# cd ../../../
# cp -R frontends/php/* /var/www/html/zabbix/
# chown -R www-data:zabbix /var/www/html/zabbix/

Criar o VirtualHost zabbix
# cd /etc/apache2/sites-available/
# cp 000-default.conf zabbix.conf
# vim /etc/apache2/sites-available/zabbix.conf
Alterar a linha 12 e deixar como segue:
DocumentRoot /var/www/zabbix/ Habilitar o VirtualHost
# a2ensite zabbix.conf
Reiniciar o Apache
# service apache2 restart
Acesse no navegador: http://< IP ou nome do servidor Zabbix >/zabbix
Irá aparecer as telas de configuração (Setup) do Zabbix
Tela 1: Clique em Next
Tela 2: Se tiver OK, clique em Next
Tela 3: Colocar o nome do banco de dados MySQL criado anteriormente, nome de usuário e senha do banco. Faça o teste de conexão e clique em Next
Tela 4:
Host: Colocar o IP do servidor Zabbix
Port: 10051
Name: Nome do servidor Zabbix
Depois clique em Next.
Tela 5: Apenas de conferência, se tiver OK, clique em Next.
Tela 6: Se seguiu os passos corretamente, receberá nessa tela "Congratulations on successful installation of Zabbix frontend", clique em Finish, caso contrário reveja o howto.
Após terminar o Setup do Zabbix, terá acesso a tela de login, usuário e senha default são conforme abaixo:
Login: admin
Senha: zabbix
Tela final:
Ativar o monitoramento do Zabbix
No menu Configuration -> hosts para visualizar
O host do Zabbix, depois clique em "Not monitored"
NOTA: Se utiliza as regras do firewall em DROP, liberando apenas as portas dos serviços de redes ativos, então lembrar de liberar a porta 10051 default do Zabbix no script firewall.

Referências:
https://www.zabbix.com/documentation/2.4/manual/introduction/about
http://www.vivaolinux.com.br/artigo/Monitoracao-com-Zabbix-no-Debian-Squeeze?pagina=2
http://zabbixbrasil.org/files/Tutorial_de_instala%C3%A7%C3%A3o_do_Zabbix_2.0.0_debian.pdf
Feito!