初めてのクラウドVPS利用のための初期設定とLAMP環境構築方法（WordPressも）

#概要
今更ワードプレスでブログを始めようと思いその始めるまでの手順を素人ながら書いてみました。
主にサーバー構築についてです。
ただのレンタルサーバーでもよかったのですが、自分なりに勉強がてらカスタマイズしたく思い、VPSに選択。

##環境、OSS
・レンタルサーバー　GMOクラウドVPS
・OS CentOS7.4
・Apache2.4
・PHP5.4
・MariaDB(MYSQL)
・Wordpress

##初期設定
まずサーバーを起動しrootでログイン（パスワードは初めに貰ったもの）
GMOにコンソール機能があったが、ペーストすらできずに、使いにくかったので、RLoginでドメインに接続。
この時はまだID、PWでログイン。後にssh接続に変える。


＃まずは一般ユーザの作成
rootでずっと操作するのは危険性があるので、一般ユーザ作成

```
# useradd (任意のユーザー名）  ←  一般ユーザの作成
# passwd （任意のパスワード）   ←  パスワード設定
```

→/home/(ユーザー名）/作成される。

続いてインストールなどで一般ユーザがroot権限で実行するためにsudo許可与える

```
visudo
```


```
#%wheel   ALL=(ALL)       ALL
          ↓
 %wheel   ALL=(ALL)       ALL
```

コメントアウト消す

そしてsudoを許可するユーザーを追加

```
gpasswd -a ユーザー名 wheel
```

これで一般ユーザで不自由なく操作可能

rootを抜け一般ユーザでログインし直す

ちなみにifconfig（ip a)など使いたいので、

```
sudo yum install net-tools
```

より便利になりましたね！

#ssh接続
本番環境だとこのままのID、PWだけのログインだとざるなので（しかもrootでもログイン出来てしまう）なので、公開鍵、秘密鍵を使ったssh接続で一般ユーザだけのログインとする。

一般ユーザにログイン後、その場で

```
ssh-keygen -t rsa
```

```
ls ~/.ssh
id_rsa  id_rsa.pub
```

```
cd .ssh
```

```
ssh-keygen -i -f id_rsa.pub >> authorized_keys
rm id_rsa.pub
```

パーミッション設定

```
chmod 600 authorized_keys
chmod 600 id_rsa
```
SCPツールでサーバーのid_rsaをローカルに落とし保存する。

一般ユーザでドメイン名とユーザー名、秘密鍵だけでログインできるか確認する。

そのあとはさらにセキュリティ設定

```
vi /etc/ssh/sshd_config

Port 22
PasswordAuthentication no
PermitRootLogin no
```

に設定する。
そのあと

```
systemctl restart sshd.service
```

を忘れずにやる。じゃないと反映されない。
これで22ポート以外から受け付けず、パスワードログインできず、ルートでログインもできなくなる。

つまり一般ユーザのssh接続のみとなるので、本番環境でもセキュリティ上そこそこ強い。

#注意
PasswordAuthentication noは必ずssh接続が確認出来てからやる。
じゃないとつながらなくなりOS再インストールしなくてはならない。

##Apacheのインストール

apacheインストールコマンド実行

```
sudo yum install httpd
```

インストール完了後　apache起動させた後、自動起動設定する

```
systemctl start httpd.service
systemctl enable httpd.service
```

ポートでつながらないことが多いのでファイアウォールも再起動させとく。

```
systemctl stop firewalld
systemctl start firewalld
```

http://ドメイン名かIPアドレス/　で接続してみる
Apacheの画面が出てきたら正常に起動されている。

#PHPインストール

```
$ yum install php php-mysql
$ php -v
PHP 5.4.x
$ cp /etc/php.ini /etc/php.ini.org
$ vi /etc/php.ini
date.timezone =
→date.timezone = "Asia/Tokyo"
```

#MariaDBインストール

```
yum install mariadb mariadb-server
rpm -qa | grep maria
```

#文字コード変更

```
vi /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
character-set-server=utf8

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
```

#DB起動

```
systemctl enable mariadb.service
systemctl start mariadb.service
```

#WordpressのためのDB作成

```
create database testdb

＃ユーザー追加
$ mysql -u root
mysql> update mysql.user set password=password('<PASSWORD') where user = 'root';
mysql> flush privileges;
mysql> exit;
$ mysql -u root -p
```

#Wordpress導入

```
cd /tmp
wget http://wordpress.org/latest.tar.gz
```
```
vi wp-config.php

define('DB_NAME', 'sample');
define('DB_USER', 'sample');
define('DB_PASSWORD', 'hogehoge');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
(中略)
$table_prefix = 'wp_';
define ('WPLANG', '');
define('WP_DEBUG', false);
```

これであとはhttp://domein.com/wordpress/wp-admin/index.phpに繋いでソースコードが表示されず初期画面が出ればOK。

ざっとLAMP+Wordpressでした