他社からさくらのレンタルサーバーに移行する際に躓いたこと
他社からさくらのレンタルサーバーに移行する場合に「あれ?」って思うことを何点かまとめました。実はだいたいさくらのヘルプに記載しているのですが、念のためまとめておきます。目次
PHP関係
さくらのレンタルサーバーはPHP8.0まで使用することができます。(2022年3月現在)いずれはPHP8系にアップする必要がありますが、7.x系と8.x系は特に未定義変数に関してnoticeからwarningに変更されているので、特にプレーンなプログラムを組んでる場合は注意が必要です。
(フレームワークを使ってる人はそのあたりは大丈夫です。FuelPHP以外は…)
php.iniの設定
さくらのレンタルサーバーはphp.iniを直接設定することができるのが便利ですね。「スクリプト設定」ー「PHP.iniファイル設定」からphp.iniの設定ができます。
ただ設定画面にも書いてますがここで設定すると公開領域すべてに反映されるので、もし設定するのであれば個別のフォルダごとにphp.iniを置いた方がよかったりします。
1 2 3 4 5 |
date.timezone = "Asia/Tokyo" cgi.fix_pathinfo = 1 memory_limit = 128M post_max_size = 128M upload_max_filesize = 256M |
私はこんな感じでtimezoneをAsia/Tokyoに設定するのと、アップロードサイズを変更しています。
MySQL関係
さくらのレンタルサーバーはMySQLが標準で利用でき、管理ツールのPHPMyAdminも標準で利用できます。コンパネにリンクが張られているので簡単にアクセスできますね。
作成も簡単で、便利なのですが、実は何点か注意すべき事があります。
データベースごとにユーザーアカウントを作成できない
これは「マネージドプラン」以上はテーブル名=ユーザー名でユーザーアカウントを作成できるのですが、ビジネスプラン以下の場合はユーザーアカウントを1つしか作成できません。ですので本番環境、テスト環境、ステージング環境の3つのデータベースを作りたい場合、ビジネスプラン以下で契約していると、すべて同じユーザーアカウントとなりますので、ご注意ください。
データベース総使用量が決まっている
実はさくらのレンタルサーバーにはプランごとに『総使用量』がきまってますスタンダード | 3GB |
---|---|
プレミアム | 4.5GB |
ビジネス | 8GB |
ビジネスプロ | 12GB |
自動的に振り分けてくれるわけではないので、例えばスタンダードプランで1つのデータベースが2.5GB使っているともう一つは0.5GBしか使えないことになります。
ですので、プランを契約する際は実際にデータベースを使うか、使う場合どれくらいを使用するかをあらかじめ考慮する必要があります。
phpMyAdminのアップロードサイズが32MB
地味に大きな仕様となります。さくらレンタルサーバーでdumpしたファイルをphpMyAdminにアップしようとしてもファイルサイズで弾かれると移行できません。
対応策としては
- zipファイルに圧縮してなんとか32MBに抑える
- phpMyAdminをレンタルサーバー内にインストールしてphp.iniの設定を変更する
前者はテーブルごとに分割したり色々とやらないとダメなのと、それでも収まらない場合があります。
後者はこちらの方が楽かもしれないですが、公開領域に展開するのでBASIC認証やIP制限を.htaccessでかける必要があります。
ドメイン周り
さくらはドメイン管理も行えるので、ドメインをさくらのネームサーバーに設定すれば楽になりますが、元々の設定によっては多少トラブルが発生することがあります。DNSゾーンが既に登録されています
さくらのレンタルサーバーを新しく借りて、使用したいドメインがすでにさくらのDNSでゾーン設定をしている場合、さくらのコンパネからドメインを選択すると「DNSゾーンが既に登録されています」と表示される事があります。サブドメインの場合は大丈夫のようですが、メインのドメインだとレンタルサーバーからDNSゾーンを設定しようとしてすでに存在しているのでエラーが表示されるのかなと思います。
こうなると、さくらの「ネームサーバー設定」から該当するドメインのDNSゾーンを削除し、レンタルサーバーから該当ドメインを付与(ここであらたにDNSゾーンが設定される)することでドメインを設定することができます。
ただあらかじめサブドメインなどをDNSゾーンに設定している場合は、DNSゾーンを削除する前に情報をバックアップする必要があります。(全部消えてしまいますので)
サブドメインを大量に発行している場合はお気をつけください。
無料SSLの設定タイミング
みんな大好きな無料SSL証明書を設定する場合ですが、こちらは- さくらのレンタルサーバーにドメインが設定されている
- ネームサーバーの該当ドメイン(FQDN)がさくらのレンタルサーバーに設定されている
例えばサーバー移行を行う際にあらかじめ有料のSSLを設定していた場合は「秘密鍵」「SSL証明書」「中間証明書」の3ファイルを登録することで、移行前からサーバーにインストール設定が可能ですが、新規で無料SSL証明書を申し込む場合はあらかじめ上記の設定を行う必要があります。
(有料SSLの場合は「さくらのレンタルサーバーにドメインが設定されている」状況であれば先に申し込みができるかもしれないですが)
ですので、サーバー移行後にSSLの手続きを行う必要があるので、多少のタイムラグが発生するのを計算に入れましょう。
ネームサーバー切り替え前にサーバー上で確認する方法
これはさくらのレンタルサーバーに限らず使う方法ではありますが、色々と便利なのでここに記載しておきます。※注意 これはWindowsのhostsファイルを修正するので、社内の情報セキュリティポリシーによっては変更できなかったりするので、環境確認を行ってください。
hostsの場所は[C:\Windows\System32\drivers\etc]にあります(Windows10の場合)
テキストファイルなのでメモ帳で開くことは可能ですが編集する場合は管理者権限が必要となります。
私は「Visual Studio Code」で編集することをおすすめします。
理由としてはhostsをドラッグするだけで開けるのと、編集時に管理者権限で保存してくれるアラートを出してくれるからです。
記述は簡単で
1 |
xxx.xxx.xxx.xxx hogehoge.hoge.co.jp |
このように サーバーのIPアドレスを前に、後ろにドメイン(FQDN)を記述して保存するだけです。
これでchromeだろうがFirefoxだろうがEdgeだろうが、設置したIPアドレスに強制的に指定することができます。
ただし、設定したことを忘れてると実際にネームサーバーで切り替えたかどうかわからないので、確認が終わり次第設定を削除した方がよいと思います。
さくらのレンタルサーバーについて
ここ数年使ってますが、基本的に値段の割に性能が高いのと、ドメインをさくらで管理すると一貫で対応してくれるのでかなりお得だと思います。ただレンタルサーバーではあるのであくまでも小規模~中規模なサイトに限るので、バリバリとアクセスや処理が重い場合は専有サーバーやクラウドサービスで対応すべきかなという感じです。