カテゴリー
php

xserverでphpのパスを通す方法

環境:

xserver X10プラン

1.ホームディレクトリに「bin」フォルダを作成

mkdir $HOME/bin

2.シンボリックリンクを作成する

例)PHP7.3を指定する場合

ln -s /usr/bin/php7.3 $HOME/bin/php

3.bashrcにパスを通す記述を追記

ファイルを開くコマンドを実行

vi ~/.bashrc

最終行に以下を追加して保存

export PATH=$HOME/bin:$PATH

4.変更内容を反映させる

source ~/.bashrc

5.反映されているかを確認

設定した内容が反映されているか

php -v

で確認します。

カテゴリー
JavaScript

XSERVERにnode.jsをインストールする方法

環境:

Xserver

Mac OS

node.js

nodebrew 11.10.0

npm 6.7.0

前提:

・XserverにSSHで接続できるようにしておく

こちらの記事 を参考にどうぞ。

まず、XserverにSSHでアクセスします。

Xserverのホームディレクトリを確認してみます。

ls -la ~/

lsコマンドで -l(長形式)-a(隠しファイルを含めて全部を表示)オプション付けて、~/ (ホームディレクトリ)を表示します。

ここに .bashrc 隠しファイルがあります。

.bashrc は Windowsでいうところの環境変数の設定をするファイルです。

後ほど、このファイルを編集してパスを通します。

nodebrewをインストールします。

node.jsをインストールする前にまずは、

node.jsのバージョン管理を行なってくれる

nodebrewをインストールします。

wget git.io/nodebrew
perl nodebrew setup

すると、

.nodebrew フォルダが作成されます。

.bashrc ファイルに .nodebrewのパスを通します。

echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bashrc

設定を読み込みます。

source ~/.bashrc

これで、nodebrewコマンドが使えるはずなので、バージョンを確認してみます。

nodebrew -v

バージョンが表示されればOKです。

node.jsをインストールする前に、どんなバージョンがあるか確認します。

nodebrew ls-remote

ずらっと表示されますが、公式サイトで最新版になっている

v11.10.0

をインストールします。

nodebrew install-binary v11.10.0

インストールしたら、使います宣言を忘れずにしておきます。

nodebrew use v11.10.0

以下のコマンドでインストールされているnodebrewのバージョンと現在使用しているnodebrewのバージョンが確認できます。

current: に指定したバージョンが表示されていればOKです。

nodebrew ls

これで、node.jsが使えるようになりましたので、

npm -v

でバージョンが表示されるはずです。

これで npm コマンドが使えるようになったので、あとは自由にインストールなどしていきます。

なお、npmのパスの確認は

グローバルの場合

npm bin -g

ローカルの場合

npm bin

で確認できます。

参考:

Qiita:node.jsのversionを管理するためにnodebrewを利用する

Node.js 公式サイト

カテゴリー
Laravel

Bulmaのハンバーガーメニューが出ない

確認環境

Mac OS

Bulma

Laravel 5.7

XServer

XserverにLaravelをインストールしました。

レスポンシブWebサイトにしたいので、Bulma(ブーマ)を使ってみました。

しかし、navbarのハンバーガーメニューをクリックしてもメニューがなぜか表示されませんでした。

調べてみた結果、公式サイトでは、npmを使ってBulmaのパッケージをインストールすることを推奨しているのですが、私はこの方法でBulmaを使用していないので、どうもそれが原因みたいです。

なので、

以下のように修正してみました。

カテゴリー
Laravel

laravel サーバー(XSERVER)で環境構築方法

確認環境:

laravel 5.7

XSERVER X10プラン

php >= 7.1.3

mysql 5.7

前提

・XSERVERに契約しておく

・サブドメインが使えるよう初期ドメインとは別のドメインを取得しておく。

・ローカルでlaravelが使えるようにしておく。

手順1:SSHを有効にする

XSERVERのサイトにアクセスして、

サーバーパネル ー> ssh設定 を選択する。

SSH を有効にする。

XSERVERはパスワード認証によるSSH接続が利用できません。

