আমরা কীভাবে একটি কার্যরত গিটল্যাব ইনস্টলের URL টি পরিবর্তন করব?


89

আমি সেট আপ করেছি এবং আমরা গিটল্যাব v6.0.1 এর একটি ডিফল্ট ইনস্টল চলছে (আমরা পাশাপাশি আপগ্রেড করতে চলেছি)। চিঠির ঠিক এই গাইড অনুসরণ করে এটি একটি "উত্পাদন" সেটআপ ছিল:

https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md

এখন, কীভাবে আমরা নিরাপদে একটি ওয়ার্কিং ইনস্টলের URL টি পরিবর্তন করব?

স্পষ্টতই আমাদের ইউআরএলটি অনেক দীর্ঘ এবং আমরা একটি নতুন ইউআরএল নিয়ে এসেছি। আমি বেশ কয়েকটি কনফিগারেশন ফাইলগুলি সম্পাদনা করেছি এবং "অ্যাপ্লিকেশন স্থিতি পরীক্ষার" প্রতিবেদনটি সবকিছু ঠিক আছে। জিনিসগুলি এখনও কাজ করছে তা নিশ্চিত করার জন্য আমি সার্ভারটি রিবুট করেছি।

আমি আমাদের মূল এসএসএল ধরে ঠিক এনগিনেক্স অ্যাক্সেস করতে পারি। আমি গিটল্যাব সাইটটি ব্রাউজ করতে পারি, একটি সংগ্রহশালা তৈরি করতে পারি etc.

সব ঠিক আছে বলে মনে হচ্ছে; তবে, যেহেতু এটি আমার পক্ষে স্থানীয় পরিবেশ নয়, আমি গিটল্যাব সাইটের নাম পরিবর্তনের জন্য আমি সমস্ত কিছু করেছি কিনা তা দ্বিগুণ পরীক্ষা করতে চেয়েছিলাম।

আমি সম্পাদিত ফাইলগুলি হ'ল:

/etc/hosts
  127.0.0.1  localhost
  10.0.0.10  wake.domain.com    wake
  10.0.0.10  git.domain.com     git

/home/git/gitlab/config/gitlab.yml
  production: &base
    gitlab:
      host: git.domain.com

/home/git/gitlab-shell/config.yml
  gitlab_url: "https://git.domain.com"
  ^- yes, we are on SSL and that is working, even on a new URL

