PHP脆弱性問題について考える

2026年10月21日、PHPの重大な脆弱性が公表されました。

この発表を受け、多くの人が不安を抱き、一部の企業や団体ではWebサイトの一時停止といった対応が取られました。その結果、普段は技術者以外が意識することのない「PHP」という技術そのものが、あたかも危険な存在であるかのように報じられているようにも感じました。

そこで今回は、この出来事をきっかけに、私自身のセキュリティに対する考え方を整理してみたいと思います。

なにが起こったのか

世の中には数多くのプログラミング言語が存在し、今も新しい言語やフレームワークが生まれ続けています。

PHPはその中でも比較的長い歴史を持つ言語であり、多くのWebサイトやサービスで利用されています。

今回問題となった脆弱性は確かに深刻なものでした。しかし、脆弱性の公表そのものはPHPに限った話ではありません。多くのプログラミング言語やフレームワークで、日々脆弱性が発見され、修正されています。

実際、同じ時期にはNode.jsでも複数の脆弱性が報告されていました。しかし、こちらは影響範囲が限定的だったため、大きく報道されることなく、多くの技術者が通常どおり対応していました。

つまり今回特別だったのは「PHPに脆弱性があったこと」ではなく、「影響範囲が広く、多くの人の目に触れたこと」ではないかと思います。

私とPHP

私は特にPHPを好んで使っているわけではありません。

ただ、静的HTMLで作られたページの一部を、データベースなどの動的なデータに置き換える用途では便利な技術です。そのため20年ほど前には、イベント告知サイトなど短期間だけ利用するWebサイトでPHPを使用していました。

その後、自分の備忘録としてブログを作る際に、当時流行していたWordPressも学んでおこうと思い導入しました。

もともとHTMLでサイトを構築することに慣れていたため、WordPressを使わなくてもブログを作ることはできました。しかし、広く利用されている技術を知っておくことも大切だと考えていたためです。

気になったこと

当初は、仮にWordPressが侵害されたとしても、最悪の場合はブログの記事を書き換えられる程度だろうと考えていました。

しかし、サーバーにはメールアカウント管理用のソフトウェアも導入していました。

このソフトウェアについては、アクセス元を踏み台サーバー経由に限定し、利用しない時はポートも閉じていましたので、大きな問題はないと考えていました。

ところが、WordPressとメール管理システムが同じデータベースを利用していたことに気づきました。

もしWordPress側が突破された場合、メール関連の情報にまで影響が及ぶ可能性があります。

本来は別システムとして考えていても、データベースを共有している以上、完全に分離されているとは言えません。

この点は、自分自身にとっても改めて考えさせられる出来事でした。

当日の対応

当日は知人との会食があり、少しお酒を飲んで帰宅しました。

寝る前にニュースサイトを見て今回の問題を知り、そのまま朝まで対応することになりました。

結果的には大きな被害はありませんでしたが、

本当に守るべきものは何か

を改めて考えるきっかけになりました。

セキュリティについて

最近は、大規模なハッキング被害のニュースを頻繁に目にします。

AIと話をしていても、多くの事例は次のような流れをたどっているようです。

侵入
 ↓
権限昇格
 ↓
データベース取得
 ↓
バックアップ取得
 ↓
暗号化

私は30年近くサーバーの保守に携わってきました。

その経験から、

「侵入を完全に防ぐことは不可能である」

と考えています。

だからこそ大切なのは、

  • 攻撃を受けてもサービスを継続できること
  • 攻撃を受けても重要なデータを守れること

だと思っています。

私が理想としているのは、次のような状態です。

侵入
 ↓
Webサーバーのみ
 ↓
重要データへ到達できない
 ↓
再構築で復旧

サーバーそのものを完全に守ろうとするのではなく、重要なデータを守ることに重点を置く考え方です。

フロントエンドとバックエンドの分離

近年はコスト削減のため、Webサーバー、アプリケーションサーバー、データベースサーバーを1台にまとめて運用するケースも増えています。

昔は、

FW
 ↓
Webサーバー
 ↓
APサーバー
 ↓
DBサーバー

という構成が一般的でした。

物理サーバーやラックのコストがかかる時代でしたが、その分、侵害された場合の被害範囲を制御しやすい構成でもありました。

その後クラウドが普及し、仮想サーバー上にそれぞれの役割を分離して構築できるようになりました。

