More than 1 year has passed since last update.

社長から有料サーバーを使ってもいい許可が出たので、人のお金を使ってWordPressを構築します:laughing:
あ、僕サーバー関連ちっともわからないWindowsマンですので似ている境遇のひとの参考になるかと。
CentOSとかMS-DOSのことを 黒い画面 とか言っちゃう人です :blush:

参考ページ

さくらVPS借りて最初にやったこと
「Webサイトを公開しよう」~初心者でもよくわかる!VPSによるWebサーバー構築講座(5)

環境

・Mac OS X
・PyCharm + Anaconda3
・Google Chrome

行動開始

1.VPSの初期設定

・基本的に さくらVPS借りて最初にやったこと をトレースします。
・一般ユーザーとして追加する名前は「op」です。

※エラーとのたたかい

気をつけるのはこのへんかなぁ。これらを押さえれば何回でもOS再インストールからやり直せると思う。

・ログインが拒否られる(refusedは拒絶の意)

なんかいろいろわかんなくなってさくらのVPSのOSを再インストールしたときに起こる拒否られ 

ターミナル1(VPS接続用)
$ ssh root@xxx.xxx.xxx.xxx
ssh: connect to host xxx.xxx.xxx.xxx port 22: Connection refused

この状況は「VNCコンソール(HTML5版)」からコンソールをのぞくと、なんか動いてる可能性大だから「待つ!」(10分ぐらい?)
さくらのVPSの初回起動時に応答が無くなるように見えるけど、気長に待つ
image

・VPSのOS入れ直したんだろ?前にローカルPCに作った古い鍵が邪魔してるぜ?

image
SSH認証の署名がごみとして残っているのでそれを削除する
.ssh/known_hosts から特定のホストの情報を消す方法

ターミナル1(VPS接続用)
$ ssh-keygen -R xxx.xxx.xxx.xxx
$ ssh root@xxx.xxx.xxx.xxx
Are you sure you want to continue connecting (yes/no)? yes
$ ssh root@xxx.xxx.xxx.xxx
SAKURA Internet [Virtual Private Server SERVICE]
[root@tk2-224-21879 ~]# 

(削除したら ssh root〜 で入れました!)
image

・viエディタについて

  viが操作できる前提の説明がされる。鬼畜! :fearful:
  行番号の表示・非表示
  viコマンド(vimコマンド)一覧
  ・vi起動時は「コマンドモード」になっている。
  ・「i」を押して「挿入モード」にしてから文字編集ができる。
  ・「esc」を押して「コマンドモード」にしてから「ZZ」(保存して閉じる)でvi終了。
  Windowsマンにはマジで鬼畜!ぶっとばすぞ! :muscle: :boom: :eyes: (まずはきみが落ち着け)

ターミナルの動きも記録しようとしたけど途中で viエディタとかどう表現するかわかんなくなってきた... :cyclone:
なので さくらVPS借りて最初にやったこと のとぉ〜りにやりました。何回かOSを入れ直して回数こなしたほうがよさそうです。

・SSH設定時の "この質問" はカラで Enter する

これね→ 「Enter file in which to save the key (/Users/(username)/.ssh/id_rsa):」
MacでSSH認証のための公開鍵と秘密鍵を生成する
sshの設定(passwordなしでsshログイン(scp)する)
SSHの公開鍵と秘密鍵の関係
「.ssh」フォルダはMacには最初からあるっぽいね...隠しフォルダだけど

ターミナル2(Mac操作用)
$ ssh-keygen -t rsa -v
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/yoshitaka/.ssh/id_rsa): 
/Users/yoshitaka/.ssh/id_rsa already exists.
Overwrite (y/n)? y
$ ls ~/.ssh/
id_rsa      id_rsa.pub  known_hosts known_hosts.old

image

(確認方法)
Finderから「Command+Shift+G」で "~/.ssh" と入力して開く。お、ホントにローカルにできた。
(ドットから始まるフォルダやファイルは、どうやらMacでは隠しフォルダらしい)
image

・Are you sure you want to continue connecting??

「Are you sure you want to continue connecting」と問い合わされたのは,初めてのsshログインであることを意味し,ここで「yes」を選択することで「known_hosts」ファイルが接続元に自動生成される

・ポート番号を変えるときは先頭の「#」も削除

こんな色にならないとダメね
image

:scream:大ハマリ 「Macを操作するコンソール」と「VPSを操作するコンソール」の2つを立ち上げろ

