さくらのレンタールサーバの初期設定


自己紹介

こんにちは。
PHPエンジニアとして働いている tyamahori です。
普段はLaravelをメインに開発をしております。 Dockerでのローカル開発環境構築が好きです。

先日にLaravelを使ってメールフォームを作るという案件に携わりました。
そこで得た学習を今回アウトプットしていきたいと思います。

環境

今回の前提条件は以下の通りです。

 項目  サービスなど 備考
サーバー さくらのレンタールサーバ リンク
言語 PHP7.2 リンク
フレームワーク Laravel5.7 リンク
デプロイツール Deployer リンク
メール配信 SendGrid リンク

さくらのレンタールサーバ

ポイント

  1. Nodejsを使いたいならまず使わない
  2. さくらのネームサーバは使わない
  3. 最低限のカスタマイズはする
  4. 良くも悪くも縛りがあることを理解する

Nodejsを使いたいならまず使わない

Gulpやnpmとか使えたら便利じゃないですか。。導入は無理そうなので諦めましょう。。そういう人はVPSなどを使用してください。自分もググって調べて挑戦しましたが、結局はうまく行きませんでした。

さくらのネームサーバは使わない

さくらのレンタルサーバの手順を調べると、ネームサーバを設定する手順があるじゃないですか。。それをやってしまうと後々沼にハマります。よっぽどのことが無い限り、ドメイン会社などのものを利用してください。さくらのものは縛りがあるためです。今回はSendGridを利用し、DNSレコードを編集する作業があったのですが、その設定が反映されませんでした。

最低限のカスタマイズはする

さくらのレンタルサーバのOSってFreeBSDじゃないですか。。しかも初期設定とか癖があるじゃないですか。。最低限使いやすいようにするための設定手順をまとめます。

ログインシェルをbashへ

% chsh -s /usr/local/bin/bash

Composerを導入

$ cd //ホームディレクトリ移動するためのコマンド
$ mkdir -p usr/local/bin/
$ curl -sS https://getcomposer.org/installer | php -- --install-dir=usr/local/bin/

vimの設定を調整

$ cd
$ vim .vimrc

# 以下を記載
set backspace=indent,eol,start
syntax on

.bash_profileを編集

$ cd
$ vim .bash_profile

if [ -f $HOME/.bashrc ]; then
source $HOME/.bashrc
fi

# composerの設定
PATH=$PATH:$HOME/usr/local/bin
alias      php='php -c~/www/php.ini'
alias composer='php -c~/www/php.ini ~/usr/local/bin/composer.phar'

$ source .bash_profile

Gitを導入

デフォルトでGitは入っているものの、いろいろと不都合が起きてしまうため、ソースからインストールをする

$ cd
$ mkdir local
$ mkdir local/src
$ cd local/src
$ wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
$ tar -zxf git-2.9.5.tar.gz
$ cd git-2.9.5
$ gmake configure
$ ./configure --prefix=$HOME/bin
$ gmake all install

パスを通す

$ cd
$ vim .bashrc

# 追加する
PATH=$HOME/local/bin:/home/XXXXX/bin/bin:$PATH

※ XXXXX はアカウント名です。

.htaccessを編集する

httpsを強制する際は以下のようにする。
※設定でHTTPS設定を管理画面などからしてください。

RewriteCond %{ENV:HTTPS} !^on$
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

良くも悪くも縛りがあることを理解する

本当はレンタルサーバーではなく、VPSを使い、自分が思う通りの設定をするべきだと思いました。しかし今回は案件の規模上、レンタルサーバーを使用することになりました。教訓としてはやはり VPSで自分の思うように設定していくのが良い と考えました。