環境や設定が古い情報です。
レガシーシステムの保守の参考用途には使えるかもしれません。
インストール方法
とりあえず、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
このapache
をnginx
に変更します。
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.conf
で listen =/run/php-fpm/www.sock
がちゃんと記述されているか確認してください。
サーバーを公開する前にphpinfo
は削除しておきましょう。
rm -f /usr/share/nginx/html/test.php
これでLEMP環境の構築は以上です。