Instalar fontes microsoft linux (rpm yum)

Fonte: http://corefonts.sourceforge.net

sudo wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
sudo rpm -ivh epel-release-7-8.noarch.rpm

# Locate and change the entry enabled=0 to enabled=1
sudo vim /etc/yum.repos.d/epel.repo
ou
sudo yum-config-manager –enable epel #sudo yum-config-manager –disable epel

#verificando os repositórios ativos
sudo yum repolist

sudo yum update
sudo yum install cabextract

sudo rpmbuild -bb msttcorefonts-2.5-1.spec

sudo rpm -ivh /root/rpmbuild/RPMS/noarch/msttcorefonts-2.5-1.noarch.rpm

#limpar cache
sudo fc-cache -fv

Revogando privilégios no MySQL

Uma maneira simples de revogar os privilégios é listar quais privilégios o usuário tem acesso através da query:

SHOW GRANTS FOR <database_user>;

Na lista de concessões altere as palavras de GRANT para REVOKE e de TO para FROM conforme exemplo:

#um dos resultados da consulta
GRANT ALL PRIVILEGES ON `<database_name>`.* TO '<database_user>'@'%'

#query para revogar a concessão acima
REVOKE ALL PRIVILEGES ON `<database_name>`.* FROM '<database_user>'@'%';

FTP server cent os

http://cafeandrew.com/archives/2339

#instalar FTP server
sudo yum install vsftpd

#configurar serviço
sudo vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
pasv_address=

#iniciar serviço
sudo service vsftpd start

#ativar no start-up
sudo chkconfig vsftpd on

liberar portas 20-21 e 1024-1048 no firewall

Tomcat 8 rodando como serviço

#adicionar o script do final do post com o nome tomcat em /etc/init.d/

sudo vim /etc/init.d/tomcat

#tornar arquivo executável

sudo chmod +x /etc/init.d/tomcat

#adicionar script ao chkconfig

sudo chkconfig --add /etc/init.d/tomcat

#habilitar o serviço no startup EC2

sudo chkconfig tomcat on

#Ubuntu

sudo update-rc.d tomcat defaults

Arquivo: tomcat

#!/bin/bash
#
# tomcat8 This shell script takes care of starting and stopping Tomcat
# Description: This shell script takes care of starting and stopping Tomcat
# chkconfig: - 80 20
#
## http://blog.maestropublishing.com/2013/04/23/tomcat7-service-startstop-script/
## Source function library.
. /etc/init.d/functions

TOMCAT_HOME=/home/ec2-user/tomcat
SHUTDOWN_WAIT=30

tomcat_pid() {
  echo `ps aux | grep org.apache.catalina.startup.Bootstrap | grep -v grep | awk '{ print $2 }'`
}

start() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
    echo "Tomcat is already running (pid: $pid)"
  else
    # Start tomcat
    echo "Starting tomcat"
    /bin/bash $TOMCAT_HOME/bin/startup.sh
  fi
  return 0
}

stop() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
    echo "Stopping Tomcat"
    /bin/bash $TOMCAT_HOME/bin/shutdown.sh

    let kwait=$SHUTDOWN_WAIT
    count=0;
    until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]
    do
      echo -n -e "\nwaiting for processes to exit";
      sleep 1
      let count=$count+1;
    done

  if [ $count -gt $kwait ]
  then
    echo -n -e "\nkilling processes which didn't stop after $SHUTDOWN_WAIT seconds"
    kill -9 $pid
  fi
  else
    echo "Tomcat is not running"
  fi
  return 0
}

case $1 in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  status)
    pid=$(tomcat_pid)
    if [ -n "$pid" ]
      then
      echo "Tomcat is running with pid: $pid"
      else
      echo "Tomcat is not running"
    fi
    ;;
esac
exit 0

Instalar java Oracle a partir de um RPM

Para instalar o JDK da oracle a partir de um pacote RPM execute os seguintes comandos abaixo no terminal:

1 – Download da versão escolhida, neste caso 8u25

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u31-b13/jdk-8u31-linux-x64.rpm

2 – Instalar o java

sudo rpm -ivh jdk-8u31-linux-x64.rpm

3 – Adicionar nas alternativas do sistema operacional

sudo /usr/sbin/alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_31/bin/java 100

4 – Configurar o java default

sudo /usr/sbin/alternatives --config java

5 – Conferir se está apontando para o java correto

java -version

Para remover execute os seguintes comandos:

1 – Remover das alternativas do sistema operacional

sudo /usr/sbin/alternatives --remove java /usr/java/jdk1.8.0_25/bin/java

2 – Executar uma query no gerenciador de pacotes para identificar o nome do pacote a ser excluído

rpm -qa | grep jdk

