Ubuntuサーバー始動

CentOSからUbuntu22.04.3LTSに移行した。今回はChatGPTがあったのでそこまで大変ではなかったけど、手順も含めて備忘録として。

インストールまでの手順

  • Ubuntuのホームページからダウンロードする。
  • Rufusというプログラム(無料を)ダウンロード
  • Rufusを使って、Ubuntuの起動イメージをUSBメモリに書き込む
  • インストールするPCのBios設定で起動する順番をUSBを1番に変更
  • USBメモリを挿したまま起動
  • 手順に沿ってインストール

インストール後の設定

  • ネットワークの設定
  • 共有フォルダの設定

Firebirdのインストール

Firebird(以下Fb)

#firebirdというダウンロード用のディレクトリを作る
sudo mkdir /usr/local/firebird
sudo chown $USER /usr/local/firebird

#libtommath1をインストール(これも必要みたい)
sudo apt -y install libtommath-dev libtommath1

#Firebirdをインストール
sudo chown -R $USER /usr/local/firebird
cd /usr/local/firebird
tar -xvzof Firebird-4.0.2.2816-0.amd64.tar.gz  
cd Firebird-4.0.2.2816-0.amd64  
sudo bash install.sh

#途中sysdbaのパスワード設定があるので入力。

#/opt/firebird/binにPathを通す
export PATH=/opt/firebird/bin:${PATH} 
echo 'export PATH=/opt/firebird/bin:${PATH}' >> ${HOME}/.bashrc

#isqlを起動
isql

#isqlを修了
SQL>exit;

#SQLの場合終わりは必ず;セミコロンが必要

Sambaのインストールと設定

$sudo apt update
$sudo apt upgrade
$sudo apt install -y samba

samba.confをいじるので、一応バックアップ(コピーして別の名前にする)

$sudo cp -a /etc/samba/smb.conf /etc/samba/smb.conf.default

smb.confの編集

sudo vim /etc/smb.conf

今回はvimを使って編集した。smb.confの一番最後に下記コードを追加

[db]
   path = /data/db
   writable = yes
   guest ok = yes
   guest only = yes
   force create mode = 777
   force directory mode = 777

sambaユーザーを登録

sudo smbpasswd -a ユーザー名

編集が終わったら再起動(reboot)

続いてWindowsの開発用のデータベースコンポーネントのTCPアドレスやデータベースの場所などを修正し、テスト接続を行う。

スタック!

行き当たりばったり知識なしが必ず起こすスタックがここで発生w
Delphiのデータベースコンポーネントに必要事項を入れてテスト接続するも、「connection rejected by remote interface」というエラーメッセージが出てくる。ここからが大変だった。とりあえず、やったことは、

  • Fb用のポート3050を解放してあげる
  • ファイアウォールの確認
  • firebird.confの修正

3050ポートもTCPで使いたいのにTCP6が利用できるようになってて、強制的にIPv6を使えない設定にしてみたり、ファイアウォールも一時的に無効にしてみたり、Firebird.confも色々といじってみたものの、全然つながらなかった。ここで数時間経過。

試しに以前、mousePCにUbuntuとFirebirdを入れてうまく行ってたのを思い出して急遽立ちあげることに。

設定などを確認してたところ、firebird.confの中身が違くて「???」ってなったら、どうやらFirebirdのバージョンが違うから?って思い、Fb4.0をアンインストールを敢行。が、しかし、ネットにはFb3.0か4.0しかなくて悶絶。mousePCに入ってたのはFb2.5。そしてCentOSにも入ってたのもFb2.5。

幸いなことにmousePCにダウンロードしてたFirebird2.5.9のファイルがあったので、それを共有フォルダに入れて何とかサルベージ成功した。そして、そのFb2.5を無事にインストール。

そしたら、あっさりつながってしまった。

crontabの設定

データベースを毎夜中にバックアップを取るべくCrontabにバックアップのコマンドを登録。これは、Windowsで言うところのスケジューラー。スケジュールを立てることで、忘れがちなバックアップを行ってくれる。テスト段階では問題なくバックアップが取れてた。

今はスクリプトを使って、バックアップデータをWindowsのフォルダに飛ばせるよう画策している最中。

今回は、UbuntuのインストールからSambaの設定にFbのインストールからデータのバックアップまでの備忘録