CentOS7でLAMP(さくらVPS)

さくらVPSのCentOS7で以下の様なバージョンのLAMPを構築する手順です。独自ドメインを使いたい場合、仮想マシンのプロビジョニング後、IPアドレスが決定したら、浸透時間を考慮して、ネームサーバー設定かDNSレコード編集を作業の一番最初に行うことを強く推奨します。DNSレコードのTTLについて、作業中は最短の60などに変えておき、作業が終わったら3600などに変えます。尚、今回の環境バージョンは以下の通りです。

  • Apache2.4.6
  • MariaDB10.2.22
  • php7.2.15

アップデート

クラウドやVPSのマシンイメージでCentOS7を選択しプロビジョニング、そしてrootユーザーでssh接続の後、アップデートを実行します。以下、基本的には、rootユーザーで実行しています。

yum -y update

Linuxの一般ユーザー作成

Linuxの一般ユーザーを作り、パスワードを設定し、rootユーザーによるログインを禁止します。※セキュリティ性が必要とされる本番環境では、パスワード認証から鍵認証への変更も行います。後日追記します。

adduser nissy
passwd nissy

一度、ssh接続を終えて、作成した一般ユーザー nissy でssh接続します。

exit
ssh nissy@ホスト名

一般ユーザーnissyでssh接続出来たら、rootユーザーに昇格出来ることを確認します。

su -

rootユーザーに昇格したら、以下のコマンドでsshの設定ファイルのバックアップを行います。

cd /etc/ssh
cp sshd_config sshd_config.bk

sshd_configファイルの編集を行います。行数も表示させます。

//エディタ起動
vi sshd_config
//行数表示(半角英数になっているか?確認してから)
:set number

49行目あたりを以下のようにアンコメントに変えてyesをnoに書き換えます。そしてsshdを再起動してください。

//書き換え
PermitRootLogin no
//再起動
systemctl restart sshd.service

念のために、rootユーザーでssh接続ログイン出来ないことを確認し、新しく作ったユーザーでsshでパスワードログインしてください。

Apacheインストール

以下コマンドです。途中でインストール確認が出てきますが半角英数 y でEnterでそのまま進んでください。

//Apacheインストール(バージョン指定してないので気をつけてください)
yum install httpd
//Apacheバージョン確認
httpd -v

Apacheデーモンのhttpdを起動します。

systemctl start httpd

Firewallでhttpとhttpsの通信を開けます。ファイヤーウォール再起動します。

//http開ける
firewall-cmd --add-service=http --zone=public --permanent
//https開ける
firewall-cmd --add-service=https --zone=public --permanent
//Firewallデーモンのfirewalld再起動
systemctl restart firewalld

httpdの自動起動設定。サーバーが落ちた時や再起動時に自動でapacheが起動するようにします。

systemctl enable httpd

ドキュメントルートの所有者、グループ、パーミッションを変更。ユーザーはapache、グループはnissyとしました。

cd /var/www
chown apache:nissy html
chmod 755 html

php7.2インストール

EPELリポジトリ、remiリポジトリを取得して、php7.2をインストールします。CentOS7が持つデフォルトのphpリポジトリはphp5.4なので他のリポジトリを使ってphp7.2を連れてきます。尚、さくらVPSについては、EPELが既に入っていますのでご注意下さい。

//EPELリポジトリ取得
yum install epel-release
//remiリポジトリ取得
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

php7.2インストール(パッケージは適宜必要なものを入れてください)

yum install --enablerepo=remi,remi-php72 php php-devel php-mbstring php-mysqlnd php-pdo php-gd php-xml php-pecl-zip php-imap

httpd再起動

systemctl restart httpd

php.iniでpost_max_sizeとupload_max_filesizeの上限を引き上げます。※php.iniの場所は、phpinfo();で調べてください。調べ終わったらファイルを削除してください。

//php.ini編集
vi /etc/php.ini
//行数表示
:set number
//検索
/post_max_size
//672行目あたりを以下の様に変更
post_max_size = 128M
//検索
/upload_max_filesize
//825行目あたりを以下のように変更
upload_max_filesize = 128M

httpd再起動

systemctl restart httpd

phpが動いていることを確認

この段階で 、以下の様に /var/www/index.phpを作ってホスト名にリクエストを送り、phpが動いていることを確認してください。ブラウザでIPアドレスとホスト名の両方で確認してもいいです。

vi /var/www/index.php

/var/www/index.phpファイル内にvimで記載。ブラウザでIPアドレスやhostname、初期ドメイン等を叩いて確認してください。終わったらファイルを削除してください。

<?php phpinfo(); 

パーミッション、所有者、グループ設定

chmod 755 /var/www/index.php
chown apache:nissy /var/www/index.php

MariaDB(MySQL)インストール

以下にてMariaDB最新版リポジトリをインストール。CentOS7標準はMariaDB5系となるため気をつけてください。

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

MariaDBリポジトリバージョン指定したい場合

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version=mariadb-10.2

MariaDBインストール

sudo yum install MariaDB-server MariaDB-client

MariaDBの自動起動設定と起動を行う

//自動起動設定
systemctl enable mariadb
//起動
systemctl start mariadb

MariaDB(MySQL)初期設定。コマンド実施後、画面指示にしたがってすすめてください。

mysql_secure_installation

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください