Skip to content

📦 Instalação e Configuração de Serviços em VPS


🛰️ Instalação do Looking Glass com Docker

🔗 Projeto: hybula/lookingglass

apt install git
git clone https://github.com/hybula/lookingglass.git
cd lookingglass
nano config.dist.php  # Edite este arquivo com as configurações do LG
docker compose build
docker compose up -d

🔧 Para alterar as configurações após a instalação:

nano config.dist.php
cp config.dist.php docker/php-fpm/src/config.php 
# Delete o container pelo Portainer e execute novamente:
docker compose up -d

👤 Criar Usuário com Permissões Sudo

adduser rodrigo
usermod -aG sudo rodrigo

⚙️ Edite o arquivo sudoers:

sudo visudo

Adicione a seguinte linha:

rodrigo       ALL=(ALL:ALL) ALL

🔄 Teste:

su - rodrigo
sudo whoami
sudo ls -l /root

🧰 Dicas de Gerenciamento

🔍 Remover Comentários de Arquivos de Configuração

egrep -v "^#|^$" /caminho/do/arquivo.conf > /caminho/do/arquivo.conf.sem-comentario

📜 Ver Logs em Tempo Real

tail -f /var/log/nginx/error.log

🧹 Limpar Arquivo de Log

echo > /var/log/nginx/error.log

🕒 Ajustando a Hora no Servidor

apt install ntpdate
ntpdate a.ntp.br
sudo dpkg-reconfigure tzdata

⏲️ Agendar sincronização automática com o cron:

crontab -e

Adicione a linha:

00 00  *   *   *     ntpdate a.ntp.br

📡 Instalando o Agente do Zabbix

Substitua 172.16.0.10 pelo IP do seu servidor Zabbix:

apt install zabbix-agent
systemctl start zabbix-agent
systemctl enable zabbix-agent

sed -i 's/Server=127.0.0.1/Server=172.16.0.10/g' /etc/zabbix/zabbix_agentd.conf
sed -i 's/ServerActive=127.0.0.1/ServerActive=172.16.0.10/g' /etc/zabbix/zabbix_agentd.conf
sed -i 's/Hostname=Zabbix server/Hostname=localhost/g' /etc/zabbix/zabbix_agentd.conf

systemctl restart zabbix-agent

🛢️ Acesso Remoto ao MariaDB

📥 Instalação

apt install mariadb-server
mysql_secure_installation
mysql

👤 Criar Usuário com Acesso Remoto

GRANT ALL PRIVILEGES ON *.* TO 'rodrigo'@'%' IDENTIFIED BY '12345678';
FLUSH PRIVILEGES;
EXIT;

⚙️ Alterar Configuração do MariaDB

nano /etc/mysql/mariadb.conf.d/50-server.cnf

Altere a linha bind-address para:

bind-address = 0.0.0.0

Reinicie o serviço:

systemctl restart mariadb

🔗 Dica: Use o DBeaver para acessar e gerenciar o banco graficamente.


☁️ Instalar Rclone + Interface Web (GUI)

📦 Instalação

apt install rclone rclone-browser

⚙️ Criar Serviço Systemd

nano /etc/systemd/system/rclone-rcd.service

Conteúdo:

[Unit]
Description=WEB RCLONE - GERENCIA WEB

[Service]
ExecStart=/caminho/para/o/seu/rclone rcd --rc-web-gui --rc-user=admin --rc-pass=12345678 --rc-addr=:5591 --rc-serve
Restart=always
RestartSec=3
User=seu_usuario
Group=seu_grupo

[Install]
WantedBy=default.target

Ative o serviço:

systemctl daemon-reload
systemctl start rclone-rcd
systemctl enable rclone-rcd
systemctl status rclone-rcd

🔎 Localizar Arquivos no Linux

apt install locate
updatedb
locate ssh

💽 Verificar Uso de Espaço em Disco com NCDU

apt install ncdu
ncdu           # Diretório atual
ncdu /home     # Diretório /home
ncdu /         # Sistema completo

📦 Instalar Proxmox Backup Server (PBS)

Instalação em container no Debian 11 Bullseye

🔐 Adicionar chave GPG

wget https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg

📥 Adicionar repositório PBS

nano /etc/apt/sources.list

Adicione:

deb http://download.proxmox.com/debian/pbs bullseye pbs-no-subscription

🔧 Instalar PBS

apt update
apt install proxmox-backup

🔄 Instalar UrBackup (Debian 11)

wget https://hndl.urbackup.org/Server/2.4.14/urbackup-server_2.4.14_amd64.deb
sudo dpkg -i urbackup-server_2.4.14_amd64.deb
sudo apt install -f

Durante a instalação será solicitado o diretório dos backups. Ele pode ser alterado depois com:

dpkg-reconfigure urbackup-server

