
長年CentOS Stream 9(RHEL系)でサーバーを触ってきた管理人ですが、新サーバーへブログを移転するにあたり、WordPressの構築・管理ツールとして定評のある「WordOps」を導入しようとしたところ、これがRed Hat系(CentOSなど)に非対応で、Debian系/Ubuntuしか使えないことが判明。
背に腹は代えられないということで、今回、涙をのんで初のUbuntuサーバーを構築するに至りました。
結論から言うと、「パッケージ名もサービス名も絶妙に違って、手が勝手に打つコマンドが全滅する」ので、CentOS感覚で操作すると一瞬でエラーの山になります。
今回はその違いを交えながら、CentOS Stream 9ユーザーがUbuntuへ移行した際に最初に食らう「ミドルウェア・パッケージ名の表記揺れ」と対処法についてメモしておきます。
💡 なぜ同じオープンソースなのに名前が違うのか?
CentOS(RHEL系)もUbuntu(Debian系)も、裏で動いているWebサーバー(ApacheやNginx)やデータベース(MariaDB)自体はまったく同じオープンソースソフトウェアです。
しかし、「それを管理するパッケージの命名規則(お作法)」がディストリビューションの文化によって大きく異なります。
- RHEL系(CentOSなど): 伝統的なデーモン名(
httpdなど)や簡潔さを重視する傾向 - Debian系(Ubuntuなど): ソフト名そのものやバージョン指定(
apache2,php8.2など)を名前に含める傾向
この思想の違いを知らないままCentOS時代の癖でコマンドを叩くと、一向にソフトがインストールできなかったり、サービスが起動しなかったりして一瞬で迷子になります。
🔍 主要ミドルウェアの「表記揺れ」対比表
まずは、現場で一番よく使う主要ミドルウェアのコマンドとパッケージ名の違いを一覧にまとめました。
| ソフトウェア | CentOS Stream 9 (RHEL) | Ubuntu (Debian) | 主な違い・注意点 |
|---|---|---|---|
| Webサーバー | httpd | apache2 | サービス名もパッケージ名も完全別名 |
| MariaDB | mariadb / mariadb-server | mariadb-server | Ubuntuでは -server をつけないとクライアントのみになる |
| PHP | php | php または php8.x | Ubuntuはリポジトリ内に複数バージョンが並ぶ |
| Cron | cronie | cron | パッケージ名が微妙に異なる |
| SSH | openssh-server | openssh-server | ここは同じ(サービス名も ssh / sshd 両対応) |
1. Webサーバー:httpd と apache2 の決定的な違い
CentOS(RHEL系)ユーザーが一番最初に「ファッ!?」となるのがApacheです。
CentOS時代、Webサーバーを起動したりインストールしたりするときは迷わずこう打っていました。
# CentOS (RHEL系)
# For CentOS / RHEL-based systems
sudo dnf install httpd
sudo systemctl start httpdしかし、Ubuntuで同じ感覚で sudo apt install httpd と打つと、「Unable to locate package httpd(そんなパッケージありません)」と無慈悲に怒られます。
Ubuntu(Debian系)では、パッケージ名もサービス名も apache2 に統一されています。
# Ubuntu (Debian系)
# For Ubuntu / Debian-based systems
sudo apt install apache2
sudo systemctl start apache2💡 ちなみにNginxは?
幸いにもNginxはCentOSもUbuntuもパッケージ名・サービス名ともに nginx で共通です。ここだけはCentOSユーザーの精神安寧ポイントですね。
2. データベース:-server を付け忘れるトラップ
MariaDB(MySQL)のインストール時にも、地味なトラップが潜んでいます。
CentOS Stream 9では、dnf install mariadb と打てば、大抵の場合はサーバー本体(mariadb-server)まで気を利かせて入れてくれるか、あるいは素直に mariadb-server を指定して入れます。
しかしUbuntuで軽率に以下のように打ってしまうと…
# Ubuntuでやりがちなミス(Common Mistakes When Using Ubuntu)
sudo apt install mariadbなんと「クライアントツール(操作用コマンド)だけ」がインストールされ、データベースサーバー本体が入らないという謎事態に陥ります。
Ubuntuでデータベースサーバーを建てたいときは、必ず -server を明記する必要があります。
# Ubuntuでの正しい指定(The Correct Configuration on Ubuntu)
sudo apt install mariadb-server
sudo systemctl start mariadbちなみにサービス名(systemctl で指定する名前)は、Ubuntuでも mariadb または mysql のどちらでも通るようエイリアス(別名)が貼られていることが多いですが、混乱を防ぐためにも mariadb で統一しておくのが無難です。
3. PHP:バージョン明記文化とモジュールの名前
WordPressを動かす上で欠かせないPHPですが、ここもCentOSとUbuntuで大きく文化が異なります。
CentOS Stream 9の場合、リポジトリ(AppStream)で管理されているデフォルトのPHPを入れるか、Remiリポジトリを追加して dnf install php でサクッと入れるのが一般的でした。
一方、Ubuntuではリポジトリ内に php8.1、php8.2、php8.3 といったバージョン付きのパッケージが最初からずらりと並んでいます。
# パッケージ名を指定せずに入れると、Ubuntuのデフォルトバージョンが入る
sudo apt install php
# 特定のバージョンを指定してインストールする(WordOpsなどを使う場合によく見る)
sudo apt install php8.2 php8.2-fpm php8.2-mysql# Installing without specifying a version will install the default Ubuntu version
sudo apt install php
# Install a specific version (Commonly seen when using tools like WordOps)
sudo apt install php8.2 php8.2-fpm php8.2-mysqlまた、拡張モジュールの名前も微妙に異なります。
- MySQL連携: CentOSは
php-mysqlnd➔ Ubuntuはphp-mysql(またはphp8.x-mysql) - マルチバイト文字列: CentOSは
php-mbstring➔ Ubuntuはphp-mbstring(ここは同じ) - 画像処理: CentOSは
php-gd➔ Ubuntuはphp-gd(ここも同じ)
単体で入れる分には困りませんが、CentOS時代に作った 「PHP環境構築用シェルスクリプト」 などをそのままUbuntuで流用しようとすると、パッケージ名が見つからずにコケまくるので注意が必要です。
4. systemctl で呼ぶときの「エイリアス」に甘えるな
Ubuntuの優しいところ(そして紛らわしいところ)は、一部のサービス名にCentOSっぽい名前の「エイリアス(別名)」が親切に貼られている点です。
例えばSSHのサービス名ですが、本来Ubuntu(Debian系)での正式名称は ssh です。しかし、CentOSユーザーが間違えて sshd と打っても、裏で気を利かせて動いてくれます。
# Ubuntuではどちらを打っても動いてしまう
sudo systemctl status ssh # 正式名称
sudo systemctl status sshd # エイリアス(気を利かせてくれる)# On Ubuntu, both commands work
sudo systemctl status ssh # Formal service name
sudo systemctl status sshd # Alias (handled automatically for convenience)「なんだ、じゃあCentOSと同じ感覚でいいじゃん!」と油断していると、httpd(Apache)のようにエイリアスが一切存在せず「そんなサービスはありません」と拒否されるミドルウェアで一気に叩き落とされます。
Ubuntuに移ったからには、甘えを捨てて「Debian系の正式名称(apache2、ssh 等)」で覚えるのが、後々のシェルスクリプト作成やWordOps運用で迷子にならないコツです。
📝 まとめ:手が勝手に動く「CentOSの癖」をアプデしよう!
今回は、CentOS Stream 9からUbuntuへ移行した管理人が最初に直面した「ミドルウェア・パッケージ名の表記揺れ」について解説しました。
- Apacheは
httpdではなくapache2 - MariaDBは必ず
-serverを明記する - PHPはバージョン指定(
php8.x)の書き方に慣れておく - SSHなどはエイリアスで動いても、正式名称(
ssh)を意識する
長年CentOSを触ってきた身からすると、最初は sudo apt install httpd と打って「あ、違った…」となるのを数回繰り返します(笑)。
しかし、この「名前のルールの違い」さえ頭に入れておけば、パッケージのインストールで躓くことは一気に減ります。
次回は、さらにCentOSユーザーを困惑させる『a2ensiteって何?Ubuntu(Debian系)のWebサーバー設定構造に食らったカルチャーショック』についてメモしていきます。お楽しみに!


コメント