如何在Ubuntu 16.04上安装Taiga项目管理工具
使用其他系统?Taiga是用于项目管理的免费和开源应用程序。与其他项目管理工具不同,Taiga使用增量
Apache Zeppelin是基于Web的开放源代码笔记本和协作工具,用于交互式数据提取,发现,分析和可视化。Zeppelin支持20多种语言,包括Apache Spark,SQL,R,Elasticsearch等。Apache Zeppelin允许您创建漂亮的数据驱动的文档并查看分析结果。
在本教程中,我们将使用 zeppelin.example.com
指向Vultr实例的域名作为域名。请确保将所有示例域名都替换为实际的示例域名。
使用指南如何更新Ubuntu 16.04更新基本系统 。系统更新后,继续安装Java。
Apache Zeppelin用Java编写,因此它需要JDK才能工作。添加适用于Oracle Java 8的Ubuntu存储库。
sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update
安装Oracle Java。
sudo apt -y install oracle-java8-installer
验证其版本。
java -version
您将看到以下输出。
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)
通过安装以下软件包来设置Java的默认路径。
sudo apt -y install oracle-java8-set-default
您可以JAVA_HOME
通过运行验证是否已设置。
echo $JAVA_HOME
你会看见。
user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
如果您根本看不到任何输出,则需要从当前shell注销并重新登录。
Apache Zeppelin附带了所有依赖项以及二进制文件,因此除了Java之外,我们不需要安装其他任何东西。在您的系统上下载Zeppelin二进制文件。您始终可以在Zeppelin下载页面上找到该应用程序的最新版本 。
wget http://www-us.apache.org/dist/zeppelin/zeppelin-0.7.3/zeppelin-0.7.3-bin-all.tgz
提取档案。
sudo tar xf zeppelin-*-bin-all.tgz -C /opt
上面的命令会将存档提取到/opt/zeppelin-0.7.3-bin-all
。为了方便起见,重命名目录。
sudo mv /opt/zeppelin-*-bin-all /opt/zeppelin
现在已安装Apache Zeppelin。您可以立即启动该应用程序,但是您只能访问它,因此您将无法访问该应用程序localhost
。我们将Apache Zeppelin配置为服务。我们还将Nginx配置为反向代理。
在此步骤中,我们将为Zeppelin应用程序设置一个Systemd单位文件。这将确保在系统重新启动和出现故障时自动启动应用程序进程。
出于安全原因,请创建一个没有特权的用户来运行Zeppelin进程。
sudo useradd -d /opt/zeppelin -s /bin/false zeppelin
向新创建的Zeppelin用户提供文件的所有权。
sudo chown -R zeppelin:zeppelin /opt/zeppelin
创建一个新的Systemd服务单元文件。
sudo nano /etc/systemd/system/zeppelin.service
用以下内容填充文件。
[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
启动应用程序。
sudo systemctl start zeppelin
启用Zeppelin服务以在启动时自动启动。
sudo systemctl enable zeppelin
为确保服务正在运行,您可以运行以下命令。
sudo systemctl status zeppelin
默认情况下,Zeppelin服务器localhost
在port上 侦听 8080
。我们将使用Nginx的反向代理,这样应用程序可以通过标准的访问 HTTP
和 HTTPS
端口。我们还将Nginx配置为使用由Let's Encrypt free SSL CA生成的SSL。
安装Nginx。
sudo apt -y install nginx
启动Nginx并使它能够在启动时自动启动。
sudo systemctl start nginx
sudo systemctl enable nginx
添加Certbot存储库。
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
安装Certbot,这是Let's Encrypt CA的客户端应用程序。
sudo apt -y install certbot
注意: 要从Let's Encrypt CA获取证书,必须为其生成证书的域指向服务器。如果不是,请对域的DNS记录进行必要的更改,并在再次发出证书请求之前,等待DNS传播。Certbot在提供证书之前会检查域权限。
生成SSL证书。
sudo certbot certonly --webroot -w /var/www/html -d zeppelin.example.com
生成的证书可能存储在中 /etc/letsencrypt/live/zeppelin.example.com/
。SSL证书将存储为 fullchain.pem
,私钥将存储为 privkey.pem
。
让我们加密证书的有效期限为90天,因此建议您使用Cron作业设置证书的自动续订。
打开cron作业文件。
sudo crontab -e
在文件末尾添加以下行。
30 5 * * * /usr/bin/certbot renew --quiet
上面的cron作业每天凌晨5:30运行。如果证书到期,它将自动更新。
为Zeppelin站点创建一个新的服务器阻止文件。
sudo nano /etc/nginx/sites-available/zeppelin
填充文件。
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;
}
}
激活配置文件。
sudo ln -s /etc/nginx/sites-available/zeppelin /etc/nginx/sites-enabled/zeppelin
重新启动Nginx,以使更改生效。
sudo systemctl restart nginx zeppelin
齐柏林飞艇现在可以在以下地址访问。
https://zeppelin.example.com
默认情况下,未启用身份验证,因此您可以直接使用该应用程序。
由于每个人都可以访问该应用程序,因此每个人也可以访问您创建的笔记本。禁用匿名访问并启用身份验证非常重要,这样只有经过身份验证的用户才能访问应用程序。
要禁用默认的匿名访问,请将配置文件模板复制到其实时位置。
cd /opt/zeppelin
sudo cp conf/zeppelin-site.xml.template conf/zeppelin-site.xml
编辑配置文件。
sudo nano conf/zeppelin-site.xml
在文件中找到以下几行。
<property>
<name>zeppelin.anonymous.allowed</name>
<value>true</value>
将该值更改 false
为禁用匿名访问。
现在我们已经禁用了匿名访问,我们需要启用某种身份验证机制,以便特权用户可以登录。Apache Zeppelin使用Apache Shiro身份验证。复制Shiro配置文件。
sudo cp conf/shiro.ini.template conf/shiro.ini
编辑配置文件。
sudo nano conf/shiro.ini
在文件中找到以下几行。
[users]
admin = password1, admin
user1 = password2, role1, role2
user2 = password3, role3
user3 = password4, role2
该列表包含用户名,密码和用户角色。目前,我们将仅使用 admin
和 user1
。更改和的密码, admin
并 user1
通过注释其他用户禁用它们。您还可以更改用户名和用户角色。要了解有关Apache Shiro用户和角色的更多信息,请阅读Shiro授权指南。
更改密码后,代码块应该会这样。
[users]
admin = StrongPassword, admin
user1 = UserPassword, role1, role2
# user2 = password3, role3
# user3 = password4, role2
现在,重新启动Zeppelin以应用更改。
sudo systemctl restart zeppelin
您将看到身份验证已启用,并且可以使用Shiro配置文件中设置的用户名和密码登录。
使用其他系统?Taiga是用于项目管理的免费和开源应用程序。与其他项目管理工具不同,Taiga使用增量
使用其他系统?简介Attendize是一个基于Laravel PHP框架的开源门票销售和事件管理平台。Attendiz
使用其他系统?Dolibarr是面向企业的开源企业资源计划(ERP)和客户关系管理(CRM)。多利巴尔
使用其他系统?Microweber是一个开放源代码的拖放式CMS和在线商店。Microweber源代码托管在GitHub上。本指南将向您展示
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。Mailtrains源位于GitHub上。锡
使用其他系统?osTicket是一个开放源代码的客户支持票务系统。osTicket源代码公开托管在Github上。在本教程中
使用其他系统?Attendize是一个基于Laravel PHP框架的开源门票销售和事件管理平台。参加源鳕鱼
使用其他系统?Dolibarr是面向企业的开源企业资源计划(ERP)和客户关系管理(CRM)。多利巴尔
使用其他系统?X-Cart是一个非常灵活的开源电子商务平台,具有大量功能和集成。X-Cart源代码托管
使用其他系统?Osclass是一个开放源代码项目,可让您轻松创建分类站点,而无需任何技术知识。它的来源
使用其他系统?开放式Web分析(OWA)是一个开放源代码的Web分析程序,可用于跟踪和分析人们如何使用您的网站
使用其他系统?Matomo(以前称为Piwik)是一个开源分析平台,是Google Analytics(分析)的一种开放替代方案。Matomo源托管o
Cezerin是使用React和Node.js构建的开源电子商务渐进式Web应用程序。在本教程中,您将学习如何部署Cezerin来进行生产
使用其他系统?osTicket是一个开放源代码的客户支持票务系统。osTicket源代码公开托管在Github上。在本教程中
使用其他系统?Matomo(以前称为Piwik)是一个开源分析平台,是Google Analytics(分析)的一种开放替代方案。Matomo源托管o
使用其他系统?开放式Web分析(OWA)是一个开放源代码的Web分析程序,可用于跟踪和分析人们如何使用您的网站
使用其他系统?osTicket是一个开放源代码的客户支持票务系统。osTicket源代码公开托管在Github上。在本教程中
使用其他系统?Attendize是一个基于Laravel PHP框架的开源门票销售和事件管理平台。参加源鳕鱼
使用其他系统?X-Cart是一个非常灵活的开源电子商务平台,具有大量功能和集成。X-Cart源代码托管
使用其他系统?Dolibarr是面向企业的开源企业资源计划(ERP)和客户关系管理(CRM)。多利巴
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。
学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息