segunda-feira, 8 de agosto de 2016

Adobe Brackets no LMDE2


Seguem orietações e dicas para instalação do Brackets no Linux Mint Debian Edition 2:

1. Baixe o pacote .deb do Brackets aqui

2. Vamos verificar as dependências do pacote .deb

dpkg -I Brackets.Release.1.7.64-bit.deb
(Esse é o pacote que está disponível no momento em que escrevo esse artigo)
(Esse é o pacote que está disponível no momento em que escrevo esse artigo)
Possivelmente terá problemas com a dependência libgcrypt11, mesmo você tendo a libgcrypt20 em seu sistema. Foi o que aconteceu comigo e com muitas outras pessoas, como pude ver pelos fóruns.

Para instalar a libgcrypt11 você precisará de outra dependência, a libgpg-error. Verifique se você a tem em seu ambiente:
dpkg -l | grep libgpg-error
Caso não tenha, vamos começar por ela.


Instalando a libgpg-error

Faça o download do pacote .bz2 por aqui.

Descompacte o pacote

tar xvjf libgpg-error-1.9.tar.bz2
(Neste exemplo estou usando a versão 1.9 da libgpg-error, certifique se não há uma versão mais nova e use-a)

Feita a descompactação vamos à instalação da lib

./configure
sudo make
sudo make install
(Execute um comando por vez, e verifique se houve algum erro antes de executar o próximo)

Certo, feito a instalação da libgpg-error voltemos para a instalação da libgcrypt11.

Instalando a libgcrypt11

Faça o download da libgcrypt11 por aqui.
No momento em que escrevo esse artigo o pacote disponível foi o libgcrypt11_1.5.0-5+deb7u4_amd64.deb.

Instale o pacote .deb

sudo dpkg -i libgcrypt11_1.5.0-5+deb7u4_amd64.deb

Dando tudo certo agora vamos ao prato principal, a instalação do Adobe Brackets


Instalando o Bracktes

sudo dpkg -i Brackets.Release.1.7.64-bit.deb
Pacote instalado com sucesso abra o editor e divirta-se!


Segue algumas extensões que acho bem úteis:



Para quem gosta de temas escuros, recomendo o tema Nova Dark.



quarta-feira, 27 de julho de 2016

Instalando MongoDB 3.2 no Linux Mint Debian Edition


Passo a passo seguindo as orientações do site do Mongo: link


1. Importar a chave pública usada pelo sistema de gerenciamento de pacotes

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

2. Adicione o repositório do MongoDB 3.2 no sourcelist do seu sistema

echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.2 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

3. Atualize a lista de pacotes dos repositórios

sudo apt-get update

4. Instale  os pacotes do MongoDB

4.1 Para instalar a última versão estável do MongoDB

sudo apt-get install -y mongodb-org

4.2 Para instalar uma versão específica

sudo apt-get install -y mongodb-org=3.2.8 mongodb-org-server=3.2.8 mongodb-org-shell=3.2.8 mongodb-org-mongos=3.2.8 mongodb-org-tools=3.2.8

5. Verifique o status do serviço do mongod

O daemon do MongoDB tem o nome de mongod e pode ser verificado em /etc/init.d/mongod
sudo service mongod status
Caso o serviço esteja parado, inicie-o
sudo service mongod start
Por padrão os arquivos do mongo ficam em /var/lib/mongodb e o log em /var/log/mongodb

Caso queira alterar os caminhos, modifique em /etc/mongod.conf
Veja em systemLog.path e storage.dbPath para maiores informações.

6. Entre no shell do mongo

mongo

Para sair

Entre com o comando quit() no shell do mongo ou Ctrl + c
> quit()

Aviso do transparent_hugepage

Caso recebe o seguinte aviso ao entrar no shell do mongo, siga as orientações propostas no site do mongoBD. Fonte: link

** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
**        We suggest setting it to 'never'

1. Crie o seguinte script no /etc/init.d

sudo vim /etc/init.d/disable-transparent-hugepages

2. Cole o seguinte conteúdo no script