しかし近年はクラウド利用料の高騰もあり、再び複数の役割を1台にまとめる構成が増えているように感じます。

私は可能な限り、フロントエンドとバックエンドを分離したいと考えています。

仮にWebサーバーが侵害されたとしても、データベースへ直接アクセスできない構造にしておけば、被害を限定できます。

また、重要なシステムへアクセスする際は踏み台サーバー経由とし、その踏み台サーバーも必要な時だけ起動する運用を行っています。

完全な防御はできません。

しかし、

「侵入されたときに何を守れるか」

を考えながら設計することで、被害を最小限に抑えることはできます。

おわりに

長年サーバー運用に携わってきた経験から、私は「攻撃を受けないシステム」を目指してはいません。

目指しているのは、

  • 攻撃を受けてもサービスを継続できること
  • 攻撃を受けても重要な情報を守れること
  • 侵害されたサーバーは速やかに再構築できること

です。

脆弱性は今後も発見され続けるでしょう。

PHPでも、Node.jsでも、それ以外のシステムでも同じです。

だからこそ、

サーバーを守るのではなく、データを守る。

私はこれを、これからもセキュリティ設計の基本として考えていきたいと思います。

AIと一緒にメールサーバー移転作業

15年ほど使ってきたメールサーバーを、そろそろ新しい環境へ引っ越そうとしています。

きっかけは、長年使ってきたCentOSのサポートが終了したこと。最近は、大事なメールが相手の迷惑メールフォルダに入ってしまうことも増えてきました。

「これは、そろそろ何とかしないといけないな」と思ったものの、システムを更新しようとしても、リポジトリが消えていてうまく進みません。

そこで、Amazon EC2に新しいメールサーバーを作って、古い環境から引っ越す計画を立てることにしました。

まずはAIに相談してみる

新しいOSには、これまで使ってきたCentOSではなく、Ubuntuを選ぶことにしました。Ubuntuでのサーバー運用は初めてです。

そこで、最近使い始めたAIに、今のサーバーがどんな状態なのかを説明して、移行手順を作ってもらいました。

まずはEC2に仮のインスタンスを作り、その手順に沿って作業開始です。

ところが、いくつかコマンドを実行したところで、いきなりエラーが出ました。

エラーの内容をAIに伝えると、「原因はこれかもしれません」と教えてくれます。言われた方法を試してみると、今度は別のエラーが出る。さらに相談して、また試す……。

そんな感じで、少しずつ作業を進めていきました。

AIに聞けば何でも解決、というわけではない

AIに相談しながら作業をしていると、経験豊富な技術者が隣にいてくれるような感じがします。エラーメッセージを貼り付ければ、原因や確認方法をすぐに返してくれるので、とても助かります。

ただ、AIの答えがいつも正しいとは限りません。

今のサーバーにしかない特殊な設定や、長年の運用で残っている例外的な構成までは、AIも最初から全部わかるわけではありません。UbuntuとCentOSの違いが、手順に十分反映されていないこともあります。

目の前のエラーは解決できても、「このまま本番の移行まで進めて大丈夫かな?」という不安が、だんだん大きくなってきました。

いったんストップして考え直す

そこで、作業をいったん止めることにしました。

最初は、AIに移行手順を作ってもらい、その通りに本番作業を進めればよいと思っていました。でも、実際にやってみると、最初に作った手順書は完成品ではなく、検証を始めるためのたたき台だったようです。

このまま勢いで進めるより、一度計画を見直した方が安全そうです。

本番ではなく、まずは予行演習

そこで、進め方を変えることにしました。

  1. AIに現在の環境をできるだけ詳しく理解してもらう
  2. 本番とは別の仮環境を用意する
  3. AIに移行作業を予行演習してもらう
  4. エラーや足りない手順を洗い出す
  5. 試行錯誤した結果を、手順書にまとめる
  6. できあがった手順書を自分で確認する
  7. 問題がなければ、本番環境で移行する

※これらは私が大手通信会社にてインフラ担当していた頃、複数人のメンバーでクロスチェックしながら本番環境構築前にやっていた手順に基づく手順である。

要するに、AIにいきなり本番作業をしてもらうのではなく、まずは安全な場所で練習してもらう、という作戦です。

仮環境なら、途中で失敗してもやり直せます。どこでつまずいたのか、どうやって解決したのかも記録しておけば、本番作業のときに役立ちます。