/etc/nginx/sites-available/gitlab
  server {
    server_name git.domain.com

9
ওমনিবাস ইনস্টল ব্যবহারকারীগণ: প্রক্রিয়াটি আলাদা
জোনাথন রাইনহার্ট

উত্তর:


29

আপনি সবকিছু সঠিকভাবে করেছেন!

ইমেল সার্ভারটিও একই সার্ভার কিনা তার উপর নির্ভর করে আপনি ইমেল কনফিগারেশন পরিবর্তন করতে পারেন। গিটল্যাব প্রেরিত মেলগুলির জন্য এবং প্রশাসক-ইমেলের জন্য ইমেল কনফিগারেশনটি গিটলব.আইএমএল -এ রয়েছে।


আমি এটি সম্পর্কে ভাবছিলাম, কারণ আমি আমাদের বিশ্বব্যাপী বিকাশকারী গোষ্ঠী ইমেল ওরফে যেটি অন্য কোনও ডোমেনে রয়েছে তার থেকে প্রেরণ ইমেলটি (এবং অন্যান্য ইমেল) সেট করেছি। পছন্দ করুন: devs@domain-2.com। এর কারণ হ'ল ডিভগুলিকে পুলের অনুরোধ বা অন্যান্য সাধারণ ইমেলগুলিতে মন্তব্য করতে জবাব দিতে হিট করার অনুমতি দেওয়া।
eduncan911

4
এটিকে উত্তর হিসাবে চিহ্নিত করতে ফিরে এসেছি কারণ আমি উপরে এই পরিবর্তনগুলি করার পরে গিটল্যাব ঠিকঠাক কাজ করছে।
eduncan911

159

গিটল্যাব ওমনিবাস

কোনও ওমনিবাস ইনস্টলের জন্য, এটি কিছুটা আলাদা।

সঠিক জায়গা একটি অমনিবাস ইনস্টল হল:

/etc/gitlab/gitlab.rb
    external_url 'http://gitlab.example.com'

অবশেষে, আপনাকে কার্যকর করতে হবে sudo gitlab-ctl reconfigureএবং sudo gitlab-ctl restartপরিবর্তনগুলি প্রয়োগ হয়।


আমি ভুল জায়গায় পরিবর্তন করছিলাম এবং তাদের উড়িয়ে দেওয়া হচ্ছে।

ভুল পাথ আছেন:

/opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
/var/opt/gitlab/.gitconfig
/var/opt/gitlab/nginx/conf/gitlab-http.conf

এই সতর্কতাগুলিতে মনোযোগ দিন:

# This file is managed by gitlab-ctl. Manual changes will be
# erased! To change the contents below, edit /etc/gitlab/gitlab.rb
# and run `sudo gitlab-ctl reconfigure`.

আমার অভ্যন্তরীণ সার্ভারে গিটল্যাব ওমনিবাস রয়েছে, তবে ইন্টারনেট থেকে আলাদা ইউআরএল থেকে অ্যাক্সেসযোগ্য। external_urlবিকল্প /etc/gitlab/gitlab.rbURL সেট যাতে প্রকল্পের গীত / HTTP- র URL গুলি সঠিক হবে সঠিক জায়গা ছিল।
ম্যাথু ক্লার্ক

এছাড়াও, এই পরিবর্তনের পরে এবং গিটল্যাব-সিটিএল পুনরায় কনফিগারেশন চালানোর পরে, আপনাকে এনজিএনএক্স পুনর্নির্মাণের জন্য সার্ভারটি পুনরায় বুট করতে হবে।
দেজভ

আপনি ঠিক বলেছেন, এই সেটিংসটি পরিবর্তন করার জন্য এটিই একমাত্র এবং সেরা স্থান। বাকি উত্পন্ন হয়।
বিপদ 89

4
@ দেজভ আপনাকে পুনরায় আরম্ভ করতে হবে না। Nginx পরিষেবাটি পুনরায় আরম্ভ করা পর্যাপ্ত হওয়া উচিত।
জোনাথন রাইনহার্ট

ধন্যবাদ @ জোনাথন রেনহার্ট আমার জন্য এই কাজটি করুন, তবে প্রথমে ভুলে যাবেন না sudo gitlab-ctl stop unicornএবংsudo gitlab-ctl stop sidekiq
সাইবারগুইলে

7

আসলে, এটি সম্পূর্ণ সঠিক নয়। আমি এই পৃষ্ঠায় পৌঁছেছি, নিজেই এই প্রশ্নের উত্তর দেওয়ার চেষ্টা করছি, যেহেতু আমরা উত্পাদন গিটল্যাব সার্ভার থেকে রূপান্তর http://করছি https://এবং বেশিরভাগ স্টাফ উপরে বর্ণিত হিসাবে কাজ করছে, তবে আপনি যখন লগইন করবেন https://serverএবং সবকিছু ঠিকঠাক দেখাচ্ছে ... আপনি যখন কোনও প্রকল্পে ব্রাউজ করবেন তখন ব্যতীত বা সংগ্রহস্থল, এবং এটি এসএসএইচ এবং এইচটিটিপি নির্দেশাবলী প্রদর্শন করে ... এটি "HTTP" এবং এটি যে নির্দেশাবলী প্রদর্শন করে তাতে "http "ও বলে।

আমি সম্পাদনা করার জন্য আরও কিছু জিনিস পেয়েছি:

/home/git/gitlab/config/gitlab.yml
  production: &base
    gitlab:
      host: git.domain.com

      # Also edit these:
      port: 443
      https: true
...

এবং

/etc/nginx/sites-available/gitlab
  server {
    server_name git.domain.com;

    # Also edit these:
    listen 443 ssl;
    ssl_certificate     /etc/ssl/certs/somecert.crt;
    ssl_certificate_key /etc/ssl/private/somekey.key;

...

আপনার মন্তব্যের জন্য আপনাকে এডওয়ার্ড ধন্যবাদ (আপনি এই প্রশ্নের উত্তর পোস্ট করেছেন, যখন এটি উপরের @ রাজারের ভিন্ন উত্তরের পক্ষে আসলে একটি মন্তব্য)। আপনি অন্যের জন্য কী সংস্করণে আছেন তা জানাতে আপনি নিজের উত্তর (মন্তব্য) সম্পাদনা করতে চাইতে পারেন। তবে, আমি এই প্রশ্নটি পোস্ট করার পরে কেবলমাত্র এই পরিবর্তনগুলি সহ আমরা সফলভাবে গিটল্যাব ব্যবহার করছি। আমরা টিম জুড়ে রেপো এবং প্রকল্পগুলি ব্রাউজ করতে পারি - সম্পূর্ণরূপে আমাদের কর্পোরেট নেটওয়ার্কে এসএসএলে সম্পূর্ণ।
eduncan911

4
আমি জানি, তবে অন্য উত্তরটি স্বীকৃত উত্তর হিসাবে চিহ্নিত হয়েছে। সুতরাং আমি উদ্দেশ্যমূলকভাবে এটিতে মন্তব্য করতে চাইনি, কারণ এতে মনোযোগ পাওয়া যায় না। আরেকটি উত্তর পোস্ট করা কিছুটা বেশি উচ্চারণযোগ্য। আমি সর্বশেষতম গিটল্যাব শেল ১.৮.০ এবং গিটল্যাব .4.৪ স্থিতিশীল। আমরা সম্পূর্ণ https এবং ssh এর মাধ্যমেও কাজ করতে সক্ষম। তবে প্রতিবারই আমরা ওয়েব ইন্টারফেস থেকে জিআইটি ক্লায়েন্টে নির্দেশনা বা ইউআরএল অনুলিপি করতে এবং https- র মাধ্যমে HTTP প্রতিস্থাপন করতে হবে।
এডওয়ার্ড নেড হার্ভে

এটি আমার কাছে মনে হচ্ছে আপনি কোনও একটি কনফিগারেশন ফাইলের URL টি মিস করেছেন। আমরা এখানে আমার মূল প্রশ্ন / বর্ণনায় "সরানো" এর আগে কেবল HTTPS ব্যবহার করেছি এবং উদ্দেশ্যমূলকভাবে এইচটিটিপি অক্ষম করেছি। সুতরাং এটি এইচটিটিপিএস হিসাবে একচেটিয়াভাবে থাকার ফলে আমাদের পোস্ট নির্দেশাবলীর উপর নির্বিঘ্নে সরানোর অনুমতি দিয়েছে allowed তবে, আপনি যদি একটি মিশ্র-মোড http / https পরিবেশ চালাচ্ছেন তবে সম্ভবত সম্পাদনা করার জন্য কয়েকটি অতিরিক্ত লাইন রয়েছে।
eduncan911

মন্তব্যের জন্য ধন্যবাদ, তবে (ক) আমি দ্বিগুণ পরীক্ষা করে দেখেছি যে আমি উপরের উত্তরে রেফারেন্সগুলি পরিবর্তন করেছি। (খ) আমি নিম্নলিখিত পদ্ধতিটি ইনস্টল করেছি এবং আমি ইউআরএল থাকা প্রতিটি জায়গাতেই পরিবর্তন করেছি তা নিশ্চিত করার জন্য আমি সেই পদ্ধতিটি পুনরায় অনুসরণ করেছি। (গ) আমরা কেবলমাত্র https- র পরিবর্তে নয়, হোস্ট-নেমও পরিবর্তন করেছি। হোস্টনাম পরিবর্তনটি কাজ করেছে, যার অর্থ কনফিগার ফাইলের পরিবর্তনগুলি সফল হয়েছিল। (d) আমি আপনার সেটআপ সম্পর্কে সন্দেহবাদী। আপনি কি নিজের গিটল্যাবে কোনও প্রকল্পে ব্রাউজ করতে পারবেন এবং শীর্ষে যেখানে এটি আপনাকে এসএসএইচ এবং এইচটিটিপি ইউআরএল দেখায়, এসএসএস এবং HTTP এর মধ্যে টগল করতে পারেন এবং দেখতে পাবেন যে URL টিতে "HTTP" বা "https" আছে?
এডওয়ার্ড নেড হার্ভে

4
এই উত্তরটি এখন অস্পষ্ট। আপনি উল্লেখ করেছেন "আসলে, এটি পুরোপুরি সঠিক নয়।" তবে "এটি" কি? আপনি কি প্রশ্নে কিছু উল্লেখ করছেন? অন্য একটি উত্তর?
জোনাথন রেইনহার্ট

1

সেখানে আমাকে সম্পূর্ণরূপে সাহায্য করেছে এই বিস্তারিত নোট, হয় এখানে অবস্থিত

জোনাথন রেন্হার্ট ইতিমধ্যে সম্পাদনায় যান, কী বিট সঙ্গে উত্তর দেওয়া হয়েছে /etc/gitlab/gitlab.rb , পরিবর্তন external_url এবং তারপর চালানোsudo gitlab-ctl reconfigure; sudo gitlab-ctl restart

তবে আমাকে আরও কিছুটা এগিয়ে যাওয়ার দরকার হয়েছিল এবং আমি উপরে উল্লিখিত দস্তাবেজগুলি এটি ব্যাখ্যা করেছে। সুতরাং আমি যা দেখতে শেষ করেছি তা দেখে মনে হচ্ছে:

external_url 'https://gitlab.toilethumor.com'
nginx['ssl_certificate'] = "/www/ssl/star_toilethumor.com-chained.crt"
nginx['ssl_certificate_key'] = "/www/ssl/star_toilethumor.com.key"
nginx['proxy_set_headers'] = {
 "X-Forwarded-Proto" => "http",
 "CUSTOM_HEADER" => "VALUE"
}

উপরে, আমি স্পষ্টভাবে ঘোষণা করেছি যে এই সার্ভারে আমার এসএসএল গুডিজ রয়েছে। এবং এটি অবশ্যই অনুসরণ করে

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

এছাড়াও, যখন আপনি ওমনিবাস প্যাকেজটি https এ স্যুইচ করেন, তখন বান্ডিলযুক্ত এনজিনেক্স কেবল 443 পোর্টে পরিবেশন করবে Since যেহেতু আমার সমস্ত জিনিস বিপরীত প্রক্সি দিয়ে পৌঁছেছে, এই অংশটি সম্ভবত সম্ভাব্য ছিল।

আমি এর মধ্য দিয়ে যাবার সাথে সাথে আমি কিছু আঁকড়ে ধরলাম এবং আসল এনজিনেক্স লগগুলি খুঁজে পেতে এটি সহায়ক, এটি আমাকে এখানে নিয়ে যায়:

sudo gitlab-ctl tail nginx
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.