コンソールのマークがわかってなかった! :boom:
というか、つまりローカルとリモートの区別がついていなかった :cyclone:
VPSの操作中にMacの〜ってしれっと出てきたらコンソールをもうひとつ立ち上げたほうがいいね
image

1.[op@xxx-xxx-xxxxx ~]$
2.$ ssh-keygen -t rsa -v
2のときはVPSをログアウトしてMacのコンソールとして入力しなきゃいけないのを [op@xxx-xxx-xxxxx ~] のまま進めてたんだな...下の図のようになったとこで気づくべきだった :cyclone:
image
チルダ とか 「$」 とか 「op@xxx-xxx-xxxxx ~」 とか... 文化の違いにFuckだぜ...
(ログインできなくなってOSの再インストールにもどる)

:scream:大ハマリ「VirtualHostの設定」は不要!

バーチャルホストというのは、IPひとつを複数のサイトで使いまわす「USBハブ」みたいなもの(?)だとわかりました。まだそんな使い方はしないし、ここはやらなくてもよい。ただ、ここの説明に含まれている権限設定だけは必要。WordPressを入れた際に、WordPress側から更新しようとすると、WordPressは「apache」という自動生成アカウントから更新しようと試みる。

参考:Webサーバーを構築しよう(1)「3. ドキュメントルートの権限を変更する」(※このページでの vpsuser は op です)

ターミナル1(VPS接続用)
これらを実行すると FTPからのopアカウントからとWordPressからのapacheアカウントに許可が通る
(op)$ sudo -s
(root)# cd /var/www
(root)# chown apache:op html
(root)# chmod 775 html
(root)# ls -l

2.WordPressのインストール

・基本的に 「Webサイトを公開しよう」~初心者でもよくわかる!VPSによるWebサーバー構築講座(5) をトレースします。「VirtualHostの設定」をコピペしたばかりに沼にハマったが、そこを乗り越えたら特に問題はなかった。

(IPをブラウザに打ち込んだらこの画面に飛んだ!ようやく!)
image

・使ってる途中でテーマの更新ができなくなった!?

:eyes: たぶん、どこかで間違ってあるファイルを消してしまって root 状態でファイルを作ってしまったことが原因
ブラウザ上のWordpressが「テーマ更新できねぇよ!たぶんパーミッションが悪い!」って言ってきたら、そこに書いてあるファイルをコンソール上で追いかけて該当のディレクトリに行き、権限を変える。そしてブラウザ上のWordpressからテーマの更新をかけるとできるはず。
image

3.MySQLへの外部からの接続について

ここもコンソールか...
Macの画面からMySQLWorkbench使いてぇ~って思って調べてみたら だめなのね
あ、でもサポートに聞いたらVPSは大丈夫らしい

で、Workbench設定してるんだけど、、、つながらんのよねー・・・
image

とりあえず Error No.60 でググってみたら、、、ログを見ろよって書かれてあって
‘/var/lib/mysql/mysql.sock’ にログがあるらしいので見てみたら

ターミナル1(VPS接続用)
$cd ../../../var/log/
$vi mysqld.log

↓これと同じ原因だった
mysqlでmysql.sock関連のエラーが出たよ

やること
1.MySQLを停止
2.socketファイルを削除(socketファイルがない場合、起動すると自動的に生成される)
3.MySQL再起動

ターミナル1(VPS接続用)
$ mysql_config --socket
( /var/lib/mysql/mysql.sock と出てきた )

$ cd ...mysql
$ ls
( 出てきた )

$ rm -f mysqld.sock
$ service mysqld restart
memo
#db名:wordpress
#選択したいテーブル名:wp_users

#mysql起動
mysql -u root -p

#wordpressというデータベースのなかには何のテーブルがあるんだっけ?
SHOW TABLES FROM wordpress;

#データベース選択
USE wordpress;

#SQL発行
SELECT * FROM wp_users;

MySQL消しちゃった!!

いや、ちょっといろいろあって復旧メモ
MySQLへの外部からの接続についてをやろうとして mysql.sock を削除したら動かなくなったオチ
・MySQLを入れ終わったら、create database wordpress;でカラのデータベースを作成。
・IPをブラウザに打ち込むと初期設定(ようこそ)が現れるので大丈夫なはず
・プラグインはインストールしなおしではなくすべて無効化の状態になってるだけなのでまとめて有効化する
・固定ページはサンプルの文字を消してスラッグの表記のしかたを設定から page_id=2 みたいにすればOK
・カスタムフィールドは全再現が必要
・ユーザーは全部消えてる

4.この先どうすんの?

WordPressのテーマを選んで、db連携して顧客管理と通販を作っていこうと思います。