今夜は二回目の予行演習

今夜は、これから二回目の予行演習を行います。

一回目で見つかった問題を整理して、手順や前提条件を見直し、もう一度最初から確認していきます。

ただコマンドを最後まで実行できればよい、というわけではありません。

  • 作業前に何を確認しておく必要があるか
  • どこでエラーが起きやすいか
  • エラーが出たら、何を確認すればよいか
  • どんなバックアップを取っておくべきか
  • 作業後にメールの送受信をどう確認するか
  • 迷惑メール対策がきちんと機能しているか

こうしたことを一つずつ確認して、「これなら迷わず作業できそう」と思える手順書にしたいと思っています。

AIと一緒に作業するときに気をつけたいこと

今回の作業を通して、AIを使ってサーバー作業をするときに大事だと思ったことを、いくつかまとめてみます。

いきなり本番で試さない

AIの提案が正しそうに見えても、実際の環境では思わぬ問題が起きます。

特にメールサーバーは、設定を一つ間違えるだけでメールが届かなくなったり、送れなくなったりします。できるだけ本番とは別の検証環境で試した方が安心です。

目の前のエラーだけを直さない

エラーが出ると、ついそのエラーだけを解決したくなります。

でも、そもそもの手順や前提条件に問題があるのかもしれません。エラーをきっかけに、作業全体を見直すことも大事だと感じました。

AIの提案をそのまま実行しない

AIが教えてくれたコマンドは、何を変更するものなのかを確認してから実行するようにしています。

失敗したときに元へ戻せるのか、既存のメールや設定に影響しないのか。そこを自分で理解して、納得してから進めることが大切です。

失敗も記録しておく

試行錯誤やエラーは、できればなかったことにしたくなります。

でも、どこで失敗したのか、どうやって解決したのかを残しておけば、それは本番作業のときの参考資料になります。失敗も含めて、手順書に反映していこうと思います。

まとめ

15年使ってきたメールサーバーの移行は、なかなか大きな作業です。

OSも変わりますし、クラウド上に新しい環境を作る必要もあります。メールの送受信やセキュリティの確認も必要です。

だからこそ、AIに相談しながら進めるだけでなく、AIにもまず予行演習をしてもらうことにしました。

AIは、最初から完璧な答えを出してくれる魔法の道具ではありません。間違えることもありますし、こちらの説明が足りなければ、見当違いの答えが返ってくることもあります。

それでも、エラーの原因を一緒に考えたり、手順を整理したりする相手としては、とても頼りになります。

本番作業を急がず、まずは安全な環境で何度も練習する。そして、自分でも内容を理解して、納得できる手順書を作ってから本番に臨む。

今回のメールサーバー移行は、そんな進め方で、焦らず少しずつ進めていこうと思います。

追記

2回目の予行演習、無事に終わりましたが、まだ、課題が見つかり、1時間30分ほどかかりました。

前回よりは格段にスムーズになってます!

この結果を踏まえAIの方でも、手順書修正をやってくれています。

3回目の予行演習は数日後に予定しており、

なんとか今月中の本番稼働を目指しております。

最後に

余談ですが、わたしはAIとの作業が一通り終わると、

「GOOD!ありがとう」とか

「素晴らしい!助かったよ」とか

最後に伝えるようにしています。

必要ないのかもしれませんが…(笑)

AIも、心なしか、素敵な挨拶を返してくれるような気がします。

Ubuntu 24.04.4 のインストール

