Configure sua própria rede privada com o OpenVPN
O Vultr oferece uma incrível conectividade de rede privada para servidores executando no mesmo local. Mas às vezes você quer dois servidores em países diferentes
O Leanote é uma alternativa gratuita, leve e de código aberto ao Evernote, escrita em Golang. Com a experiência do usuário em mente, o Leanote oferece aos usuários muitos recursos práticos, incluindo suporte a várias plataformas, gravação na sintaxe MarkDown, blogs públicos ou privados, coleta e compartilhamento de conhecimento e colaboração em equipe.
Neste artigo, orientarei você na configuração de um servidor Leanote em uma instância do servidor CentOS 7. Por questões de segurança, a ativação do HTTPS support
uso do certificado SSL Let's Encrypt e o Nginx também serão cobertos.
203.0.113.1
.leanote
.leanote.example.com
sendo apontado para a instância do servidor mencionada acima.Ao disparar uma nova instância do servidor Vultr CentOS 7, é sempre recomendável configurar um arquivo de troca para garantir que o sistema esteja funcionando sem problemas. Por exemplo, a criação de um arquivo de troca com tamanho de 2048 MB é adequado para uma máquina com 2 GB de memória.
sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -m
Nota: Se você estiver usando um tamanho de servidor diferente, pode ser necessário modificar o tamanho do arquivo de troca.
Baixe e extraia a versão estável mais recente do Leanote para o sistema Linux de 64 bits:
cd
wget https://sourceforge.net/projects/leanote-bin/files/2.6.1/leanote-linux-amd64-v2.6.1.bin.tar.gz
tar -zxvf leanote-linux-amd64-v2.6.1.bin.tar.gz
Conforme exigido pelo Leanote, o DBMS do MongoDB NoSQL deve estar em vigor antes que você possa configurar com êxito um servidor Leanote.
Crie o repositório MongoDB 4.0 YUM da seguinte maneira:
cat <<EOF | sudo tee /etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
Instale todos os componentes e ferramentas do MongoDB usando o repositório MongoDB 4.0 YUM criado anteriormente:
sudo yum install -y mongodb-org
Por padrão, o MongoDB usaria a 27017
porta ao trabalhar, o que não é permitido se o SELinux estiver no enforcing
modo na máquina CentOS 7. Use o seguinte comando para confirmar o modo atual do SELinux:
sudo getenforce
Em uma instância do servidor Vultr CentOS 7, o SELinux é desativado por padrão. Portanto, a saída do comando acima seria:
Disabled
Nesse caso, você pode pular as seguintes instruções sobre como configurar o SELinux e seguir em frente.
No entanto, se você estiver executando uma instância original do servidor CentOS 7, a saída do comando acima seria Enforcing
. Você precisa executar qualquer uma das três opções abaixo antes de poder iniciar e ativar o serviço MongoDB.
Opção 1: Permitir que o MongoDB use a 27017
porta
sudo semanage port -a -t mongod_port_t -p tcp 27017
Opção 2: Desativar SELinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
sudo shutdown -r now
Opção 3: Altere o SELinux para o permissive
modo
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
sudo shutdown -r now
Inicie o serviço MongoDB e inicie após a reinicialização do sistema:
sudo systemctl start mongod.service
sudo systemctl enable mongod.service
Use os comandos abaixo para importar dados iniciais do Leanote para o MongoDB:
rm /home/leanote/leanote/mongodb_backup/leanote_install_data/.DS_Store
mongorestore --host localhost -d leanote --dir /home/leanote/leanote/mongodb_backup/leanote_install_data/
Por questões de segurança, você precisa habilitar o controle de acesso ao MongoDB logo após o serviço MongoDB estar em funcionamento. Para esse fim, você precisa criar pelo menos duas contas de usuário do MongoDB: uma conta de administrador e uma conta de administrador de banco de dados. Você também precisará modificar a configuração do MongoDB.
Digite o shell do MongoDB:
mongo --host 127.0.0.1:27017
Alterne para o admin
banco de dados:
use admin
Crie um administrador de usuário chamado useradmin
que use uma senha useradminpassword
:
db.createUser({ user: "useradmin", pwd: "useradminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
Nota: O administrador do usuário useradmin
deve gerenciar todos os usuários do MongoDB, portanto, é aconselhável escolher uma senha forte. Obviamente, uma dica mais segura é substituir useradmin
por um nome de usuário difícil de adivinhar.
Alterne para o leanote
banco de dados:
use leanote
Crie um administrador de banco de dados chamado leanoteadmin
que use uma senha leanoteadminpassword
:
db.createUser({ user: "leanoteadmin", pwd: "leanoteadminpassword", roles: [{ role: "dbOwner", db: "leanote" }] })
Nota : Novamente, é recomendável escolher um nome de usuário menos conhecido e uma senha difícil de adivinhar.
Com a criação dos usuários do MongoDB, você pode confirmar os resultados:
use admin
db.auth("useradmin", "useradminpassword")
Confirme o administrador do banco de dados:
use leanote
db.auth("leanoteadmin", "leanoteadminpassword")
Ambos serão exibidos 1
como confirmação.
Saia do shell do MongoDB:
exit
Para habilitar o controle de acesso ao MongoDB, você também precisa anexar duas linhas ao arquivo de configuração do MongoDB /etc/mongod.conf
, da seguinte maneira:
sudo bash -c "echo 'security:' >> /etc/mongod.conf"
sudo bash -c "echo ' authorization: enabled' >> /etc/mongod.conf"
Reinicie o serviço MongoDB para que as modificações entrem em vigor:
sudo systemctl restart mongod.service
A partir de agora, você pode usar apenas as duas contas de usuário para acessar e gerenciar o MongoDB, useradmin
gerenciar todos os usuários do MongoDB e leanoteadmin
gerenciar leanote
apenas o banco de dados.
Faça backup do arquivo de configuração do Leanote /home/leanote/leanote/conf/app.conf
:
cd /home/leanote/leanote/conf/
cp app.conf app.conf.bak
Use o vi
editor para abrir o arquivo de configuração do Leanote:
vi app.conf
Encontre as seguintes linhas, uma por uma:
site.url=http://localhost:9000
db.username= # if not exists, please leave it blank
db.password= # if not exists, please leave it blank
app.secret=V85ZzBeTnzpsHyjQX4zukbQ8qqtju9y2aDM55VWxAH9Qop19poekx3xkcDVvrD0y
Substitua-os, respectivamente, conforme mostrado abaixo:
site.url=http://leanote.example.com:9000
db.username=leanoteadmin
db.password=leanoteadminpassword
app.secret=E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
Nota: Por questões de segurança, o valor do app.secret
parâmetro DEVE ser uma sequência aleatória de 64 bits diferente da original. Substitua o valor E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
pelo seu próprio valor aleatório de 64 bits.
Salve e saia:
:wq!
Modifique as regras de firewall para permitir o tráfego TCP de entrada na porta 9000
:
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo systemctl reload firewalld.service
Inicie o Leanote usando o script oficial:
cd /home/leanote/leanote/bin
bash run.sh
Ao ver Listening on.. 0.0.0.0:9000
, aponte seu navegador da Web favorito http://leanote.example.com:9000
para começar a usar o site Leanote.
Use a conta de administrador padrão do Leanote para entrar:
admin
abc123
Por motivos de segurança, você deve alterar a senha padrão imediatamente após fazer login.
HTTPS
acessoPor enquanto, você já pode acessar o servidor Leanote usando o protocolo HTTP, um protocolo menos seguro. Para melhorar a segurança do sistema, você pode ativar HTTPS
implementando um certificado SSL Let's Encrypt e o proxy reverso Nginx em sua máquina.
Antes de obter o certificado SSL Let's Encrypt, é necessário configurar corretamente o nome do host e o FQDN na sua máquina.
Primeiro, pressione CTRL+ Cpara parar o script Leanote run.sh
.
Em seguida, configure o nome do host e o FQDN da seguinte maneira:
sudo hostnamectl set-hostname leanote
cat <<EOF | sudo tee /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 leanote.example.com leanote
EOF
Você também pode confirmar os resultados:
hostname
hostname -f
Bloqueie o tráfego de entrada na porta 9000
e permita o tráfego de entrada nas portas de serviços HTTP
e HTTPS
:
sudo firewall-cmd --permanent --remove-port=9000/tcp
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service
Instale o utilitário Certbot:
sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot
Solicite um certificado SSL Let's Encrypt para o domínio leanote.example.com
:
sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d leanote.example.com
O certificado e a cadeia serão salvos da seguinte forma:
/etc/letsencrypt/live/leanote.example.com/fullchain.pem
O arquivo de chave privada será salvo da seguinte maneira:
/etc/letsencrypt/live/leanote.example.com/privkey.pem
Por padrão, o certificado SSL Vamos criptografar expirará em três meses. Você pode configurar um trabalho cron, como mostrado abaixo, para renovar automaticamente seus certificados Let's Encrypt:
sudo crontab -e
Pressione Ipara entrar no insert
modo e, em seguida, insira a seguinte linha:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
Salve e saia:
:wq!
Este trabalho cron tentará renovar o certificado Let's Encrypt todos os dias ao meio-dia.
Instale o Nginx usando o repositório EPEL YUM:
sudo yum install -y nginx
Crie um arquivo de configuração para o Leanote:
cat <<EOF | sudo tee /etc/nginx/conf.d/leanote.conf
# Redirect HTTP to HTTPS
server {
listen 80;
server_name leanote.example.com;
return 301 https://\$server_name\$request_uri;
}
server {
# Setup HTTPS certificates
listen 443 default ssl;
server_name leanote.example.com;
ssl_certificate /etc/letsencrypt/live/leanote.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/leanote.example.com/privkey.pem;
# Proxy to the Leanote server
location / {
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Host \$http_host;
proxy_set_header Host \$http_host;
proxy_max_temp_file_size 0;
proxy_pass http://127.0.0.1:9000;
proxy_redirect http:// https://;
}
}
EOF
Reinicie o Nginx para efetivar suas modificações:
sudo systemctl daemon-reload
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
Modifique a site.url
configuração no arquivo de configuração do Leanote:
cd /home/leanote/leanote/conf/
vi app.conf
Encontre a seguinte linha:
site.url=http://leanote.example.com:9000
Substitua-o:
site.url=https://leanote.example.com
Salve e saia:
:wq!
Execute o script Leanote novamente:
cd /home/leanote/leanote/bin
bash run.sh
Agora, aponte seu navegador da Web favorito http://leanote.example.com/
e você descobrirá que o HTTPS
protocolo é ativado automaticamente. Basta fazer login como admin
usuário com a nova senha que você configurou anteriormente ou registrar novas contas de usuário para colaboração em equipe.
Mais uma vez, pressione CTRL+ Cpara interromper o script Leanote. Nós iremos daemonizar esse script mais tarde.
wkhtmltopdf
programaO Leanote escolhe usar o wkhtmltopdf
programa para exportar páginas HTML como arquivos PDF. Instalar wkhtmltopdf
:
cd
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
sudo yum localinstall -y wkhtmltox-0.12.5-1.centos7.x86_64.rpm
which wkhtmltopdf
Não se esqueça de enviar o wkhtmltopdf
caminho binário /usr/local/bin/wkhtmltopdf
na Export PDF
seção no painel de administração da web do Leanote quando o Leanote estiver em funcionamento novamente.
Nota: Se você encontrar caracteres ilegíveis nos arquivos PDF exportados, poderá tentar corrigir o problema adicionando os arquivos de fonte necessários ao /usr/share/fonts/
diretório.
Para manter seu site Leanote online, você pode usar o utilitário Supervisor para iniciar automaticamente o script Leanote, se ele falhar.
Instale o Supervisor usando YUM:
sudo yum install -y supervisor
Crie um .ini
arquivo supervisor simples para o Leanote:
cat <<EOF | sudo tee /etc/supervisord.d/leanote.ini
[program:leanote]
command=bash /home/leanote/leanote/bin/run.sh
directory=/home/leanote/leanote/bin/
priority=999
autostart=true
autorestart=true
user=leanote
redirect_stderr=true
EOF
Inicie o serviço Supervisor, bem como o serviço Leanote:
sudo supervisord -c /etc/supervisord.conf
Confirme o status do serviço Leanote:
sudo supervisorctl status leanote
A saída será semelhante ao seguinte:
leanote RUNNING pid 3707, uptime 0:02:36
O Vultr oferece uma incrível conectividade de rede privada para servidores executando no mesmo local. Mas às vezes você quer dois servidores em países diferentes
Usando um sistema diferente? Introdução O CyberPanel é um dos primeiros painéis de controle do mercado, tanto de código aberto quanto de OpenLiteSpeed. What thi
Usando um sistema diferente? O ESpeak pode gerar arquivos de áudio de conversão de texto em fala (TTS). Isso pode ser útil por vários motivos, como criar seu próprio Turim
Usando um sistema diferente? O LibreNMS é um sistema de monitoramento de rede de código aberto completo. Ele usa o SNMP para obter os dados de diferentes dispositivos. Uma variedade
Usar um usuário sudo para acessar um servidor e executar comandos no nível raiz é uma prática muito comum entre o Linux e o Unix Systems Administrator. O uso de um sud
Usando um sistema diferente? O RabbitMQ é um intermediário de mensagens de código aberto amplamente usado, escrito na linguagem de programação Erlang. Como um middleware orientado a mensagens
Usando um sistema diferente? O RTMP é ótimo para veicular conteúdo ao vivo. Quando o RTMP é emparelhado com o FFmpeg, os fluxos podem ser convertidos em várias qualidades. Vultr i
Usando um sistema diferente? Gradle é um conjunto de ferramentas de automação de compilação de código aberto e gratuito baseado nos conceitos do Apache Ant e Apache Maven. Gradle fornece
Usando um sistema diferente? Neste guia, veremos como configurar um servidor FTP (ProFTPd) para transferir arquivos entre o seu PC e o seu servidor.
Usando um sistema diferente? O Netdata é uma estrela em ascensão no campo do monitoramento de métricas do sistema em tempo real. Comparado com outras ferramentas do mesmo tipo, o Netdata:
Usando um sistema diferente? O Apache Cassandra é um sistema de gerenciamento de banco de dados NoSQL gratuito e de código aberto, projetado para fornecer escalabilidade, alta
Neste tutorial, aprenda como configurar um servidor multiplayer Just Cause 2. Pré-requisitos Verifique se o sistema está totalmente atualizado antes de começarmos
Usando um sistema diferente? Neste tutorial, explicarei como configurar um servidor Starbound no CentOS 7. Pré-requisitos Você precisa ser o proprietário deste jogo
O ZNC é um segurança IRC gratuito e de código aberto que permanece permanentemente conectado a uma rede para que os clientes possam receber mensagens enviadas enquanto estiverem offline. Thi
O Django é uma estrutura Python popular para escrever aplicativos da web. Com o Django, você pode criar aplicativos mais rapidamente, sem reinventar a roda. Se você quiser você
Outubro é um sistema de gerenciamento de conteúdo de código aberto baseado no Laravel PHP Framework. Com uma interface elegante e uma arquitetura modular concisa
Após alterar a porta SSH, configurar a batida na porta e fazer outros ajustes para a segurança SSH, talvez haja mais uma maneira de protegê-lo
Introdução O MyCLI é um cliente de linha de comando para MySQL e MariaDB que permite concluir automaticamente e ajuda na sintaxe de seus comandos SQL. MyCL
Usando um sistema diferente? O Directus 6.4 CMS é um sistema de gerenciamento de conteúdo sem cabeça (CMS) poderoso e flexível, gratuito e de código aberto que fornece
Usando um sistema diferente? O Reader Self 3.5 é um leitor de RSS auto-hospedado, simples e flexível, gratuito e de código aberto, e uma alternativa ao Google Reader. Leitor Sel
Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane
ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.
O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+
Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.
Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais
13 Ferramentas de Extração de Dados Comerciais de Big Data
Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true
À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.
Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1
A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA na área da saúde ainda está crescendo dia a dia.