インフラ・運用 2026.01.12

Ubuntu Linux入門 - 開発環境から本番運用まで完全ガイド

約14分で読めます

Webサービス運用で必須のUbuntu Linux。神奈川の制作会社が20年の経験から、導入から運用まで失敗しないポイントを徹底解説します。

Web制作でLinux環境を避けて通れなくなった理由

「サーバー管理は業者に任せているから大丈夫」「Windowsで十分開発できている」そんな風に考えていませんか?しかし、クライアントからこんな要望が増えています:

  • 「サーバー費用を抑えたい」
  • 「表示速度をもっと上げたい」
  • 「セキュリティを強化したい」
  • 「開発とテスト環境を同じにしたい」

これらすべてに共通するのが、Linux環境の理解と活用です。特にUbuntu Linuxは、その使いやすさから世界中で最も利用されているディストリビューションとなっています。

弊社でも過去3年間で、クライアントの8割以上がUbuntu環境での運用に移行されました。その結果、サーバー費用は平均30%削減、表示速度は40%向上という成果を上げています。

なぜUbuntuが選ばれるのか - 他のLinuxとの決定的な違い

「Linuxって難しそう」という印象を持たれがちですが、Ubuntuが世界一人気な理由には明確な背景があります。

企業での採用実績が圧倒的

あるクライアント(製造業のWebシステム開発)では、当初CentOSでの構築を検討していました。しかし、以下の理由でUbuntuに変更することになりました:

  • パッケージ管理の簡単さ: aptコマンドの直感的な操作
  • 豊富なドキュメント: 日本語情報も充実
  • 長期サポート (LTS): 5年間の安定運用が保証
  • セキュリティアップデート: 自動更新の仕組みが優秀

結果として、サーバー管理にかかる時間が月20時間から5時間に短縮され、担当者の方は「こんなに楽になるとは思わなかった」と驚かれていました。

開発環境統一のメリット

Web制作会社として実感するのは、開発からテスト、本番まで同じUbuntu環境で統一できることの価値です。「ローカルでは動くのに本番で動かない」という問題が激減しました。

2021年以前
環境差異トラブル
月平均8件のデプロイ問題
2022年
Ubuntu統一開始
段階的に環境を統一
2023年
完全統一達成
トラブル月平均1件に激減
2024年現在
安定運用
ほぼゼロトラブルで運用中

Ubuntu導入の具体的手順と実装方法

1. 環境選択と初期セットアップ

まず最重要なのが、適切なUbuntuバージョンの選択です。弊社では以下の基準で選定しています:

Ubuntu Desktop 22.04 LTS

# 開発に必要なパッケージをまとめてインストール
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget git vim build-essential
sudo apt install -y software-properties-common apt-transport-https

2. Web開発環境の構築

LaravelやWordPressの開発では、以下の構成で環境を整備します:

# PHP 8.2とNginxのインストール
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install -y php8.2-fpm php8.2-mysql php8.2-xml php8.2-curl
sudo apt install -y nginx mysql-server

# Composer(PHP依存関係管理)
cd ~
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

# Node.js(Next.js開発用)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs

3. セキュリティ設定の実装

クライアントサイトで実際に適用している設定例です:

# ファイアウォール設定
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 'Nginx Full'

# 自動セキュリティアップデート
sudo apt install -y unattended-upgrades
echo 'APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";' | sudo tee /etc/apt/apt.conf.d/20auto-upgrades

# SSH強化設定
sudo sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart ssh

4. パフォーマンス最適化

実際のプロジェクトで効果が実証された設定をご紹介します:

# Nginx設定最適化(/etc/nginx/nginx.conf)
worker_processes auto;
worker_connections 1024;

# PHP-FPM設定最適化
sudo sed -i 's/pm.max_children = 5/pm.max_children = 20/' /etc/php/8.2/fpm/pool.d/www.conf
sudo sed -i 's/pm.max_requests = 500/pm.max_requests = 1000/' /etc/php/8.2/fpm/pool.d/www.conf

# MySQL設定最適化
echo '[mysqld]
innodb_buffer_pool_size = 1G
max_connections = 200' | sudo tee -a /etc/mysql/mysql.conf.d/mysqld.cnf

実際に起きたトラブルと対処法

失敗パターン1: 権限設定のミス

症状: Webサイトで「Permission denied」エラーが頻発

原因: Apache/Nginxの実行ユーザーとファイル所有者が不一致

# よくある間違った対処
sudo chmod -R 777 /var/www/html  # これは危険!

# 正しい対処法
sudo chown -R www-data:www-data /var/www/html
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;

失敗パターン2: メモリ不足によるサービス停止

症状: MySQLやPHP-FPMが突然停止する

対処法: スワップ設定とプロセス監視の実装

# スワップファイル作成
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# 永続化
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

# プロセス監視設定(monit)
sudo apt install -y monit

失敗パターン3: アップデート時のサービス停止

症状: セキュリティアップデート後にWebサイトが表示されない

原因: PHP/Nginxの設定ファイルが初期化された

対策: 設定ファイルのバックアップ自動化

#!/bin/bash
# 設定バックアップスクリプト
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/root/config_backup/$DATE"

mkdir -p $BACKUP_DIR
cp -r /etc/nginx $BACKUP_DIR/
cp -r /etc/php $BACKUP_DIR/
cp -r /etc/mysql $BACKUP_DIR/

# crontabで定期実行
# 0 3 * * * /root/backup_config.sh

運用開始後の継続的改善ポイント

モニタリングの自動化

# システム状態監視
sudo apt install -y htop iotop nethogs

# ログ監視設定
sudo apt install -y logwatch
echo 'Detail = Low
MailTo = [email protected]
Service = All' | sudo tee /usr/share/logwatch/default.conf/logwatch.conf

バックアップ戦略

クライアントの重要度に応じて、以下の3段階でバックアップ体制を構築しています:

項目BasicStandardPremium
頻度週1回日1回リアルタイム
保存期間1ヶ月3ヶ月1年
復旧時間4-6時間1-2時間30分以内
費用

パフォーマンス継続監視

# Webサーバー応答時間監視
curl -o /dev/null -s -w "%{time_total}\n" https://example.com

# データベース性能監視
mysql -e "SHOW PROCESSLIST;" | wc -l

# ディスク使用量アラート
df -h | awk '$5 > 80 {print $0}'

解決できない場合は

エラーが解決しない場合、無料でご相談ください

詳しく見る

まとめ:Ubuntu導入で得られる具体的成果

Ubuntu Linuxの導入は、単なる技術的な選択ではありません。事業の成長を支える重要な基盤整備です。

弊社の実績では、Ubuntu導入により以下の成果を実現できています:

  • コスト削減: サーバー費用30%減、管理工数70%減
  • パフォーマンス向上: 表示速度40%向上、同時接続数3倍増
  • 安定性向上: 障害発生率80%減、復旧時間50%短縮
  • 開発効率向上: デプロイ時間90%短縮、バグ発生率60%減

重要なのは、一度に完璧を目指さず、段階的に改善していくことです。まずは開発環境でUbuntuに慣れ親しみ、徐々に本番環境への適用を進めていきましょう。

Ubuntu環境の構築や運用でお困りの際は、ぜひご相談ください。20年の制作経験を活かし、お客様の事業成長を技術面からサポートいたします。

この記事をシェア

この記事の内容でお困りですか?

無料でご相談いただけます

Webサイトの改善、システム開発、AI導入など、 お気軽にご相談ください。初回相談は無料です。

無料相談してみる
AIに無料相談