こんにちは、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
-
技術情報(594)
-
イベント(237)
-
カルチャー(60)
-
デザイン(70)
TAG
- 5G
- AI
- AI TALK
- AI 機械学習強化学習
- AI/機械学習
- AIエージェント
- AIコーディング
- AI人財
- AI駆動
- Behind the Scenes
- BIT VALLEY
- blockchain
- ChatGPT
- ChatGPT Team
- Claude Team
- cloudflare
- cloudnative
- CNDO
- CNDT
- CODE BLUE
- ConoHa
- ConoHa VPS
- CSS
- CTF
- Designship
- developer
- DevRel
- DevSecOpsThon
- Docker
- DTF
- 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デジキッズ
- GMOブランドセキュリティ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOメディア
- GMO大会議
- GMO天秤AI
- Go
- Good Morning
- GPUクラウド
- GTB
- Hack-1グランプリ
- iOS
- IoT
- ISUCON
- Japan Drone
- JapanDrone
- Java
- JJUG
- K8s
- Kaigi on Rails
- Kids VALLEY
- LLM
- MCP
- MetaMask
- MySQL
- NFT
- OpenStack
- Perl
- PHP
- PHPcon
- PHPerKaigi
- Python
- RPA
- Ruby
- SECCON
- Selenium
- Spectrum Tokyo Meetup
- splunk
- SRE
- Takumi byGMO
- Terraform
- TypeScript
- UI/UX
- vibe
- VPN
- VS Code
- XSS
- ZTNA
- アドベントカレンダー
- インターンシップ
- インハウス
- お名前.com
- クリエイターインタビュー
- クリエイティブ
- コンテナ
- サイバーセキュリティ
- サマーインターン
- スクラム
- スペシャリスト
- セキュリティ
- ソフトウェアサプライチェーン
- チームビルディング
- デザイン
- ネットのセキュリティもGMO
- ハーネスエンジニアリング
- バックエンド
- ヒューマノイド
- ヒューマノイドロボット
- プログラミング教育
- ブロックチェーン
- フロントエンド
- ゆめみらいワーク
- リモートワーク
- レンタルサーバー
- ロボット
- 京大ミートアップ
- 国際ロボット展
- 基礎
- 多拠点開発
- 宮崎オフィス
- 応用
- 技育プロジェクト
- 技術広報
- 技術書典
- 新卒
- 新卒研修
- 映像
- 映像クリエイター
- 暗号
- 業務効率化
- 機械学習
- 決済
- 生成AI
- 脆弱性診断
- 開発者
PICKUP
-
デザインカンファレンス「Yoitoi Summit 2026」をGMOYours・フクラスにて開催!
デザイン
-
攻撃者優位の時代に問われる「使命感」 GMO Flatt Security&GMOサイバーセキュリティ byイエラエが描く、AI時代のセキュリティ構想(後編)ーEngineering Journey
技術情報
-
頂上と裾野の両方から「底上げ」 GMO Flatt Security&GMO サイバーセキュリティ byイエラエが支える、日本のサイバーセキュリティ(前編)ーEngineering Journey
技術情報
-
【開催レポート】八幡小学校 社会科見学 at GMO kitaQ
カルチャー
-
デザインコンテスト「GMO DESIGN AWARD 2026」開催決定!3年目のテーマは「トキメキ」
デザイン
-
ソフトウェアサプライチェーン攻撃から「エンジニアの背中」を守る。Takumi byGMO・「Guard」機能「Runner」機能 開発の舞台裏ーEngineering Journey
技術情報