なので、公開鍵認証でSSH接続をします。

生成するボタンを押すと、

[サーバーID].key

の秘密鍵ファイルがダウンロードされます。

これは手順4でSSH接続するときに使用します。

手順2:サブドメインの設定

サーバーパネル ー> サブドメイン設定 を選択する。

laravelのプロジェクト名のサブドメインを作る。

例)blog サブドメインを作る。

サブドメイン設定の追加を行うと、サーバー上の「public_html」フォルダ以下にサブドメイン名のフォルダが作成されます。

上記の例の場合、以下にサブドメイン「blog」フォルダが作成されます。

/home/jellyfish000/0jellyfish.xyz/public_html/blog

手順3:PHP 7.1設定

サーバーパネル ー> PHP Ver.切替 を選択する。

現在のバージョンを確認する。

laravel 5.7 は、PHP >= 7.1.3

なので、

要件を満たすように必要に応じてPHPのバージョンを変更します。

例)ドメインをPHP 7.2.6にする。

手順4:SSHでサーバーにアクセスする

ここで、手順1でダウンロードした秘密鍵ファイル名を使います。

<Macの場合>

ホームディレクトリに「.ssh」フォルダを作ります。

mkdir /.ssh

ここに手順1でダウンロードした秘密鍵ファイル名を置きます。

このファイルを適当な名前に変更します。

[サーバーID].key ー> id_xserver_rsa

「.ssh」ディレクトリと秘密鍵のパーミッションを変更します。

chmod 700 ~/.ssh

chmod 600 ~/.ssh/id_xserver_rsa

作成した「.ssh」フォルダに移動します。

cd ~/.ssh

ここまでの準備ができたら、ターミナルでサーバーにアクセスします。

ssh -l [ユーザー名(サーバーID)] -i [秘密鍵ファイル名] [サーバー名] -p[ポート番号]

例)

ssh -l jellyfish000 -i id_xserver_rsa 0jellyfish.xyz -p10022

この後、パスワードを聞かれるので入力する。

macのターミナルなら、パスワードのコピペができます。

ssh の接続に成功したら、

[サーバーID@サーバー番号 〜]$

のプロンプトが表示されます。

ssh を終了するときは、exit と入力します。

<Windowsの場合>

XSERVERのマニュアルを参考に、Tera Termを使ってSSH接続をします。

SSHソフトの設定(Tera Term)

手順5:サーバーでディレクトリを移動する

pwd で、今いる場所を確認。

例)

/home/jellyfish000

ls で、ファイル、フォルダを確認する。

例)

0jellyfish.xyz  Maildir  jellyfish000.xsrv.jp  ssl

のような感じで、表示されます。

上の例では、

・0jellyfish.xyz <--取得したドメイン

・ jellyfish000.xsrv.jp <--初期ドメイン

の2つドメインがあります。

初期ドメインはサブドメインの追加ができないので、

取得した「0jellyfish.xyz」ドメインにlaravel プロジェクトを設定します。

cd 0jellyfish.xyz

で、ディレクトリの移動。

/home/jellyfish000/0jellyfish.xyz

ls すると、「public_html」があるはずなので、

cd public_html

で、

/home/jellyfish000/0jellyfish.xyz/public_html

に移動する。

ここにlaravelをインストールします。

手順6:composerのインストール

laravelを使うためには、composerのインストールが必要です。

Download Composer

ここに記載されているコマンドを実行します。

注意する点は、XSERVERでは

/usr/bin/php7.2

この場所にversion7.2のphpがあります。

なので、以下のようにphpを指定しなおして、コマンドを実行します。

/usr/bin/php7.2 -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" /usr/bin/php7.2 -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" /usr/bin/php7.2 composer-setup.php /usr/bin/php7.2 -r "unlink('composer-setup.php');"

コマンドを実行したら、

/home/jellyfish000/0jellyfish.xyz/public_html

に、composer.phar

ができていることを確認します。

composer -v

を実行して、composerのバージョンが表示されれば

composerのインストールが成功しています。

ローカルも同様にcomposerをインストールします。

