Il sito di e-commerce e' stato pianificato, sara' una vetrina avanzata, connessa con i vari account social, che non vendera' niente e servira' solo a mostrare ai clienti le nuove creazioni della tipa ed mettersi in contatto diretto (mail, facebook, cell, etc.), servira' anche a centralizzare la gestione dei blog e post sui social network che faranno "lateralmente" al marketing diretto, i social se li gestiranno con hootsuite, il marketing email e la vetrina web piu' personalizzabile con magento.
Dedichero' un server a questo coso separato dalla mia rete perche' prima o poi se lo gestiranno e pagheranno loro (o pagherano qualcuno), io glielo pago e regalo bello fatto e gestito per un anno, loro si pagano hootsuite ed un grafico-informatico che fara' il tema (se lo troveranno loro, hanno un sacco di amici, decideranno loro) Cosi' facendo per me questo setup e' semplice, faranno tutto loro dal backend, la mia rete personale invece richiedera' piu' tempo e sara' un progetto subordinato a questo (purtroppo mi viene da dire), almeno per un anno.
Nella mia rete personale invece ho deciso di mettere i seguenti elementi:
1) una seedbox (compro il servizio a parte)
2) un fileserver (forse owncloud, pero' questo introduce delle complicazioni)
3) un db server (lo voglio separare dal webserver just because I can)
4) un webserver (l'unica macchina raggiungibile "pubblicamente", senza ssh/vpn di mezzo)
5) un server openvpn
6) una webcache (via squid proxy)
7) un mediaserver (dlna e un webcoso che mi transcoda i media per l'html5, imagegallery, online document editing, etc.)
una soluzione di backup (non ho ancora optato per quale, da un semplice scriptone che rsynca tutto ad una suite completa, ce ne sono molte, devo ancora decidere al riguardo, suggerimenti?)
ho gia sperimentato con successo ansible per installare e configurare tutti i vari pezzi (una alla volta, ora devo scrivere i playbook), eccetto la seedbox ovviamente, che cmq e' solo un pannello web cui accedero direttamente dal browsa per inserire i torrent e configurero' qualcosa per rsyncarsi sopra qualche protocollo supportato dalla seedbox i file appena scaricati, probabilmente uno script sul fileserver.
ora devo decidere come strutturare tutta la procedura, ho gia' sperimentato l'installazione e configurazione dei vari elementi, tranne la webcache e owncloud e devo ancora prendere alcune decisioni riguardo allo storage.
Ho optato per centos 7 su tutte le macchine (long live systemd!)
io pensavo di configurare per primo una sorta di "drone" che sara' anche il server openvpn, su questo prima installo ansible e poi trasferiro' tutti i playbook che avro' scritto, quella sara' la macchina cui accedero' via ssh over the internet dal mio laptop e poi ssh over vpn una volta configurato il server openvpn sulla stessa. In realta' ce l'ho gia', pero' dopo aver scritto i playbook ricomincero' con installazioni da zero.
A quel punto dovro per ogni altra macchina creare il vps, accedervi via ssh dal mio laptop una volta sola per installare ansible, dopo tornero' al drone e da li con i playbook dovrei configurare tutti i vari pezzi una volta sola da una singola console (quella sul drone, non sul mio laptop). ansible per prima cosa installera' su tutti i server openvpn (client del drone) e poi sigillo tutto con il fuoco (firewalld) spostando tutte le comunicazioni sulla vpn (ssh/ansible per le configurazioni e mantenimento, tutti i vari servizi), il webserver e' l'unico che sara' accessibile dall'esterno, comunque in una sua zona (firewalld), poi i playbook procederanno diversamente nelle varie install e configurazioni delle diverse macchine.
installero per primo il database server delle mie webapp personali, pensavo di usare la stessa macchina anche come fileserver, questo perche' questa macchina offrira' i propri servizi solo sulla vpn quindi potrei sovrapporne alcuni. Ho letto che nfs over vpn ha qualche problemino di performance, voi che dite?
avro' bisogno di tanto storage veloce (fino a 100GB+) e tanta ram (2GB, forse 3 o 4) per mysql su questa macchina, tenuto conto del fatto che e' tutto single user non avro bisogno di performance cosi' alte dalla cpu per avere un servizio buono, credo, che dite?
per secondo installero' e configurero' il webserver, visto che l'uso e' personale hostero' le diverse webappe (una personal wiki piu' owncloud/altre app oppure owncloud ebbasta) su porte diverse, il webserver sara' l'unico servizio accessibile da internet.
IMO richiedera' piu' cpu delle altre macchine ma 1GB di ram, max 2GB, dovrebbe bastare per un single-user.
a questo punto una macchina che credo sia saggio mantenere separata (datacenter differente) sara' quella del server backup. questa pure offrira' i propri servizi solo sulla vpn e sara' del tutto sigillata ad internet. credo che sia quello con meno requirements, solo storage fondamentalmente.
Il setup prevede un singolo server openvpn, il coso con il sito dei miei amici sara' separato e non vorrei nemmeno dargli accesso alla vpn, se proprio dovessi almeno lo dovrei mettere su un altra subnet e questo penso che necessiterebbe di un altro server openvpn, ma non ne sono sicuro, forse potrei semplicemente avviare due istanze di openvpn sul drone e usare due subnet.
Tutti i servizi "personali" (backup dei miei device, dai laptop ai telefoni ai desktop, mysql per le webappe, nfs/webdav, proxy/webcache, etc.) tranne il webserver devono essere disponibili solo via vpn e saranno distribuiti tra un certo numero di vps, mi sono picchiato per ore con la generazione di certificati diversi per tutti i client vpn ma soprattutto nella configurazione dei routing per le varie necessita' (certi client devono redirezionare tutto il traffico sulla vpn, altri no, le push rule di openvpn sono veramente flessibili in realta')
Al riguardo devo ancora affrontare tutto il casino di usare la webcache via vpn senza usare la vpn per tutta la navigazione.
pensavo di pushare al client vpn che deve solo usare la webcache una route che gli permette di raggiungere un proxy web su un ip privato (192.168.255.255) da impostare dentro il browsa, ma lasciargli il proprio dns e dhcp senza cambiargli il gateway.
quel che voglio ottenere e' che il client in questione si colleghi in automatico alla vpn ma usi questa solo per ottenere la webcache, ad ogni richiesta se la pagina non e' nella cache il browser se la dovrebbe visitare da se con il proprio ip, ma voglio anche che squid se la prelevi e la metta nella cache per poi tenerla aggiornata per i cazzi sua e fornirla (aggiornata) alla prossima richiesta, non ho nemmeno ancora letto a fondo la documentazione di squid, ma penso di poterlo configurare come voglio io.
squid pensavo di hostarlo direttamente sul drone che fa anche da server openvpn e ansible control machine, questa potrebbe essere una macchina di media potenza (cpu veloce per fare tutto il routing dei pacchetti, 1GB ram, max 2, storage per squid? lo tengo sulla stessa macchina o lo sposto sul fileserver?)
a questo punto pero' mi rimane il problema di sovrapposizione tra lo storage di owncloud (che a quanto capisco si gestisce tutto su un proprio db) e la necessita' di accedere agli stessi file in diversi modi (video streaming html5, dlna, imagegallery, online document editing, etc.) ed anche con i protocolli nativi degli os (nfs e samba oppure webDAV anche per gli os sui client laptop e desktop, sempre tutto via vpn oppure protetto tramite user/pwd nella webappa).
Mi pare di capire che siano tutte scelta di design, owncloud mi permetterebbe di esportare i file via webDAV alle altre webappe (via localhost sul webserver quindi) ed agli os (via webdav over vpn se mi collego al webserver/owncloud tramite la vpn).
Pero' potrei anche gestirmelo io il fileserver usando un mix di protocolli diversi, es. nfs+kerberos over vpn verso il webserver e da li webappe separate che offrono solo html5 video streaming, e dlna (user/pwd login), per montare le cartelle negli os dei miei laptop/desktop direttamente dal fileserver over vpn c'e' solo l'imbarazzo della scelta, nfs+kerberos, samba, webDAV, etc.
Queste scelte pero' hanno tante componenti.
e' piu' sicuro aggiungere un layer allo storage del fileserver (owncloud sul webserver che legge un nfs o un webdav dal fileserver) e installare tutto il resto sopra a quello (webdav da owncloud al resto delle webappe via localhost e webdav verso gli os)?
dovrei usare owncloud per tutto? (streaming video html5, dlna, webdav verso gli os) e semplificarmi la vita?
dovrei rendermi la vita interessante usando diverse webappe per ciascuna cosa e togliere del tutto owncloud?
come potrei fare a creare un sistema (con o senza owncloud) nel quale si voglia poter accedere da diversi device a tutti i file con diverse modalita' (cartella nell'OS / webappa via vpn o internet) ma comunque attraverso diversi profili (user/pwd), comuni a tutte le modalita' di accesso, che mi permettano di accedere a questi o quei file? (lavoro+personal+porno, lavoro+personal, lavoro only, personal only, nessun file, etc.).
owncloud potrebbe permettermi di farlo (c'e' il rischio che lo possa fare solo qualche versione a pagamento, mi sembra una ficiur abbastanza avanzata), oppure potrei fare una cosa del genere con i tool di sistema di linux (penso).
owncloud renderebbe il lavoro abbastanza facile penso, farlo con i tool di sistema di linux credo che si tradurrebbe in una mole di lavoro (e di complessita'/complicazioni) non da poco, considerando pero' che sto per scrivere tutto su ansible potrei configurare tutto una volta sola, dentro ad un singolo file di testo (il playbook di ansible) e forse potrei riuscirci, la cosa mi tenta, come si potrebbe fare una cosa del genere solo con i tool di sistema di linux (users, group, ACL, SE-linux???)
Ho bisogno di almeno una settimana di ferie per fare tutto cio' (anche di piu', forse molto di piu').
cribbio.
Dedichero' un server a questo coso separato dalla mia rete perche' prima o poi se lo gestiranno e pagheranno loro (o pagherano qualcuno), io glielo pago e regalo bello fatto e gestito per un anno, loro si pagano hootsuite ed un grafico-informatico che fara' il tema (se lo troveranno loro, hanno un sacco di amici, decideranno loro) Cosi' facendo per me questo setup e' semplice, faranno tutto loro dal backend, la mia rete personale invece richiedera' piu' tempo e sara' un progetto subordinato a questo (purtroppo mi viene da dire), almeno per un anno.
Nella mia rete personale invece ho deciso di mettere i seguenti elementi:
1) una seedbox (compro il servizio a parte)
2) un fileserver (forse owncloud, pero' questo introduce delle complicazioni)
3) un db server (lo voglio separare dal webserver just because I can)
4) un webserver (l'unica macchina raggiungibile "pubblicamente", senza ssh/vpn di mezzo)
5) un server openvpn
6) una webcache (via squid proxy)
7) un mediaserver (dlna e un webcoso che mi transcoda i media per l'html5, imagegallery, online document editing, etc.)
una soluzione di backup (non ho ancora optato per quale, da un semplice scriptone che rsynca tutto ad una suite completa, ce ne sono molte, devo ancora decidere al riguardo, suggerimenti?)ho gia sperimentato con successo ansible per installare e configurare tutti i vari pezzi (una alla volta, ora devo scrivere i playbook), eccetto la seedbox ovviamente, che cmq e' solo un pannello web cui accedero direttamente dal browsa per inserire i torrent e configurero' qualcosa per rsyncarsi sopra qualche protocollo supportato dalla seedbox i file appena scaricati, probabilmente uno script sul fileserver.
ora devo decidere come strutturare tutta la procedura, ho gia' sperimentato l'installazione e configurazione dei vari elementi, tranne la webcache e owncloud e devo ancora prendere alcune decisioni riguardo allo storage.
Ho optato per centos 7 su tutte le macchine (long live systemd!)
io pensavo di configurare per primo una sorta di "drone" che sara' anche il server openvpn, su questo prima installo ansible e poi trasferiro' tutti i playbook che avro' scritto, quella sara' la macchina cui accedero' via ssh over the internet dal mio laptop e poi ssh over vpn una volta configurato il server openvpn sulla stessa. In realta' ce l'ho gia', pero' dopo aver scritto i playbook ricomincero' con installazioni da zero.
A quel punto dovro per ogni altra macchina creare il vps, accedervi via ssh dal mio laptop una volta sola per installare ansible, dopo tornero' al drone e da li con i playbook dovrei configurare tutti i vari pezzi una volta sola da una singola console (quella sul drone, non sul mio laptop). ansible per prima cosa installera' su tutti i server openvpn (client del drone) e poi sigillo tutto con il fuoco (firewalld) spostando tutte le comunicazioni sulla vpn (ssh/ansible per le configurazioni e mantenimento, tutti i vari servizi), il webserver e' l'unico che sara' accessibile dall'esterno, comunque in una sua zona (firewalld), poi i playbook procederanno diversamente nelle varie install e configurazioni delle diverse macchine.
installero per primo il database server delle mie webapp personali, pensavo di usare la stessa macchina anche come fileserver, questo perche' questa macchina offrira' i propri servizi solo sulla vpn quindi potrei sovrapporne alcuni. Ho letto che nfs over vpn ha qualche problemino di performance, voi che dite?
avro' bisogno di tanto storage veloce (fino a 100GB+) e tanta ram (2GB, forse 3 o 4) per mysql su questa macchina, tenuto conto del fatto che e' tutto single user non avro bisogno di performance cosi' alte dalla cpu per avere un servizio buono, credo, che dite?
per secondo installero' e configurero' il webserver, visto che l'uso e' personale hostero' le diverse webappe (una personal wiki piu' owncloud/altre app oppure owncloud ebbasta) su porte diverse, il webserver sara' l'unico servizio accessibile da internet.
IMO richiedera' piu' cpu delle altre macchine ma 1GB di ram, max 2GB, dovrebbe bastare per un single-user.
a questo punto una macchina che credo sia saggio mantenere separata (datacenter differente) sara' quella del server backup. questa pure offrira' i propri servizi solo sulla vpn e sara' del tutto sigillata ad internet. credo che sia quello con meno requirements, solo storage fondamentalmente.
Il setup prevede un singolo server openvpn, il coso con il sito dei miei amici sara' separato e non vorrei nemmeno dargli accesso alla vpn, se proprio dovessi almeno lo dovrei mettere su un altra subnet e questo penso che necessiterebbe di un altro server openvpn, ma non ne sono sicuro, forse potrei semplicemente avviare due istanze di openvpn sul drone e usare due subnet.
Tutti i servizi "personali" (backup dei miei device, dai laptop ai telefoni ai desktop, mysql per le webappe, nfs/webdav, proxy/webcache, etc.) tranne il webserver devono essere disponibili solo via vpn e saranno distribuiti tra un certo numero di vps, mi sono picchiato per ore con la generazione di certificati diversi per tutti i client vpn ma soprattutto nella configurazione dei routing per le varie necessita' (certi client devono redirezionare tutto il traffico sulla vpn, altri no, le push rule di openvpn sono veramente flessibili in realta')
Al riguardo devo ancora affrontare tutto il casino di usare la webcache via vpn senza usare la vpn per tutta la navigazione.
pensavo di pushare al client vpn che deve solo usare la webcache una route che gli permette di raggiungere un proxy web su un ip privato (192.168.255.255) da impostare dentro il browsa, ma lasciargli il proprio dns e dhcp senza cambiargli il gateway.
quel che voglio ottenere e' che il client in questione si colleghi in automatico alla vpn ma usi questa solo per ottenere la webcache, ad ogni richiesta se la pagina non e' nella cache il browser se la dovrebbe visitare da se con il proprio ip, ma voglio anche che squid se la prelevi e la metta nella cache per poi tenerla aggiornata per i cazzi sua e fornirla (aggiornata) alla prossima richiesta, non ho nemmeno ancora letto a fondo la documentazione di squid, ma penso di poterlo configurare come voglio io.
squid pensavo di hostarlo direttamente sul drone che fa anche da server openvpn e ansible control machine, questa potrebbe essere una macchina di media potenza (cpu veloce per fare tutto il routing dei pacchetti, 1GB ram, max 2, storage per squid? lo tengo sulla stessa macchina o lo sposto sul fileserver?)
a questo punto pero' mi rimane il problema di sovrapposizione tra lo storage di owncloud (che a quanto capisco si gestisce tutto su un proprio db) e la necessita' di accedere agli stessi file in diversi modi (video streaming html5, dlna, imagegallery, online document editing, etc.) ed anche con i protocolli nativi degli os (nfs e samba oppure webDAV anche per gli os sui client laptop e desktop, sempre tutto via vpn oppure protetto tramite user/pwd nella webappa).
Mi pare di capire che siano tutte scelta di design, owncloud mi permetterebbe di esportare i file via webDAV alle altre webappe (via localhost sul webserver quindi) ed agli os (via webdav over vpn se mi collego al webserver/owncloud tramite la vpn).
Pero' potrei anche gestirmelo io il fileserver usando un mix di protocolli diversi, es. nfs+kerberos over vpn verso il webserver e da li webappe separate che offrono solo html5 video streaming, e dlna (user/pwd login), per montare le cartelle negli os dei miei laptop/desktop direttamente dal fileserver over vpn c'e' solo l'imbarazzo della scelta, nfs+kerberos, samba, webDAV, etc.
Queste scelte pero' hanno tante componenti.
e' piu' sicuro aggiungere un layer allo storage del fileserver (owncloud sul webserver che legge un nfs o un webdav dal fileserver) e installare tutto il resto sopra a quello (webdav da owncloud al resto delle webappe via localhost e webdav verso gli os)?
dovrei usare owncloud per tutto? (streaming video html5, dlna, webdav verso gli os) e semplificarmi la vita?
dovrei rendermi la vita interessante usando diverse webappe per ciascuna cosa e togliere del tutto owncloud?
come potrei fare a creare un sistema (con o senza owncloud) nel quale si voglia poter accedere da diversi device a tutti i file con diverse modalita' (cartella nell'OS / webappa via vpn o internet) ma comunque attraverso diversi profili (user/pwd), comuni a tutte le modalita' di accesso, che mi permettano di accedere a questi o quei file? (lavoro+personal+porno, lavoro+personal, lavoro only, personal only, nessun file, etc.).
owncloud potrebbe permettermi di farlo (c'e' il rischio che lo possa fare solo qualche versione a pagamento, mi sembra una ficiur abbastanza avanzata), oppure potrei fare una cosa del genere con i tool di sistema di linux (penso).
owncloud renderebbe il lavoro abbastanza facile penso, farlo con i tool di sistema di linux credo che si tradurrebbe in una mole di lavoro (e di complessita'/complicazioni) non da poco, considerando pero' che sto per scrivere tutto su ansible potrei configurare tutto una volta sola, dentro ad un singolo file di testo (il playbook di ansible) e forse potrei riuscirci, la cosa mi tenta, come si potrebbe fare una cosa del genere solo con i tool di sistema di linux (users, group, ACL, SE-linux???)
Ho bisogno di almeno una settimana di ferie per fare tutto cio' (anche di piu', forse molto di piu').
cribbio.
Please consider the environment before printing this message, 50% of the above is useless!
-
-
■ @ 2017-07-24 12:02:31.0 di ::1
-
■ @ 2017-07-24 13:44:32.0 di Non Autenticato
-
■ @ 2017-07-24 14:35:18.0 di avvelentani
-
■ @ 2017-07-24 14:46:18.0 di ::1
-
■ @ 2017-07-24 15:44:48.0 di avvelentani
-
■ @ 2017-07-24 15:54:34.0 di ::1
-
-
-
-
-
■ @ 2017-07-24 13:22:52.0 di dada216
-
-
■ @ 2017-07-23 20:06:40.0 di avvelentani
-
■ @ 2017-07-24 00:02:17.0 di dada216
-
■ @ 2017-07-24 11:47:21.0 di avvelentani
-
■ @ 2017-07-24 13:24:31.0 di dada216
-
-
-
-
■ @ 2017-07-23 20:43:38.0 di ::1
-
■ @ 2017-07-24 00:39:13.0 di dada216
-
■ @ 2017-07-24 00:50:01.0 di ::1
-
■ @ 2017-07-24 01:19:33.0 di dada216
-
■ @ 2017-07-24 01:30:03.0 di ::1
-
■ @ 2017-07-24 01:51:54.0 di dada216
-
-
-
-
-
-
■ @ 2017-07-23 19:18:30.0 di dada216
-
■ @ 2017-07-23 20:29:53.0 di ::1
-
-