📦 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.10pelo 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 interfaceid→ número da VXLANlocal→ IP localremote→ IP do outro hostdev→ interface físicadstport→ 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
-
Acesse o Navigator no Cockpit e altere as permissões de grupo das pastas compartilhadas. Marque todas como
ReadeWrite. -
Acesse a aba File Sharing, importe as configurações do Samba e ative a opção:
Inherit permissions = yes
- Após importar, ajuste as permissões de grupo em Edit Permissions:
- Defina o grupo responsável da pasta (grupo pai).
-
Verifique se os grupos atribuídos estão corretos.
-
Em Valid Groups, atribua os grupos que poderão acessar cada pasta.
-
Por fim, acesse Identities para criar os usuários:
- Atribua os grupos corretos ao usuário conforme a pasta que ele deverá acessar.
- Um mesmo usuário pode ter múltiplos grupos associados.