Installa la condivisione NFS su Debian
NFS è un file system basato su rete che consente ai computer di accedere ai file attraverso una rete di computer. Questa guida spiega come esporre le cartelle su NF
Diaspora è un social network open source consapevole della privacy. In questo tutorial imparerai come impostare e configurare un pod Diaspora su Debian 9.
Innanzitutto, aggiorna il sistema e installa i pacchetti necessari.
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 supporta MySQL, MariaDB e PostgreSQL. In questa guida useremo PostgreSQL.
Installa PostgreSQL.
sudo apt-get install PostgreSQL-server
Connettiti a PostgreSQL con l' postgres
utente.
sudo -u postgres psql
Crea un utente Diaspora.
CREATE USER diaspora WITH CREATEDB PASSWORD '<password>';
Questo è l'account utente che eseguirà Diaspora.
sudo adduser --disabled-login diaspora
Passa al nuovo utente.
sudo su - diaspora
Esistono diversi modi per installare Ruby. Useremo rbenv
per gestire l'ambiente e le versioni.
Innanzitutto, dovrai installare i pacchetti richiesti da Ruby.
sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev
Installa 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
Riconnetti per ricaricare il percorso.
exit
sudo su - diaspora
Installa il ruby-build
plugin per rbenv
compilare Ruby:
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Installa Ruby.
rbenv install 2.4.3
rbenv global 2.4.3
Useremo Exim4 come inoltro SMTP per inviare e-mail agli utenti.
Installa e configura il pacchetto.
sudo apt-get install exim4
sudo dpkg-reconfigure exim4-config
Clonare il codice sorgente per Diaspora.
cd ~
git clone -b master https://github.com/diaspora/diaspora.git
cd diaspora
Copia il file di configurazione del database di esempio nella posizione richiesta da Diaspora.
cp config/database.yml.example config/database.yml
cp config/diaspora.yml.example config/diaspora.yml
Aprire il file di configurazione del database in un editor di testo per modificare alcune impostazioni.
nano config/database.yml
Modificare le impostazioni del database in modo che corrispondano all'utente PostgreSQL e alla password creati in precedenza.
postgresql: &postgresql
adapter: postgresql
host: localhost
port: 5432
username: diaspora
password: __password__
encoding: unicode
Apri il file di configurazione di Diaspora.
nano config/diaspora.yml
Dovrai aggiornare alcune impostazioni in questo file per far funzionare correttamente Diaspora.
url
: Imposta qui l'URL pubblico sul tuo pod.certificate_authorities
: Rimuove il lead #
per decommentarlo.rails_environment
: È necessario impostarlo su production
.require_ssl
: Imposta questa opzione false
per impedire a un reindirizzamento http://
a https://
.Installa Bundle, il gestore della libreria Ruby.
gem install bundler
script/configure_bundler
Nota: se si verificano errori relativi alla versione di Ruby, modificarla .ruby-version
e inserirne una propria (qui 2.4.3
anziché 2.4
).
Crea e configura il database.
RAILS_ENV=production bin/rake db:create db:migrate
Questo comando rake precompila le risorse.
RAILS_ENV=production bin/rake assets:precompile
Esistono molti modi per gestire la Diaspora come servizio. In questo tutorial useremo Systemd.
Innanzitutto, crea i seguenti file.
target
file systemd :touch /etc/systemd/system/diaspora.target
web
file di servizio systemd :touch /etc/systemd/system/diaspora-web.service
sidekiq
file di servizio systemd :touch /etc/systemd/system/diaspora-sidekiq.service
Incolla il seguente testo di configurazione per ciascun file creato in precedenza.
target
file:
[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
file di servizio:
[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
file di servizio:
[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
Abilita i servizi di avvio.
sudo systemctl enable diaspora.target diaspora-sidekiq.service diaspora-web.service
Riavvia i servizi.
sudo systemctl restart diaspora.target
Assicurarsi che funzionino correttamente.
sudo systemctl status diaspora-web.service
sudo systemctl status diaspora-sidekiq.service
Useremo Nginx come proxy inverso per servire risorse statiche.
Useremo acme.sh per ottenere un certificato Let's Encrypt.
Scarica il acme.sh
codice sorgente.
git clone https://github.com/Neilpang/acme.sh.git
Genera un certificato Let's Encrypt.
./.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
Installa Nginx.
sudo apt-get install nginx
Crea un nuovo file di configurazione Nginx per il nostro pod Diaspora.
nano /etc/nginx/conf.d/diaspora.conf
Popolare il file con il seguente contenuto.
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;
}
}
Nota: passare example.com
al proprio nome di dominio registrato.
Dopo che tutte le modifiche sono state completate, verificare la presenza di errori nel file di configurazione.
sudo nginx -t
Riavvia Nginx per applicare le modifiche.
sudo systemctl restart nginx
Se ora visiti il nome di dominio del tuo pod Diaspora nel tuo browser (esempio:) https://example.com
, raggiungerai la pagina di benvenuto di Diaspora.
Fai clic sul collegamento Start by creating an account.
e inserisci i dettagli per creare un nuovo utente Diaspora. Quindi, sarai in grado di visualizzare la home page del tuo utente e iniziare a utilizzare il social network Diaspora.
Dopo aver creato un account, assegnagli i diritti di amministratore :.
Role.add_admin User.where(username: "your_username").first.person
Ora hai accesso alla dashboard di amministrazione.
https://example.com/admins/dashboard
Sidekiq, che gestisce l'elaborazione dei processi in background, ha un'interfaccia web disponibile su https://example.com/sidekiq
. Le statistiche del pod sono disponibili all'indirizzo https://example.com/statistics
.
Useremo logrotate
per gestire i registri della diaspora.
Crea un nuovo logrotate
file per Diaspora.
nano /etc/logrotate/diaspora
Quindi, aggiungi le seguenti righe.
/home/diaspora/diaspora/log/*.log {
notifempty
copytruncate
missingok
compress
weekly
rotate 52
}
Ciò ruoterà i registri settimanalmente, li comprimerà e li manterrà per 52 settimane.
Quando arriva il momento di aggiornare Diaspora, attenersi alla seguente procedura.
Innanzitutto, aggiorna il sistema.
sudo apt-get update
sudo apt-get dist-upgrade
Aggiorna il codice sorgente di Diaspora con git
.
su - diaspora
cd diaspora
git pull
Aggiorna le gemme.
gem install bundler
bin/bundle --full-index
Migrare il database e ricompilare le risorse.
RAILS_ENV=production bin/rake db:migrate
RAILS_ENV=production bin/rake assets:precompile
Infine, riavvia Diaspora.
systemctl restart diaspora.target
NFS è un file system basato su rete che consente ai computer di accedere ai file attraverso una rete di computer. Questa guida spiega come esporre le cartelle su NF
Usi un sistema diverso? Couch CMS è un sistema di gestione dei contenuti (CMS) semplice e flessibile, gratuito e open source che consente ai web designer di progettare
Golang è un linguaggio di programmazione sviluppato da Google. Grazie alla sua versatilità, semplicità e affidabilità, Golang è diventato uno dei più popolari
IRC è popolare tra gli sviluppatori e gli utenti di software open source. Uno degli svantaggi di IRC è quando non sei in linea, potresti perdere Importan
Luso di un utente sudo per accedere a un server ed eseguire comandi a livello di root è una pratica molto comune tra Linux e Unix Systems Administrator. Luso di un sud
Questo articolo ti insegnerà come impostare una prigione chroot su Debian. Presumo che tu stia usando Debian 7.x. Se usi Debian 6 o 8, questo potrebbe funzionare, bu
Introduzione Un modo semplice per configurare un server VPN su Debian è con PiVPN. PiVPN è un programma di installazione e wrapper per OpenVPN. Crea semplici comandi per te t
Usi un sistema diverso? Brotli è un nuovo metodo di compressione con un rapporto di compressione migliore di Gzip. Il suo codice sorgente è ospitato pubblicamente su Github. Thi
Usi un sistema diverso? Introduzione Kanboard è un programma software di gestione dei progetti gratuito e open source progettato per facilitare e visualizzare
Usi un sistema diverso? Neos è una piattaforma di applicazioni di contenuto con un CMS e un framework applicativo al suo interno. Questa guida ti mostrerà come installare
Introduzione Cacti è uno strumento open source di monitoraggio e rappresentazione grafica interamente basato sui dati RRD. Attraverso Cacti puoi monitorare quasi ogni tipo di devic
Java è un linguaggio di programmazione / macchina virtuale indipendente dalla piattaforma. In questo tutorial, installeremo limplementazione OpenJDK di Java 8 su un Debian
Git è un sistema di controllo della versione (VCS) che consente il rilevamento delle modifiche al codice. In questo tutorial, vedremo come installare un server HTTP (S) Git, un
Introduzione MyCLI è un client da riga di comando per MySQL e MariaDB che ti consente di completare automaticamente e ti aiuta con la sintassi dei tuoi comandi SQL. MyCL
Introduzione MySQL ha una grande funzionalità nota come viste. Le viste sono query memorizzate. Pensa a loro come alias per una query altrimenti lunga. In questa guida,
Cosa ti serve Un VPS Vultr con almeno 1 GB di RAM. Accesso SSH (con privilegi di root / amministrativi). Passaggio 1: installare prima BungeeCord
Usi un sistema diverso? Matomo (precedentemente Piwik) è una piattaforma di analisi open source, unalternativa aperta a Google Analytics. La fonte Matomo è ospitata o
Munin è uno strumento di monitoraggio per rilevare processi e risorse nella macchina e presenta le informazioni in grafici attraverso uninterfaccia web. Usa il seguito
Usi un sistema diverso? ImpressPages CMS 5.0 è un sistema di gestione dei contenuti (CMS) semplice ed efficace, gratuito e open source, intuitivo, basato su MVC
Usi un sistema diverso? NodeBB è un forum basato su Node.js. Utilizza socket Web per interazioni istantanee e notifiche in tempo reale. Codice sorgente NodeBB i
Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane
ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.
Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+
Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.
Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più
13 strumenti commerciali per l'estrazione dei dati dai Big Data
Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true
Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.
Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1
L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.