Outras configurações podem ser ajustadas em:

/etc/default/urbackupsrv

Acesse:

🌐 http://seu-ip:55414
🔗 Site do UrBackup


🌐 Criar VXLAN entre VPS (Linux)

🔁 Topologia

graph LR
A(Core BGP Infotec) -- VXlan 10 --> B(VPS Google C.E)  
B -- VXlan 20 --> C(VPS Contabo)
A -- Link IP --> C

📦 Instalar pacotes adicionais

apt upgrade
apt install curl apt-transport-https gnupg2 lsb-release tree mtr iptraf net-tools

📌 Notas sobre os parâmetros:

  • vx0 → nome da interface
  • id → número da VXLAN
  • local → IP local
  • remote → IP do outro host
  • dev → interface física
  • dstport → porta usada

📥 Configurar as interfaces

# Google x Infotec
ip link add vx0 type vxlan id 10 local 10.158.0.6 remote 186.233.7.23 dev ens4 dstport 4789
ifconfig vx0 192.168.20.1/24 up

# Google x Contabo
ip link add vx1 type vxlan id 20 local 10.158.0.6 remote 62.171.147.207 dev ens4 dstport 4790
ifconfig vx1 192.168.30.1/24 up

# Contabo x Google
ip link add vx0 type vxlan id 20 local 62.171.147.207 remote 34.95.161.162 dev eth0 dstport 4790
ifconfig vx0 192.168.30.2/24 up

☁️ Montar Storage S3 Wasabi no Linux

📦 Instalar dependências

apt-get install build-essential libcurl4-openssl-dev libxml2-dev mime-support s3fs

🔑 Adicionar credenciais

echo "AWS_ACCESS_KEY_ID:AWS_SECRET_ACCESS_KEY" > /etc/passwd-s3fs
chmod 600 /etc/passwd-s3fs

📁 Montar o storage

mkdir /storage-s3
echo "s3fs#infotec-east-2 /storage-s3 fuse _netdev,allow_other,use_cache=/cache,url=s3.us-east-2.wasabisys.com 0 0" >> /etc/fstab
mount -a
df -h

🌐 Instalar HyperGlass (LXC - Debian 11)

apt-get install software-properties-common
apt install curl sudo -y
apt install -y python3-dev python3-pip libjpeg-dev python-pip
pip3 install --upgrade --force-reinstall --no-cache-dir setuptools_rust
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
apt-get install -y redis-server nodejs npm
npm install --global yarn
pip3 install hyperglass

🔁 Transferência de Arquivos com SCP

📤 Enviar local → remoto

scp /users/Edward/desktop/scp.zip root@191.162.0.2:/writing/article
scp -P 2322 /users/Edward/desktop/scp.zip root@191.162.0.2:/writing/article
scp -r /users/Edward/desktop root@191.162.0.2:/writing/article

📥 Baixar remoto → local

scp root@191.162.0.2:/writing/articles/SCP.zip Users/Edward/Desktop

🔁 Copiar entre dois servidores remotos

scp root@191.162.0.2:/writing/article/scp.zip edward@11.10.0.1:/publishing
scp -3 root@191.162.0.2:/writing/article/scp.zip edward@11.10.0.1:/publishing

🗂️ Copiar todos os arquivos de uma pasta

