名科辞典―これは何?情報は?にこたえるコンテンツ

トップ CentOSとは CentOS7

CentOS7―ダウンロード&VirualBoxにインストール&LAMPサーバー構築

CentOS7のダウンロードからVirtualBoxへのインストール、CentOS7のOS設定、Apache+MySQL+PHPのLAMPサーバ構築手順の例などの情報をまとめています。

1. CenOS7とは

CentOS7とは、CentOSのバージョン7の製品です。
2014年7月7日に7.0が登場して、その完全更新期限が2020年12月。メンテナンス更新期限が2024年6月30日です。

2. CentOS7のダウンロード方法

CentOS7は、https://www.centos.org/download/より、例えばDVDのISOイメージを選んでミラーサイトからダウンロードが行えます。

ダウンロード例

ミラーサイトを選んで、例えば以下のファイルをダウンロードします。

http://ftp.tsukuba.wide.ad.jp/Linux/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso

ダウンロードできない場合

ダウンロードできない場合は別のミラーサイトからダウンロードします。

3. CentOS7のインストール方法―VirtualBoxにインストールする例

CentOSのインストール例として、Oracle VM VirtualBoxにCentOS7をインストールします。

VirtualBoxとは

VirtualBoxとは、Oracle社のクロスプラットフォームな仮想化ソフトウェアです。 OracleのHPより、Windows、Linux、Mac OS X、Solaris用の媒体が入手できます。

VirtualBoxのダウンロード

以下のページよりダウンロードできます。

http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp

VirtualBoxのインストール

ダウンロードしたインストーラを起動して、すべてNext or YesでインストールしてOKでした。 インストール先などカスタマイズしたい場合は適宜変更してください。

VirtualBoxのインストール補足

途中で「Warning Network Interfaces」とエラーのようなメッセージが表示されます。 インストール中、一時的にネットワークが切断されても問題ないかを確認するメッセージです。 問題が発生したわけではなく、確認ダイアログです。

加えて、このデバイス ソフトウェアをインストールしますか?と聞かれます。
「"Oracle Corporation" からのソフトウェアを常に信頼する」にチェックを入れて、インストールしておきます。

CentOS7用の仮想マシンの作成

CentOS7用の仮想マシンを作成します。

仮想マシンダイアログを開く

VirtualBox (Oracle VM VirtualBox マネージャー) を起動し、左上の「新規(N)」をクリックすると、「仮想マシンの作成」ダイアログが開きます。

名前とオペレーティングシステム入力

任意の 名前 を入力し、タイプ は Linux 、 バージョン は Red Hat (64bit) を選択して「次へ」をクリックします。

なお、BIOSの仮想化機能が無効になっている場合、Red Hat (64bit)と64bitの選択項目が表示されません。

補足)BIOSの仮想化機能の有効化

BIOSはPC起動時にF2やF5、F10キーを連打すると表示されます。 BIOSの設定変更はメーカにより異なるので使用しているPCのマニュアルを参照する必要があります。

BIOSの仮想化機能を有効にする例
  • HPの場合)起動時にF10を押して、Security⇒Virtualization Technology(VTx)⇒[Enabled]
  • VAIOの場合)Advanced⇒CPU Configuration⇒Intel(R) VirtualizationTechnology⇒[Enabled]
  • ThinkPadの場合)Security⇒Virtualization⇒Intel(R) VirtualizationTechnology⇒[Enabled]

メモリーサイズの入力

メモリ (RAM) は最低でも512MiB必要です。今回は1024MBにしました。

ハードディスク

「仮想ハードディスクを作成する」を選択して「作成」をクリックします。

ハードドライブの入力

仮想ハードドライブを作成する を選択して「作成」すると、「仮想ハードドライブの作成」ダイアログが開きます。

  • ハードドライブのファイルタイプ は、VDI (VirtualBox Disk Image) を選択したまま「次へ」
  • 物理ハードドライブにあるストレージ は、固定サイズ を選択して「次へ」
  • ファイルの場所とサイズ では、CentOSをインストールする仮想ドライブの容量を指定して、仮想ドライブと仮想マシンを「作成」します。今回は20GBにしました。

