Giteaサーバーを移設ないし移動 [修正]

既存のデーターを移します

サーバー移転の大筋は別記事で、書きました。

が、Giteaのサーバーを移転するのを忘れていたので、作業を行いその過程を記述しておきます。1から立ち上げるのは、以前に記事を書きました。Giteaサーバーを移転ないし移動するのは、データベースを移動すれば良いだけで、WordPressのようにディレクトリ構造を移転する必要はありません。dbの移動は、移行元でdbをエクスポートして、移行先でインポートすればオッケーです。ユーザの登録だけコマンドラインからの作業が必要でした。

としましたけど、全くの嘘でした。見かけ上うごいているように見えますが、エラーがでて使えません。新規のGiteaのサーバーを立ち上げてから、”Migrate”するのが吉ですかね。

mysql -u root -p でpassword入力してから
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY "StrOngPassw0rd";
FLUSH PRIVILEGES;

上記は db名 gitea user名 gitea パスワード StrOngPasswOrdの場合。

adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git
wget -O /tmp/gitea https://dl.gitea.com/gitea/1.26.0/gitea-1.26.0-linux-amd64
mv /tmp/gitea /usr/local/bin/gitea
chmod +x /usr/local/bin/gitea
mkdir -p /var/lib/gitea/{custom,data,log}
chown -R git:git /var/lib/gitea/
chmod -R 750 /var/lib/gitea/
mkdir /etc/gitea
chown root:git /etc/gitea
chmod 770 /etc/gitea
vi /etc/systemd/system/gitea.service
systemctl enable gitea
systemctl start gitea
systemctl status gitea

上記でwgetしてくるgiteaのバージョンは最新のstableにしておくのが吉です。で、上記のgitea.serviceの内容は、以下のように。

[Unit]
Description=Gitea
After=syslog.target
After=network.target
Requires=mariadb.service

[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea

[Install]
WantedBy=multi-user.target

DBの移設以外に必要なものは、Giteaサーバーのバイナリの用意と、service スクリプトの用意、ユーザアカウントの用意等々です。それほど複雑ではないし、”正しい”順番で抜けなく実施すれば問題ありません。さて、上記の準備ができて、

root@ghost:~# systemctl status gitea
* gitea.service - Gitea
     Loaded: loaded (/etc/systemd/system/gitea.service; enabled; preset: enabled)
     Active: active (running) since Wed 2026-04-22 15:40:17 JST; 4 days ago
 Invocation: ef9441949ce24fc79acdce0cd1147cf1
   Main PID: 107631 (gitea)
      Tasks: 18 (limit: 38101)
     Memory: 100.6M (peak: 102.9M)
        CPU: 9min 16.048s
     CGroup: /system.slice/gitea.service
             `-107631 /usr/local/bin/gitea web

とgiteaのstatus runningであれば、http://サーバーlocalip:3000へアクセス。

この初期設定の画面が出ればおけ。

前の記事のapp.iniの修正を加えて、再度同じurlへアクセスすると、

これを公開サーバーにするためには、ポート3000へのフォワードが必要です。それはルーターの設定ですが、Giteaのベースurlも変更するのが吉です。

ちなみにlocalなgiteaサーバーからMigrateする場合は、app.iniに

[migrations]
ALLOW_LOCALNETWORKS = true

のセクションを追加しておく必要があります。ちまちまMigrate=移行するのも面倒なので、RRMを使って一気に移行するのが吉かもしれません。

コメント