如何在Ubuntu 18.04 LTS上使用Nginx安装GitBucket
如何在Ubuntu 18.04 LTS上使用Nginx安装GitBucket
GitBucket是一个免费的开源Git平台,由Scala提供支持,兼容Github API。它简单,轻便,是Github或BitBucket的替代品。它具有一系列功能,包括支持GitLFS,问题,请求,通知,插件系统,公共和私人Git存储库。它可以轻松地与LDAP集成,用于帐户和组管理。
在本教程中,我们将学习如何在Ubuntu 18.04服务器上安装和配置GitBucket。
要求
- 一个使用Ubuntu 18.04的新服务器。
- 在您的实例上配置了root密码。
入门
在开始之前,请使用最新的稳定版本更新您的系统。您可以使用以下命令执行此操作:
apt-get update -y
apt-get upgrade -y
更新后,重新启动服务器以应用所有配置更改。
安装Java
GitBucket需要在您的服务器上安装Java 8或更高版本。因此,您需要在服务器上安装Java。
要安装Java,请运行以下命令:
apt-get install default-jdk -y
安装Java后,可以使用以下命令检查Java的版本:
java -version
您应该看到以下输出:
openjdk version "10.0.2" 2018-07-17 OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2) OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2, mixed mode)
完成后,您可以继续下一步。
安装GitBucket
在安装GitBucket之前,您需要创建一个非特权用户来运行GitBucket。
运行以下命令以创建名为gitbucket的系统用户。
groupadd -g 555 gitbucket
useradd -g gitbucket --no-user-group --home-dir /opt/gitbucket --no-create-home --shell /usr/sbin/nologin --system --uid 555 gitbucket
接下来,使用以下命令从Git存储库下载GitBucket:
wget https://github.com/gitbucket/gitbucket/releases/download/4.31.2/gitbucket.war
下载完成后,在/ opt中为GitBucket创建一个目录
mkdir /opt/gitbucket
接下来,将下载的文件移动到gitbucket目录中:
mv gitbucket.war /opt/gitbucket
接下来,使用以下命令为gitbucket目录授予适当的权限:
chown -R gitbucket:gitbucket /opt/gitbucket
完成后,您可以继续下一步。
为GitBucket创建Systemd Service文件
接下来,您需要为GitBucket创建一个Systemd服务文件来管理GitBucket服务。您可以使用以下命令创建它:
nano /etc/systemd/system/gitbucket.service
添加以下行:
# GitBucket Service (Unit) Description=Manage Java service (Service) WorkingDirectory=/opt/gitbucket ExecStart=/usr/bin/java -Xms128m -Xmx256m -jar gitbucket.war User=gitbucket Group=gitbucket Type=simple Restart=on-failure RestartSec=10 (Install) WantedBy=multi-user.target
保存并关闭文件。然后,使用以下命令重新加载Systemd:
systemctl daemon-reload
接下来,使用以下命令启动gitbucket服务并使其在启动时启动:
systemctl enable gitbucket
systemctl start gitbucket
您现在可以使用以下命令检查gitbucket的状态:
systemctl status gitbucket
您应该看到以下输出:
? gitbucket.service - Manage Java service Loaded: loaded (/etc/systemd/system/gitbucket.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2019-08-09 09:43:42 UTC; 5s ago Main PID: 17835 (java) Tasks: 18 (limit: 1113) CGroup: /system.slice/gitbucket.service ??17835 /usr/bin/java -Xms128m -Xmx256m -jar gitbucket.war Aug 09 09:43:42 ubuntu1804 systemd(1): Started Manage Java service. Aug 09 09:43:45 ubuntu1804 java(17835): 2019-07-09 09:43:45.102:INFO::main: Logging initialized @2700ms to org.eclipse.jetty.util.log.StdErrLog Aug 09 09:43:46 ubuntu1804 java(17835): 2019-07-09 09:43:46.134:INFO:oejs.Server:main: jetty-9.4.z-SNAPSHOT; built: 2018-11-14T21:20:31.478Z; g lines 1-11/11 (END)
完成后,您可以继续下一步。
为GitBucket配置数据库连接
GitBucket带有嵌入式H2数据库。要使用您喜欢的文本编辑器配置数据库连接open database.conf文件:
nano /opt/gitbucket/database.conf
添加以下行:
db { url = "jdbc:h2:${DatabaseHome};MVCC=true" user = "sa" password = "sa" }
完成后,您可以继续下一步。
将Nginx配置为反向代理
默认情况下,GitBucket在端口8080上运行。因此,您需要将Nginx配置为反向代理,以提高性能并启用HTTP / 2和TLS加密货币等其他功能。
为此,首先使用以下命令安装Nginx:
apt-get install nginx -y
接下来,通过创建以下文件为GitBucket创建反向代理:
nano /etc/nginx/sites-available/gitbucket.conf
添加以下行:
upstream gitbucket { server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5; } server { listen 80; server_name your-domain.com; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://gitbucket/; } }
保存并关闭文件。然后,使用以下命令启用Nginx虚拟主机:
ln -s /etc/nginx/sites-available/gitbucket.conf /etc/nginx/sites-enabled/
接下来,检查Nginx是否存在任何语法错误,并使用以下命令重新启动Nginx服务:
nginx -t
您应该看到以下输出:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
systemctl restart nginx
完成后,您可以继续下一步。
访问GitBucket Web界面
现在已经安装并配置了GitBucket。打开Web浏览器并键入URL http://your-domain.com。您将被重定向到以下页面:
现在,单击登录按钮。您将被重定向到登录页面,如下所示:
现在,以root / root身份提供默认用户名和密码,然后单击“登录”按钮。您应该在以下页面中看到GitBucket仪表板:
接下来,转到“帐户设置”以更改默认root密码,如以下页面所示:
恭喜您已在Ubuntu 18.04 LTS服务器上成功安装并配置了GitBucket。如果您有任何疑问,请随时问我。