গিটওয়েব / অ্যাপাচি 2 সেট আপ করা হচ্ছে


10

আমি সম্প্রতি কোড সংরক্ষণ করতে শুরু করেছি, যা আমি বাড়িতে থাকা একটি স্থানীয় সার্ভারে লিখি।

আমি ঘরে বসে একটি গিটওয়েব উদাহরণ শুরু করার আশাবাদী ছিলাম যাতে আমি অন্যান্য অন্যান্য সতীর্থদের সাথে প্রতিশ্রুতিবদ্ধতা এবং অগ্রগতিটি দেখতে পারি।

আমি কোনও ভাগ্য ছাড়াই অনলাইনে সার্ভার টিউটোরিয়াল চেষ্টা করেছি। আমি চাই গীটওয়েব দ্বারা প্রবেশ করা উচিতexample.com/git

আমি চাই আমার কোডটি এতে স্থান দেওয়া হোক /code/git

আমি কোন সাহায্য কৃতজ্ঞ হবে! দয়া করে যথাসম্ভব সুস্পষ্ট হওয়ার চেষ্টা করুন, কারণ আমি কী করছি তা আমি স্পষ্টভাবে জানি না। আমি প্রচুর নিবন্ধ পড়েছি।

অনুগ্রহ করে এবং ধন্যবাদ.

উত্তর:


6

Gitweb অংশ:

আপনাকে প্যাকেজ গিটওয়েব দিয়ে ইনস্টল করতে হবে sudo apt-get install gitweb

তারপরে আপনাকে অ্যাপাচি gitweb কনফিগারেশন ফাইলটি সম্পাদনা করতে হবে

$EDITOR /etc/apache2/conf.d/gitweb

লাইন পরিবর্তন Alias /gitweb /usr/share/gitweb করতে

Alias /git /usr/share/gitweb

/etc/gitweb.confফাইলটি খুলুন :

আপনি লাইন পরিবর্তন $projectroot ".."করতে হবে $projectroot "/code/git"

এবং ধারণকারী অন্য কোন লাইন পরিবর্তন /gitwebকরতে /git উদাহরণস্বরূপ

$stylesheet = "/gitweb/gitweb.css";

প্রতি

$stylesheet = "/git/gitweb.css";

তারপরে আপনি অ্যাপাচি ওয়েবসারভারটি পুনরায় লোড করুন sudo /etc/init.d/apache2 horse-reload

এলেবেলে অংশ নিজেই:

