- محصول GitBucket رو میتوان یکی از جایگزینهای GitLab دانست.
- این محصول از هر نظر روان است.
- برای نصب ابتدا بستهی default-jdk را نصب کنید.
# apt-get install default-jdk
- یک گروه با نام 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
- بستهی gitbucket را از گیتهاب پروژه دریافت نمایید.
# wget https://github.com/gitbucket/gitbucket/releases/download/4.31.2/gitbucket.war
- با توجه به این که این ابزار به صورت third party در حال نصب بر روی سیستم است یه پوشه درون opt برای آن در نظر بگیرید.
# mkdir /opt/gitbucket # mv gitbucket.war /opt/gitbucket # chown -R gitbucket:gitbucket /opt/gitbucket
- به منظور ساحت سرویس (قابل کنترل توسط systemd) برای سامانه به صورت زیر عمل کنید.
# vim /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
# systemctl daemon-reload # systemctl start gitbucket # systemctl enable gitbucket
- انتظار میرود با start شدن سرویس ، سامانه بر روی پورت ۸۰۸۰ در دسترس باشد.
- نام کاربری و کلمهی عبور پیشفرض root میباشد.
- میتوان از Apache یا Nginx به منظور Reverse Proxy استفاده نمود.
پیادهسازی Reverse Proxy توسط Apache
- به منظور نصب آپاچی به صورت زیر عمل کنید.
# apt-get update # apt-get install apache2
- ماژولهای زیر را فعال کنید.
# a2enmod proxy # a2enmod proxy_http # a2enmod proxy_balancer # a2enmod lbmethod_byrequests
- یک پروندهی تنظیمات مثل زیر در نظر بگیرید.
# cat /etc/apache2/sites-available/git.homayouni.info.conf <VirtualHost *:80> ProxyPreserveHost On ServerName git.homayouni.info ServerAlias www.git.homayouni.info ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/ </VirtualHost>
- یک Symbolic Link از پروندهی تنظیمات به صورت زیر ایجاد کنید.
# ln -s /etc/apache2/sites-available/git.homayouni.info.conf /etc/apache2/sites-enabled/
- در نهایت سرویس Apache را راهاندازی مجدد نمایید.
# systemctl restart apache2
- تست شده بر روی Ubuntu 20.04
پیادهسازی Reverse Proxy توسط Nginx
- به منظور نصب Nginx به صورت زیر عمل کنید.
# apt-get update # apt-get install nginx
- یک پروندهی تنظیمات مثل زیر در نظر بگیرید.
# cat /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 git.homayouni.info; 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 از پروندهی تنظیمات به صورت زیر ایجاد کنید.
# ln -s /etc/nginx/sites-available/gitbucket.conf /etc/nginx/sites-enabled/
- در نهایت سرویس nginx را راهاندازی مجدد نمایید.
# systemctl restart nginx
- تست شده بر روی Ubuntu 20.04
- آدرس گیتهاب پروژه در اینجا