手順7:laravelのインストール

composerのインストールが完了したら、

以下のコマンドで、サーバーにlaravelをインストールします。

/usr/bin/php7.2 composer.phar create-project --prefer-dist laravel/laravel [プロジェクト名] "5.7.*"

ここで指定する、プロジェクト名は、上記の手順2で作ったサブドメイン名と合わせてください。

なお、手順2でサブドメインを作った時に、サブドメイン名のフォルダが作成されますが、これは一旦、削除して、laravelをインストールしてください。

このフォルダがあると、laravelをインストールに失敗します。

ローカルも同様にlaravelをインストールします。

手順8:FTPツールでファイル転送

インストールできたら、FTPツールを使って、ローカルにインストールでできたファイル

(「vendor」フォルダ以外)を丸ごと、サーバーにアップロードします。

FTPツールは、macでもwindowsでも使える FileZilla がおすすめです。

サーバー設定 ー> FTPアカウント設定 を選択する。

FTPソフト設定タブ を確認する。

FTPツールの接続設定で、ここらへんの設定を使う。

FTPツールでファイルのアップロードが完了したら、

以下にアクセスして表示の確認する。

http://[プロジェクト名(サブドメイン名)].[ドメイン名]/public

例)

http://blog.0jellyfish.xyz/public/

にアクセスしてください。

以下のような画面が表示されれば、インストールが上手くできてます。

/[ドメイン名]/public_html/[サブドメイン名]

の下に

.htaccessファイルを作成し以下の設定をすれば、

RewriteEngine On
RewriteRule ^(.*)$ public/$1 [QSA,L]

http://blog.0jellyfish.xyz

にアクセスで上記の画面が表示されます。

XSERVERでは、HerokuやGDPのようにデプロイができないので、

こんな感じで、ローカルとサーバーを手動で同期させています。

あとは、ローカルで編集したファイルをFTPツールでサーバーへアップロード

を繰り返し行います。

手順9:データベースの作成

上記の手順で、MVCモデルの「V」と「C」にあたる部分は環境が整いましたので、

あとは、「M」にあたる部分の環境構築として、データベースの設定を行います。

XSERVERのサイトにアクセスして、

サーバーパネル ー> MySQL設定 を選択します。

MySQL追加タブを選択します。

以下の設定を行い、追加するボタンを押します。

データベース名:jellyfish000_blog001

アクセス権所有ユーザ:jellyfish000_wp1

Laravelのプロジェクト名を連想させる名前がよいと思います。

手順10:.envファイルの設定

データベースを作成したら、プロジェクト名フォルダの直下にある「.env」ファイルの

以下の箇所を編集します。

DB_CONNECTION=mysql
DB_HOST=[下記のMySQL5.7 ホスト名]
DB_PORT=3306
DB_DATABASE=[手順9で指定した、データベース名]
DB_USERNAME=[手順9で指定した、アクセス権所有ユーザ名]
DB_PASSWORD=[手順9で指定した、アクセス権所有ユーザの接続パスワード]

ローカルで編集し、FTPツールでサーバーにアップロードします。

手順11:artisan migrateする。

手順4の通り、SSHでサーバーに接続して、laravelのプロジェクトフォルダに移動して、

以下のコマンドを実行します。

/usr/bin/php7.2 artisan migrate

laravelは、データベースの設定を何もしなくても、上記コマンドを実行すると、

デフォルトで以下の3つテーブルが作成されます。

migrations
password_resets
users

なお、

Illuminate\Database\QueryException エラーが出た場合はこちらの記事の対処をしてください。

MySQL5.6だと、以下のエラーが出るようです。

laravel migrate エラー Illuminate\Database\QueryException

手順12:phpMyAdminを確認する。

サーバーパネル ー> phpmyadmin(MySQL5.7) を選択し、

phpMyAdminの画面がでますので、

手順9で設定した、

ユーザ名、パスワード、サーバー名を選択し、実行ボタンを押します。

手順11の3つのデータベースが作成されていれば、成功です。

あとは、laravelで自由に、データベースを操作していきます。