conoha vps で wordpress の構築
GMOクラウドで wordpress を運用していましたが
料金を抑え、さらにSSDで早いと聞いた
ConoHa で wordpress を運用するようにします
CentOS7 複数ドメイン(バーチャルホスト)でSSL
を参考に構築を行います
なお、初期設定については
ConohaサーバーへWordPressをインストールするまでの全行程(1)Conohaサーバーの立ち上げ
を参考に
ちなみに、アカウントと root パスワードは決めたものの
root パスワードを忘れ
ログインできない状態になり
https://www.conoha.jp/faq/troubleshooting/
で調べたけど
rootパスワードやVPS内で作成したアカウント情報ついて弊社側では確認ができません。サーバー再構築やシングルユーザモード・レスキューモードにてパスワードの再設定をご検討ください
とのことなので
ConoHa さくら VPSでのrootパスワード再設定
を参考に実践
Conoha にログインし
仮想サーバを選択して
コンソールをクリック
次に
特殊キーで ctrl + alt + delete をクリック
再起動するので
キーボードの上下キーをおすとカーネル選択画面になるので
一番上を選んで e をクリック
すると編集モードになるが、編集するべき場所がみつからないので
一度削除し再度作成
Conoha コンソールでIPアドレスを確認し
ssh root@IPアドレス
でログイン
次にアップデート
yum -y update
次に一般ユーザの設定
ConohaサーバーへWordPressをインストールするまでの全行程(2)サーバーのセキュリティを強化する
を参考に実践
useradd ユーザ名
で一般ユーザを追加し
passwd ユーザ名
で一般ユーザにパスワードを付与
usermod -G wheel ユーザ名
でユーザを wheel グループに追加
なお、セキュリティに関してはポート変更よりも
ConohaサーバーへWordPressをインストールするまでの全行程(5)SSH接続を公開鍵認証で行う
を参考に公開鍵認証に変更します
なお、新規にサーバを選ぶときには
https://www.conoha.jp/guide/vps_sshkey.php
にあるように公開鍵認証を設定できるようです
一度ログアウトし
作成した一般ユーザで ssh でログインします
[shel]
ssh 一般ユーザ名@IPアドレス
[/shell]
ログインできたら
ssh-keygen -t rsa
で鍵を作成
id_rsa.pubのファイル名をauthorized_keysに変更するので
cd .ssh/
mv id_rsa.pub authorized_keys
次に権限の変更
sudo chmod 700 ../.ssh/
sudo chmod 600 ../.ssh/authorized_keys
次に scp コマンドで秘密鍵をローカルへ移動します
一度ログアウトして
ubuntu 側で
scp 一般ユーザ名@IPアドレス:/home/一般ユーザ名/.ssh/id_rsa /home/自分のユーザ名/.ssh/
これで再度 sshで接続すると
今度はパスワードを入力することなくログインできるようになります
次にせっかく公開鍵認証にしたのでパスワードによるログインは禁止します
sudo vim /etc/ssh/sshd_config
でファイルを開き
38行目の
PermitRootLogin yes
を
PermitRootLogin no
としてRootログインを拒否
63行目の
PasswordAuthentication yes
を
PasswordAuthentication no
へ変更してパスワード認証を拒否
なお
RSAAuthentication の項目がみあたらないので調べたら
sshd_config に RSAAuthentication no を設定する必要はもうない
にあるように設定は不要のようです
Conoha の一般ユーザーで公開鍵認証を使用してSSHログインする
でもこの部分はなくなっていました
あとは
sudo systemctl restart sshd.service
でサービスを再起動して変更を反映しておきます
次にファイアウォールの設定
https と http を開いておくので
sudo firewall-cmd --add-service=http
sudo firewall-cmd --add-service=https
次に再起動してもそのままの設定になるように
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
次に
ConohaサーバーへWordPressをインストールするまでの全行程(3)Apache MariaDB PHP7のインストール
を参考に
PHP7 のインストール
まず Remi リポジトリの追加
sudo yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
リポジトリ追加の確認は
ls -l /etc/yum.repos.d/
で確認可能
次に PHP7 のインストール
sudo yum install --enablerepo=remi-php71,remi-safe php p
hp-mbstring php-pear php-mysql php-mcrypt php-gd
これで依存関係で Apache もインストールされます
PHPのヴァージョン確認は
php --version
次に MariaDB のインストール
sudo yum -y install mariadb mariadb-server
そして MariaDB の起動
systemctl start mariadb.service
起動確認には
sudo systemctl list-units | grep mariadb
次に再起動したときにも自動起動するように設定
systemctl enable mariadb.service
実行するとユーザパスワードを求められるので入力
登録状態の確認には
systemctl list-unit-files | grep mariadb
次にMariaDB の初期設定
mysql_secure_installation
実行するとセキュリティ設定でいくつか質問がでてきます
Enter current password for root (enter for none):
では Enter を押します
Set root password? [Y/n]
で root パスワードを設定するか聞かれるので y
New password:
で新しいパスワードを設定
Re-enter new password:
で確認のためもう一回入力
Remove anonymous users? [Y/n]
では匿名ユーザを削除するか なので y
Disallow root login remotely? [Y/n]
で root をリモートでログインを禁止するかなので y
Remove test database and access to it? [Y/n]
でテストDB削除なので y
Reload privilege tables now? [Y/n]
でテーブルの再読み込みするかなので y
これで設定完了
次に MariaDB を再起動することで設定を反映
systemctl restart mariadb
参考サイトでは wordpress 用DB作成しているけど
別サイトから引っ越しするので
これは保留し
Apache 関連の設定
最初に Apache の起動
systemctl start httpd.service
起動しているかを確認
systemctl list-units | grep httpd
次に再起動してもApache が起動するよう設定
systemctl enable httpd.service
設定の確認には
systemctl list-unit-files | grep httpd
次に Apache の設定
CentOS7 複数ドメイン(バーチャルホスト)でSSL
を参考に