Ubuntu 18.04: What's New?
目次:
- あなたが始める前に
- Gogsのインストール
- Gitをインストールする
- Gitユーザーを作成する
- Gogsバイナリをダウンロードする
- systemdユニットファイルを作成する
- Webインストーラーを使用してGogsをインストールする
- NginxをSSL終了プロキシとして構成する
- 電子メール通知の構成
- Gogsのアップグレード
- 結論
Gogsは、Goで記述された自己ホスト型のオープンソースgitサーバーです。 リポジトリファイルエディター、プロジェクトの問題追跡、および組み込みのWikiが含まれています。
Gogsは軽量のアプリケーションであり、低電力システムにインストールできます。 メモリフットプリントがはるかに小さいGitlabの代替を探していて、Gitlabが提供するすべての機能を必要としない場合は、間違いなくGogsを試してください。
このチュートリアルでは、Ubuntu 18.04にGogsをインストールして構成する手順を説明します。 Ubuntu 16.04およびその他のUbuntuベースのディストリビューションにも同じ手順が適用されます。
あなたが始める前に
Gogsは、SQLite、PostgreSQL、またはMySQL / MariaDBデータベースを使用して、すべてのデータを保存できます。
このチュートリアルでは、選択するデータベースとしてSQLiteを使用します。 SQLiteがシステムにインストールされていない場合は、次を入力してインストールできます。
sudo apt install sqlite3
セキュリティの追加レイヤーについては、基本的なファイアウォールをセットアップすることをお勧めします。 Ubuntu 18.04でUFWを使用してファイアウォールをセットアップする方法の手順に従うことができます。
Gogsのインストール
Gogsをバイナリからインストールします。 インストールは非常に簡単なプロセスです。
Gitをインストールする
最初のステップは、サーバーにGitをインストールすることです。 これを行うには、ローカルパッケージインデックスを更新し、sudoユーザーとして次のコマンドを実行してgitパッケージをインストールします。
sudo apt update
sudo apt install git
Gitバージョンを表示して、インストールを確認します。
git --version
Gitユーザーを作成する
次のように入力して、Gogsサービスを実行する新しいシステムユーザーを作成します。
sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git
このコマンドはユーザーを作成し、ホームディレクトリを
/home/git
ます。 出力は次のようになります。
Adding system user `git' (UID 111)… Adding new group `git' (GID 116)… Adding new user `git' (UID 111) with group `git'… Creating home directory `/home/git'…
Gogsバイナリをダウンロードする
Gogsダウンロードページにアクセスして、ご使用のアーキテクチャの最新のバイナリをダウンロードしてください。 執筆時点で、最新バージョンは0.11.86です。新しいバージョンが利用可能な場合、以下のコマンドで
VERSION
変数を変更してください。
次のwgetコマンドを使用して、
/tmp
ディレクトリにあるGogsアーカイブをダウンロードします。
VERSION=0.11.86
wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp
ダウンロードが完了したら、Gogs tar.gzファイルを抽出し、
/home/git
ディレクトリに移動します。
sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git
次のコマンドを実行して、Gogsインストールディレクトリの所有権をユーザーおよびグループgitに変更します。
sudo chown -R git: /home/git/gogs
systemdユニットファイルを作成する
Gogsには、セットアップと一致するように既に構成されているSystemdユニットファイルが付属しています。
次のように入力して、ファイルを
/etc/systemd/system/
ディレクトリにコピーします。
sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/
完了したら、Gogsサービスを開始して有効にします。
sudo systemctl start gogs
sudo systemctl enable gogs
サービスが正常に開始されたことを確認します。
* gogs.service - Gogs Loaded: loaded (/etc/systemd/system/gogs.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2019-04-25 04:13:44 PDT; 9s ago Main PID: 14376 (gogs) Tasks: 8 (limit: 2319) CGroup: /system.slice/gogs.service `-14376 /home/git/gogs/gogs web
Webインストーラーを使用してGogsをインストールする
Gogsがダウンロードされて実行されたので、Webインターフェイスを介してインストールを完了します。
ブラウザを開き、
http://YOUR_DOMAIN_IR_IP:3000
と入力すると、次のような画面が表示されます。
最初に登録されたユーザーは、管理グループに自動的に追加されます。
それでおしまい。 GogsはUbuntuマシンにインストールされています。
NginxをSSL終了プロキシとして構成する
この手順はオプションですが、強くお勧めします。 Nginxをリバースプロキシとして使用するには、サーバーのパブリックIPを指すドメインまたはサブドメインが必要です。 このチュートリアルでは、
gogs.example.com
を使用し
gogs.example.com
。
最初に、Nginxをインストールし、以下のガイドに従って無料のLet's Encrypt SSL証明書を生成します。
完了したら、テキストエディターを開き、ドメインサーバーブロックファイルを編集します。
sudo nano /etc/nginx/sites-enabled/gogs.example.com
/etc/nginx/sites-enabled/gogs.example.com
server { listen 80; server_name gogs.example.com; include snippets/letsencrypt.conf; return 301 https://gogs.example.com$request_uri; } server { listen 443 ssl http2; server_name gogs.example.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; client_max_body_size 50m; # Proxy headers proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; # SSL parameters ssl_certificate /etc/letsencrypt/live/gogs.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/gogs.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/gogs.example.com/chain.pem; include snippets/letsencrypt.conf; include snippets/ssl.conf; # log files access_log /var/log/nginx/gogs.example.com.access.log; error_log /var/log/nginx/gogs.example.com.error.log; # Handle / requests location / { proxy_redirect off; proxy_pass http://127.0.0.1:3000; } }
gogs.example.comをGogsドメインに置き換え、SSL証明書ファイルへの正しいパスを設定することを忘れないでください。 すべてのHTTP要求はHTTPSにリダイレクトされます
変更を有効にするには、Nginxサービスを再起動します。
sudo systemctl restart nginx
次に、GogsドメインとルートURLを変更する必要があります。 これを行うには、構成ファイルを開き、次の行を編集します。
sudo nano /home/git/gogs/custom/conf/app.ini
/home/git/gogs/custom/conf/app.ini
DOMAIN = gogs.example.com ROOT_URL =
次のように入力してGogsサービスを再起動します。
sudo systemctl restart gogs
この時点で、Gogsが構成され、
https://gogs.example.com
://gogs.example.comからアクセスできます
https://gogs.example.com
電子メール通知の構成
Gogsが通知メールを送信できるようにするには、Postfixをインストールするか、SendGrid、MailChimp、MailGun、SESなどのトランザクションメールサービスを使用できます。
電子メール通知を有効にするには、構成ファイルを開き、次の行を編集します。
sudo nano /home/git/gogs/custom/conf/app.ini
/home/git/gogs/custom/conf/app.ini
ENABLED = true HOST = SMTP_SERVER:SMTP_PORT FROM = SENDER_EMAIL USER = SMTP_USER PASSWD = YOUR_SMTP_PASSWORD
正しいSMTPサーバー情報を入力してください。
Gogsサービスを再起動して、変更を有効にします。
sudo systemctl restart gogs
Gogsでは、Web Webhookを作成してSlackに接続し、Slackチャネルに通知を送信することもできます。
Gogsのアップグレード
Gogsをアップグレードするには、いくつかの手動手順が必要です。
-
最初にGogsサービスを停止します。
sudo systemctl stop gogs
Gogsインストールディレクトリの名前を変更します。
sudo mv /home/git/gogs{, _old}
最新のGogsバージョンをダウンロードして、
/home/git
ディレクトリに移動します。VERSION=
wget https://dl.gogs.io/${VERSION}/gogs_${VERSION}_linux_amd64.tar.gz -P /tmp
sudo tar xf /tmp/gogs_*_linux_amd64.tar.gz -C /home/git
実際のGogsリリースバージョンで
VERSION
を変更してください。次のrsyncコマンドを使用して、抽出したディレクトリに
custom
、data
、log
ディレクトリをコピーしlog
。sudo rsync -a /home/git/gogs_old/{custom, data, log} /home/git/gogs/
最後に、Gogsサービスを開始します。
sudo systemctl restart gogs
それでおしまい。
結論
このチュートリアルでは、Ubuntu 18.04でのGogsのインストールと構成について説明しました。 これで、最初のプロジェクトを作成し、新しいGogsサーバーの使用を開始できます。
Ubuntuのゴグファーストルック:Ubuntu 7.10デスクトップLinux

「Gutsy Gibbon」リリースは、フラッシュと機能をもたらし、デスクトップLinuxのリーダーとしてUbuntuをリードしています。 Webサイトやデータベースを実行するためのLinuxディストリビューションの選択は簡単です。 Linuxは長年にわたってサーバをうまく処理してきました。しかし、デスクトップ上でLinuxを正しく利用することは常に困難でした。そのため、Ubuntuは3年前に初めて登場したときにこのような話題を呼びました。 Ubuntuバージョン7.10(コードネームGutsy Gibbon)は、グラフィクスの改善、ソフトウェアインストールの簡素化、およびソフトウェアのマイナーな改良など、過去の成功を基盤にしています。
デスクトップLinux Face-Off:Ubuntu 8.04対Fedora 9

世界最大の2つの新バージョンLinuxのディストリビューションが勢ぞろいしています。彼らはどのようにマッチするのですか?
Ubuntu 9.04 Beta:クイックルック

Ubuntu Jaunty Jackalopeの予定されたベータ版が到着しました。ここでは、どのように形作っているかを見ていきます。