Categorias
Linux

Extrair ips únicos do arquivo de log

cat access_log | awk '{print $1}' | sort -n | uniq -c | sort -nr

site para buscar origem dos ips

https://ip2geo.org/

Categorias
Apache Linux MySQL PHP

LAMP (APACHE 2 + MARIADB 10 + PHP 7.2) UBUNTU 18.04 + SSL Grátis

Sempre vejo os forums por aí a turma se batendo para montar um ambiente padrão para desenvolvimento com PHP 7 + MariaDB 10. Então resolvi fazer esse post simples para facilitar.

Com mais tempo vou detalhar o que faz cada pacote, mas pra sair rodando em menos de 5 minutos, execute:

sudo apt-get update && apt-get upgrade -y && apt-get install apache2 php php-xml php-curl php-gd mcrypt php-intl php-mbstring php-mysql php-soap php-zip php-bcmath mariadb-server mariadb-client -y && mysql_secure_installation

Assim que tudo rodar, responda as perguntas conforme abaixo:

Change root password? – Yes
Entre com a nova senha
Remove anonymous users? – Yes
Disallow root login remotely? – Yes
Remove test database and access to it? – Yes
Reload privilege tables now? – Yes

Precisa de php 7.1? No Problem!

apt-get install php7.1 php7.1-xml php7.1-curl php7.1-gd php7.1-mcrypt php7.1-intl php7.1-mbstring php7.1-mysql php7.1-soap php7.1-zip php7.1-bcmath -y

Instalação Certificado SSL – LET’S ENCRYPT

sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt install python-certbot-apache -y

Edite o arquivo conf do seu site na pasta /etc/apache2/sites-avaiable/XXXXX.conf (se você executou a instalação padrão o arquivo será 000-default.conf)

sudo certbot --apache -d seusite.com -d www.seusite.com

 

Categorias
Linux

Como instalar s3cmd no Linux e gerenciar seus buckets

A maneira mais fácil e barata de manter os dados do seu servidor seguro é usar o s3cmd, da Amazon.

Para começar, crie sua conta, e siga as instruções abaixo:

Para Centos:

yum install s3cmd

Para Ubuntu

apt-get install s3cmd

Depois de pegar suas credenciais e chaves, digite:

s3cmd --configure
Enter new values or accept defaults in brackets with Enter.
Refer to user manual for detailed description of all options.

Access key and Secret key are your identifiers for Amazon S3
Access Key: xxxxxxxxxxxxxxxxxxxxxx
Secret Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Encryption password is used to protect your files from reading
by unauthorized persons while in transfer to S3
Encryption password: xxxxxxxxxx
Path to GPG program [/usr/bin/gpg]:

When using secure HTTPS protocol all communication with Amazon S3
servers is protected from 3rd party eavesdropping. This method is
slower than plain HTTP and can't be used if you're behind a proxy
Use HTTPS protocol [No]: Yes

New settings:
  Access Key: xxxxxxxxxxxxxxxxxxxxxx
  Secret Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  Encryption password: xxxxxxxxxx
  Path to GPG program: /usr/bin/gpg
  Use HTTPS protocol: True
  HTTP Proxy server name:
  HTTP Proxy server port: 0

Test access with supplied credentials? [Y/n] Y
Please wait, attempting to list all buckets...
Success. Your access key and secret key worked fine :-)

Now verifying that encryption works...
Success. Encryption and decryption worked fine :-)

Save settings? [y/N] y
Configuration saved to '/root/.s3cfg'

Pronto! Tudo instalado. Agora alguns comandos úteis:

Listar buckets:

s3cmd ls

Criar um bucket chamado teste:

s3cmd md s3://teste

Fazer upload de um arquivo para um bucket:

s3cmd put teste.txt s3://teste

Fazer upload de diretório para bucket:

s3cmd -r put dirteste s3://teste

Não coloque / no final do nome do seu diretório, se colocar, as subpastas não sobem, mesmo usando -r para recursivo

