7b. サーバ構築(Linux)

前回に引き続き、LAMP環境を構築後にWordpressをインストールして学内ポータルサイトを構築しました。学内ポータルサイトにサーバ&ネットワークの状態と、DBに登録された教職員名、部署名、オフィス名、内線番号(ADから取得)を表示させることが目標です。

LAMP環境構築

Apacheのインストール

# yum clean all				# キャッシュのクリア
# yum -y install httpd		# Apacheのインストール
# httpd -v					# バージョン確認
Server version: Apache/2.4.6 (CentOS)
Server built:   Oct 19 2017 20:39:16
# rpm -qa | grep httpd		# 関連パッケージもインストールされたことを確認
httpd-2.4.6-67.el7.centos.6.x86_64
httpd-tools-2.4.6-67.el7.centos.6.x86_64

# systemctl status httpd	# 起動状態の確認
# systemctl start httpd		# サービスの起動
# systemctl enable httpd	# 自動起動設定をON

# 外部からのhttp通信を許可して、WWWサーバを公開
# firewall-cmd --permanent --add-service=http
# firewall-cmd --reload

作業端末のブラウザから、http://WWWサーバのIPアドレス/ にアクセスして下記画面が表示されることを確認。

PHPのインストール

# yum clean all
# yum -y install php php-mbstring	# PHPのインストール
# php -v							# バージョン確認
PHP 5.4.16 (cli) (built: Nov 15 2017 16:33:54)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
# rpm -qa | grep php				# 関連パッケージもインストールされたことを確認
php-5.4.16-43.el7_4.x86_64
php-cli-5.4.16-43.el7_4.x86_64
php-common-5.4.16-43.el7_4.x86_64
php-mbstring-5.4.16-43.el7_4.x86_64

# 下記結果になるように、設定ファイルを変更する
# vi /etc/php.ini
# egrep "^default_charset|^date.timezone|^mbstring" php.ini
default_charset = "UTF-8"
date.timezone = Africa/Gaborone			# 自身の環境に合わせて設定
mbstring.language = English				# 自身の環境に合わせて設定
mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0
mbstring.strict_detection = Off
mbstring.http_output_conv_mimetype=

# systemctl restart httpd			# Apacheの再起動
# vi /var/www/html/index.php
<?php phpinfo(); ?>

再度ブラウザからアクセスして、下記画面が表示されることを確認。

MySQLのインストール

# MySQL の yum リポジトリを追加
# yum clean all				# キャッシュのクリア
# yum -y install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
# yum -y install mysql-community-server			# MySQLのインストール
# mysql --version			# バージョン確認
mysql  Ver 14.14 Distrib 5.6.38, for Linux (x86_64) using  EditLine wrapper
# rpm -qa | grep mysql		# 関連パッケージもインストールされたことを確認
mysql-community-common-5.6.38-2.el7.x86_64
mysql-community-client-5.6.38-2.el7.x86_64
mysql-community-release-el7-5.noarch
mysql-community-libs-5.6.38-2.el7.x86_64
mysql-community-server-5.6.38-2.el7.x86_64

# [mysqld]の欄に以下を追記
# vi /etc/my.cnf
character-set-server = utf8

# systemctl start mysqld
# systemctl list-unit-files -t service | grep mysqld
mysqld.service                              enabled		# 自動起動設定を確認

# mysql -u root -p			# MySQLにログイン
Enter password:				# パスワードなし

# rootのパスワードを設定
mysql> update mysql.user set password=password('PASSWORD') where user = 'root';
mysql> flush privileges;	# 設定を反映
mysql> exit

参考
centOS7でLAMP環境を作る

WordPressインストール

WordPressのダウンロードと配置

# wget https://wordpress.org/latest.tar.gz		# WordPressのダウンロード
# tar xvzf latest.tar.gz						# 解凍
# rm -r /var/www/html
# mv wordpress /var/www/						# ドキュメントルートとなるディレクトリに移動
# chown -R apache:apache /var/www/wordpress

MySQL データベースとユーザーの作成

# mysql -u root -p
Enter password:						# パスワードを入力
mysql> create database wordpress;	# データベースを作成
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| wordpress          |		# wordpressDBが追加
+--------------------+

# worpressユーザを作成し、wordpressDBへ全権限を付与
mysql> grant all on wordpress.* to wordpress@localhost identified by '******';
mysql> select user from mysql.user;
+-----------+
| user      |
+-----------+
| root      |
| root      |
| root      |
| wordpress |				# wordpressユーザが追加
| root      |
+-----------+

mysql> exit

WordPress の設定ファイルの編集

# cd /var/www/html/
# cp -p wp-config-sample.php wp-config.php
# vi wp-config.php

# 下記結果になるように編集
# diff wp-config-sample.php wp-config.php
23c23
< define('DB_NAME', 'database_name_here');
---
> define('DB_NAME', 'wordpress');
26c26
< define('DB_USER', 'username_here');
---
> define('DB_USER', 'wordpress');
29c29
< define('DB_PASSWORD', 'password_here');
---
> define('DB_PASSWORD', '******');

# 認証用ユニークキーの設定
# WordPress.org の秘密鍵サービス https://api.wordpress.org/secret-key/1.1/salt/
# にアクセスし、表示されたユニークキーを WordPress の設定ファイルの該当箇所に上書きします。

# 下記箇所を上書き
# vi wp-config.php
define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

# 設定ファイルに、MySQLのパスワードを入力しているので、パーミッションを変更
# chmod 600 wp-config.php

WordPress のインストール
WEBブラウザから http://IPアドレス/ を開いてインストール開始

下記エラーメッセージが表示されてしまう。MySQLの拡張機能が必要とのこと。
Your PHP installation appears to be missing the MySQL extension which is required by WordPress.

# yum -y install php-mysql

再度WEBブラウザから http://IPアドレス/ を開いてインストール開始
ユーザ名とパスワードを入力してログイン

参考
AWS EC2にWordPress(version 4.5.3) の環境構築・インストール
AWSにword pressをいれた

Apache httpd バーチャルホストの設定
Moodleのインストールを断念したので、設定不要

参考
WordPress インストールメモ(CentOS)

学内ポータルサイト構築

旧ポータルサイトからデータを移動

スタッフ情報をポータルサイトに表示

Active Directory から引っ張ってきたスタッフ情報をポータルサイトに表示

サーバ&ネットワークの状態をポータルサイトに表示

サーバ&ネットワークの稼働状態をポータルサイトに表示