CentOS7のインストール

仮想マシンにCentOS7をインストールします。

仮想マシンの起動

VirtualBox マネージャーにて、作成した仮想マシンが選択された状態で、左上の 起動(T) をクリックします。

起動ハードディスクを選択

「起動ハードディスクを選択」ダイアログが表示されるので、 プルダウンメニュー右の 仮想光学ディスクファイルの選択… からダウンロードしておいたISOイメージを選択して「起動」します。

CentOS7のインストーラー起動

CentOS7のインストーラーが起動するので、そのままEnterキーを押します。

インストール時に使用する言語

日本語(Japanese)を選択し、続行をクリックします。

インストールの概要

Webサーバーを構築するときなどは、シンプルなものから必要なパッケージを追加していく方がいいと思います。 今回は最小限のインストールで進めます。

ソフトウェアの選択

「ソフトウェアの選択」を選択し、左の ベース環境 から 最小限のインストール を選択して「完了」します。

インストール先

「インストール先」を選択し、何もせずに「完了」します。

ネットワークとホスト名

「ネットワークとホスト名」を選択し、「ネットワークとホスト名」設定画面の右上にあるスイッチを オン にして「完了」します。

設定したら「インストールの開始」ボタンをクリックします。

ユーザーの設定

管理ユーザ(root)と一般ユーザを作成する場合は一般ユーザのパスワード設定を行います。

インストーラの完了を待つ

しばらく経つとCentOS7のインストールが完了するので、設定画面右下の「再起動」をクリックします。

設定の完了する

再起動後、初期セットアップ画面が表示されます。
「ライセンス情報」を選択し、同意できるなら ライセンス契約に同意します。
にチェックを入れて「完了」し、「設定の完了」をクリックします。

ログイン

作成したユーザでログインします。
ログインすると「ようこそ」のダイアログが表示されます。

ログイン後のセットアップは「次へ」を繰り返しクリックして、最後に「Start using CentOS Linux」をクリックしてセットアップを完了します。

4. CentOS7のLAMPサーバー構築―OS設定例

CentOS7の設定を行っていきます。

OSアップデート

まずは、OSをアップデートして最新化しておきます。

# yum update

net-toolsのインストール

ifconfigコマンドなどのネットワークコマンドが使えるようにnet-toolsをインストールします。

# yum install -y net-tools

VirtualBoxのホストオンリーアダプタの設定

このままではホストOSからゲストOSに接続ができないのでホストオンリーアダプタの設定を追加します。

ホストオンリーアダプタの追加

ホストオンリーアダプタを追加します。

  1. Oracle VM VirtualBox マネージャーの「ファイル(F)」を選択。
  2. 「環境設定(P)」をクリック。
  3. VirtualBox 環境設定の「ネットワーク」を選択
  4. 「ホストオンリーネットワーク(H)」を選択
  5. 「+」ボタンでホストオンリーアダプタを追加

※ホストオンリーアダプターが見つからない場合は、「ファイル(F)」「ホストネットワークマネージャ」から設定ができます。

ホストオンリーアダプタの設定

次に作成したホストオンリーアダプタをダブルクリックして、ホストオンリーネットワークの詳細を表示します。

IPv4アドレスに「192.168.56.1」、IPv4ネットマスクに「255.255.255.0」となっていることを確認します。

DNCPサーバの設定

ホストオンリーネットワークの詳細の「DHCP サーバー(D)」タブを表示して以下となっていることを確認します。 確認したらOKでVirtualBox - 環境設定ダイアログを閉じます。

  • サーバを有効化:チェックあり
  • サーバーアドレス:192.168.56.100
  • サーバ―マスク:255.255.255.0
  • アドレス下限:192.168.56.101
  • アドレス上限:192.168.56.254

VirtualBoxの仮想マシンの設定

