LoginSignup
0
0

More than 1 year has passed since last update.

ホスティングサービスからOCIへアプリの移行

Last updated at Posted at 2022-05-28

アプリを移行

ホスティングサーバからデータの抜き出し

私は以前より、GMOのロリポップサーバのシェルを使えるプランを利用しているため、今回はサーバのデータをtarで固めてまとめて持ってきたいと思います。
一部のCGIはDBを使っており、ロリポップが標準で準備しているMySQLを使っています。
こちらの移行方法はまだ調べきれていないため、今回はファイルだけ移動してみる事にします。

SSHでログインしてtarで固めます。
image.png

34MB弱になったようです。
image.png

これを一度WinSCPを使ってローカルに持ってきます。
image.png

サーバへデータをアップロード

今度はローカルからOCI上にWinSCPを使って持って行きます。
image.png

OCIのインスタンスのシェルに入って確認するとちゃんとありました。
image.png

ファイルの解凍

tarファイルをここで展開してみます。
image.png
無事に解凍できてはいるものの、当然同じUIDはないのでオーナーが違います。
image.png
ここではオーナーをopcに統一しておきます。
image.png
これでオーナーがopcになりました。

中のファイルのどれが何だったかあまり記憶に無いのでとりあえず、全て/var/www/htmlへ持って行ってみます。

index.htmlも置き換わっているはずなのでブラウザでアクセスしてみます。
image.png
なんと、文字化けしています。

Apacheの文字化け対応

そういえば、昔はほとんどs-jisで書いていたっけ・・・。
どうすれば良いか調べました。

どうも、httpd.confにUTF-8をデフォルトにする記述があるようでそれが影響してHTML内で指定してもヘッダが優先されてしまうようです。

というわけで、httpd.confの対象箇所をコメントアウトしました。
image.png
サービスを再起動しました。
image.png
一応、ヘッダを確認すると無指定になっています。
image.png
無事に表示されました。
image.png

httpd.confを修正し、CGIを使えるようにして確認動作を確認してみます。

ExecCGIを追加しました。
image.png

ブラウザからアクセスすると500エラーになってしまいました。
image.png

PERLそのものが大丈夫かシェルでスクリプトを流してみます。
image.png
Jcode.pmが足りないようです。

Jcode.pmのインストール

AWSもそうでしたが、クラウドは基本的に日本語には優しくないようです・・・
早速、Jcode.pmを入れてみます。
image.png
image.png
結果がFAILになって失敗してるようです。
image.png
//hint//に試してみるようにかいてあるので試してみたところ、CPAN::DistnameInfoが無いと言われているので入れてみます。
入れた後、再度Jcode.pmのインストールを試みるとまたエラーが出たので同様に調べると今度はLWPが無いとか・・・
image.png
なのでLWPを入れます。
image.png

再度、Jcode.pmのインストールを試してみると無事に入りました。
image.png
シェルでPerlスクリプトを動かすと普通に動きました。
image.png
これで無事に動くと思い、ブラウザからアクセスしたところ、また500エラーに。
もしやと思いPERLのパスを見ると
image.png
でした。
ロリポップが/usr/local/bin/perlでしたので、書き換えが必要でした。

こちらを解決すると無事にCGIが動きました。
image.png
・・・がログインするとデータが全く表示されず、いろいろと切り分けをした結果、データ格納ディレクトリのパーミッションの設定に問題があり、修正するとデータが表示されるようになりました。
image.png

以上、アプリがOCI上のインスタンスで動くところまで行きました。
次回はドメイン移行を見据えて、テスト用に一つドメインを取得してこのサーバに紐付けようと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0