29Ekim Açık Kaynak açılış Akademik Bilişim 2012 Akademik Bilişim 2012 Uşak akgül all Alt+Ctrl+Delete altlinux Anatolya installer apache apache2 arm AtlantiS autoindex backup bağlantı ban banana bash bash script belediye betik bind9 boot bootloader bootparametre böl burg cache canlicdrom cdrom centos CHKUSER chrome clone clonezilla CloneZilla ile Remote Disk Clone işlemi cron crontab çöp dd denizaltı denizaltı kablo Desteği destek Dil Disk disk eklemek disket dizin şifreleme django djb dkim dns DNS sistemi docker Domain download drbl dvd e-posta eğitim eklenti EniXma eposta eQmail esxi ev ev almak fail2ban fake fakemail feed feedbro ffmpeg find Firefox format fortran free FreeBSD freenas ftp full backup Gazze Genel Gentoo Getgnu.org gezegen git github gitweb Gmail gnupg Gökşin Akdeniz görev Görsel gpg grub grub2 günlük Güvenlik Hacker harddisk hizmet hosting id_rsa imap index indimail indir internet ipv4 ipv6 iso israil İşletim Sistemi kablo KAMP kernel kernellogo kesin çözüm key klonlamak komut konsol koruma lampp. httpd lilo link linux liste listeci listmanager live livecd LKD loader login logo LVM mail mail hosting Mail-in-a-Box mailcow mailman mailserver mandriva-tr.org matrax Mint mirror mlmmj modül MTA multisite mustafa akgül Mustafa Akgül Özgür Yazılım Yaz Kampı. Abant İzzet Baysal Üniversitesi Müteahhit mx MySQL netinternet Netqmail network nfs nginx ngrok not.py online radyo opendkim openssl önyükleme özgür yazılım panel pano pardus parola paste patch paylaşım pdf perl pfsense pfsense full backup phpmyadmin pi plan Planet planetplanet plesk pop3 poste.io postfix postfixadmin proje proxy putty python qmail qmailtoaster randmap Ras webserver Raspberry pi Raspberry Pi raspi rawdisk recovery remote repository resim resimler robots.txt 401 rss rsync rsyncd rsyncd etiketi s/qmail Saldırı Samba screen script sendonly smtp server senronizasyon server servis shell sistem Slackarm slackware Slackware slackware-live slackware.org.tr slackware arşiv httrack truva linux hatıralar slacky.eu SMF SMF türkçe karakter problemi smtp sosyal ağ spam spf sql backup sqlite sqlite3 sqlite3 to wordpress ssh ssh_key ssh-key SSL ssl sertifika subversion sudo sunucu svn swap swapfile syslinux system system images şifreleme takasfile Tatil Tavuk Teneke Kebabı Tenekede Tavuk theme thunderbird TightVNC tmux Tokat Kebabı tokat kebabı sobası etiketi Trash Trash-cli Truva Linux truvalinux Turkcell tuxweet Türkçe türkiye ubuntu unban UNIX uzak varnish veri Virtualbox vmware Vodafone vps Vsftp vsftpd Wampp web web robot Web server web Sunucu webp webserver webserver Akıllı Tahta wget whitelist WINN Windows wordpress Wordpress wordpress multisite www xampp Xnest yansı yansılama yansılamak yapıştır yazmak Yedekleme Yemek zulüm

Raspberry-Pi NginX Gitweb

Önceki yazımda basit bir git deposu oluşturmayı göstermiştim.
bu kez gelen ilgili yazıya gelen istek üzerine gitweb yani git web arayüzü üzerinden projelerinizi paylaşmayı gösterelim.

server olarak Raspberry Pi ve Nginx kullandım.
Raspberry Pi üzerinde Minibian kurulu.

Kurulum.
apt-get install nginx git-core

 
apt-get install fcgiwrap spawn-fcgi

 

Öncelikle depo kullanıcısını sisteme ekleyelim.
adduser --home /srv/depo --shell /bin/bash depo

 

depo kullanıcısına geçip git proje depolarını hazırlayalım
su - depo
mkdir git
cd git
mkdir -p proje1.git proje2.git proje3.git
for i in proje1.git proje2.git proje3.git; do cd $i; git init --bare; cd ..; done
Initialized empty Git repository in /srv/depo/git/proje1.git/
Initialized empty Git repository in /srv/depo/git/proje2.git/
Initialized empty Git repository in /srv/depo/git/proje3.git/

 

Proje klasörlerimizin açıklamalarını yazalım.
echo "ilk projem">proje1.git/description
echo "ikinci projem" >proje2.git/description
echo "üçüncü projem" >proje3.git/description

 

Proje depoları artık hazır.

şimdi NginX ayarlarına geçelim.
exit
logout
cd /etc/nginx/sites-available/

 

Default dosyasının yedeğini alalım.
cp -a default default.yedek

default yapılandırmanın içeriğini boşaltalım.
:>default

Dosyayı Düzenleyelim.
nano default

dosya içeriğine yapıştırın.
server {
listen 80 default;

access_log /var/log/nginx/gitweb.access.log;
error_log /var/log/nginx/gitweb.error.log info;

location /index.cgi {
root /usr/share/gitweb/;
include fastcgi_params;
gzip off;
fastcgi_param SCRIPT_NAME $uri;
fastcgi_param GITWEB_CONFIG /etc/gitweb.conf;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
}
location / {
root /usr/share/gitweb/;
index index.cgi;
}
}

 

Kaydedip çıkın.

şimdi gitweb.conf dosyasını oluşturalım.
nano /etc/gitweb.conf

dosya içeriğine yapıştırın.
#------------------ Başlama
our $projectroot = "/srv/depo/git";
#------------------ Bitiş

Kaydedip çıkın.

Servisleri yeniden başlatalım.
service nginx restart
Restarting nginx: nginx.
service fcgiwrap restart
[ ok ] Restarting FastCGI wrapper: fcgiwrap

 

Örnek olması açısından github dan Zangetsu bloğu yansıladım.
cd git/
$ ls
proje1.git proje2.git proje3.git
git clone --bare https://github.com/caglar10ur/zangetsu
Cloning into bare repository 'zangetsu.git'...
remote: Counting objects: 2290, done.
remote: Total 2290 (delta 0), reused 0 (delta 0), pack-reused 2290
Receiving objects: 100% (2290/2290), 1.02 MiB | 369 KiB/s, done.
Resolving deltas: 100% (1117/1117), done.
echo "zangetsu.git yansısı" > zangetsu.git/description

Sonuç Resimleri.
gitweb1

gitweb2

 

gitweb3

iyi eğlenceler.

https://github.com/caglar10ur/zangetsu

https://www.syslogs.org/centos-uzerinde-git-server-gitweb-kurulumu/

https://misterpinchy.wordpress.com/2012/11/01/gitweb-and-nginx/

UYARI Ticari projelerinizi public etmeyiniz,  oluşacak veri kayıplarından, hatalardan vb. sorumlu değilim. tüm sorumluluk size aittir.
Labels: , ,

Yorum Gönder

[blogger][facebook][disqus][spotim]

Author Name

İletişim Formu

Ad

E-posta *

Mesaj *

Blogger tarafından desteklenmektedir.