mixhost サーバの引越し

PHP+MySQL のシステムを mixhost へ移行する手順 - レンタルサーバの引っ越し⑤

2017年12月30日

当社では、PHPで自作した勤怠管理システムを使っています。サーバ移行に伴い、このシステムも mixhost へ移行しました。備忘録としてその手順を残しておきます。

 

 

移行元サーバよりPHPファイルをフォルダごとダウンロード

FTPソフト(FFFTPなど)を使って、移行元サーバからPHPのスクリプトファイルが格納されているフォルダをローカルPCにダウンロードします。CSSファイルや画像ファイルなど関連するファイルはすべてダウンロードします。

 

 

移行元サーバのMySQLに格納されているデータをエクスポート

phpMyAdmin を使ってMySQLのデータをエクスポートします。

まずphpMyAdmin にログインし、PHPのプログラムで使用しているデータベースを選択します。

 

 

次に「エクスポート」タブを選択します。デフォルトでチェックされている項目に加えて、「ファイルに保存する」にチェックを入れて「実行する」をクリックすることでエクスポート完了です。

 

 

 

移行先サーバへPHPファイルをフォルダごとアップロード

FTPソフト(FFFTPなど)を使って、移行先サーバにダウンロードさいたファイルをすべてアップロードします。

 

 

移行先サーバのフォルダにアクセス制限を設定

社員専用のシステムなのでアクセス制限の設定をしています。

mixhost の cPanel のメニューから「ディレクトリプライバシー」を選択します。

 

先ほどアップロードしたフォルダを選択すると、そのフォルダのセキュリティ設定画面に遷移します。

 

次に、フォルダのアクセス制限を設定します。ユーザとパスワードによるアクセス制限です。

下図の①でグレーに塗りつぶされている箇所には、選択されたフォルダのパスが表示されています。そのパスをそのまま下図の②「保護されているディレクトリの名前を入力します」欄に入力します。そして、「このディレクトリをパスワード保護します」にチェックを入れて、「保存」ボタンをクリックします。

 

 

保護するディレクトリを設定した後、ユーザー名とパスワードを設定しています。同じ画面を少しスクロールする「とユーザーの作成」欄が出てきます。そこにユーザー名とパスワードを入力します。パスワード生成ツールを使うと簡単に非常に強力なパスワードを設定することができます。ここで設定したユーザー名とパスワードはメモするなどして忘れないようにご注意ください。最後に「保存」ボタンをクリックすることでセキュリティ設定完了です。

 

 

 

移行先サーバのMySQL へインポート

インポートの前に、まず mixhost の cPanel にログインし、データベースを作成する必要があります。ここでは、cPanel の 「MySQLデータベース」 を使ってデータベースを作成する方法をご説明します。「MySQLデータベースウィザード」でも同様のことができます。

 

 

「MySQLデータベース」では、下記の手順で作業します。

  • ①データベースの作成
  • ②ユーザの作成
  • ③データベースにユーザを追加

この3つの作業はすべて「MySQLデータベース」の画面から行なうことができます。1つの作業が終わるごとにスクロールしていくと、次の作業を行なえるようになっています。ではまず、新しいデータベースの作成から見てみましょう。

赤で囲った箇所に新しいデータベースの名前を入力します。分かりやすい名前を付けておくと良いでしょう。グレーで塗りつぶした箇所も含めて、メモしておいてください。この名称はあとで必要になります。「データベースの作成」ボタンをクリックすると新しいデータベースが作成されます。

 

 

続いて、ユーザの作成です。画面を少しスクロールすると下図のようにユーザ名を入力する箇所が出てきます。赤く囲った箇所にユーザー名を入力してください。パスワードは、「パスワード生成ツール」使う便利です。英数記号が混ざった文字列を作ってくれますので、それをパスワードにすることができます。このパスワードも必ず安全な場所にメモしておいてください。もちろん、ユーザ名もグレーで塗りつぶした箇所を含めてメモしておいてください。後ほど必要になります。

 

 

最後に、作成したデータベースにユーザを紐付ける作業になります。さらに画面をスクロールすると下図のようにユーザとデータベースを選択する箇所が出てきます。先ほど作成したものを選択し、追加ボタンをクリックします。

 

 

ユーザをデータベースに追加するにあたり、このユーザにどのような権限を与えるかを決める必要があります。下図の画面で「すべての権限」にチェックをつけ、変更ボタンをクリックすることで権限が付与されます。

 

 

さて、ここまでで、移行元のデータを移行先にインポートするための準備が整いました。あとは、作成したMySQLのデータベースにデータをインポートするだけです。今度は、移行先サーバのphpMyAdminを使ってデータをインポートします。

移行先の phpMyAdmin で先ほど作成したデータベースを選び、「インポート」タブをクリックします。

 

 

次に、「ファイル選択」ボタンをクリックし、移行元のMySQLからダウンロードしたSQLファイルを選択した上で「実行」ボタンをクリックします。

 

 

これで、MySQLのデータ移行は完了です。

 

 

MySQLへの接続情報などを書き換える

PHPのプログラムからMySQLのデータへ接続するための情報がPHPのプログラムのどこかに記載されていると思います。移行先サーバのMySQLに設定したデーベース名、ユーザ名、パスワードで書き換える必要があります。PHPプログラムのどこを修正すれば良いかシステムによって異なりますので、システムを管理している方にご確認ください。

 

 

移行元サーバで PHP のバージョン確認

移行元と移行先の両サーバで PHP のバージョンを合せておく必要があります。まずは、移行元サーバの PHP のバージョンを確認します。PHP のバージョンの確認方法につきましては、このブログの下記の記事をご参照ください。

【PHP】バージョンを確認する方法

 

移行先サーバでPHPのバージョンを設定

mixhost の cPanel で「Select PHP Version」を選択します。

 

下図の通り、PHPのバージョンを選択し、「Set as current」ボタンをクリックします。当社のシステムに関しては、デフォルト設定に加えて「mysql」にチェックを入れてから「保存」ボタンをクリックする必要がありました。mysqlからmysqliへの移行は近々実施する予定です。

 

 

デフォルト設定では動かなかった件については、当ブログの下記の記事をご参照ください。

【PHP+MySQL】mixhost で HTTP ERROR 500 エラーが出た場合の原因について

 

 

動作確認

システム移行先のURLにアクセスすると、ユーザ名とパスワードを求めるポップアップが表示されました。アクセス制御は問題なく設定されているようです。

 

ユーザー名とパスワードを入力することで無事に勤怠システムのログイン画面が表示されました。勤怠システムのログイン画面でユーザ名とパスワードを入力したところ、無事に勤怠システムにログインしてデータの参照/追加/更新/削除をすることができました。これで、PHP+MySQL システムの移行は完了です。

では今回はここまでです。

  • この記事を書いた人
  • 最新記事
社長

社長

8年間の客先常駐を経験後、いったんソフトウェア業界を離れ、事業承継のために再びこの業界に戻ってきた異色のエンジニア。ただ今、SEOやWebマーケティングに注力中。

-mixhost, サーバの引越し

Copyright© コアースのブログ , 2020 All Rights Reserved.