Com instal·lar Cezerin eCommerce a Ubuntu 18.04
Cezerin és una aplicació web progressiva de comerç electrònic de codi obert creada amb React i Node.js. En aquest tutorial, aprendràs a implementar un Cezerin per a productio
Apache Zeppelin és un quadern de codi obert basat en la web i una eina col·laborativa per a la ingestió de dades interactives, el descobriment, l'anàlisi i la visualització. Zeppelin admet més de 20 idiomes, inclosos Apache Spark, SQL, R, Elasticsearch i molts més. Apache Zeppelin us permet crear bells documents basats en dades i veure els resultats de les vostres anàlisis.
Per a aquest tutorial, utilitzarem zeppelin.example.com
com a nom de domini apuntat cap a la instància Vultr. Assegureu-vos de substituir totes les ocurrències del nom de domini d'exemple per l'actual.
Actualitzeu el vostre sistema base mitjançant la guia Com actualitzar Ubuntu 16.04 . Un cop actualitzat el sistema, procediu a instal·lar Java.
Apache Zeppelin està escrit en Java, per tant requereix JDK per funcionar. Afegiu el dipòsit d'Ubuntu per a Oracle Java 8.
sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update
Instal·leu Oracle Java.
sudo apt -y install oracle-java8-installer
Verifica la seva versió.
java -version
Veureu la següent sortida.
user@vultr:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
Establiu el camí predeterminat per a Java instal·lant el paquet següent.
sudo apt -y install oracle-java8-set-default
Podeu comprovar si JAVA_HOME
està configurat executant-lo.
echo $JAVA_HOME
Ja ho veuràs.
user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
Si no veieu cap sortida, haureu de tancar la sessió de l'intèrpret d'ordres actual i tornar a iniciar la sessió.
Apache Zeppelin envia totes les dependències juntament amb els fitxers binaris, de manera que no necessitem instal·lar res més que Java. Baixeu el binari Zeppelin al vostre sistema. Sempre podeu trobar l'última versió de l'aplicació a la pàgina de descàrrega de Zeppelin .
wget http://www-us.apache.org/dist/zeppelin/zeppelin-0.7.3/zeppelin-0.7.3-bin-all.tgz
Extraieu l'arxiu.
sudo tar xf zeppelin-*-bin-all.tgz -C /opt
L'ordre anterior extreu l'arxiu a /opt/zeppelin-0.7.3-bin-all
. Canvieu el nom del directori per comoditat.
sudo mv /opt/zeppelin-*-bin-all /opt/zeppelin
Apache Zeppelin ara està instal·lat. Podeu iniciar immediatament l'aplicació, però no us podreu accedir, ja que localhost
només escolta . Configurarem Apache Zeppelin com a servei. També configurarem Nginx com a servidor intermediari invers.
En aquest pas, configurarem un fitxer d'unitat Systemd per a l'aplicació Zeppelin. Això garantirà que el procés d'aplicació s'iniciï automàticament en el reinici del sistema i els errors.
Per motius de seguretat, creeu un usuari sense privilegis per executar el procés Zeppelin.
sudo useradd -d /opt/zeppelin -s /bin/false zeppelin
Proporcioneu la propietat dels fitxers a l'usuari Zeppelin acabat de crear.
sudo chown -R zeppelin:zeppelin /opt/zeppelin
Creeu un nou fitxer d'unitat de servei Systemd.
sudo nano /etc/systemd/system/zeppelin.service
Omple el fitxer amb el següent.
[Unit]
Description=Zeppelin service
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/opt/zeppelin/bin/zeppelin-daemon.sh start
ExecStop=/opt/zeppelin/bin/zeppelin-daemon.sh stop
ExecReload=/opt/zeppelin/bin/zeppelin-daemon.sh reload
User=zeppelin
Group=zeppelin
Restart=always
[Install]
WantedBy=multi-user.target
Inicieu l'aplicació.
sudo systemctl start zeppelin
Habiliteu el servei Zeppelin perquè s'iniciï automàticament en el moment de l'arrencada.
sudo systemctl enable zeppelin
Per assegurar-vos que el servei s'està executant, podeu executar el següent.
sudo systemctl status zeppelin
De manera predeterminada, el servidor Zeppelin escolta al localhost
port 8080
. Utilitzarem Nginx com a servidor intermediari invers perquè es pugui accedir a l'aplicació mitjançant estàndards HTTP
i HTTPS
ports. També configurarem Nginx perquè utilitzi un SSL generat amb Let's Encrypt SSL CA gratuït.
Instal·leu Nginx.
sudo apt -y install nginx
Inicieu Nginx i activeu-lo perquè s'iniciï automàticament en el moment de l'arrencada.
sudo systemctl start nginx
sudo systemctl enable nginx
Afegiu el repositori Certbot.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Instal·leu Certbot, que és l'aplicació client de Let's Encrypt CA.
sudo apt -y install certbot
Nota : per obtenir certificats de Let's Encrypt CA, el domini per al qual s'han de generar els certificats s'ha d'apuntar cap al servidor. Si no, feu els canvis necessaris als registres DNS del domini i espereu que el DNS es propagui abans de tornar a fer la sol·licitud de certificat. Certbot verifica l'autoritat del domini abans de proporcionar els certificats.
Generar els certificats SSL.
sudo certbot certonly --webroot -w /var/www/html -d zeppelin.example.com
És probable que els certificats generats s'emmagatzemin a /etc/letsencrypt/live/zeppelin.example.com/
. El certificat SSL s'emmagatzemarà com a fullchain.pem
i la clau privada com a privkey.pem
.
Els certificats de Let's Encrypt caduquen en 90 dies, per tant, es recomana configurar la renovació automàtica dels certificats mitjançant treballs de Cron.
Obriu el fitxer de treball cron.
sudo crontab -e
Afegiu la línia següent al final del fitxer.
30 5 * * * /usr/bin/certbot renew --quiet
El treball cron anterior s'executarà cada dia a les 5:30 del matí. Si el certificat ha de caducar, es renovarà automàticament.
Creeu un fitxer de bloqueig de servidor nou per al lloc Zeppelin.
sudo nano /etc/nginx/sites-available/zeppelin
Omple el fitxer.
upstream zeppelin {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name zeppelin.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name zeppelin.example.com;
ssl_certificate /etc/letsencrypt/live/zeppelin.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/zeppelin.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/zeppelin.access.log;
location / {
proxy_pass http://zeppelin;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
}
location /ws {
proxy_pass http://zeppelin/ws;
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection upgrade;
proxy_read_timeout 86400;
}
}
Activeu el fitxer de configuració.
sudo ln -s /etc/nginx/sites-available/zeppelin /etc/nginx/sites-enabled/zeppelin
Reinicieu Nginx perquè els canvis tinguin efecte.
sudo systemctl restart nginx zeppelin
Ara es pot accedir a Zeppelin a la següent adreça.
https://zeppelin.example.com
Per defecte, no hi ha cap autenticació activada, de manera que podeu utilitzar l'aplicació directament.
Com que l'aplicació és accessible per a tothom, els quaderns que creeu també ho són. És molt important desactivar l'accés anònim i habilitar l'autenticació perquè només els usuaris autenticats puguin accedir a l'aplicació.
Per desactivar l'accés anònim predeterminat, copieu la plantilla del fitxer de configuració a la seva ubicació activa.
cd /opt/zeppelin
sudo cp conf/zeppelin-site.xml.template conf/zeppelin-site.xml
Editeu el fitxer de configuració.
sudo nano conf/zeppelin-site.xml
Busca les línies següents al fitxer.
<property>
<name>zeppelin.anonymous.allowed</name>
<value>true</value>
Canvieu el valor a false
per desactivar l'accés anònim.
Ara que hem desactivat l'accés anònim, hem d'habilitar algun tipus de mecanisme d'autenticació perquè els usuaris privilegiats puguin iniciar sessió. Apache Zeppelin utilitza l'autenticació Apache Shiro. Copieu el fitxer de configuració de Shiro.
sudo cp conf/shiro.ini.template conf/shiro.ini
Editeu el fitxer de configuració.
sudo nano conf/shiro.ini
Busca les línies següents al fitxer.
[users]
admin = password1, admin
user1 = password2, role1, role2
user2 = password3, role3
user3 = password4, role2
La llista conté el nom d'usuari, la contrasenya i les funcions dels usuaris. De moment, només utilitzarem admin
i user1
. Canviar la contrasenya d' admin
i user1
i desactivar els altres usuaris comentant ells. També podeu canviar el nom d'usuari i els rols dels usuaris. Per obtenir més informació sobre els usuaris i els rols d'Apache Shiro, llegiu la guia d'autorització de Shiro .
Un cop hàgiu canviat les contrasenyes, el bloc de codi li hauria d'agradar.
[users]
admin = StrongPassword, admin
user1 = UserPassword, role1, role2
# user2 = password3, role3
# user3 = password4, role2
Ara reinicieu Zeppelin per aplicar els canvis.
sudo systemctl restart zeppelin
Veureu que l'autenticació s'ha habilitat i podreu iniciar sessió amb el nom d'usuari i la contrasenya establerts al fitxer de configuració de Shiro.
Cezerin és una aplicació web progressiva de comerç electrònic de codi obert creada amb React i Node.js. En aquest tutorial, aprendràs a implementar un Cezerin per a productio
Utilitzeu un sistema diferent? Mailtrain és una aplicació de butlletí de codi obert allotjada basada en Node.js i MySQL/MariaDB. La font de Mailtrains és a GitHub. Thi
Utilitzeu un sistema diferent? Osclass és un projecte de codi obert que us permet crear fàcilment un lloc classificat sense cap coneixement tècnic. La seva font
Utilitzeu un sistema diferent? Zammad és un sistema d'assistència/tickets de codi obert dissenyat per als equips d'atenció al client. Amb Zammad, atenció al client
Utilitzeu un sistema diferent? Matomo (abans Piwik) és una plataforma d'anàlisi de codi obert, una alternativa oberta a Google Analytics. La font de Matomo està allotjada o
Utilitzeu un sistema diferent? Akaunting és un programari de comptabilitat en línia gratuït, de codi obert i dissenyat per a petites empreses i autònoms. Està construït amb enginy
Utilitzeu un sistema diferent? Apache Zeppelin és un quadern de codi obert basat en la web i una eina de col·laboració per a la ingestió de dades interactives, el descobriment, l'anàlisi i
Utilitzeu un sistema diferent? InvoicePlane és una aplicació de facturació gratuïta i de codi obert. El seu codi font es pot trobar en aquest dipòsit de Github. Aquesta guia
Utilitzeu un sistema diferent? Attendize és una plataforma de venda d'entrades i gestió d'esdeveniments de codi obert basada en el Laravel PHP Framework. Assisteix al bacallà font
Utilitzeu un sistema diferent? Sentrifugo HRM és una aplicació de gestió de recursos humans (HRM) gratuïta i de codi obert. És un ric en funcions i fàcilment configurable
Utilitzeu un sistema diferent? Shopware és una plataforma de comerç electrònic de codi obert per a empreses en línia. El codi font de Shopware està allotjat a Github. Aquesta guia sho
Utilitzeu un sistema diferent? Open Web Analytics (OWA) és un programa d'anàlisi web de codi obert que es pot utilitzar per fer un seguiment i analitzar com la gent utilitza el vostre lloc web
Utilitzeu un sistema diferent? Taiga és una aplicació gratuïta i de codi obert per a la gestió de projectes. A diferència d'altres eines de gestió de projectes, Taiga utilitza un incremental
Utilitzeu un sistema diferent? Dolibarr és una planificació de recursos empresarials (ERP) i gestió de relacions amb els clients (CRM) de codi obert per a empreses. Dolibarr
Utilitzeu un sistema diferent? osTicket és un sistema d'entrades d'atenció al client de codi obert. El codi font osTicket està allotjat públicament a Github. En aquest tutorial
La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.
També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.
Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.
Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.
El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...
A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.
Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.
Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.
En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.
Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació