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 Firefox Sync é um recurso de sincronização do navegador que permite compartilhar seus dados e preferências (como favoritos, histórico, senhas, guias abertas e complementos instalados) em todos os seus dispositivos. A Mozilla também oferece um aplicativo "servidor de sincronização" para uso com o Firefox Sync para usuários e empresas que preferem hospedar seus próprios dados de sincronização. Este artigo mostra como configurar o Mozilla Sync Server.
Atualize o sistema:
sudo yum check-update
Para criar e executar o Sync Server, você precisará instalar estes pacotes:
Mecurial
sqlite3
git
Python 2.6.6
Python 2.6.6 virtualenv
Python 2.6.6 SetupTools
Python 2.6.6 Developer Tools
Instale a versão mais recente do Mercurial:
sudo yum install mercurial
Instale as ferramentas e bibliotecas de desenvolvimento necessárias:
yum groupinstall 'Development Tools' 'Development Libraries'
yum install tk-devel libjpeg-devel mysql-devel python-devel httpd-devel zlib-devel bzip2-devel
Instale o SQLite3:
sudo yum install sqlite
Instale e construa o Python 2.6.6:
cd $home
sudo wget http://python.org/ftp/python/2.6.6/Python-2.6.6.tgz
sudo tar xzvf Python-2.6.6.tgz
cd $home/Python-2.6.6
sudo ./configure --prefix=/opt/python2.6 --enable-thread --enable-shared --enable-unicode=ucs4
sudo make
sudo make install
Clonaremos o repositório Git do servidor de sincronização e entraremos na pasta:
git clone https://github.com/mozilla-services/syncserver
cd syncserver
Execute o comando build, que fará o download das dependências e compilará o código:
make build
Inicie o Sync Server e verifique se ele funciona corretamente:
bin/paster serve development.ini
Você verá algo assim:
Starting server in PID 5952.
serving on 0.0.0.0:5000 view at http://127.0.0.1:5000
A configuração do servidor de sincronização é muito simples, existem apenas alguns parâmetros para alterar no arquivo de configuração ( ./syncserver.ini
).
Abra o arquivo de configuração com seu editor de texto favorito (por exemplo nano ./syncserver.ini
).
[server:main]
use = egg:gunicorn
host = 0.0.0.0
port = 5000
workers = 1
timeout = 30
[app:main]
use = egg:syncserver
[syncserver]
# This must be edited to point to the public URL of your server,
# i.e. the URL as seen by Firefox.
public_url = http://localhost:5000/
# This defines the database in which to store all server data.
#sqluri = sqlite:////tmp/syncserver.db
# This is a secret key used for signing authentication tokens.
# It should be long and randomly-generated.
# The following command will give a suitable value on *nix systems:
#
# head -c 20 /dev/urandom | sha1sum
#
# If not specified then the server will generate a temporary one at startup.
#secret = INSERT_SECRET_KEY_HERE
# Set this to "false" to disable new-user signups on the server.
# Only request by existing accounts will be honoured.
# allow_new_users = false
# Set this to "true" to work around a mismatch between public_url and
# the application URL as seen by python, which can happen in certain reverse-
# proxy hosting setups. It will overwrite the WSGI environ dict with the
# details from public_url. This could have security implications if e.g.
# you tell the app that it's on HTTPS but it's really on HTTP, so it should
# only be used as a last resort and after careful checking of server config.
force_wsgi_environ = false
[browserid]
# Uncomment and edit the following to use a local BrowserID verifier
# rather than posting assertions to the mozilla-hosted verifier.
# Audiences should be set to your public_url without a trailing slash.
#backend = tokenserver.verifiers.LocalVerifier
#audiences = https://localhost:5000
# By default, syncserver will accept identity assertions issues by
# any server. You can restrict this by setting the below to a list
# of allowed issuer domains.
#allowed_issuers = www.mysite.com myfriendsdomain.org
O endereço do seu servidor deve ser especificado através do parâmetro public_url
:
public_url = http://fsync.example.com
Nota : o valor padrão public_url
, http://localhost:5000/
, trabalhará para fins de teste em sua máquina local.
Descomentaremos a sqluri
opção e colocaremos o local, ou URI
, que permitirá ao servidor conectar o banco de dados e armazenar suas informações:
sqluri = sqlite:////path/to/database/file.db
Se você deseja usar outro tipo de banco de dados:
sqluri = pymysql://username:[email protected]/sync
Para o secret
parâmetro, teremos que gerar uma chave secreta para tokens de autenticação:
head -c 20 /dev/urandom | sha1sum
Remova o comentário da linha do parâmetro secreto e copie / cole a sequência retornada no parâmetro secreto:
secret = db8a203aed5fe3e4594d4b75990acb76242efd35
Nota : Se você não colocar nada nesse parâmetro, o servidor gerará um, mas será diferente sempre que o servidor for reiniciado.
Remova o comentário do allow\_new\_users
parâmetro e defina-o true
para permitir que nossa conta se conecte ao nosso servidor pela primeira vez:
allow_new_users = true
Descomentaremos o audiences
parâmetro e colocaremos a mesma coisa que o public_uri
parâmetro:
audiences = http://fsync.example.com
Por fim, basta adicionar a seguinte linha ao final do seu arquivo:
forwarded_allow_ips = *
Essa linha ajudará a evitar mensagens de erro e problemas de autorização.
Para iniciar o servidor de sincronização, você pode usar um dos seguintes comandos:
./path/to/syncserver/local/bin/gunicorn --threads 4 --paste /path/to/syncserver/syncserver.ini &
Isso permite que você escolha o local do arquivo de configuração; bem como colocar o argumento --threads 4
, que permite atribuir mais energia ao servidor de sincronização.
Para iniciar o servidor sempre que sua instância inicializar, você pode adicionar a seguinte linha ao seu crontab digitando o crontab -e
comando:
@reboot ./path/to/syncserver/local/bin/gunicorn --paste /path/to/syncserver/syncserver.ini &
Você pode usar servidores da web diferentes que sejam compatíveis com o WSGI
protocolo. Por exemplo:
Nginx
com o uWSGI.Apache
combinado com mod_wsgi.Para o Nginx, você precisa usar o proxy interno do Nginx, como mostrado abaixo:
server {
listen 80;
server_name fsync.example.com;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_read_timeout 120;
proxy_connect_timeout 10;
proxy_pass http://127.0.0.1:5000/;
}
}
É possível que os usuários do Nginx usem apenas o soquete WSGI.
Instalar uWSGI
via Pip:
pip install uwsgi
Instale uWSGI
através do download de um tarball de origem:
wget https://projects.unbit.it/downloads/uwsgi-latest.tar.gz
tar zxvf uwsgi-latest.tar.gz
cd <dir>
make
Nota : Após a construção, você terá um uwsgi
binário no diretório atual.
Depois de instalado, inicie-o com as seguintes opções:
uwsgi --plugins python27 --manage-script-name \
--mount /<location>=/path/to/syncserver/syncserver.wsgi \
--socket /path/to/uwsgi.sock
Em seguida, use a seguinte configuração do Nginx:
location /<location>/ {
include uwsgi_params;
uwsgi_pass unix:/path/to/uwsgi.sock;
}
Instalar mod_wsgi
:
apt-get install libapache2-mod-wsgi
Em seguida, use o seguinte vhost:
<VirtualHost *:80>
ServerName sync.example.com
DocumentRoot /path/to/syncserver
WSGIProcessGroup sync
WSGIDaemonProcess sync user=sync group=sync processes=2 threads=25 python-path=/path/to/syncserver/local/lib/python2.7/site-packages/
WSGIPassAuthorization On
WSGIScriptAlias / /path/to/syncserver/syncserver.wsgi
CustomLog /var/log/apache2/sync.example.com-access.log combined
ErrorLog /var/log/apache2/sync.example.com-error.log
</VirtualHost>
Depois que o servidor estiver instalado e configurado, você poderá configurar o cliente Firefox da área de trabalho para conversar com seu novo Sync Server. Antes de começar, se você já estiver conectado ao Firefox Sync Servers, deverá sair. Caso contrário, a conexão com o novo servidor pode não funcionar.
Primeiro, abra uma nova guia e digite o seguinte endereço:
about:config
Na barra de pesquisa, insira identity.sync.tokenserver.uri
e altere seu valor para o URL do seu servidor com um caminho de token/1.0/sync/1.5
:
http://sync.example.com/token/1.0/sync/1.5
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.