仮想マシンをシャットダウンして、Oracle VM VirtualBox マネージャーにある仮想マシンのところを右クリックして、「設定(S)」で仮想マシンの設定を開きます。開いたらネットワークのところを表示します。

アダプター1の設定

ネットワークのアダプター1タブのところが、「ネットワークアダプターを有効化(E):チェック」、「割り当て(A):NAT」となっていることを確認します。

アダプター2の設定

アダプター2タブを表示して、「ネットワークアダプターを有効化(E):チェック」、「割り当て(A):ホストオンリーアダプター」、「名前(N):作成したホストオンリーアダプター名」を選択します。

仮想マシンを起動

アダプター1とアダプター2の設定が行えたら、OKをクリックして、設定ダイアログを閉じ、仮想マシンを起動します。

ホストOSからSSH接続

仮想マシンが起動したら、TeratermやPuttyなどを使用してホストOSから仮想マシンに接続できることを確認します。 また、接続できたら「ping naka-jiten.com」などインターネット上のドメインにpingが通ることを確認して仮想マシンからインターネットに接続できることも確認しておきます。、

  • ホスト:192.168.56.101
  • ポート:22
  • ユーザ:root
  • パスワード:設定したもの

5. CentOS7のLAMPサーバー構築―Apache(Apache 2.4)のインストール例

CentOS7にApacheをインストールしていきます。

Apacheのインストール

Apacheをインストールします。

# yum install httpd

httpd サービスの自動起動設定

CentOS7を再起動しても自動でApacheが起動されるように設定します。

# systemctl enable httpd

httpd サービスを開始

Apacheを起動します。

# systemctl restart httpd

Firewall穴あけ

外からアクセスできるようにhttpとhttpsのポートを解放します。

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

6. CentOS7のLAMPサーバー構築―PHP(PHP7)のインストール例

CentOS7にPHPをインストールしていきます。

PHP7+OPCache+APCuインストール

ここでは、PHP7+OPCache+APCuの環境を構築していきます。

EPELリポジトリのインストール

# yum -y install epel-release

Remiリポジトリのインストール

# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

PHP7+OPCache+APCuなど関連モジュールのインストール

PHP7をインストールします。

# yum remove php* -y
# yum --enablerepo=remi,remi-php70 install php php-mysqlnd php-gd php-xml php-xmlrpc php-mbstring php-mcrypt php-fpm php-opcache php-apcu -y --skip-broken

PHP7.2をインストールする場合の例は以下です。

# yum remove php* -y
# yum --enablerepo=remi,remi-php72 install php php-mysqlnd php-gd php-xml php-xmlrpc php-mbstring php-mcrypt php-fpm php-opcache php-apcu -y --skip-broken

確認

PHP7がインストールされているか確認します。

# php -v
PHP 7.0.21 (cli) (built: Jul  5 2017 14:33:41) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.21, Copyright (c) 1999-2017, by Zend Technologies

php-fpmの自動起動設定

php-fpmの自動起動の設定を行います。

# systemctl enable php-fpm

php-fpmの再起動

php-fpmの再起動を行います。

# systemctl restart php-fpm

Apacheとphp-fpmの設定

httpd.confまたはインクルードするconfファイルにて最低限以下の設定を行います。

ここでは以下の内容で「/etc/httpd/conf.d/site.conf」というファイルを作成します。

#php
<IfModule prefork.c>
  LoadModule php7_module modules/libphp7.so
</IfModule>

