環境や設定が古い情報です。

レガシーシステムの保守の参考用途には使えるかもしれません。

インストール方法

とりあえず、rootを取ります。(取れない方は管理者アカウントでsudoしてください)

nginxのインストール

dnf install nginx -y

インストール完了後、nginxの起動と自動起動を有効にします。

systemctl start nginx
systemctl enable nginx 

nginxのバージョンは以下のコマンドで調べられます。

nginx -v 

起動した状態で、サーバーのアドレスをブラウザのアドレスバーに入力すると、nginxのテストーページが表示されます。

アクセスできないのだが…

systemctlでの起動は成功するけど、画面が出てこない場合はファイアウォールで妨げられている可能性があります。

firewall-cmd --permanent --zone=public --add-service=http 

今回はhttp(80番ポート)でのアクセスですので上記のコマンドで十分です。

https(443番ポート)でのアクセスを有効にするには以下のコマンドを入力します。

firewall-cmd --permanent --zone=public --add-service=https 

「そもそも、ルーターで必要な分だけポート開放するから、CentOSのファイアウォールなんかいらないぜ!」という方は以下のコマンドでファイアウォールを切ることができます。

systemctl stop firewalld 
systemctl disable firewalld  

このテストサイトは /usr/share/nginx/html というディレクトリにありますがデフォルトでは権限がrootですので、後に403を引き起こす可能性があります。以下のコマンドでディレクトリの権限を変更します。

chown nginx:nginx /usr/share/nginx/html -R 

MariaDBのインストール

yum install mariadb-server mariadb -y 

インストールが完了したら起動・自動起動を有効化します。

systemctl start mariadb
systemctl enable mariadb 

MariaDBの初回セットアップを行います。セキュリティ的に重要ですので、初回起動直後に行いましょう。

mysql_secure_installation 

最初の質問は空白でEnterを押してください。 MySQLのrootパスワードを入力します。再度入力します。 あとはすべてyを選んでいくと、セットアップ完了です。 セットアップが終わったら、実際にログインしてみます。

mysql -u root -p 'パスワード'

先ほど入力したパスワードを入力してください。

ログインが出来たらデータベースの操作ができますが、ここでは解説しません。出ましょう。

exit;

PHP-FPMのインストール

Apacheではphpは簡単に使えますが、nginxでは別モジュールになっています。

以下のコマンドでインストールします。

dnf install php php-mysqlnd php-fpm php-opcache php-gd php-xml php-mbstring -y 

インストール完了後、起動・自動起動を有効にします。

systemctl start php-fpm 
systemctl enable php-fpm  

php-fpmはapacheを想定して設定ファイルが書かれていますので、nginx仕様に変更します。好きなエディタを使ってください。

nano /etc/php-fpm.d/www.conf

エディタの検索機能を使って以下の個所を見つけます。

user = apache
group = apache 

このapachenginxに変更します。

user = nginx
group = nginx

変更が完了したら、保存して、nginxとphp-fpmの再起動を行います。

systemctl restart nginx
systemctl restart php-fpm

ここまで完了したら、PHPのテストを行います。PHPテストページを作成します。

nano /usr/share/nginx/html/test.php

ここに以下のコードを入力して保存します。

<?
php phpinfo();
?>

保存ができたら、先ほどのブラウザのアドレスバーに、

サーバーのIPアドレス/test.php

を入力してPHP Version~というページが見れれば成功です。

PHPファイルのダウンロードが始まってしまう場合は、PHPとnginxが連携できていない可能性が高いです。/etc/php-fpm.d/www.conflisten =/run/php-fpm/www.sock がちゃんと記述されているか確認してください。

サーバーを公開する前にphpinfoは削除しておきましょう。

rm -f /usr/share/nginx/html/test.php 

これでLEMP環境の構築は以上です。