Edited at

さくらのVPS(CentOS7)でLAMP(mariaDB,PHP5.6)を構成しよう。

More than 1 year has passed since last update.

手元にあるMacPCを使って説明します。

windowsの方でもTeraTermなどを使ってSSH接続して作業できます。

さくらのVPSにCentOS7をインストールするところは、googleなどで検索すれば出てきます。

私はさくらのVPSのサポート情報を参考にさせていただきました。


 初期設定

さくらのVPSのコントロールパネル内にあるコンソールを使ってもいいのですが、ここではSSH接続,公開鍵でのSSHで接続していきます。

ターミナルを起動し

ローカル側の ~/.ssh/known_hosts

にサーバのIPアドレスが書かれていないことを確認。書かれている場合はその行を消去する。

$ ssh root@サーバーIPアドレス

rootのパスワードを入力するとSSH接続できます


アップデートとvimの設定

$ yum update

$ yum -y install vim-enhanced


~/.vimrc

set nocompatible

set history=50
set ignorecase
set smartcase
set hlsearch
set number
set wrap
set encoding=utf-8
set fileencodings=utf-8
set fileformats=unix,dos,mac
syntax on


一般ユーザー追加

$ useradd 'ユーザー名'

$ passwd 'ユーザー名'

このユーザのパスワードを設定し、確認のためもう一回パスワードを入力

$ usermod -G wheel 'ユーザー名'

ユーザにwheelグループに加える。

wheelグループにsudoの権限を与える。

$ visudo

## Allows people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
↓ コメントアウト外す
%wheel ALL=(ALL) ALL


・SELINUX

setenforce で無効にします。

$ setenforce 0

getenforceで無効を確認します。

$ getenforce

Permissive

リブート時も無効

$ vim /etc/sysconfig/selinux

...

'#SELINUX=enforcing'

SELINUX=disabled

本当はSElinuxの設定をするべきなのですが、設定が難しいため無効にしました。その代わりFirewallの設定をきちんとします。


Firewallの設定


現在利用可能なサービス(ポート)を確認します。

$ firewall-cmd --list-services

dhcpv6-client ssh


↑ デフォルトでは、dhcpv6-client ssh のみが有効になっています。


現在利用可能なポートを確認します。

$ firewall-cmd --list-ports


↑ デフォルトでは、何も設定されていません。


ウェブサーバーのサービス(ポート)を開きます。

$ firewall-cmd --add-service=http

success


ウェブサーバーのサービス(ポート)を再起動しても開くように設定します。

$ firewall-cmd --permanent --add-service=http

success


SSHサーバーのポートを開きます。

$ firewall-cmd --add-port=ポート番号/tcp

success


SSHサーバーのポートを再起動しても開くように設定します。

$ firewall-cmd --permanent --add-port=ポート番号/tcp

success


古いSSHサーバーのサービス(ポート)を閉じます。

$ firewall-cmd --remove-service=ssh

success


古いSSHサーバーのサービス(ポート)を再起動しても閉じるように設定します。

$ firewall-cmd --permanent --remove-service=ssh

success


現在利用可能なサービス(ポート)を確認します。

$ firewall-cmd --list-services

dhcpv6-client http


↑ http が追加され、sshが削除されていることを確認します。


現在利用可能なポートを確認します。

$ firewall-cmd --list-ports

ポート番号/tcp


↑ SSHの新しいポートが追加されていることを確認します。


SSHの設定


/etc/ssh/sshd_config

#ポート設定(10000番台以上で適当に)

Port 'ポート番号'

#SSH2
Protocol 2

#ルートログイン設定
PermitRootLogin no

#鍵認証設定
RSAAuthentication yes
PubkeyAuthentication yes

#パスワードでのログイン(公開鍵でやるならNo)
PasswordAuthentication yes
#パスワード無しでのログイン
PermitEmptyPasswords no


変更が終わった後

設定を反映させるために

$ systemctl restart sshd.service

FirewallにPootの設定をした後、

ここで今開いているターミナル以外に、ターミナルを一つ起動させる。

そのターミナルで先程作ったユーザでSSH接続する。

$ ssh -p ポート番号 ユーザー名@サーバーIPアドレス