Listar conteúdo de um bucket

s3cmd ls s3://teste

Baixar arquivo de um bucket:

s3cmd get s3://teste/teste.txt

Remover arquivos ou diretórios de um bucket:

s3cmd del s3://teste/teste.txt
s3cmd del s3://teste/teste

Sincronizar Bucket:

s3cmd sync /home/teste s3://teste

usando -p ou –preserve você manter as propriedades dos arquivos existentes

s3cmd sync /home/teste --preserve s3://teste

usando –skip-existing você pula os arquivos que já estão no bucket:

s3cmd sync /home/teste --skip-existing s3://teste

usando –delete-removed você exclui os arquivos do bucket que foram removidos do diretório local:

s3cmd sync /home/teste --delete-removed s3://teste

Você também pode sincronizar o diretório local de acordo com o conteúdo do bucket, é só inverter a sintaxe:

s3cmd sync s3://teste /home/teste

todas as opções citadas acima também podem ser utilizadas nessa operação.

Remover um bucket:

s3cmd rb s3://teste

 

Categorias
Linux

oi tudo bem

fuck-you

oi tudo bem

Categorias
Cpanel Exim Linux

Como Arrumar 451 Temporary local problem – please try later – Cpanel

Para se livrar do erro 451 Temporary local problem – please try later nas caixas de entrada dos seus clientes, rode o comando:

/scripts/mailperm

Testado:
CLOUDLINUX 6.6 x86_64

WHM 11.52.2 (build 2)

Exim

Sabe mais alguma correção para esse erro? Deixe um comentário.

Categorias
Linux

Como instalar Webmin no Centos 7

1 – Inclua o repositório no webmin no sistema:

vi /etc/yum.repos.d/webmin.repo

2 – Cole o código abaixo no arquivo:

[Webmin]
name=Webmin Distribution Neutral
#baseurl=http://download.webmin.com/download/yum
mirrorlist=http://download.webmin.com/download/yum/mirrorlist
enabled=1

3 – instale a chave GPG:

rpm --import http://www.webmin.com/jcameron-key.asc

4 – Atualize os repositórios:

yum check-update

5 – Instale o Webmin

yum install webmin -y

6 – Coloque o servico para iniciar automaticamente e inicie o webmin

chkconfig webmin on
service webmin start

7 – Adicione a porta do webmin ao firewall

firewall-cmd --add-port=10000/tcp
firewall-cmd --reload

8 – Acesse o endereço do servidor na porta do webmin!

Ficou com alguma dúvida sobre a instalação do webmin? Deixe um comentário!

Categorias
Linux

Como Verificar as Portas abertas do Linux

Para saber quais portas do seu sistema estão abertas, execute o seguinte comando:

nmap -sT -O localhost

Se você não possui o nmap, basta rodar:

apt-get install namp -y

para sistemas Debian based.

yum install nmap -y

para sistemas RedHat based

Categorias
Linux

Como instalar Vagrant no Centos 7

1 – Instale o Vagrant

1.1 – Copie a url do link do centos

1.2 – Rode o comandos abaixo

rpm -i https://releases.hashicorp.com/vagrant/1.8.1/vagrant_1.8.1_x86_64.rpm
cd /etc/yum.repos.d
wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

2 – Instale do DKMS, o Virtual Box e os pacotes necessários:

wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
rpm -Uvh rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
rpm -Uvh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
yum install gcc make patch  dkms qt libgomp 
yum install kernel-headers kernel-devel fontforge binutils glibc-headers glibc-devel
export KERN_DIR=/usr/src/kernels/3.10.0-327.3.1.el7.x86_64

*** A ÚLTIMA PARTE DO COMANDO DEVE SER SUBSTITUIDA PELA SUA VERSÃO DO KERNEL ***

Pegue as versões disponíveis do VirtualBox

yum provides virtualbox

Instale a última versão disponível, no meu caso foi:

yum install VirtualBox-5.0-5.0.12_104815_el7-1.x86_64

3 – Adicione os usuário que irão rodar o virtualbox

usermod -a -G vboxusers usuario

 

4 – Acesse o site vagrantbox.es, selecione a box desejada, crie uma pasta onde você deseja rodar seu ambiente, por exemplo, /home/nome-do-ambiente e rode:

 vagrant box add {nome-da-vm} {url}
 vagrant init {nome-da-vm}
 vagrant up

5 – Instalando o Apache e sincronizando a pasta:

Você pode acessar a pasta da sua que criou na sua máquina para o ambiente (aquela que tem o arquivo Vagrantfile) e criar um arquivo bootstrap.sh com o seguinte conteúdo:

#!/usr/bin/env bash

yum update
yum install -y httpd

sudo service httpd start

*** LEMBRE-SE DE CRIAR AS PASTAS ANTES DE RODAR O SCRIPT ***

Agora, você deve editar o arquivo Vagrantfile e adicionar a seguinte linha na penúltima linha do script (antes da palavra “end”) para que o script que criamos rode quando a máquina for iniciada:

config.vm.provision :shell, path: "bootstrap.sh"
config.vm.synced_folder "/home/boxes/centos7minimal/www", "/var/www/html"
config.vm.network "forwarded_port", guest: 80, host: 80

Não esqueça de verificar se a porta 80 do seu sistema está aberta, com o nmap:

nmap -sT -O localhost

Onde na linha da diretiva “config.vm.synced_folder” a primeira pasta é a pasta do host onde ficarão os arquivos do seu projeto e a segunda pasta é o local do DocumentoRoot da sua VM.

6 – Rodando o script:

Após editar os arquivos corretamente, basta rodar o comando abaixo para recarregar suas configurações:

vagrant reload --provision

7 – Testando

Para testar o funcionamento do seu Apache e o sinronismo das pastas, crie um arquivo index.html na pasta sincronizada do seu host com qualquer conteúdo e logue na VM:

vagrant ssh

Para ver o conteúdo do arquivo index.html execute:

wget -qO- 127.0.0.1

O conteúdo do seu arquivo será o output do comando acima.

8 – Compartilhado o ambiente criado

Para compartilhar seu projeto, primeiro crie uma conta no Atlas da Hashicorp

Depois de criar a sua conta, você deve executar os comandos abaixo:

vagrant login
### Digite usuário e senha ###
vagrant share

Fontes:
VagrantUP

Centos Wiki

Apache Lounge

Categorias
Linux MySQL

MySQL – Veja como importar e exportar bancos de dados

Aprenda com comandos simples como importar e exportar seus bancos de dados MySQL:

Para exportar um banco de dados Mysql, você utilizará o comando mysqldump.

Para exportar todos os bancos de dados do seu servidor utilize:

mysqldump -uroot -p --all-databases > /home/bancosdedados.db

seus bancos estarão gravados no arquivo bancosdedados.db na pasta /home

Para importar o arquivo gerado, utilize o comando source.

Primeiro, faça login no MySQL:

mysql -u root -p

Digite sua senha quando o prompt aparecer, e rode o comando:

source /home/bancosdedados.db

Assumindo, é claro, que você salvou seu backup no arquivo /home/bancosdedados.db

Para exportar um banco de dados específico, você utilizará o comando mysqldump novamente, agora especificando o nome do banco:

mysqldump -uroot -p nomedobanco > /home/nomedobanco.db

Para importar utilize o comando source como no exemplo anterior, ou ainda:

mysql -u usuario -p nomedobanco < banco.sql

Conhece ou jeito melhor de importar e exportar bancos de dados MySQL? Deixe um comentário para nosso conteúdo ficar mais completo!

Categorias
Linux

Como verificar partição de uma pasta no linux

Para verificar em que partição uma pasta está montada, basta digitar o comando:

df -P /caminho/da/pasta | tail -1 | cut -d' ' -f 1