2025年5月、AlmaLinuxの最新メジャーバージョンである10.0が正式にリリースされました。
AlmaLinuxはRed Hat Enterprise Linux(RHEL)互換のクローンOSとして、企業システムやサーバー用途で安定性と長期サポートを重視する現場で広く活用されています。
今回は、このAlmaLinux 10.0をベースに、Linux・Apache・MySQL(MariaDB)・PHPで構成されるLAMP環境を構築する手順についてご紹介します。
なお、前バージョンのAlmaLinux 9と比較して、LAMP環境構築における手順や操作に大きな違いはありません。
したがって、すでにAlmaLinux 9でLAMP環境を構築された経験がある方であれば、ほぼ同様の感覚で進めていただけるかと思います。
ただし、パッケージのバージョンやセキュリティ周りの設定が微細に異なることがありますので、細部の確認は欠かさないようご注意ください。
目次
事前準備:OSのインストールと初期設定
まず、AlmaLinux 10.0のサーバーを準備します。公式ウェブサイトからISOファイルをダウンロードし、仮想マシンまたは物理マシンにインストールしてください。
インストール時の設定では、最低限必要なパッケージを選択しておけば十分です。
OSのインストールが完了したら、続いてサーバーの初期設定を行いますが、セキュリティの観点からまず最初に行うべきはSSH接続の強化です。
パスワード認証を無効化し、鍵認証のみにすることを強く推奨します。
以下、その手順を記載いたします。
まず、クライアントPCでSSH鍵ペアを作成します。以下のコマンドを実行してください。
ssh-keygen -t ed25519
Windows PCであればコマンドプロンプトでも可能です。
C:\Users\(username)>ssh-keygen -t ed25519
作成された~/.ssh/id_ed25519.pubの中身を、対象サーバーのユーザー(たとえばrootやwebadminなど)の~/.ssh/authorized_keysに追記します。
ディレクトリとファイルのパーミッションはそれぞれ700と600に設定してください。
続いてサーバー側の設定ファイル/etc/ssh/sshd_configを編集し、以下のように変更します。
PasswordAuthentication no
PermitRootLogin prohibit-password
設定を反映させるために、SSHサービスを再起動します。
1 |
# systemctl restart sshd |
この時点でパスワードによるログインは無効化され、SSH公開鍵を所持する端末からのみアクセスが可能となります。
再起動前に別セッションを開いてテストすることで、設定ミスによるロックアウトを防ぐことができます。
※ログイン時に必要な秘密鍵は ~/.ssh/id_ed25519 となります。
その他のインストール後の初期設定としては、パッケージの最新化(dnf -y update)やタイムゾーンの設定、不要サービスの停止などが推奨されますが、環境により異なるため割愛いたします。
Apache HTTP Serverの導入
次に、WebサーバーであるApacheをインストールします。AlmaLinux 10では引き続きdnfコマンドを使用してパッケージ管理を行います。
1 |
# dnf install -y httpd |
インストール後、Apacheを起動し、自動起動設定を有効化します。
1 2 |
# systemctl start httpd # systemctl enable httpd |
初期状態ではファイアウォールが有効になっているため、HTTPおよびHTTPSポート(80番と443番)を開放します。
1 2 3 |
# firewall-cmd --permanent --add-service=http # firewall-cmd --permanent --add-service=https # firewall-cmd --reload |
Webブラウザでhttp://[サーバーのIPアドレス]/にアクセスし、Apacheのテストページが表示されれば正常に動作しています。
MariaDBのインストールと初期設定
次に、MySQL互換のデータベースエンジンであるMariaDBをインストールします。
1 |
# dnf install -y mariadb-server |
インストール後、サービスを起動し、自動起動を設定します。
1 2 |
# systemctl start mariadb # systemctl enable mariadb |
初期設定ウィザードを実行し、rootパスワードの設定や匿名ユーザーの削除を行います。
1 |
# mariadb-secure-installation |
このプロンプトでは、すべての質問に対してセキュリティ強化を意識した選択肢を選ぶことが推奨されます。
PHPの導入とApache連携
続いて、動的なWebコンテンツに必要となるPHPの導入を行います。
サードパーティリポジトリの追加
EPEL
1 |
# dnf install -y epel-release |
Remi
1 |
# dnf install -y https://rpms.remirepo.net/enterprise/remi-release-10.rpm |
Remi リポジトリから PHP8.4 がインストールされるように php:remi-8.4 モジュールをインストールします。
1 2 |
# dnf module reset php # dnf module install php:remi-8.4 php-mysqlnd |
【補足】
Remi リポジトリからは PHP8.4 以外に 以下のバージョンの PHPモジュールをインストールすることができます。
1 2 3 4 5 6 7 8 9 10 11 |
# dnf module list php Remi's Modular repository for Enterprise Linux 10 - x86_64 80 kB/s | 223 kB 00:02 Safe Remi's RPM repository for Enterprise Linux 10 - x86_64 154 kB/s | 401 kB 00:02 Remi's Modular repository for Enterprise Linux 10 - x86_64 Name Stream Profiles Summary php remi-7.4 common [d], devel, minimal PHP scripting language php remi-8.0 common [d], devel, minimal PHP scripting language php remi-8.1 common [d], devel, minimal PHP scripting language php remi-8.2 common [d], devel, minimal PHP scripting language php remi-8.3 common [d], devel, minimal PHP scripting language php remi-8.4 common [d], devel, minimal PHP scripting language |
1 |
# dnf install php-mysqlnd |
必要に応じて、php-gdやphp-mbstring、php-xmlなどのモジュールも追加でインストールします。インストール完了後、Apacheを再起動することでPHP連携が有効になります。
1 |
# systemctl restart httpd |
動作確認として、/var/www/html/info.phpというファイルを作成し、以下の内容を記述します。
1 2 3 |
# vi /var/www/html/info.php <?php phpinfo(); ?> |
Webブラウザでhttp://[サーバーのIPアドレス]/info.phpにアクセスし、PHP情報が表示されれば正常に設定されています。
おまけ AlmaLinux 9 と AlmaLinux 10 の比較表
項目 | AlmaLinux 9 | AlmaLinux 10 |
---|---|---|
ベースOS | RHEL 9 | RHEL 10 |
初回リリース日 | 2022年5月 | 2025年5月 |
カーネルバージョン | 5.14.x | 6.12.x |
glibcバージョン | glibc 2.34 | glibc 2.39 |
デフォルトファイルシステム | XFS、ext4 | XFS(強化版)、btrfsの改善 |
デフォルトのPython | Python 3.9 | Python 3.12 |
セキュリティ機能 | SELinux、SCAP、OpenSSL 3 | SELinux強化版、OpenSSL 3.2、Rustサポート |
パッケージ管理 | DNF(RPM) | DNF(RPM) |
システム管理ツール | Cockpit、systemd、firewalld | CockpitのUI改善、systemd更新 |
仮想化/コンテナ対応 | podman、libvirt、KVM | podman 5.x、KVMのパフォーマンス改善 |
長期サポート(EOL) | 2032年5月31日 | 2035年5月31日 |
主な変更点 | RHEL8からの進化版 | RHEL10ベースの最新技術取り込み |
互換性の方針 | RHEL9との完全互換性 | RHEL10との完全互換性 |
システム要件 | 最低2GB RAM、20GBストレージ推奨 | 最低2GB RAM、20GBストレージ推奨 |
まとめ
AlmaLinux 10.0におけるLAMP環境の構築は、基本的にはAlmaLinux 9と大きく変わりません。
とはいえ、各コンポーネントのバージョンアップに伴う微細な仕様変更やセキュリティ設定の更新に目を光らせることが重要です。
構築のしやすさと運用のしやすさを両立させるには、最新情報を取り入れつつも、これまでの安定運用ノウハウをうまく融合させる柔軟性が求められます。
セキュリティエンジニアであれば、ただ環境を動かすだけでなく、堅牢に運用することが最も重要な責務です。
今回ご紹介したSSH鍵認証の徹底をはじめ、ファイアウォールやログ監視などを活用し、安全かつ安定したサーバー運用を心がけていただければと思います。