長いタイトル。
つまりは、現在ご覧頂いているこのブログはXSERVER上にWordPressを構築しtrialanderror.jpのドメインで公開しているわけですが、
今後作ったWebサービスはサブドメインで振り分けて公開していきたいので、その方法をまとめました。という事です。
イメージとしては、こんな感じ↓
メインのブログ:trialanderror.jp
サービス1:webservice1.trialanderror.jp
サービス2:webservice2.trialanderror.jp
・
・
・
手間が掛かるかと思いきや、かなり楽だったので拍子抜け。
とりあえず、サブドメイン上にWebサービスは公開できそうだったので、それまでの手順をメモします。
ちなみにタイトルの通り、WebサービスはPHP(Laravel)で作ります。
前提
WordPressの構築まで完了していること
既に
・XSERVERを契約
・ドメインを取得
・WordPressの構築
は済ましている為、その前提となります。
Tera Termインストール済み
Laravel導入時にTera Termを使用します。
まだの方はここから(窓の社 様)
サブドメインの作成
XSERVERでサブドメインを作るのはとても簡単。
サーバーパネルの「サブドメイン設定」を選択
サブドメインを作るドメインを選択
サブドメイン設定追加を選択
サブドメイン名とコメントを入力して「確認画面へ進む」を選択
無料独自SSLを利用するにチェックを忘れずに。
確認画面で確認後、「追加する」を選択すると、反映待ちになります。
これだけ!
(他のレンタルサーバーもこのくらい簡単なのかな?)
Laravelの導入
サブドメインの作成が完了したので、反映待ちの間にLaravelの導入まで済ませたい。
PHPのバージョンの切り替え
導入するLaravelのバージョンは 5.8とします。
必要なPHPのバージョンは7.1.3以上との事。
バージョンの切り替えが不要の場合はスキップしてください。
スクリーンショットを忘れましたが、初期状態ではPHP 5.6辺りが有効になっていた記憶です。
ということでPHPのバージョンを切り替えます。
と言っても、これもXSERVERのサーバパネルから変更可能です。
サーバパネルのPHP Ver.切替を選択
指定のドメインを選択
切り替えるバージョンを選択して「変更」を選択
以上。
SSHの有効化
次工程でSSHによる作業が必要の為、SSHを有効化します。
サーバパネルのSSH設定を選択
SSH設定タブでONにするを選択し、「設定する」を選択
公開鍵認証用鍵ペアの生成タブでパスフレーズを入力し、「確認画面へ進む」を選択
生成完了時に秘密鍵ファイルが自動でダウンロードされるので、
~/.ssh/辺りに保管しておきましょう。
ちなみにパスフレーズを忘れた場合、再度新しいパスフレーズを入力し「確認画面へ進む」から
秘密鍵ファイルを作成し直す事ができます。
Laravelのインストール
Tera Termを起動してXSERVERにSSH接続。
XSERVER × Tera Term のSSH接続についてはありがたい事に、
公式からマニュアルが出ているので、そちらを利用しましょう。
SSHソフトの設定(Tera Term)
Tera TermでXSERVERにログイン後、
cd ~/bin
任意のフォルダに移動し、
curl -sS https://getcomposer.org/installer | php mv ~/bin/composer.phar ~/bin/composer
composer(パッケージマネージャー)をインストール。
cd ~
ホームに移動し、
php composer.phar create-project "Laravel/laravel=5.8.*"
laravelをインストール。
cd laravel
作成されたlaravelディレクトリに移動し、
chmod -R 777 storage chmod -R 775 bootstrap/cache
パーミッションの設定。
シンボリックリンクの作成
前項でインストールしたlaravelディレクトリにシンボリックリンクを作成します。
cd ~/[ドメイン名]/public_html/
ドメインのpublic_htmlに移動。
mv [サブドメイン名] [サブドメイン名_old]
サブドメインのディレクトリを退避。
ln -s ~/laravel/public ~/[ドメイン名]/public_html/[サブドメイン名]
サブドメイン名でlaravelへのシンボリックリンクを作成。
参考サイトの手順だと、subomain.domain.com/laravel の形でアクセスしないといけなかったので、上記手順を行った。
これでsubdomain.domain.com/にアクセスした時にlaravelの画面が表示される(↓)