LoginSignup
11
10

More than 5 years have passed since last update.

【初心者の方向け】さくらのクラウドでLAMP(CentOS7.x + Apache2.4 + MariaDB10.x + PHP7.x)環境構築から基本設定までの手順 PART2 (コマンド操作編)

Last updated at Posted at 2018-07-19

概要

「さくらのクラウドでLAMP環境を構築したい」「インフラ初心者」「初心者でないが苦手なほう...」という方向けに簡単な手順書を作成してみました。
初心者の方向けなので、インフラ構成はシンプルなものにしています。
手順に従って作業していけばLAMP環境ができると思うので、ハンズオン的に使っていただければ幸いです。
※全ての動作を保証するものではないため、その点ご了承ください。
※さくらのクラウドのOS仕様などで、「設定すべきものが既に設定されている」ものについては割愛します。
※詳細なセキュリティ設定などは割愛しています。本番環境を構築される際は、運用する環境や搭載するシステムの仕様にあわせて追加設定が必要な場合があります。

手順書のボリュームがあるため、
PART1:さくらのクラウド操作編(https://qiita.com/happy41111/items/394a17536a45a2226f4a)
PART2:コマンド操作編 ※本記事
の2本立てとしています。

構築する環境

WEBサーバ:2GB/2仮想コア
ディスク:20GB SSDプラン
OS:CentOS7.5 64bit
WEB:Apache2.4
DB:MariaDB10.2 10GBプラン ※さくらのクラウドのデータベースアプライアンスを利用。
その他:PHP7.1

構成図:
pic1.png

全体手順 ※PART2では2以降の手順を記載。「1.さくらのクラウド」はPART1に記載。

1.さくらのクラウド
    ① WEBサーバを作成
    ② ローカルスイッチを作成
    ③ DBサーバを作成
    ④ WEBサーバとローカルスイッチの接続(NIC追加)
    ⑤ 接続確認
2.CentOSのセットアップ
3.Apacheのセットアップ
4.PHPのセットアップ
5.WEBサーバからDBサーバに接続できるよう設定

2.CentOSのセットアップ

以降はコマンド実行系の作業が中心になってきます。
まずはターミナル、コマンドライン、コマンドプロンプトなどを立ち上げる。

WEBサーバにSSH接続する。「xxx.xxx.xxx.xxx」の箇所にはWEBサーバのグローバルIPアドレスを入力する。

ssh root@xxx.xxx.xxx.xxx
root@xxx.xxx.xxx.xxx's password: 

※入力するIPアドレスは以下の赤枠に記載されているものを利用する。このIPアドレスはグローバルIPアドレスと呼び、基本的にインターネット上からアクセスが可能。
pic53.png

開発用ユーザを作成

ユーザを作成し、パスワードを設定。

# useradd userA
# passwd userA
New password:xxxxx
Retype new password:xxxxx
passwd: all authentication tokens updated successfully.

ユーザ一覧にuserAがいるか確認。

# cat /etc/passwd

開発用ユーザにsudo権限を付与

userAをwheelグループに追加。

# usermod -G wheel userA

「%wheel ALL=(ALL) ALL」がコメントになっている場合、コメントを外す(行頭の#を外す)。
それにより、開発用ユーザ(wheelグループに所属しているユーザ)にsudo権限を付与することができる。
※「sudo権限」とは一般ユーザがroot権限を利用してコマンド実行できるというもの。
※ sudo権限を利用する際は、コマンドの先頭に「sudo」をつけて実行する。

# visudo

%wheel ALL=(ALL) ALL

開発用ユーザにsu権限を付与

「auth required pam_wheel.so use_uid」がコメントになっている場合、コメントを外す(行頭の#を外す)。
それにより、開発用ユーザ(wheelグループに所属しているユーザ)にsu権限を付与することができる。
※「su権限」とは一般ユーザがrootになる(ログインする)ことができるというもの。su権限があるユーザでsuコマンドを実行しても、rootのパスワードを知らないとrootになることはできないため注意。

# vi /etc/pam.d/su

auth            required        pam_wheel.so use_uid

yumのアップデート(パッケージの更新)

# yum -y update

3.Apacheのセットアップ

インストール

# yum install httpd

自動起動設定

自動起動するようにしないと、サーバ再起動時にサービスが自動で起動しない。毎回、手動起動する必要がある。

自動起動設定を確認。

# systemctl is-enabled httpd

↑の結果が、enableなら自動起動するよう設定されている。disableなら以下のコマンドで有効にしておく。

# systemctl enable httpd

firewallの設定

HTTP(port80)アクセスを許可。

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

Apache起動

以下コマンドの「start」の箇所を「stop」に変えると停止、「restart」に変えると再起動という動きになる。

# systemctl start httpd.service

動作確認

Apacheのステータス確認

エラーのような表示がないか念のため確認する。

# systemctl status httpd

Apacheのバージョン確認

# httpd -v

接続確認

WEBブラウザからApacheにアクセスする。

http://(SSH接続で使用したWEBサーバのグローバルIPアドレス)

以下のような画面が表示されればOK。
pic54.png

4.PHPのセットアップ

インストール

remiリポジトリの公開鍵を取り込む
# rpm --import https://rpms.remirepo.net/RPM-GPG-KEY-remi

yum-config-manager コマンドのインストールと remiリポジトリの追加
# yum install yum-utils https://rpms.remirepo.net/enterprise/remi-release-7.rpm

remi-php71 リポジトリを有効化
# yum-config-manager --enable remi-php71

PHP と拡張モジュールなどをインストール
# yum install php php-mbstring php-intl php-mysqlnd

初期設定

vim /etc/php.ini

# レスポンスヘッダにPHPのバージョンを表示しない
expose_php = Off

date.timezone = "Asia/Tokyo"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = pass
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_charset = none

Apache再起動

# systemctl restart httpd.service

動作確認

PHPのバージョン確認

# php -v

PHPのバージョン確認(詳細)

以下のファイルを作成&配置し、WEBブラウザで確認する。

/var/www/html/index.php
<?php
 phpinfo();
?>

http://(SSH接続で使用したWEBサーバのグローバルIPアドレス)/index.php

以下のような画面が表示されればOK。
pic55.png

5.WEBサーバからDBサーバに接続できるよう設定

SQLコマンドツールをインストール

# yum install mariadb

NICの設定

既存NIC(eth0)の設定をコピーする。

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
GATEWAY=xxx.xxx.xxx.xxx
PREFIX=24
DNS2=xxx.xxx.xxx.xxx
IPADDR=xxx.xxx.xxx.xxx
DNS1=xxx.xxx.xxx.xxx
ZONE=private

新NIC(eth1)を設定する。

  • 既存NICからコピーした内容を貼り付ける。
  • DEVICEは「eth1」に書き換えておく。
  • GATEWAY、PREFIXはPART1のDBサーバ作成時に設定した内容を記入。
  • IPADDRは「192.169.0.XXX」で入力すればOK。XXXの範囲は2~100にする。既存のものと被らないように。
  • ZONEは「private」に書き換えておく。
  • それ以外の項目は既存NIC(eth0)と同じ。
# vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
GATEWAY=xxx.xxx.xxx.xxx
PREFIX=24
DNS2=xxx.xxx.xxx.xxx
IPADDR=xxx.xxx.xxx.xxx
DNS1=xxx.xxx.xxx.xxx
ZONE=private

ネットワークを再起動し、設定したIPアドレスが設定されているか確認。
「eth1」に「inet 192.168.0.xxx/24」の記載があればOK。

# systemctl restart network
# ip addr show

動作確認

新NIC(eth1)を設定したことで、WEBサーバとローカルスイッチ、DBサーバで通信ができるようになった。
pic36.png

DBサーバのコマンド例に記載されていたコマンドをコピーし、WEBサーバ上で実行。
pic35.png

接続できたらパスワードの入力を求められるので、入力&認証後、DBに接続できる。

mysql -h xxx.xxx.xxx.xxx -P ポート番号 -u データベース名 -D データベース名 -p
Enter password: xxxxxx
MariaDB [データベース名]> 

まとめ

以上でPART2は終了です。PART1は以下のページに書いてあります。

【初心者の方向け】さくらのクラウドでLAMP(CentOS7.x + Apache2.4 + MariaDB10.x + PHP7.x)環境構築から基本設定までの手順 PART1 (さくらのクラウド操作編)
https://qiita.com/happy41111/items/88bef300a057f48cdc39

11
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
10