1. Ubuntu 24.04.4 のインストール

  1. 空の USB メモリ(8 GB 以上)を用意します。
  2. ブートUSB作成ツール を準備します。
    • 例: balenaEtcher
  3. Ubuntu ディスクイメージをダウンロードします。
    https://releases.ubuntu.com/noble/ubuntu-24.04.4-desktop-amd64.iso
  4. balenaEtcher でイメージを USB メモリに書き込みます。
  5. MacPro をシャットダウンし、Option キー(Alt)を押しながら電源オンします。
  6. ブートセレクタ
    • オレンジのディスクを選択し「Enter」で進めます。

    ブートセレクタ

  7. 言語選択画面
    • この時点で日本語は無いので「English」で進めます

    言語選択画面

  8. アクセシビリティ設定画面
    • よくわからないので…とりあえずそのまま「Next」

    アクセシビリティ設定画面

  9. キーボードレイアウト設定画面
    • 私はUSキーボードなので「English(US)」を選択

    キーボードレイアウト設定画面

  10. インターネット接続画面
    • ブートセレクタでWifi接続していれば、Wifiも選択できたのか?
    • とりあえず有線でつないでいるので、そのまま「Next」

    インターネット接続画面

  11. アップデート画面
    • 「Update Now」ボタンを押すと、Updateが始まり、Updateが終わると勝手に画面が閉じる

    アップデート画面

  12. インストール OR お試し利用画面
    • 「install ubuntu」を選択

    インストール OR お試し利用画面

  13. インストール種別画面
    • 「Interactive installation」を選択

    インストール種別画面

  14. アプリケーション選択画面
    • 「Default selection」を選択

    アプリケーション選択画面

  15. ディスクのセットアップ画面
    • 「Manual installation」を選択

    ディスクのセットアップ画面

  16. マニュアルパーティション設定画面
    • 対象のパーティションを慎重に選び、「Change」をクリックすると次の画面がポップアップ

    マニュアルパーティション設定画面

  17. マニュアル・パーティショニングモーダル
    • Sizeが正しいことを確認して、以下の項目を設定
      • Used as : Ext4
      • Mount point : /
    • そして「OK」

  18. マニュアルパーティション設定画面(戻り)
    • 手動パーティションの画面に戻るので、良く画面を確認して「Next」

    マニュアルパーティション設定画面

  19. アカウント作成画面
    • 管理者アカウントを作成する。
      • Your name : アカウントの説明
      • Your computer’s name : コンピュータ名
      • Your username : ログイン名
      • Password :パスワード
      • Confirm password : パスワード(確認用)
    • そして「Next」

    アカウント作成画面

  20. タイムゾーン選択画面
    • タイムゾーンを選んでねと言ってくるので、「Next」

    タイムゾーン選択画面

  21. インストール準備完了画面
    • 最後に良く確認して「install」

    インストール準備完了画面

    ⚠️ 注意: 「Install」をクリックすると後戻りできません。パーティション設定やアカウント情報に間違いがないか、必ず確認してください。

  22. インストール完了後
    • インストールが完了したら、再起動を促されます。USB メモリを取り外し、再起動してください。

参考: Ubuntu 公式サイト | Ubuntu 24.04 リリースノート

AIサーバー構築

普段使いのノートPCにLM studio入れて使ってましたが…
思考中、めっちゃ重くなるのと…

やっぱり遅い!

と、言う事で、数年前に中古で買ってメイン機として使っていたMacPro Late2013(通称ゴミ箱)Xeon 12core ram:64GB ssd:1TB D700x2
アップルがIntelMacのサポートを打切り、新しいOSが入れられなくなったので
Ubuntuを入れてAIサーバとして利用しようと考えました。

最初はノートPC同様LM studio入れましたが、ubuntuの日本語入力に慣れないので
ollama & Open WebUIの構成で環境構築しノートPCからWeb経由でアクセスする事としたので、その備忘録です。

ちなみに手順もローカルLLMに相談しながらトライ&エラーを繰り返しました。

ローカルLLM作成手順

以下は、Ubuntu 24.04.4 を USB メモリからインストールし、SSH サーバー、Python 環境、Docker、Ollama、Open WebUI のセットアップを行う手順です。

1. Ubuntu 24.04.4 のインストール

  • Ubuntu 24.04.4のインストールに関してはこちらをご覧ください。

2. SSH サーバーのインストール

sudo apt install openssh-server
sudo systemctl status ssh
sudo systemctl enable ssh
sudo systemctl start ssh

ポート 22 の開放

sudo ufw status
sudo ufw allow 22
sudo ufw reload
sudo ufw status
sudo ufw enable

3. 日本語化

sudo apt update
sudo apt install -y language-pack-ja
sudo dpkg-reconfigure locales
# 以下を選択:
#   ja_JP.UTF-8 UTF-8
#   ja_JP.UTF-8

4. Python 環境の構築

python3 --version
pip3 --version
sudo apt install python3-pip
sudo apt install python3.12-venv
python3 -m venv venv
source venv/bin/activate   # (venv) で確認できる
# ディスエクト:
(venv)user@userName:deactivate
sudo apt install python-is-python3
python --version

5. Docker のインストール

sudo apt update
sudo apt install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
    -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

リポジトリの追加

echo \
"deb [arch=$(dpkg --print-architecture) \
signed-by=/etc/apt/keyrings/docker.asc] \
https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo groupadd docker
sudo usermod -aG docker <ユーザー名>
newgrp docker sudo apt install docker-ce docker-ce-cli containerd.io \ docker-buildx-plugin docker-compose-plugin docker --version docker compose version

6. Ollama のインストール

# ダウンロードとインストール
wget https://ollama.ai/install.sh
sh ./install.sh
# 状態確認
sudo systemctl status ollama
# 外部からの接続を確認
sudo ss -napt | grep ollama
LISTEN 0 4096 127.0.0.1:11434 0.0.0.0:* users:(("ollama",pid=5449,fd=3))
# .serviceファイルの修正
sudo systemctl edit ollama.service
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=192.168.*,172.*"
# サービスを再起動して再度確認
sudo systemctl restart ollama.service
sudo ss -napt | grep ollama
LISTEN 0 4096 *:11434 *:* users:(("ollama",pid=5548,fd=3))
# モデルのインストール
ollama pull llama3:8b
# モデルの実行
ollama run llama3:8b
# モデルのアンインストール
ollama rm llama3:8b

確認:

$ ollama -v
$ ollama --version
$ systemctl status ollama.service

7. Open WebUI を Docker コンテナとして実行

docker run -d -p 3000:8080 \
    --add-host=host.docker.internal:host-gateway \
    -v open-webui:/app/backend/data \
    --name open-webui \
    --restart always ghcr.io/open-webui/open-webui:latest

e.g. コンテナに入るには:

docker exec -it <コンテナ名またはID> bash

 

Webサイトの構築 prologue

はじめに

目的

CMSやSNSについての学習の為、WordPressやOpenPNEのカスタマイズや運用の検証と実習を行う事を目的とする。

前提条件

OSはLinuxであれば何でもいいのだが、使い慣れたCentOSと、現在契約中のGMOクラウドPublicのS1パックに、新たに仮想サーバを構築するものとする。

サーバー環境 GMOクラウド提供のPublicクラウドS1パック
OS CentOS 6.2 kvm
クラウドサーバに用意されているテンプレート

考察

目的の為に、必要なアプリケーションについて考える。

Apache2.2

OS標準のバージョンを利用し、問題があれば変更するものとする。

WordPress4.3.1

公式ページ上には「PHP 5.2.4 以上、かつ MySQL 5.0 以上であれば WordPress は動作します」とあるが、いずれもサポートが終了しているバージョンである為、推奨のバージョンで構築する。

推奨動作環境

PHP 5.6以上
MySQL 5.5以上

OpenPNE3.8.17

今回は、WordPressに主眼を置き、WordPressの推奨環境に合わせて構築する。

推奨動作環境

PHP 5.2以上
MySQL 5.1以上

パッケージの決定

考察結果を元に、導入するパッケージを決定する。

Apache2.2

WEBサーバのフロントエンドとして、OS標準のものを利用する。

MySQL5.5

WordPress・OpenPNEのデータ保持の為必須である。

PHP5.6

WWordPress・OpenPNEのスクリプトの実行の為必須である。

php-mysql

PHPからMySQLにアクセスする為のライブラリである。

WordPress4.3.1

現在最新のWordPress本体である。

OpenPNE3.8.17

現在最新のOpenPNE本体である。

Webサイトの構築 Apache2.2
Webサイトの構築 MySQL5.5
Webサイトの構築 PHP5.6
Webサイトの構築 WordPress4.3.1
Webサイトの構築 OpenPNE3.8.17

WEBサーバの構築 Apache+PHP

はじめに

今回はPHPが動作するWEBサーバを構築する。

※セキュリティに関しては後日設定するものとし、最小の手順で構築する。

前提条件

サーバを構築するにあたり前提条件は以下の通り

仮想サーバ

現在利用中のGMOパグリッククラウドに新規に作成

使用OS

CentOS 6.2 x64 kvm

ドメイン

今回は検証用に以下のドメインを、お名前.comで取得。

hoge9.xyz

※DNS登録は、お名前.comのDNSレコード設定で、完了しているものとする。

インストール

以下のモジュールをインストールする。

  • httpd
  • php

※PHPについては、後程インストールするWordPressを考慮し5.6とする。

