こんにちは、GMOインターネットグループ株式会社の斉藤です。
この記事はConoHa Advent Calendar 2022の13日目の記事です
12日目は@narikakunさんのConoHa VPSを使ってツイキャスの配信が始まったら通知するプログラムを動かすでした。
目次
VPSのセットアップ
今回は基本に立ち返って(?)、VPSの初期設定のお話しです。
ちょっとしたプログラムのテストや何か新しいソフトウェアを動かしてみたりするときに、ConoHa VPSはとても便利です。仮想サーバーがすぐに立ち上がりますし、1時間単位で課金されるのでコストも最小限になります。
私も日頃から何かのテストや動作検証などなどで、とっても便利に利用しています。最近はコンテナを使うことが増えていますが、それでもOSやその下のネットワーキングなど低いレイヤーをテストする場合は仮想サーバーが便利なこともまだまだ多くあります。
新しくサーバーを立てると、もちろんそのサーバーはすっぴん状態です。自分が普段日常的に使うツールなどは入っていませんし、シェルの設定なども初期状態です。これは使いにくい! 検証目的とは言え自分好みのサーバーの環境を使いたいものです。
ConoHaであればVPSを「イメージ保存」で保存して、次回からそのイメージからサーバーを立ち上げることができます。なので初期セットアップを済ませた状態のVPSをイメージ保存すると言う方法が一つ賢い使い方です。
一方で自分好みのサーバーの初期設定をスクリプトなどにしておくととても便利です。イメージ保存を使うと保存した時点でのソフトウェアで固定されますが、スクリプトにしておくと毎回セットアップ時に最新のバージョンのソフトウェアとを使うことができます。
それにOSのメジャーバージョンアップなどがあった場合でも、スクリプトの大部分を使い回せることが多いですしね。
と言うわけで、私が普段Ubuntuで使っている初期セットアップスクリプトをご紹介したいと思います。ConoHaは以前からサーバーの勉強をしている方の利用が多いですし、コメントで解説を入れてありますので参考にしてみてください。
スクリプト
以下のようなスクリプトをgistに保存しています。一部、対話的なコマンド(update-alternativesやvisudo)があるのでスクリプトを流して終わりというわけには行きません。ただ数回のコピー/ペーストで終わるのでこれで十分だと思っています。
もちろんこれは最小限なので、用途に応じて追加でいろいろインストールしたり設定を変えたりと言うことを行います。
# apt関連
# インストールしているソフトウェアのコメントを付けておきます
#
# fish: fishシェルを常用しているので必須です
# vim-nox: -noxを付けるとX Window System関連の依存が入らなくなるので便利です
# findutils: 古いですがfindとかxargsとかまだ使うので
# lv: lvはlessよりタイプ数が少ないのが良いです
# install-info: infoもたまに見ます
# aptitude: 極まれにaptでインストールできないものを入れるのに使います
# dnsutils: dig用
# jq: 良い代替ツールないですかね
# mosh: ターミナルマルチプレクサはサーバー屋さん必須ツールです
# build-essential: ビルドに必須
# automake: ビルドに必須
# grc: いろいろなコマンドの出力に色づけしてくれます https://github.com/garabik/grc
#
apt update && apt -y install \
fish \
vim-nox \
git \
gh \
findutils \
language-pack-ja \
wget \
curl \
tmux \
lv \
install-info \
aptitude \
dnsutils \
jq \
mosh \
build-essential \
automake \
zip \
grc
# タイムゾーンを日本に
sudo timedatectl set-timezone Asia/Tokyo
# Ubuntuはデフォルトでnanoを使うのでvim-basicに変更
update-alternatives --config editor
# Docker(CE)のインストール
# オフィシャルリポジトリからインストールすると最新版が使えます
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
# ローカルユーザーを作成します。私は"hiro"をずっと使っています。
# UIDを固定していますがこれは昔からの名残で今は必要ないでしょう
useradd -u 5010 -s /usr/bin/fish -m -d /home/hiro hiro
# dockerとsudoグループに追加
usermod -a -G docker,sudo hiro
# sudoの設定を変更します。
visudo
# ローカルユーザーの設定を行います
su -l hiro -c /bin/bash
# 設定ファイルはgitにしておくとcloneするだけなので楽です
git clone https://github.com/hironobu-s/dotfiles ~/dotfiles
ln -s ~/dotfiles/fish ~/.config
# sshの設定
mkdir -m 0700 ~/.ssh
# 公開鍵はgithubから取ると便利です
curl https://github.com/hironobu-s.keys > ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
# ローカルユーザーで使う実行ファイルはここに格納します
mkdir -p ~/local/bin終わりに
今年も無事ConoHa Advent Calendarに参加できました。個人的にはこれを書くと年末という感じがしますね。去年は「diskspdでいろいろなVPSのストレージベンチマークを取ってみる」という記事でした。お時間のある方は読んでみてください。
それでは皆様、どうぞよいお年をお迎えください。
ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
-
技術情報(607)
-
イベント(242)
-
カルチャー(61)
-
デザイン(77)
TAG
- 5G
- Active Directory
- AI
- AI TALK
- AI 機械学習強化学習
- AI/機械学習
- AIO
- AIエージェント
- AIコーディング
- AIコーディングエージェント
- AIセキュリティ
- AI人財
- AI教育
- AI活用
- AI研究
- AI駆動
- Behind the Scenes
- BIT VALLEY
- blockchain
- ChatGPT
- ChatGPT Team
- Claude Code
- Claude Team
- cloudflare
- cloudnative
- CNDO
- CNDT
- CODE BLUE
- ConoHa
- ConoHa VPS
- ConoHa VPS MCP
- CSS
- CTF
- DEF CON
- DEF CON 34
- Designship
- developer
- DevRel
- DevSecOpsThon
- Docker
- DTF
- EDR
- Engineering Journey
- expert
- EXPERT CROSS
- GMO AI&ロボティクス商事
- GMO AIR
- GMO DESIGN AWARD
- GMO Developers Day
- GMO Developers Night
- GMO Flatt Security
- GMO GPUクラウド
- GMO Hacking Night
- GMO kitaQ
- GMO SONIC
- GMOアドパートナーズ
- GMOアドマーケティング
- GMOインターネット
- GMOインターネットグループ
- GMOインターネットグループ陸上部
- GMOグローバルサイン
- GMOコネクト
- GMOサイバーセキュリティ byイエラエ
- GMOサイバーセキュリティbyイエラエ
- GMOデジキッズ
- GMOヒューマノイド・ラボ
- GMOブランドセキュリティ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOメイクショップ
- GMOメディア
- GMOロボッツ
- GMO大会議
- GMO天秤AI
- Go
- GPUクラウド
- GTB
- Hack-1グランプリ
- IETF
- iOS
- IoT
- ISUCON
- Japan Drone
- JapanDrone
- Java
- JJUG
- JSAI2026
- K8s
- Kaigi on Rails
- Kerberos
- Kids VALLEY
- LLM
- LLMO
- MCP
- MetaMask
- MySQL
- NFT
- OpenStack
- OSS
- Perl
- PHP
- PHPcon
- PHPerKaigi
- Python
- QUIC
- RFC
- RPA
- Ruby
- SECCON
- Selenium
- Spectrum Tokyo Meetup
- splunk
- SRE
- Takumi byGMO
- Terraform
- TypeScript
- UI/UX
- vibe
- VLA
- VPN
- VPS
- VS Code
- WebRTC
- Webアプリケーション開発
- XR
- XSS
- Yoitoi Summit
- ZTNA
- アウトプット
- アドベントカレンダー
- イベントレポート
- インターンシップ
- インハウス
- インフラ
- エキスパート制度
- エンジニア採用
- エンジニア文化
- お名前.com
- クラウド
- クリエイターインタビュー
- クリエイティブ
- コンテナ
- コンピュータビジョン
- サイバーセキュリティ
- サマーインターン
- スクラム
- スパム対策
- スペシャリスト
- セキュリティ
- セキュリティカンファレンス
- セキュリティ人材
- センシング
- ソフトウェアサプライチェーン
- ソフトウェア開発
- チームビルディング
- データサイエンティスト
- デザイン
- ネットのセキュリティもGMO
- ハーネスエンジニアリング
- バイブコーディング
- バックエンド
- ヒューマノイド
- ヒューマノイドロボット
- フィジカルAI
- フルスタック開発
- プログラミング教育
- ブロックチェーン
- フロントエンド
- プロンプトインジェクション
- ペアリング暗号
- ペネトレーションテスト
- ホワイトハッカー
- ゆめみらいワーク
- リモートワーク
- レッドチーム
- レンタルサーバー
- ロボット
- ロボット導入
- ロボティクス
- 世界モデル
- 京大ミートアップ
- 京都大学
- 京都未踏
- 人型ロボット
- 人工知能
- 人工知能学会
- 光学
- 国際ロボット展
- 国際標準化
- 基礎
- 多拠点開発
- 大阪公立大学
- 宇宙セキュリティ
- 宮崎オフィス
- 強化学習
- 応用
- 技育プロジェクト
- 技術イベント
- 技術ブログ
- 技術同人誌
- 技術広報
- 技術書典
- 拡張知能
- 新卒
- 新卒研修
- 新規サービス開発
- 映像
- 映像クリエイター
- 暗号
- 未踏
- 業務効率化
- 機械学習
- 次世代育成
- 決済
- 生成AI
- 産学連携
- 研究開発
- 社会実装
- 社内コミュニティ
- 組織横断
- 耐量子暗号
- 脆弱性診断
- 若手人材育成
- 通信技術
- 開発組織
- 開発者
PICKUP
-
【第4回・AI TALK】GMOインターネットグループ・石丸智輝さんに聞く、AI時代に「人が書く意味」
技術情報
-
近畿圏の若手14名、半年の開発の起点に。「京都未踏」ブースト会議レポート
イベント
-
【第3回・AI TALK】GMOインターネットグループ・真次さんに聞く、ヒューマノイドの現在地と研究者としての挑戦
技術情報
-
【DEF CON 34 参加レポート】GMOインターネットグループが挑む、世界最高峰セキュリティカンファレンスの最前線
イベント
-
【Expert Cross #4・後編】「場づくり」を通じて新しい概念を組織に浸透。横のつながりと共に広がった「エキスパートとしての視野」
技術情報
-
【Expert Cross #4・前編】技術同人誌からアドベントカレンダーまで。「場づくりの名手」が促進する技術文化
技術情報