Crucial Web Hosting
[!訳注]
このページの内容は、日本向けのサービスではないため、日本の方が読む機会はほとんどないと思います。また、 PHP のバージョンなどから判断して、かなり古い情報が書かれているようです。もし読む必要がある場合は、古い情報であることを理解したうえで、適宜読み替えてください。
Crucial Web Hosting は、新しい種類の現代的な web ホスティングプラットフォームで、スピードとサポートに力を入れています。 SSD ドライブ と Litespeed web サーバーを最新の Intel XEON プロセッサ で使用することで、 Grav のパフォーマンスは素晴らしいものになります。 Crucial は、最新リリースの PHP 7.0 を提供しています。
このガイドでは、 Tier-1 Split-Shared ホスティングパッケージを設定しながら、 Grav を最適化して動かすための概要を解説します。
ホスティングプランを決める
Crucial Web Hosting には、2つの主要なオプションがあります。 Spit-Shared と、 Split-Dedicated ホスティングです。Crucial によれば、これらのクラウドベースのオプションは、これまでのホスティングセットアップよりも優れており、より独立した、より良いパフォーマンスを提供します。
Split-Shared ホスティングは、月額 $10 から $100 で、メモリーと SSD 容量で決まります。 Split Dedicated は、月額 $150 から $650 で、コアの数、メモリー、SSD 容量、そして帯域幅により決まります。今回は、ベースラインの月額 $10 オプションを使って、メモリー 266MB 及び SSD 容量 10GB とします。
SSHを有効化
まず、 cPanel の Security セクションにある Toggle SSH Access オプションを開いてください。この SSH アクセスページで、 Enable SSH Access ボタンをクリックします。
それから、 Security Section に戻り、 Manage SSH Keys オプションをクリックします。
ここで、2つの選択肢があります。 新しい鍵を生成するか もしくは 鍵をインポートするか です。公開・秘密鍵のペアをローカルコンピュータで作成し、 DSA パブリックキーをインポートする方が簡単です。
[!Info]
Windows ユーザーは、多くの便利な GNU と Mac や Linux プラットフォームで使える便利なツールを提供するため、まず Cygwin のインストールが必要です。パッケージ選択プロンプトでは、 SSH オプションに確実にチェックを入れてください。インストール後、Cygwin Terminal
を立ち上げてください。
ターミナルウインドウを立ち上げ、次のようにタイプしてください:
ssh-keygen -t dsa
この鍵の生成スクリプトは、いくつかの値を入力させるプロンプトを表示します。デフォルト値を許容できる場合は、 [return]
キーを押すだけでも良いです。このスクリプトは、ホームディレクトリの .ssh/
というフォルダに、 id_dsa
(秘密鍵)と、 id_dsa.pub
(公開鍵)を作成します。プライベートキーを与えたり、どこかにアップロードするようなことは 決してしないでください 。してよいのは、 公開鍵だけです 。
[!訳注]
dsa でのキー生成は、2025年現在では、安全とは言えないような気もします。安全なキー生成の方法を調べてください。
鍵を生成できたら、 SSH Access ページの Import SSH key セクションで、 Public Key
入力欄に id_dsa.pub
パブリックキーの中身を貼り付けできます:
アップロード後、 SSH 鍵管理ページの Public Keys セクションで鍵のリストを確認してください。それから、 Manage をクリックする必要があります。そのキーが認証されたことが確認されます:
これで、サーバーに SSH テストする準備ができました。
ssh crucial_username@crucial_servername
言うまでもなく、 crucial_username
には Crucial から提供されているユーザー名を、 crucial_servername
には Crucial から提供されているサーバー名を入力する必要があります。
PHP の設定
現在の Crucial Web Hosting のデフォルトは PHP 5.3 で、Grav の最低要件を満たしていません。幸運なことに、 Crucial では、最新の PHP 7.0 までサポートしています。より新しいものに PHP バージョンを上げましょう。
これを行うには、 web ルートにある .htaccess
ファイルに特別なハンドラの呼び出しを追記する必要があります。 ~/www/.htaccess
ファイルを作成し、以下を入力してください:
AddHandler application/x-httpd-php70 .php
ファイルを保存してください。 現在の PHP バージョン を確認するために、一時ファイルの ~/www/info.php
ファイルを作成し、次の内容を入力してください:
<?php phpinfo();
ファイルを保存し、ブラウザでサイト内のこの info.php ファイルを表示してください。すると、先ほど選択したバージョンが反映さsれた PHP 情報が表示されるはずです:
[!Info]
もし Grav をホスティングアカウントのルートディレクトリにインストールしている場合、 Add Handler メソッドを Grav から提供されているトップの.htaccess
ファイルに追記する必要があります。
[!Tip]
Grav を実行するときに別の PHP バージョンを選択できます。たとえば PHP 5.6 をx-httpd-php56
によって選択できます。
CLI PHP のセットアップ
このドキュメントを書いている時点では、 Crucial のデフォルト PHP バージョンは 5.3 です。 Grav は PHP 5.5 以上 を必要とするため、 Grav がコマンドライン( CLI )で新しい PHP バージョンを使えるようにする必要があります。そのためには、 SSH でサーバーにアクセスし、新しいシンボリックリンクをあなたのユーザーの bin/
フォルダ内の新しい PHP バージョンに作成してください:
ln -s /usr/local/bin/php-70 ~/bin/php
次に、 .bash_profile
ファイルを編集し、 $HOME/bin
リファレンスを通常の $PATH
文字列の前に追加してください:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$HOME/bin:$PATH
export PATH
プロファイル source が必要です: $ source ~/.bash_profile
もしくは、ターミナルに再ログインし、パスの変更が反映されるようにします。それが終わったら、 php -v
を入力し、確認してください:
php -v
PHP 7.0.1 (cli) (built: Dec 28 2015 17:55:36) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
Grav のインストールとテスト
新しい SSH 機能を使って、(まだ未接続であれば) Crucial サーバーに SSH 接続し、最新バージョンの Grav をダウンロードし、展開し、テストしてみましょう!
/grav
サブフォルダに Grav を展開しましょう。 Grav に直接アクセス可能にするなら、 ~/www/
フォルダのルートに直接 unzip できます。
cd ~/www
wget --no-check-certificate https://getgrav.org/download/core/grav/latest
unzip grav-v{{ grav_version }}.zip
これで、ブラウザで http://mywirenineserver.com/grav
などが表示できるはずです。もちろん、適切な URL にしてください。
ここまでの解説のとおりに進めていただきましたので、 Grav CLI や Grav GPM コマンドも、利用可能です。次のように:
cd ~/public_html/grav
bin/grav clear-cache
Clearing cache
Cleared: cache/twig/*
Cleared: cache/doctrine/*
Cleared: cache/compiled/*
Cleared: cache/validated-*
Cleared: images/*
Cleared: assets/*
Touched: /home/your_user/public_html/grav/user/config/system.yaml