Richten Sie mit OpenVPN Ihr eigenes privates Netzwerk ein
Vultr bietet Ihnen eine hervorragende Konnektivität für private Netzwerke für Server, die am selben Standort ausgeführt werden. Aber manchmal möchten Sie zwei Server in verschiedenen Ländern
Die Diaspora ist ein datenschutzbewusstes Open-Source-Netzwerk. In diesem Tutorial erfahren Sie, wie Sie einen Diaspora-Pod unter Debian 9 einrichten und konfigurieren.
Aktualisieren Sie zunächst das System und installieren Sie die erforderlichen Pakete.
sudo apt-get update
sudo apt-get install build-essential libssl-dev libcurl4-openssl-dev libxml2-dev libxslt-dev imagemagick ghostscript curl libmagickwand-dev git libpq-dev redis-server nodejs
Diaspora unterstützt MySQL, MariaDB und PostgreSQL. In diesem Handbuch verwenden wir PostgreSQL.
Installieren Sie PostgreSQL.
sudo apt-get install PostgreSQL-server
Stellen Sie mit dem postgres
Benutzer eine Verbindung zu PostgreSQL her .
sudo -u postgres psql
Erstellen Sie einen Diaspora-Benutzer.
CREATE USER diaspora WITH CREATEDB PASSWORD '<password>';
Dies ist das Benutzerkonto, mit dem Diaspora ausgeführt wird.
sudo adduser --disabled-login diaspora
Wechseln Sie zum neuen Benutzer.
sudo su - diaspora
Es gibt verschiedene Möglichkeiten, Ruby zu installieren. Wir werden verwenden rbenv
, um die Umgebung und die Versionen zu verwalten.
Zunächst müssen Sie die Pakete installieren, die Ruby benötigt.
sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev
Installieren rbenv
.
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
cd ~/.rbenv && src/configure && make -C src
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
Stellen Sie die Verbindung erneut her, um den Pfad neu zu laden.
exit
sudo su - diaspora
Installieren Sie das ruby-build
Plugin rbenv
zum Kompilieren von Ruby:
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Installieren Sie Ruby.
rbenv install 2.4.3
rbenv global 2.4.3
Wir werden Exim4 als SMTP-Relay verwenden, um E-Mails an Benutzer zu senden.
Installieren und konfigurieren Sie das Paket.
sudo apt-get install exim4
sudo dpkg-reconfigure exim4-config
Klonen Sie den Quellcode für Diaspora.
cd ~
git clone -b master https://github.com/diaspora/diaspora.git
cd diaspora
Kopieren Sie die Beispieldatenbankkonfigurationsdatei an den von der Diaspora benötigten Speicherort.
cp config/database.yml.example config/database.yml
cp config/diaspora.yml.example config/diaspora.yml
Öffnen Sie die Datenbankkonfigurationsdatei in einem Texteditor, um einige Einstellungen zu bearbeiten.
nano config/database.yml
Ändern Sie die Datenbankeinstellungen so, dass sie dem zuvor erstellten PostgreSQL-Benutzer und -Kennwort entsprechen.
postgresql: &postgresql
adapter: postgresql
host: localhost
port: 5432
username: diaspora
password: __password__
encoding: unicode
Öffnen Sie die Diaspora-Konfigurationsdatei.
nano config/diaspora.yml
Sie müssen einige Einstellungen in dieser Datei aktualisieren, damit die Diaspora ordnungsgemäß funktioniert.
url
: Legen Sie hier die öffentlich zugängliche URL für Ihren Pod fest.certificate_authorities
: Entfernen Sie das #
Kabel, um es zu entfernen .rails_environment
: Sie müssen dies auf einstellen production
.require_ssl
: Stellen Sie dies auf ein false
, um eine Umleitung von http://
nach zu verhindern https://
.Installieren Sie Bundle, den Ruby-Bibliotheksmanager.
gem install bundler
script/configure_bundler
Hinweis: Wenn Sie Fehler in Bezug auf Ihre Ruby-Version haben, bearbeiten Sie diese .ruby-version
und fügen Sie sie ein (hier 2.4.3
anstelle von 2.4
).
Erstellen und konfigurieren Sie die Datenbank.
RAILS_ENV=production bin/rake db:create db:migrate
Dieser Rechenbefehl kompiliert die Assets vor.
RAILS_ENV=production bin/rake assets:precompile
Es gibt viele Möglichkeiten, die Diaspora als Dienstleistung zu verwalten. In diesem Tutorial verwenden wir Systemd.
Erstellen Sie zunächst die folgenden Dateien.
target
Datei:touch /etc/systemd/system/diaspora.target
web
service file:touch /etc/systemd/system/diaspora-web.service
sidekiq
service file:touch /etc/systemd/system/diaspora-sidekiq.service
Fügen Sie für jede zuvor erstellte Datei den folgenden Konfigurationstext ein.
target
Datei:
[Unit]
Description=Diaspora social network
Wants=postgresql.service
Wants=redis-server.service
After=redis-server.service
After=postgresql.service
[Install]
WantedBy=multi-user.target
web
Servicedatei:
[Unit]
Description=Diaspora social network (unicorn)
PartOf=diaspora.target
StopWhenUnneeded=true
[Service]
User=diaspora
Environment=RAILS_ENV=production
WorkingDirectory=/home/diaspora/diaspora
ExecStart=/bin/bash -lc "bin/bundle exec unicorn -c config/unicorn.rb -E production"
Restart=always
[Install]
WantedBy=diaspora.target
sidekiq
Servicedatei:
[Unit]
Description=Diaspora social network (sidekiq)
PartOf=diaspora.target
StopWhenUnneeded=true
[Service]
User=diaspora
Environment=RAILS_ENV=production
WorkingDirectory=/home/diaspora/diaspora
ExecStart=/bin/bash -lc "bin/bundle exec sidekiq"
Restart=always
[Install]
WantedBy=diaspora.target
Aktivieren Sie die Startdienste.
sudo systemctl enable diaspora.target diaspora-sidekiq.service diaspora-web.service
Starten Sie die Dienste neu.
sudo systemctl restart diaspora.target
Stellen Sie sicher, dass sie ordnungsgemäß ausgeführt werden.
sudo systemctl status diaspora-web.service
sudo systemctl status diaspora-sidekiq.service
Wir werden Nginx als Reverse-Proxy verwenden, um statische Ressourcen bereitzustellen.
Wir werden acme.sh verwenden , um ein Let's Encrypt-Zertifikat zu erhalten.
Laden Sie den acme.sh
Quellcode herunter .
git clone https://github.com/Neilpang/acme.sh.git
Generieren Sie ein Let's Encrypt-Zertifikat.
./.acme.sh/acme.sh --issue --log \
--dns \
--keylength ec-256 \
--cert-file /etc/nginx/https/cert.pem \
--key-file /etc/nginx/https/key.pem \
--fullchain-file /etc/nginx/https/fullchain.pem \
-d example.com \
-d www.example.com
Installieren Sie Nginx.
sudo apt-get install nginx
Erstellen Sie eine neue Nginx-Konfigurationsdatei für unseren Diaspora-Pod.
nano /etc/nginx/conf.d/diaspora.conf
Füllen Sie die Datei mit dem folgenden Inhalt.
upstream diaspora_server {
server unix:/home/diaspora/diaspora/tmp/diaspora.sock;
}
server {
listen 80;
listen [::]:80;
server_name www.example.com example.com;
return 301 https://example.com$request_uri;
access_log /dev/null;
error_log /dev/null;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.example.com example.com;
if ($host = www.example.com) {
return 301 https://example.com$request_uri;
}
access_log /var/log/nginx/dspr-access.log;
error_log /var/log/nginx/dspr-error.log;
ssl_certificate /etc/nginx/https/fullchain.pem;
ssl_certificate_key /etc/nginx/https/key.pem;
ssl_protocols TLSv1.2;
ssl_ciphers EECDH+CHACHA20:EECDH+AESGCM:EECDH+AES;
ssl_ecdh_curve X25519:P-521:P-384:P-256;
ssl_prefer_server_ciphers on;
ssl_stapling on;
ssl_stapling_verify on;
resolver 80.67.169.40 80.67.169.12 valid=300s;
resolver_timeout 5s;
ssl_session_cache shared:SSL:10m;
root /home/diaspora/diaspora/public;
client_max_body_size 5M;
client_body_buffer_size 256K;
try_files $uri @diaspora;
location /assets/ {
expires max;
add_header Cache-Control public;
}
location @diaspora {
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 Host $http_host;
proxy_redirect off;
proxy_pass http://diaspora_server;
}
}
Hinweis: Wechseln Sie example.com
zu Ihrem eigenen registrierten Domainnamen.
Überprüfen Sie nach Abschluss aller Änderungen die Konfigurationsdatei auf Fehler.
sudo nginx -t
Starten Sie Nginx neu, um die Änderungen zu übernehmen.
sudo systemctl restart nginx
Wenn Sie jetzt den Domainnamen Ihres Diaspora-Pods in Ihrem Browser besuchen (Beispiel https://example.com
:), gelangen Sie zur Willkommensseite der Diaspora.
Klicken Sie auf den Link Start by creating an account.
und geben Sie die Details ein, um einen neuen Diaspora-Benutzer zu erstellen. Anschließend können Sie die Startseite Ihres Benutzers anzeigen und das soziale Netzwerk der Diaspora verwenden.
Nachdem Sie ein Konto erstellt haben, geben Sie ihm Administratorrechte:
Role.add_admin User.where(username: "your_username").first.person
Sie haben jetzt Zugriff auf das Admin-Dashboard.
https://example.com/admins/dashboard
Sidekiq, das die Verarbeitung von Hintergrundjobs übernimmt, verfügt über eine Webschnittstelle unter https://example.com/sidekiq
. Die Pod-Statistiken finden Sie unter https://example.com/statistics
.
Wir werden logrotate
Diaspora-Protokolle verwalten.
Erstellen Sie eine neue logrotate
Datei für die Diaspora.
nano /etc/logrotate/diaspora
Fügen Sie dann die folgenden Zeilen hinzu.
/home/diaspora/diaspora/log/*.log {
notifempty
copytruncate
missingok
compress
weekly
rotate 52
}
Dadurch werden die Protokolle wöchentlich gedreht, komprimiert und 52 Wochen lang aufbewahrt.
Befolgen Sie diese Schritte, wenn die Diaspora aktualisiert werden soll.
Aktualisieren Sie zunächst das System.
sudo apt-get update
sudo apt-get dist-upgrade
Aktualisieren Sie den Diaspora-Quellcode mit git
.
su - diaspora
cd diaspora
git pull
Aktualisiere die Edelsteine.
gem install bundler
bin/bundle --full-index
Migrieren Sie die Datenbank und kompilieren Sie die Assets neu.
RAILS_ENV=production bin/rake db:migrate
RAILS_ENV=production bin/rake assets:precompile
Starten Sie schließlich die Diaspora neu.
systemctl restart diaspora.target
Vultr bietet Ihnen eine hervorragende Konnektivität für private Netzwerke für Server, die am selben Standort ausgeführt werden. Aber manchmal möchten Sie zwei Server in verschiedenen Ländern
Dieses Tutorial führt Sie durch die Installation des Yunohost Complete Server-Kontrollfelds unter Debian. Folgen Sie einfach dem Tutorial und Ihr Server wird in Betrieb sein
In diesem Artikel erfahren Sie, wie Sie unter Debian ein Chroot-Gefängnis einrichten. Ich gehe davon aus, dass Sie Debian 7.x verwenden. Wenn Sie Debian 6 oder 8 ausführen, funktioniert dies möglicherweise, bu
Einführung Eine einfache Möglichkeit, einen VPN-Server unter Debian einzurichten, ist PiVPN. PiVPN ist ein Installationsprogramm und ein Wrapper für OpenVPN. Es werden einfache Befehle für Sie erstellt
Einführung Cacti ist ein Open-Source-Überwachungs- und Grafiktool, das vollständig auf RRD-Daten basiert. Mit Cacti können Sie nahezu jede Art von Gerät überwachen
Dieser Artikel zeigt Ihnen, wie Sie einen Teamspeak 3-Server unter Debian Wheezy ausführen. Bevor Sie damit beginnen können, sollten Sie einige Vorbereitungen für Ihr VPS treffen. ich
Einführung MySQL verfügt über eine großartige Funktion, die als Ansichten bezeichnet wird. Ansichten sind gespeicherte Abfragen. Stellen Sie sich diese als Alias für eine ansonsten lange Abfrage vor. In diesem Handbuch
ModSecurity ist ein WAF-Modul (Open Source Web Application Firewall), mit dem Apache, Nginx und IIS vor verschiedenen Cyberangriffen geschützt werden können
Hiawatha ist ein Webserver, der Einfachheit, Benutzerfreundlichkeit und Sicherheit im Auge hat. Es ist die perfekte Lösung für kleinere Server, ältere Hardware oder Embedde
Einführung Lynis ist ein kostenloses Open-Source-Tool zur Systemprüfung, das von vielen Systemadministratoren verwendet wird, um die Integrität zu überprüfen und ihre Systeme zu härten. ich
Munin ist ein Überwachungstool zur Überwachung von Prozessen und Ressourcen in Ihrer Maschine und präsentiert die Informationen in Diagrammen über eine Weboberfläche. Verwenden Sie die folgenden
Verwenden Sie ein anderes System? NodeBB ist ein Node.js-basiertes Forum. Es verwendet Web-Sockets für sofortige Interaktionen und Echtzeitbenachrichtigungen. NodeBB-Quellcode i
Verwenden Sie ein anderes System? BigTree CMS 4.2 ist ein schnelles und leichtes, kostenloses und Open-Source-Content-Management-System (CMS) für Unternehmen mit umfangreichen Funktionen
Verwenden Sie ein anderes System? Koel ist eine einfache webbasierte persönliche Audio-Streaming-App, die auf der Clientseite in Vue und auf der Serverseite in Laravel geschrieben wurde. Koe
Verwenden Sie ein anderes System? Einführung Docker Swarm verwandelt Ihre einzelnen Server in einen Computercluster. Erleichterung der Skalierung, Hochverfügbarkeit an
Verwenden Sie ein anderes System? Paste 2.1 ist eine einfache und flexible, kostenlose und Open-Source-Pastebin-Anwendung zum Speichern von Code, Text und mehr. Es war ursprünglich
Hier bei Vultr haben wir die Option, IPv6 auf allen bereitstellbaren VPS zu aktivieren. Aber damit bevorzugen einige Programme und Befehle den einen oder anderen Witz
Verwenden Sie ein anderes System? Einführung Automad ist ein Open Source File-basiertes Content Management System (CMS) und eine in PHP geschriebene Template Engine. Automa
Verwenden Sie ein anderes System? Apache Cassandra ist ein kostenloses und Open-Source-NoSQL-Datenbankverwaltungssystem, das Skalierbarkeit bietet
Snort ist ein kostenloses Network Intrusion Detection System (IDS). In weniger offiziellen Begriffen können Sie Ihr Netzwerk in Echtzeit auf verdächtige Aktivitäten überwachen
Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist
ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.
Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+
Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.
Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren
13 Tools zur kommerziellen Datenextraktion von Big Data
Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true
Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.
Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1
KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.