ProxyPassMatch ^(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1
DirectoryIndex /index.php index.php

Apache2.4の再起動

# systemctl restart httpd.service

php-fpmプロセスの確認

# ps -aef | grep php-fpm

Webページの表示確認

以上で完了です。適当なPHPファイルを置いて表示できるか確認できればOKです。

Webページの表示確認例

例えば、以下の内容で/var/www/html/index.phpファイル作成し、ブラウザでhttp://192.168.56.101/index.phpにアクセスして「Hello World!!」が表示されることを確認します。

<?php
print "Hello World!!\n";
?>

7. CentOS7のLAMPサーバー構築―MySQL(MariaDB)のインストール例

CentOS7にMySQL(MariaDB)インストールしていきます。

MySQL(MariaDB)をインストール

MySQL(MariaDB)をインストールします。

# yum install mariadb mariadb-server
# mysql -V
mysql  Ver 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1

mysqld サービスの自動起動設定

CentOS7を再起動しても自動でMySQL(MariaDB)が起動されるように設定します。

# systemctl enable mariadb.service

mysqld サービスを開始

MySQL(MariaDB)を起動します。

# systemctl restart mariadb.service

接続確認

インストール後の接続確認です。まだパスワード設定されていないので、もし聞かれたらそのままエンターで大丈夫です。

# mysql -u root -p -e "SELECT Host,User,Password FROM mysql.user;"
Enter password:
+-----------------------+------+----------+
| Host                  | User | Password |
+-----------------------+------+----------+
| localhost             | root |          |
| localhost.localdomain | root |          |
| 127.0.0.1             | root |          |
| ::1                   | root |          |
| localhost             |      |          |
| localhost.localdomain |      |          |
+-----------------------+------+----------+

MySQL(MariaDB)の設定

MySQLの設定を行います。

設定ファイル編集

MySQL設定ファイルを編集します。

# vi /etc/my.cnf
[mysqld]
:
character-set-server = utf8 ← 追加(MySQLサーバーの文字コードをUTF-8にする)
max_allowed_packet=32m ← 追加

MySQL再起動

# systemctl restart mariadb.service

rootパスワード変更

# /usr/bin/mysqladmin -u root password '<パスワード>'

ログイン

# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.52-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

パスワード未設定ユーザなど削除

確認
MariaDB [(none)]> select user,host,password from mysql.user;
+------+-----------------------------------------------+-------------------------------------------+
| user | host                                          | password                                  |
+------+-----------------------------------------------+-------------------------------------------+
| root | localhost                                     | *4A82F・・・・・・・・・・・・・・・      |
| root | 127.0.0.1                                     |                                           |
| root | ::1                                           |                                           |
|      | localhost                                     |                                           |
+------+-----------------------------------------------+-------------------------------------------+
6 rows in set (0.00 sec)
不要なユーザ削除
MariaDB [(none)]> delete from mysql.user where password=null or password="";
Query OK, 5 rows affected (0.00 sec)

MariaDB [(none)]> select user,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *4A82F・・・・・・・・・・・・・・・      |
+------+-----------+-------------------------------------------+
1 row in set (0.00 sec)
不要なデータベース削除

インストールするとtestデータベースが作成されています。

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

このtestデータベースを削除します。

MariaDB [(none)]> drop database test;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

参考

データベース領域と操作ユーザを作成方法は以下です。

データベース領域作成
MariaDB [(none)]> create database <データベース領域名>;
データベース領域操作ユーザ作成
MariaDB [(none)]> GRANT ALL PRIVILEGES ON <データベース領域名>.* TO <データベース操作ユーザ名>@localhost IDENTIFIED BY '<パスワード>' WITH GRANT OPTION;

参考情報

更新履歴になります。

CentOS

CentOSとは、読み方はセントオーエス、無料&RedHat Enterprise Linuxと互換性が高いLinuxです。LinuxやCentOSの特徴、ダウンロード先やインストールの知識などをまとめています。

詳細

SQL

SQLの読み方はエスキューエル。SQLの意味、初心者向けのすっごく簡単な説明、など。SQLとは何かをまとめています。

詳細

ワードプレス

ワードプレスとはホームページを運用するための便利なツールです。初心者向け中心にワードプレスの情報をまとめています。

詳細

更新履歴

更新履歴になります。

  • 2018.04.28 PHP7.2のインストール例に追記しました。
  • 2017.07.11 MySQLのインストール例をMariaDBのインストール例に変更しました。
  • 2016.06.13 ページをUPしました。

戻る