さくらインターネットとXserverでの作業を元に記載しています
今回の作業の目的は awsで動かしていた wordpress サイトを さくらかxserverに引っ越そうかなと。
さすがに負荷がないからか速度に顕著な差がありませんでしたが、今後課金プラグインや多言語開発をする予定があるので、XServerにする事にしました
XServer
ssh設定を行う
契約管理ページにログイン後、サーバー管理画面から作業をします
- SSH設定をクリックし、SSH設定をONにし、「設定する」
- 公開鍵認証用鍵ペアの生成をおこなう。パスフレーズは空白でもOK
- 秘密鍵がダウンロードされる。公開鍵がサーバー上に自動でセットされるので便利
- クライアントの.sshフォルダに移動し、configファイルに設定する。portが 10022になるので要注意
Host xserver.jp
User <<サーバーID>>
port 10022
Hostname <<サーバー情報のホスト名を記載>>
IdentityFile <<保存したファイル>>
サーバー上にキーペアーを作成し、git ダウンロードに備える
$ ssh-keygen
$ cat ~/.ssh/id_rsa.pub
サーバーにファイルを置いてブラウザからもアクセスを確認する
$ cd ~/<<初期ドメイン>>/public_html
$ vi index.html
アクセスURL : <<初期ドメイン>>
bitbucketに先ほど作成した公開鍵を登録し、wordperssソースをcloneする
$ mkdir staging
$ cd staging
$ git clone <<bitbucekt ssh url>>
データベースを設定する
サーバー管理からMySQL設定を開き、MySQL追加タブをクリックする
- データベース名を設定
- MySQLユーザー追加に移動して、MySQLユーザーIDとパスワードを設定する
- MySQL一覧から、先ほど追加したMySQLユーザーがアクセス権未所有ユーザーに表示されていることを確認し、「追加」ボタンを押し、アクセス権所有ユーザーとする
WordpressのDB接続情報を更新
以下の環境変数を先ほど設定した情報を元にセットする。
XServerのデフォルトシェルはbashのようなので、.bash_profilercに環境変数を定義します
ログイン時に実行されるのは .bashrcではなく、.bash_profile なので、環境変数は .bash_profile に設定します
export DB_HOST=localhost
export DB_NAME=<<データベース名>>
export DB_USER=<<MySQLユーザーID>>
export DB_PASSWORD=<<パスワード>>
設定後は source ~/.bash_profile で読み込み、環境変数でアクセスをしてみます
$ source ~/.bash_profile
$ mysql -h $DB_HOST -u $DB_USER -p$DB_PASSWORD $DB_NAME
データベース接続に成功したら、wordpressにデータベース情報を設定します。
ここからは、プロジェクト毎に異なりますが、私の流儀として、接続情報を環境変数から取得してwp_homeなど環境毎に異なる設定をenv/config-local.phpにしています。
wordpressは.bash_profileを読まないため、.htaccessに設定するのが便利かと。
- サーバーパネルから .htaccess編集により、編集したいドメインを指定して「選択する」
- 更に、「.htaccess編集」をする
もしくは、vi .htaccessで編集をします
SetEnv DB_HOST localhost
SetEnv DB_NAME <<データベース名>>
SetEnv DB_USER <<MySQLユーザーID>>
SetEnv DB_PASSWORD <<パスワード>>
wordpressのroutingを更新
wordpress は環境変数 WP_HOME, WP_SITEURL を渡すことで、ルートURLを変更することができます。
更に、管理画面 (wp_admin) からパーマリンク設定を保存すると、ルーティングが更新されるので便利。
さくらインターネット
ssh接続情報を取得する
サーバー仮登録のメールに記載の
- FTPサーバー名
- FTPアカウント
- サーバーパスワード
を記録します
ssh接続は
ssh [FTPアカウント]@[FTPサーバー名]
パスワードを求められたら [サーバーパスワード] を入力
サーバー接続
ssh接続後、ルートフォルダで lsコマンドを入力し、サーバー仮登録メール記載のFTP初期フォルダ が存在することを確認
cd [初期フォルダ] で移動後
vi index.html
で `hello'
という記載し、保存。
その後、[FTPサーバー] にアクセスして、 helloと記載したページが見えることを確認
sshキーを登録し、bitbucketに登録
ssh-keygen
で、.ssh 以下に、 id_rsa, id_rsa.pub ファイルを作成
id_rsa.pubの内容をbitbucketやgithub.com のユーザーページから登録する
例: https://bitbucket.org/account/settings/ssh-keys/
web公開フォルダに bitbucketにプッシュしたリポジトリを取得
git clone git@bitbucket.org:[ユーザー名]/[リポジトリ名]
今回は本番環境とステージング環境を作成する予定なので、
% pwd
/home/[username]/www
% mkdir prod
% cd prod
% git clone git@bitbucket.org:[ユーザー名]/[リポジトリ名]
で、コードをクローンした後
[FTPアカウント]/prod/[リポジトリ名]
にアクセス
データベース接続確立エラ-
のページが表示されることを確認
データベースを作成
データベース名と、パスワードを指定する
ユーザー名は[FTPアカウント]で固定の模様
以下の3つを記録します。
- データベースサーバー名
- データベース名
- 接続ユーザー名
- 接続パスワード
wordpressの接続情報をコード等に記載
ここからは、プロジェクト毎に異なりますが、私の流儀として、接続情報を環境変数から取得してwp_homeなど環境毎に異なる設定をenv/config-local.phpにしているのと、データベース操作系のスクリプトが環境変数を使っていることもあるので、以下のファイルに必要な環境変数を記載します
- .cshrc
- .htaccess
wordpressのroutingを更新
wordpress は環境変数 WP_HOME, WP_SITEURL を渡すことで、ルートURLを変更することができます。
更に、管理画面 (wp_admin) からパーマリンク設定を保存すると、ルーティングが更新されるので便利。