接続できたら完了


公開鍵によるSSH認証

サーバー側(作ったユーザでログイン)で設定

$ mkdir ~/.ssh

$ chmod 700 ~/.ssh

ローカル側で

$ ssh-keygen -t rsa

パスフレーズを決め入力する。(忘れないように)

すると ~/.ssh 以下にid_rsa id_rsa.pubが生成される。

ログイン簡略化

$ cd ~/.ssh

$ mkdir sakura

$ mv id_rsa sakura


~/.ssh/config

Host sakura

HostName サーバーIP
User ユーザー名
Port ポート番号
IdentityFile ~/.ssh/sakura/id_rsa

パーミッションを変更

$ chmod 600 id_rsa.pub

$ scp -P ポート番号 ~/.ssh/id_rsa.pub ユーザー名@サーバーIP:~/.ssh/authorized_keys

作業しているターミナル以外にターミナルを起動させ ssh sakuraと入力し接続できたら完了


Apache、PHP5.6 MariaDB,phpMyadminのインストール


Apache導入と起動(現在バージョン2.46)

$ yum -y install httpd

$ systemctl start httpd.service

$ systemctl enable httpd.service

ブラウザでサーバーIPをアドレスバーに入力して起動しているか確認


PHP5.6導入


epel,remiレポジトリ

$ yum -y install epel-release

$ yum -y install wget

$ wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

$ rpm -Uvh remi-release-7.rpm


PHP5.6,apacheインストール

$ yum -y install --enablerepo=remi,remi-php56 httpd php

すでにApacheを入れている場合はhttpdを入力しない。間違って入力しても大丈夫です。


PHPが入っているのか確認

$ php -v

systemctl restart httpd

vi /var/www/html/index.php

<?php phpinfo(); ?>を入力し確認しよう


mariadb mariadb-server をインストールします。

$ yum -y install mariadb mariadb-server

$ mysql --version


mariadb のデーモン(サービス)を起動します。

$ systemctl start mariadb.service


次に、mariadbデーモンがブート時に自動起動するように設定しておきます。

$ systemctl enable mariadb.service

(MariaDBにrootでログイン)

mysql -u root -p

Enter password:

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 14

Server version: 5.5.37-MariaDB MariaDB Server

Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.

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

(データベースwordpressを作成)

MariaDB [(none)]> create database データベース名;

MariaDB [(none)]> grant all privileges on データベース名.* to データベースユーザ名@localhost identified by 'パスワード';

(データベースwordpressが作成されたことを確認)

MariaDB [(none)]> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| test |

| wordpress |

+--------------------+

5 rows in set (0.06 sec)


phpmyadminの導入と設定

yum install -y --enablerepo=remi,remi-php56 phpMyAdmin

mv /etc/phpMyAdmin/config.inc.php /usr/share/phpMyAdmin


/etc/htpd/conf.d/phpMyAdmin.conf


Aliasの部分を変更してみよう

<IfModule mod_authz_core.c>

Apache 2.4
Require local
Require all granted



WordPressインストール

$ wget https://ja.wordpress.org/wordpress-4.3.1-ja.zip

$ unzip wordpress-4.3.1-ja.zip

$ ls -l    

$ rm -rf wordpress-4.3.1-ja.zip

$ mv wordpress /var/www/html

$ chown -R apache:apache wordpress

ブラウザーのアドレスバーにサーバーIP/wordpressと入力し設定画面が出ればOK


バーチャルホストの設定

cd /etc/httpd/conf.d

vim wordpress.conf


wordpress.conf

NameVirtualHost *:80

<VirtualHost *:80>
ServerName ホスト名
DocumentRoot /var/www/http/wordpress

LogLevel warn
ErrorLog logs/error_log
CustomLog logs/access_log combined

<Directory /var/www/http/wordpress>
Options FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>



DNSの設定はgoogleで検索してください。

  • SSHの設定
  • 公開鍵によるSSH認証
  • Apache、PHP5.6 MariaDB,phpMyadminのインストール
  • mariadb mariadb-server をインストールします。
  • phpmyadminの導入と設定
  • WordPressインストール
  • バーチャルホストの設定
  • DNSの設定はgoogleで検索してください。