3 – Remover o pacote instalado

sudo rpm -e jdk1.8.0_25-1.8.0_25-fcs.x86_64

4 – Apagar o pacote baixado

rm jdk-8u25-linux-x64.rpm

Alterando timezone no linux

Identifique seu horário e timezone com o comando “date”.

Para encontrar sua timezone correta utilize o comando “tzselect”.

A timezone utilizada no linux está configurada no arquivo /etc/localtime e para re-configurar basta criar um link simbólico apontando para a timezone correta conforme comandos abaixo:

#Backup do arquivo original

sudo mv /etc/localtime /etc/localtime-old

#Criando link simbólico para a timezone correta

sudo ln -s /usr/share/zoneinfo/America/Fortaleza /etc/localtime

Mais informações sobre UTC em: http://pt.wikipedia.org/wiki/UTC

Migração Trac e Subversion para Dreamhost

Tutorial para migração de subversion e trac 0.12 para dreamhost

Na informática temos várias maneiras de executar a mesma tarefa e o tutorial abaixo descreve os procedimentos que melhor se adaptaram ao caso prático e aos conhecimentos do autor.

Obs:. Os comandos devem ser ajustados a realidade dos seus servidores

Migrando Subversion

Crie um novo subdomínio e um repositório seguindo os três passos (na verdade o segundo passo é apenas aguardar a propagação de DNS) conforme instruções oficiais da Dreamhost.

Observe que após criar o novo subdomínio será adicionado um novo diretório com o caminho similar a este: /home/username/svn.yourhost.com
E após criar o novo repositório será criado um diretório “svn” em sua home para guardar o projeto versionado e os arquivos contendo as senhas e permissões de acesso.

Neste momento você já pode testar seu repositório através do browser acessando um endereço similar a este http://svn.yourhost.com/yourproject
(Pode demorar alguns minutos para o servidor criar o novo subdomínio e/ou o novo repositório)

Se você conseguiu acessar o repositório na Revision 0 continuaremos com o backup e restore do projeto!

#Backup do repositório atual
svnadmin dump /var/www/svn/yourproject/ | gzip > svn_yourproject.gz

#Enviando o backup para o novo servidor
scp svn_yourproject.gz username@yourhost.com:~

#Restaurando o backup no novo servidor
gunzip -c svn_yourproject.gz | svnadmin load svn/yourproject

Teste novamente o acesso on-line e verá o repositório do subversion trabalhando com seu último commit.

Fonte: http://wiki.dreamhost.com/Subversion#Loading_a_dumpfile

Migrando Trac

Agora vem a parte interessante! Se o Trac anterior estivesse na mesma versão do Trac da dreamhost seria tudo mais simples e não precisariamos criar um novo ambiente python para instalar o trac manualmente pois a dreamhost disponibilizado tudo pelo painel conforme consta aqui http://wiki.dreamhost.com/Trac ou se o repositório não estivesse sendo migrado! Mas o meu problema é que a versão atual do Trac é 0.12 e a dreamhost está trabalhando com a versão 0.11.X, então vamos lá.

Criando um Ambiente Virtual Python

Estamos trabalhando com uma conta normal na Dreamhost, ou seja, não temos uma VPN e nenhum privilégio para instalar programas ou alterar o servidor a vontade. Então para instalarmos a versão 0.12 do Trac que roda em python iremos criar um “ambiente virtual python”.

#Baixar o pacote do site oficial
wget https://raw.github.com/pypa/virtualenv/master/virtualenv.py

#Criar o ambiente virtual
python virtualenv.py python

#Instalação de pacote pre-requisito para o Trac
python/bin/python python/bin/easy_install Genshi

#Instalar o Trac na versão 0.12
python/bin/python python/bin/easy_install Trac==0.12

Agora, através do painel da dreamhost crie o subdomínio trac.yourhost.com

#Criar diretório para o projeto Trac
mkdir trac.yourhost.com/yourproject

#Criando o ambiente Trac
python/bin/trac-admin trac.yourhost.com/yourproject/ initenv

#Criando um diretório para receber os arquivos CGI, conforme http://trac.edgewall.org/wiki/0.12/TracInstall#RunningTraconaWebServer
mkdir deploy

#Criando scripts e docs
python/bin/trac-admin trac.yourhost.com/yourproject/ deploy deploy

