GogsをCentos7にインストール with MySQL
前置き
自分だけで適当に使えるGitサーバーが欲しかったので、Gogs(Go Git Service)を構築。意外と日本語のサイトがなかったので、インストール手順と注意点のまとめを掲載。
ブログ最初の記事なので分かりにくいのはごめんなさい。今後のためにも指摘していただけると喜びます。
目標
Gogsをコマンド上で起動するところまで。次回以降、Gogsの初期設定、nginxでの80ポート受け、dockerでのGogs立ち上げなどに続きます。
流れ
- 環境紹介
- Gitのインストール
- MySQLのインストール
- Gogsのインストール
環境紹介
まっさらなCentOS7を用意しました。バージョンは以下の通り
$ cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
実行ユーザーはgogsを追加
$ useradd gogs
$ passwd gogs
gogsユーザーでsudoを実行できるようwheelグループへ追加
$ usermod -G wheel gogs
yum updateの実行とsudoの確認
$ sudo yum update
以降断りがなければgogsユーザーです。
Gitのインストール
GitのリポジトリサーバーなだけあってそもそものGitが必要。インストールは以下のコマンドのみ。
$ sudo yum install git
この記事を書いている時点で、Gitのバージョンは1.7.1以上が必須(サーバー・クライアント両方)とのこと。
MySQLのインストール
既存のMySQLを削除
$ sudo yum remove mariadb-libs
#フォルダも削除
$ sudo rm -rf /var/lib/mysql/
最新のMySQLをインストール
$ sudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
$ sudo yum install mysql mysql-devel mysql-server mysql-utilities
MySQLの起動とサービスに登録
$ sudo systemctl start mysqld
$ sudo systemctl enable mysqld
rootパスワードの取得
$ grep 'temporary password' /var/log/mysqld.log
#出力されるやつ。root@localhost:より右側にあるやつがrootのパスワードになる
[Note] A temporary password is generated for root@localhost: R<Sq=DyWy6:k
MySQLの初期設定
$ mysql_secure_installation
#上で取得したパスワード(ここだとR<Sq=DyWy6:k)を入力
$ Enter password for user root:
#新しいパスワードを入力。
$ New password:
#以降、質問されるがyでOK。詳しくはググってください
Gogsで使うデータベースの作成
$ mysql -uroot -p
#設定したパスワードを入力
$ Enter password:*********
$ create database gogs;
$ exit
Gogsのインストール
バイナリの取得
#ダウンロードしてくる
$ wget https://dl.gogs.io/0.11.29/linux_amd64.tar.gz
#解凍
$ tar zxvf linux_amd64.tar.gz
#Gogsの起動
$ cd ./gogs/
$ ./gogs web
#カラフルな字で下のような文字列が出れば起動成功
[ INFO] Gogs 0.11.29.0727
[ INFO] Cache Service Enabled
[ INFO] Session Service Enabled
[ INFO] SQLite3 Supported
[ INFO] Run Mode: Development
[ INFO] Listen: http://0.0.0.0:3000