#!/bin/sh
### BEGIN INIT INFO
# Provides:          disable-transparent-hugepages
# Required-Start:    $local_fs
# Required-Stop:
# X-Start-Before:    mongod mongodb-mms-automation-agent
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Disable Linux transparent huge pages
# Description:       Disable Linux transparent huge pages, to improve
#                    database performance.
### END INIT INFO

case $1 in
  start)
    if [ -d /sys/kernel/mm/transparent_hugepage ]; then
      thp_path=/sys/kernel/mm/transparent_hugepage
    elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then
      thp_path=/sys/kernel/mm/redhat_transparent_hugepage
    else
      return 0
    fi

    echo 'never' > ${thp_path}/enabled
    echo 'never' > ${thp_path}/defrag

    unset thp_path
    ;;
esac

3. Torne o script executável

sudo chmod 755 /etc/init.d/disable-transparent-hugepages

4. Configure o iniciar o script no boot do sistema

Para Debian/Ubuntu:

sudo update-rc.d disable-transparent-hugepages defaults

Para SUSE:

sudo insserv /etc/init.d/disable-transparent-hugepages

Para Red Hat, CentOS, Amazon Linux, and derivatives:

sudo chkconfig --add disable-transparent-hugepages


Para remover o MongoDB


1. Pare o serviço do mongod

sudo service mongod stop

2. Remova os pacotes

sudo apt-get purge mongodb-org*

3. Remova os diretórios dos arquivos do MongoDB

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb





quarta-feira, 20 de julho de 2016

Criar usuário no MySql

Para criar um novo usuário no MySql proceda da seguinte forma:

- Faça o acesso a área do MySql.

$ mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 43
Server version: 5.5.49-0+deb8u1 (Debian)

Copyright (c) 2000, 2016, 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> 

- Agora pelo shell do MySql vamos criar o novo usuário.

mysql> CREATE USER 'novousuario'@'localhost' IDENTIFIED BY 'pass';
Query OK, 0 rows affected (0.00 sec)

- Vamos dar permissão total ao novo usuário.

mysql> GRANT ALL PRIVILEGES ON * . * TO 'novousuario'@'localhost';
Query OK, 0 rows affected (0.00 sec)

- Pronto, agora é só carregar os privilégios do novo usuário.

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

Repita o processo para o mesmo usuário para caso ele precise acessar remotamente a base. Para isso use 'novousuario'@'%' no lugar de 'novousuario'@'localhost'.

quinta-feira, 19 de maio de 2016

Apache + PHP + Virtual Host


Vi como grande vantagem vhosts em meus projetos PHP, sendo uma excelente forma de criar subdominios para cada projeto e evitar riscos de varreduras indesejadas a outros sistemas no diretório padrão do apache.
Suponhamos que o domínio para o sistema seja subdominio.dominio.com.br

Podemos usar o diretório padrão do apache ou outro, como por exemplo /srv/www, fique ao seu critério.

Estou tomando como base a estrutura de diretórios do Debian, sistema operacional que uso.

Em /var/www:

$ sudo mkdir subdominio.dominio.com.br 

Em /etc/apache2/sites-available:

$ sudo vim subdominio.conf 

Dentro de subdominio.conf cole:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
ServerName subdominio.dominio.com.br
        DocumentRoot /home/lucio/sites/subdominio.dominio.com.br
        <Directory /home/lucio/sites/subdominio.dominio.com.br/>
                Options Indexes FollowSymLinks MultiViews Includes ExecCGI
                AllowOverride All
                Order allow,deny
                allow from all
                Require all granted
            AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/subdominio.dominio.com.br.error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/subdominio.dominio.com.br.access.log combined
</VirtualHost>

Veja que coloquei em Document Root e Directory o seguinte diretório:
/home/lucio/sites/subdominio.dominio.com.br

Criei um diretório sites, e dentro dele crio links simbólicos das minhas vhosts. Isso é um capricho meu, apenas para organização. Fica como sugestão, mas caso não queira pode colocar o caminho real do projeto.


Após toda configuração, entre com os comandos:

$ sudo a2ensite subdominio.conf 
$ sudo service apache2 restart 


That's all folks!