Gogsの初期設定~サービス登録(自動起動)
前置き
前回の記事の続きです。
流れを知りたい場合は前回の記事からご覧ください。
目標
タイトルにもある通り、Gogsの初期設定とサービス登録(自動起動)を設定し、常時起きている状態にします。
これをしたらとりあえずはコミット等できるので、自分一人で使う分にはここまででもいいかな~とか思います。
流れ
- Gogsの初期設定(ブラウザ)
- ファイアウォールの設定
- Gogsをサービスとして登録
Gogsの初期設定(ブラウザ)
前回の最後の手順で下記のように出ていると思います。
[ INFO]Listen: http://0.0.0.0:3000
この状態で、ブラウザを立ち上げ、アドレスバーに「http://localhost:3000」と入力しアクセス
以下の項目を修正し、インストールボタンをクリック。クリック後、エラーページっぽくなるけど気にしない。
- データベース設定
- パスワード:(MySQLで登録したパスワードを入力)
- Gogsの全般設定
- 実行ユーザ:gogs
- ドメイン:gogs.sample.com(使っているサーバのものを指定してください。)
- アプリケーションのURL:gogs.sample.com(使っているサーバのものを指定してください。)
正常に設定できたかどうか確認するためにブラウザで「http://gogs.sample.com:3000」にアクセスし、エラーっぽくないページが出てこればOKです。
ファイアウォールの設定
今度は他のPCからもアクセスできるようにファイアウォールで指定のポートを開けます。
$ sudo firewall-cmd --add-port=3000/tcp --zone=public --permanent
$ sudo systemctl restart firewalld
この状態でgogsのサーバー以外のPCから「http://gogs.sample.com:3000」にアクセスし、エラーが出なければ成功です。
Gogsをサービスとして登録
再起動のたびに./gogs webとか叩かないといけないのも運用的になしなので、自動で立ち上がるようにサービスに登録してしまいます。
サービスを登録するようのファイルをテンプレートからGogsサーバへコピー
$ pwd#カレントディレクトリ
/home/gogs/gogs
$ sudo cp ./scripts/systemd/gogs.service /etc/systemd/system/gogs.service
テンプレートだとユーザーとグループが異なるので、そこを修正。
$sudo vi /etc/systemd/system/gogs.service
以下の各行をそれぞれ修正
- 15行目:User=git -> User=gogs
- 16行目:Group=git -> Group=wheel
- 17行目:WorkingDirectory=/home/git/gogs -> WorkingDirectory=/home/gogs/gogs
- 18行目:ExecStart=/home/git/gogs/gogs web -> ExecStart=/home/gogs/gogs/gogs web
- 20行目:Environment=USER=git HOME=/home/git -> Environment=USER=gogs HOME=/home/gogs
修正したサービスファイルを登録する
$ sudo systemctl enable gogs.service
再起動後、他のPCから「http://gogs.sample.com:3000」に対してアクセスができていれば完了
次回予告
URLに3000とかポート番号を指定するのはめんどくさいので、nginxを使い80で受けれるようするところをやりたいと思います!