আমি দৃit়ভাবে গিটোসিসের ব্যবহারের পরামর্শ দিচ্ছি ( http://scie.nti.st/2007/11/14/hosting-git-repositories-Te-easy- and-secure-way )

মনে রাখবেন যদি আপনি ব্যবহার gitosis লাইন $projectrootমধ্যে /etc/gitweb.confহতে হয়েছে

$projectroot = "/home/git/repositories/";

আপনি http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way এ কীভাবে সেটআপ গিটোসিস সম্পর্কে বিশদ তথ্য পেতে পারেন

সম্পূর্ণ গিটোসিস সেটআপ বর্ণনা করা এই উত্তরের জন্য দীর্ঘ।

আপনার যদি গিটোসিস সম্পর্কে আরও সাহায্যের প্রয়োজন হয় তবে আমাকে একটি মন্তব্য করুন

অ্যাপাচি অনুমতি সমস্যা সমাধানের জন্য এটি করা প্রয়োজন হতে পারে:

adduser www-data git
chgrp -R git /home/git/repositories

গিট এবং গিটোসিসের মধ্যে পার্থক্য কী।
myusuf3

গিটোসিস হ'ল নিরাপদ গিট হোস্টিং সেটআপ করার জন্য একটি স্ক্রিপ্ট is (ssh এবং স্টাফ সহ ব্যবহারকারীদের প্রমাণীকরণ করুন)) এটির একটি চমত্কার স্ট্রেইট একটি বিশেষ গিট সংগ্রহস্থল যা একটি কনফিগার রয়েছে সেটির সাথে এগিয়ে forward এই কনফিগারেশনে আপনি অন্যান্য গিট সংগ্রহস্থলগুলি কনফিগার করতে পারেন
aatdark

এটা আমার জন্য আকর্ষণীয়। গিটোসিস সেটআপ অন্তর্ভুক্ত করতে আপনি কি নিজের উত্তরটি পরিবর্তন করতে পারেন?
myusuf3

scie.nti.st/2007/11/14/… খুব বিস্তারিত (আমি এটি নিজের জন্য ব্যবহার করেছি)। আপনি যদি এক ধাপে সমস্যা অনুভব করেন তবে আমাকে একটি মন্তব্য লিখুন
aatdark

0

gitwebএসএমএস এবং সিস্টেম ব্যবহারকারীদের প্রমাণীকরণ সহ আমি উবুন্টু 14.04-এ সেটআপ করতে যা করেছি তা এখানে pwauth। ডিফল্টরূপে, gitwebএকটি ব্যবহার করে /etc/gitweb.confযা gitপ্রকল্পগুলির প্রত্যাশা করে /var/lib/git

সুতরাং আমি gitএখানে আমার রেপো রাখার চেষ্টা করেছি , সুতরাং এই উদাহরণে আমাদের পরিবর্তন করতে হবে না /etc/gitweb.conf- আমার /var/lib/gitচেহারাটি এর মতো:

$ ls -la /var/lib/git/
total 12
drwxrwxrwx  3 root          root          4096 Apr  9 16:01 .
drwxr-xr-x 75 root          root          4096 Apr  7 17:31 ..
lrwxrwxrwx  1 myuser        myuser        28 Apr  9 16:01 gitweb.cgi -> /usr/share/gitweb/gitweb.cgi
drwxrwsr-x  7 myuser        www-data      4096 Apr 10 17:50 testrepo.git

সুতরাং, আপনার রেপসের পাশে, আপনাকেও /usr/share/gitweb/gitweb.cgiএই ডিরেক্টরিতে সিমলিংক করতে হবে ...

তারপরে, আপনি নিম্নলিখিত হিসাবে ব্যবহার করতে পারেন /etc/apache2/sites-available/gitw-ssl.conf:

<IfModule mod_ssl.c>
  <VirtualHost _default_:443>
    ServerAdmin webmaster@localhost
    ServerName localhost
    HeaderName HEADER
    DocumentRoot /var/www/html

    LogLevel info
    ErrorLog ${APACHE_LOG_DIR}/error-gw.log
    CustomLog ${APACHE_LOG_DIR}/access-gw.log combined

    SSLEngine on
    SSLCertificateFile  /etc/apache2/ssl/my.crt
    SSLCertificateKeyFile /etc/apache2/ssl/my.key
    <FilesMatch "\.(cgi|shtml|phtml|php)$">
      SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
      SSLOptions +StdEnvVars
    </Directory>

    <IfModule mod_authnz_external.c>
      # old style:
      AddExternalAuth pwauth /usr/sbin/pwauth
      SetExternalAuthMethod pwauth pipe
      # new style:
      #DefineExternalAuth pwauth pipe /usr/sbin/pwauth
    </IfModule>

    # as more specific, /gitweb/static should go first
    Alias /gitweb/static /usr/share/gitweb/static
    Alias /gitweb /var/lib/git
    # gitweb.cgi alias is no dice - symlink is needed:
    Alias gitweb.cgi /usr/share/gitweb/gitweb.cgi
    <Directory /var/lib/git>
      Options +FollowSymlinks +ExecCGI
      SSLRequireSSL
      AuthType basic
      AuthName "Private git repository"
      AuthBasicProvider external
      AuthExternal pwauth
      Require valid-user
      AddHandler cgi-script .cgi
      DirectoryIndex gitweb.cgi
    </Directory>

    ScriptAlias /git/ /usr/lib/git-core/git-http-backend/
    <Directory "/usr/lib/git-core/">
      SetEnv GIT_PROJECT_ROOT /var/lib/git
      SetEnv GIT_HTTP_EXPORT_ALL
      Options +ExecCGI
      SSLRequireSSL
      AuthType basic
      AuthName "Private git repository"
      AuthBasicProvider external
      AuthExternal pwauth
      Require valid-user
    </Directory>

  </VirtualHost>
</IfModule>

এবং অবশেষে আপনি এটি করতে পারেন:

# not sure if also `fcgid auth_digest` are needed:
sudo a2enmod ssl cgi alias env rewrite
sudo a2ensite gitw-ssl.conf
# if not `reload`, use `restart`:
sudo service apache2 reload

এর পরে, (যেমন, ) gitwebউপলভ্য হওয়া উচিত ; এবং আপনার সাথে (স্ব-স্বাক্ষরিত SSL শংসাপত্রের ক্ষেত্রে) ক্লোন করতে সক্ষম হওয়া উচিত:https://localhost/gitweb/https://localhost/gitweb/?p=testrepo.git;a=summary

GIT_SSL_NO_VERIFY=1 git clone https://myuser@localhost/git/testrepo.git
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.