作ったきっかけ
最近プライベートでなにかとgithubで作業することが多くなりました。
codespaceを使っていたのですが、気にしすぎでしょうが無料枠が気になって気になって仕方がないので、自宅に眠ってた自作PC(5年前くらいに5万で作ったもの)にalmaLinux突っ込んで開発環境作っちゃおうと思い立ちました。
3時間くらいでできました(かかりすぎ)のでその構築記録です。(ちょっと抜けてるかも)
なお、当方ChromeBookがメイン機です。
AlmaLinuxのダウンロード
公式サイトよりダウンロードします。
https://almalinux.org/
今回は余計なものは一切不要なので、Minimalを選択。
なお、最初10をダウンロードしましたが、私が持つ古く低スペックなマザーでは対応しきれないみたいだったので9をダウンロードしました。(10が入らないことに苦しんだので2時間)
リカバリメディアの作成
Chrome拡張のリカバリユーティリティを拡張に追加
https://chromewebstore.google.com/detail/chromebook-recovery-utili/pocpnlppkickgojjlmhdmidojbmbodfm?hl=ja&pli=1
追加したら起動し、右上の歯車から「ローカルイメージを使用」を選択してダウンロードしたISOファイルを指定。
作成まで暫く待つ。
インストール
今回はすべてデータ吹っ飛んでも良かったのでバックアップはなし。
BIOSに入り作成したリカバリメディアを指定し起動。
ネットワーク(IP固定)、管理者ユーザーパスワード、利用者ユーザ追加、ソフトウェアは標準と開発を選択。
ディスクはすべて削除してインストールを実行。
数分待つ。
postgresqlのインストール
rootにて
# インストール
dnf install -y postgresql-server postgresql-contrib
# データベースの初期化
postgresql-setup --initdb
# 起動と自動起動設定
systemctl start postgresql
systemctl enable postgresql
pg_hba.confにてホームネットワークから接続可能にする。
peer認証だと色々面倒なので、scram-sha-256かmd5へ。
postgresql.confのlisten_addressを設定。(localhostだけからなら不要だが、ここではホームネットワークのアドレスを追加)
Django関連のインストール
dnf install -y python3 python3-pip
dnf config-manager --set-enabled crb
dnf install -y postgresql1X-devel
ln -s /usr/pgsql-1X/bin/pg_config /usr/bin/pg_config
dnf groupinstall "Development Tools" -y
ls -d /usr/pgsql-1X/include
export PATH=/usr/pgsql-1X/bin:$PATH
export C_INCLUDE_PATH=/usr/pgsql-1X/include:/usr/pgsql-1X/include/server
dnf install -y python3.XX-devel
ChromeBookから接続可能に
sudo firewall-cmd --list-all
sudo firewall-cmd --add-service=postgresql --permanent
sudo firewall-cmd --reload
Linux開発環境の有効化
設定 > 詳細 > デベロッパー > Linux開発環境 を「オン」にします。
VSCodeのインストール
公式サイトから .deb (64-bit) 版をダウンロード。
「ファイル」アプリで右クリック > 「Linuxでインストール」 を実行。
VSCodeにてRemoteSSHの拡張機能を導入
終わりに
あとは好きな環境入れていくだけです。
私はここからGiHubからCloneして開発していました。
久しぶりにインフラっぽいことしたから疲れちゃいましたね。
でも、こうゆうことやってると夢中になっちゃって休みが終わってしまいました。