httpdのインストール

[bash firstline=”1″]
yum -y install httpd
[/bash]

phpのインストール

CentOS6.2に標準装備されるPHPは5.3である、その為まず、5.6のリポジトリを追加する。

[bash firstline=”1″]
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
[/bash]

通常なら、このまま、phpをインストールできるはずなのだが、mirrors.fedoraproject.org に接続する際に、接続エラーが起きる。
原因は、epelリポジトリのミラー「https://mirrors.fedoraproject.org/」のSSL証明書が更新された事にあるらしい。

そこで、まず、以下のコマンドを実行し、NSSをアップデートする。

[bash firstline=”1″]
yum –disablerepo=epel update nss
[/bash]

そして、以下のコマンドで、アップデートする

[bash firstline=”1″]
yum update
[/bash]

ここまでで、問題が出なければ、以下のコマンドで、PHP5.6をインストールする。

[bash firstline=”1″]
yum -y install –enablerepo=remi-php56 php
[/bash]

設定

以下の設定ファイルを編集します。

  • /etc/httpd/conf/httpd.conf
  • /etc/php.ini

httpd.confの編集

276行目付近のServerNameを設定する。

[bash firstline=”276″]
ServerName hoge9.xyz:80
[/bash]

402行目付近のDirectoryIndexにindex.phpを追加する。

[bash firstline=”402″]
DirectoryIndex index.html index.html.var index.php
[/bash]

php.iniの編集

202行目付近のshort_open_tag = Offをコメントアウトする。
※Onにすることにより、PHP短縮タグの利用が可能となる。

[bash firstline=”202″]
; short_open_tag = Off
[/bash]
※デフォルトはOnの為コメントアウトするのみでよい。

起動と動作確認

httpdを起動して、動作確認を行う。

httpdの起動

以下のコマンドでhttpdを起動する。

[bash firstline=”1″]
/etc/init.d/httpd start
[/bash]

ブラウザで以下のURLにアクセスし、動作確認を行う。

http://hoge9.xyz


スクリーンショット 2015-09-27 16.31.46

    

index.html

ドキュメントルート(/var/www/html)に以下の内容で作成する。

[html]
<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>HTMLサンプル</title>
</head>
<body>
<p>HTMLサンプル</p>
<p>Hello World!</p>
</body>
</html>
[/html]

ブラウザで以下のURLにアクセスし、動作確認を行う。

http://hoge9.xyz/index.html


スクリーンショット 2015-09-27 18.04.12

index.php

ドキュメントルート(/var/www/html)に以下の内容で作成する。

[html]
<?php
$myname = "hoge9.xyz";
?>
<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>PHPサンプル</title>
</head>
<body>
<p>PHPサンプル</p>
<p><?php echo ‘Hello, World!’ ?></p>
<p><?= $myname ?></p>
</body>
</html>
[/html]

ブラウザで以下のURLにアクセスし、動作確認を行う。

http://hoge9.xyz/index.php


スクリーンショット 2015-09-27 17.12.33

自動起動の設定

以下のコマンドで、サーバの起動時にhttpdが自動起動するように設定する。

[bash firstline=”1″]
chkconfig httpd on
[/bash]
    

おわりに

ここまでの作業でPHPのスクリプトが動作する環境が完成したが、あくまで最低限、動作するという環境である。

セキュリティや、データベースとの連携等については、別途記述するものとする。

クラウド

3年間使い続けたDualCore Xeonの専用サーバーを解約し、

とうとう、Publicクラウドに乗り換えました。

今まで、お客様の環境で、vCloud Directorは使ったことあったのですが、
今回は、KVMですが、特に問題なく使えています。
※まぁ、リソースの変更の場合再起動が必要ですが…

とりあえず、一通り、サービスのインストール及び設定を終え、
今まで使っていたサービスは、すべて元通り使えるようになりました。
※後日、この過程は、備忘録に記録させて貰う予定です。

リソース変更時の再起動で思い出したのですが…

最近、お客様のPrivateクラウドのブレード構成を変更したのですが、
その際、仮想サーバーはおろか、サービスも停止せずに、
瞬時に交換終了したのには、驚きました。
※SSHでの接続も、切れることはありませんでした。
ほんと、最近の仮想化技術って…

RAID5のディスクの交換でさえ、ハラハラしてしまう私って…(苦笑)