scp -r root@191.162.0.2:/pasta/* edward@11.10.0.1:/pasta/

📦 Descompactar Arquivos .rar

cd /tmp
wget https://www.rarlab.com/rar/rarlinux-x64-621.tar.gz
tar -zxvf rarlinux-x64-621.tar.gz
cd rar
sudo cp -v rar unrar /usr/local/bin/

💾 Backup e Restore de Banco de Dados

📤 Backup

# Backup de um banco
mysqldump --databases banco -u usuario -p > banco.sql

# Backup de vários bancos
mysqldump --databases banco1 banco2 -u usuario -p > multi.sql

# Todos os bancos
mysqldump --all-databases -u usuario -p > todos.sql

# Ignorar tabelas
mysqldump --databases banco --ignore-table="banco.tabela1" --ignore-table="banco.tabela2" -u usuario -p > banco.sql

📥 Restore

# Restaurar banco único
mysql -u usuario -p < banco.sql

# Restaurar banco específico de backup múltiplo
mysql --one-database banco -u usuario -p < todos.sql

🗜️ Backup com compressão gzip

mysqldump --databases banco -u usuario -p | gzip -9 > banco.sql.gz
gunzip < banco.sql.gz | mysql -u usuario -p

🖥️ Cockpit - Gerenciamento de Servidores Linux

🧰 Instalação do Cockpit e Módulos Adicionais

apt install curl sudo
apt update && apt dist-upgrade -y
apt install cockpit --no-install-recommends

wget https://github.com/45Drives/cockpit-file-sharing/releases/download/v3.3.4/cockpit-file-sharing_3.3.4-1focal_all.deb
wget https://github.com/45Drives/cockpit-navigator/releases/download/v0.5.10/cockpit-navigator_0.5.10-1focal_all.deb
wget https://github.com/45Drives/cockpit-identities/releases/download/v0.1.12/cockpit-identities_0.1.12-1focal_all.deb

apt install ./*.deb -y
rm *.deb

echo "root" | sudo tee -a /etc/cockpit/disallowed-users

📁 Criação das Pastas Compartilhadas

mkdir -p /COMPARTILHAMENTO/{financeiro,provedor,suporte,infotec,almoxarifado}

⚙️ Configuração do Samba

Execute o comando abaixo para reescrever o arquivo /etc/samba/smb.conf com a configuração completa:

sudo tee /etc/samba/smb.conf > /dev/null << 'EOF'
[global]
        workgroup = digital-infotec
        netbios name = server-1
        server string = SERVIDOR DE ARQUIVOS 
        security = user
        passdb backend = tdbsam
        log file = /var/log/samba/log.%m%I
        log level = 1
        local master = yes
        os level = 100
        max log size = 3000
        debug level = 2 
        debug timestamp = yes
        debug pid = yes
        debug uid = yes
        hosts allow =       
        vfs objects = recycle full_audit 
        recycle:repository = /COMPARTILHAMENTO/lixeira/%U
        recycle:keeptree = yes
        recycle:exclude = *.tmp, *.ntx, *.temp, ~*.*, *.obj, *.bak, *.iso 
        recycle:exclude_dir = tmp, cache
        recycle:version = yes
        full_audit:success = open, opendir, write, unlink, rename, mkdir, chmod, chown
        full_audit:failure = none
        full_audit:prefix = %U|%I|%S
        full_audit:facility = local5
        full_audit:priority = notice
        name resolve order = lmhosts, host, wins, bcast
        oplocks = yes
        getwd cache = yes         
        time server = yes
        bind interfaces only = yes
        veto files = /*.mp3/*.avi/*.mpeg/*.mpg/*.wma/*.wmv /*.ogg
        case sensitive = yes
        default case = upper

[provedor]
        path = /COMPARTILHAMENTO/provedor
        comment = DEPARTAMENTO PROVEDOR
        browseable = yes
        public = no
        writeable = no
        valid users = @provedor,@global
        write list = @provedor,@global
        create mask = 0770
        directory mask = 0770
        force create mode = 0770
        force directory mode = 0770
        force group = provedor

[infotec]
        path = /COMPARTILHAMENTO/infotec
        comment = DEPARTAMENTO INFOTEC
        browseable = yes
        public = no
        writeable = no
        valid users = @infotec,@global    
        write list = @infotec,@global
        create mask = 0770
        directory mask = 0770
        force create mode = 0770
        force directory mode = 0770
        force group = infotec

[financeiro]
        path = /COMPARTILHAMENTO/financeiro
        comment = DEPARTAMENTO FINANCEIRO 
        browseable = yes
        public = no
        writeable = no
        valid users = @financeiro,@global    
        write list = @financeiro,@global
        create mask = 0770
        directory mask = 0770
        force create mode = 0770
        force directory mode = 0770
        force group = financeiro

[almoxarifado]
        path = /COMPARTILHAMENTO/almoxarifado
        comment = DEPARTAMENTO ALMOXARIFADO 
        browseable = yes
        public = no
        writeable = no
        valid users = @almoxarifado,@global    
        write list = @almoxarifado,@global
        create mask = 0770
        directory mask = 0770
        force create mode = 0770
        force directory mode = 0770
        force group = almoxarifado

[suporte]
        path = /COMPARTILHAMENTO/suporte
        comment = DEPARTAMENTO SUPORTE
        browseable = yes
        public = no
        writeable = no
        valid users = @suporte,@global    
        write list = @suporte,@global
        create mask = 0770
        directory mask = 0770
        force create mode = 0770
        force directory mode = 0770
        force group = suporte
EOF

🧭 Etapas Finais de Configuração via Cockpit

  1. Acesse o Navigator no Cockpit e altere as permissões de grupo das pastas compartilhadas. Marque todas como Read e Write.

  2. Acesse a aba File Sharing, importe as configurações do Samba e ative a opção:

Inherit permissions = yes
  1. Após importar, ajuste as permissões de grupo em Edit Permissions:
  2. Defina o grupo responsável da pasta (grupo pai).
  3. Verifique se os grupos atribuídos estão corretos.

  4. Em Valid Groups, atribua os grupos que poderão acessar cada pasta.

  5. Por fim, acesse Identities para criar os usuários:

  6. Atribua os grupos corretos ao usuário conforme a pasta que ele deverá acessar.
  7. Um mesmo usuário pode ter múltiplos grupos associados.