#Copiando scripts e docs para o ambiente do projeto
mv deploy/* trac.yourhost.com/yourproject

Proteger o diretório do ambiente Trac seguindo o passo 5 deste passo-a-passo.

Basicamente é só entrar em Goodies > Htaccess/WebDAV e seguir a orientação.

Adicione a configuração abaixo em seu .htaccess, lembre de dar permissão de escrita (chmod 644 .htaccess) e depois retirá-la (chmod 444 .htaccess)

SetHandler fastcgi-script

DirectoryIndex index.fcgi

# Make sure rewrites work
Options ExecCGI FollowSymLinks
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteCond $1 !^index.fcgi/(.*)
# Keep the graphics and style sheet the way they are
RewriteCond $1 !^htdocs(.*).css$
RewriteCond $1 !^htdocs(.*).js$
RewriteCond $1 !^htdocs(.*).gif$
RewriteCond $1 !^htdocs(.*).jpg$
RewriteCond $1 !^htdocs(.*).png$
RewriteRule ^(.*)$ index.fcgi/$1 [L]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} attachment
RewriteCond $1 !^index.fcgi/(.*)
RewriteRule ^(.*)$ index.fcgi/$1 [L]

Finalmente crie um arquivo executável index.fcgi com seu editor de textos preferido, conforme exemplo abaixo:

cd trac.yourhost.com/yourproject
vim index.fcgi
Adicione o texto abaixo no script (ajustando para seu ambiente)
#!/bin/bash
export TRAC_ENV=”/home/username/trac.yourhost.com/yourproject/”
exec /home/username/trac.yourhost.com/yourproject/cgi-bin/trac.fcgi

#Torne o arquivo executável
chmod +x index.fcgi

Neste momento você já deve ter o Trac 0.12 instalado e rodando no ambiente virtual python, teste no browser: http://trac.yourhost.com/yourproject

Agora iremos migrar os dados do Trac:

Acesse o servidor antigo
#Backup do banco de dados do Trac
sudo /usr/bin/sqlite3 /home/username/trac/projects/yourproject/db/trac.db “.dump” >> trac_yourproject_sqlite.sql

Caso o caminho do novo repositório no servidor novo seja diferente do caminho atual depois de executado o backup do banco de dados é necessário alterar o arquivo manualmente informando o Caminho do repositório subversion instalado no novo servidor pois quando o arquivo for restaurado o trac já reconhecerá o caminho.

Abra o arquivo com seu editor de textos favorito e procure uma linha similar a linha abaixo:

INSERT INTO “repository” VALUES(1, ‘repository_dir’, ‘svn:c07cc470-69bf-4681-9e92-510e6bfb17be:/var/www/svn/yourproject’);
#Substitua o caminho antigo pelo novo, exemplo
INSERT INTO “repository” VALUES(1, ‘repository_dir’, ‘svn:c07cc470-69bf-4681-9e92-510e6bfb17be:/home/username/svn/yourproject’);

#Enviando o backup para o novo servidor
scp trac_yourproject_sqlite.sql username@yourhost.com:~

Acesse o servidor da dreamhost via SSH

#Restaurando o backup do banco de dados
cat trac_yourproject_sqlite.sql | sqlite3 trac.db

#Movendo o backup para o diretório correto (é interessante fazer um backup do banco atual)
mv trac.db trac.yourhost.com/yourproject/db/trac.db

#Acesse o arquivo de configuração do Trac e no parâmetro repository_dir informe o path do repositório
vim trac.yourhost.com/yourproject/conf/trac.ini

#A linha ficará semelhante a informação abaixo
repository_dir = /home/username/svn/yourproject

Neste momento o meu Trac passou a informar o seguinte Erro:
Warning: Can’t synchronize with repository “(default)” (Unsupported version control system “svn”: No module named svn). Look in the Trac log for more information

Como estamos utilizando um ambiente python virtual diferente do que existe no servidor as configurações do python bindings e os módulos configurados ficaram inacessíveis.

A maneira mais simples de corrigir isto é criar um link simbólico fazendo com que o ambiente virtual utilize a configuração já existente no servidor da dreamhost.

ln -s /usr/lib/pymodules/python2.6/svn python/lib/python2.6/site-packages/svn
ln -s /usr/lib/pymodules/python2.6/libsvn python/lib/python2.6/site-packages/libsvn

Obs.: Aqui no meu browser ficou uma espécie de cache que precisei rodar CTRL + F5 muitas vezes para o erro sumir.

#Migrando os anexos existentes
scp -r attachments/* username@yourhost.com:/home/username/trac.yourhost.com/yourproject/attachments

Fonte: http://trac.edgewall.org/wiki/TracMigrate#TracMigration

#Configurar envio de e-mails e logomarca em trac.ini

[header_logo]
alt = Your Enterprise

src = http://www.yourhost.com/logo.png

[notification]
email_sender = SendmailEmailSender
mime_encoding = base64
sendmail_path = /usr/sbin/sendmail
smtp_always_cc = username@youhost.com
smtp_enabled = true
smtp_from = trac@yourhost.com
smtp_replyto = trac@yourhost.com