- محصول GitBucket رو میتوان یکی از جایگزینهای GitLab دانست.
- این محصول از هر نظر روان است.
- برای نصب ابتدا بستهی default-jdk را نصب کنید.
|
1 |
# apt-get install default-jdk |
- یک گروه با نام gitbucket ایجاد کنید.
|
1 |
# groupadd -g 555 gitbucket |
- یک کاربر با مشخصات گفته شده در زیر ایجاد کنید.
|
1 |
# useradd -g gitbucket --no-user-group --home-dir /opt/gitbucket --no-create-home --shell /usr/sbin/nologin --system --uid 555 gitbucket |
- بستهی gitbucket را از گیتهاب پروژه دریافت نمایید.
|
1 |
# wget https://github.com/gitbucket/gitbucket/releases/download/4.31.2/gitbucket.war |
- با توجه به این که این ابزار به صورت third party در حال نصب بر روی سیستم است یه پوشه درون opt برای آن در نظر بگیرید.
|
1 2 3 |
# mkdir /opt/gitbucket # mv gitbucket.war /opt/gitbucket # chown -R gitbucket:gitbucket /opt/gitbucket |
- به منظور ساحت سرویس (قابل کنترل توسط systemd) برای سامانه به صورت زیر عمل کنید.
|
1 |
# vim /etc/systemd/system/gitbucket.service |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# 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 |
|
1 2 3 |
# systemctl daemon-reload # systemctl start gitbucket # systemctl enable gitbucket |
- انتظار میرود با start شدن سرویس ، سامانه بر روی پورت ۸۰۸۰ در دسترس باشد.
- نام کاربری و کلمهی عبور پیشفرض root میباشد.
- میتوان از Apache یا Nginx به منظور Reverse Proxy استفاده نمود.
پیادهسازی Reverse Proxy توسط Apache
- به منظور نصب آپاچی به صورت زیر عمل کنید.
|
1 2 |
# apt-get update # apt-get install apache2 |
- ماژولهای زیر را فعال کنید.
|
1 2 3 4 |
# a2enmod proxy # a2enmod proxy_http # a2enmod proxy_balancer # a2enmod lbmethod_byrequests |
- یک پروندهی تنظیمات مثل زیر در نظر بگیرید.
|
1 2 3 4 5 6 7 8 9 10 |
# cat /etc/apache2/sites-available/git.homayouni.info.conf <VirtualHost *:80> ProxyPreserveHost On ServerName <span style="color: #ff0000;"><strong>git.homayouni.info</strong></span> ServerAlias <span style="color: #ff0000;"><strong>www.git.homayouni.info</strong></span> ProxyPass / http://<span style="color: #ff0000;"><strong>127.0.0.1:8080</strong></span>/ ProxyPassReverse / http://<span style="color: #ff0000;"><strong>127.0.0.1:8080</strong></span>/ </VirtualHost> |
- یک Symbolic Link از پروندهی تنظیمات به صورت زیر ایجاد کنید.
|
1 |
# ln -s /etc/apache2/sites-available/git.homayouni.info.conf /etc/apache2/sites-enabled/ |
- در نهایت سرویس Apache را راهاندازی مجدد نمایید.
|
1 |
# systemctl restart apache2 |
- تست شده بر روی Ubuntu 20.04
پیادهسازی Reverse Proxy توسط Nginx
- به منظور نصب Nginx به صورت زیر عمل کنید.
|
1 2 |
# apt-get update # apt-get install nginx |
- یک پروندهی تنظیمات مثل زیر در نظر بگیرید.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# cat /etc/nginx/sites-available/gitbucket.conf upstream gitbucket { server <span style="color: #ff0000;"><strong>127.0.0.1:8080</strong></span> weight=100 max_fails=5 fail_timeout=5; } server { listen 80; server_name <span style="color: #ff0000;"><strong>git.homayouni.info</strong></span>; 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/; } } |
- یک Symbolic Link از پروندهی تنظیمات به صورت زیر ایجاد کنید.
|
1 |
# ln -s /etc/nginx/sites-available/gitbucket.conf /etc/nginx/sites-enabled/ |
- در نهایت سرویس nginx را راهاندازی مجدد نمایید.
|
1 |
# systemctl restart nginx |
- تست شده بر روی Ubuntu 20.04

- آدرس گیتهاب پروژه در اینجا