【Conoha Wing】Webアプリ構築に必要なものをいろいろサーバーにいれる

まぐろさん

Conoha WingLaravelを構築したときに色々入れたのでざっくりメモ

SSHログイン

わかりやすいログイン方法は公式サイトまで

以下、Macで行なった手順

  • サイドバーの「サイト管理」>「SSH」に移動

  • 自動生成タブのまま「保存」ボタンを押す

  • プライベートキーのダウンロードモーダルが出るのでダウンロードする
  • ダウンロードしたファイルを任意の場所に移動して、権限を変更する
mv ~/Downloads/key-2020-12-22-21-26.pem ~/.ssh
chmod 600 ~/.ssh/key-2020-12-22-21-26.pem

keyファイル名はなんでもいいけど、
id_rsa_{サイト名}.pemのようなわかりやすい名前に変えてあげるとベター

  • Conohaサイトに戻り、
    SSHページで追加された行をクリックするとSSH情報がアコーディオンで表示される

  • 上記情報をもとに接続する

ssh {ユーザー名}@{ホスト名} -p 8022 -i {プライベートキーを置いた場所}

例えばユーザー名が「c0000000」、ホスト名が「www000.conoha.ne.jp」、
プライベートキーが「~/.ssh/key-2020-12-22-21-26.pem」の場合下記コマンド

ssh c0000000@www000.conoha.ne.jp -p 8022 -i ~/.ssh/key-2020-12-22-21-26.pem

composerをいれる

  • SSHでログイン後、下記コマンドでcomposerをいれる
curl -sS https://getcomposer.org/installer | php
php  composer.phar -v
  ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.0.8 2020-12-03 17:20:38

Usage:
  command [options] [arguments]

(省略)

本当は/usr/local/binに移動してどこからでも使用できるようにパスを通してあげたいけど
Wingはできないので php composer.phar [option]で実行する

Node.js (npm) をいれる

  • npmコマンドを実行するためにNode.jsを入れる
// インストール用のディレクトリを作る
mkdir ~/node
// 移動する
cd ~/node
// インストール用のファイルをダウンロード
wget https://raw.github.com/dmrub/portable-node/master/bin/install-node.sh
// 権限変更
chmod +x ./install-node.sh
// インストール
sh install-node.sh --version=14.13.1
// パスを通す
cd share/nodejs/node-v14.13.1-linux-x64/bin
chmod +x *
export PATH="$PATH:/home/$USER/node/share/nodejs/node-v14.13.1-linux-x64/bin"
// インストールできてるか確認
npm -v
6.14.8

composerの時と同様、Wingは権限問題があるので、
パッケージを使用してインストールした

メール送信に使用するSMTP情報を確認する

  • サイドバー の「サーバー管理」> 「契約情報」に移動

  • メール/FTP/ネームサーバー情報」をクリックすると
    メール情報がアコーディオンで表示される

これの「SMTPサーバー」をメモ

  • 「メール管理」>「メール設定」に移動

  • 「切り替え」ボタンを押して、SMTPを使用したいドメインを選択する

  • +メールアドレス」でアカウントを追加

  • SMTP情報は下記の通り

ホスト名: 「メール/FTP/ネームサーバー情報」で表示した「SMTPサーバー」
ポート: 587
ユーザー名: アカウント追加で入力した「メールアドレス」
パスワード: アカウント追加で入力した「パスワード」

LaravelのURLからpublicをなくす

  • プロジェクトディレクトリ直下に.htaccessを新規作成
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
       # Options -MultiViews
    </IfModule>

    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} -d [OR]
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ ^$1 [N]

    RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
    RewriteRule ^(.*)$ public/$1

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ server.php
</IfModule>
  • 既存のpublic/.htaccessを編集
<IfModule mod_rewrite.c>
    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Send Requests To Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>