herokuからxserverにチェンジ!

2021/10/7

前回からherokuのデータベースにデータを追加するところでエラーが出ている。
そこで、herokuのサービスを諦めて新しくレンタルサーバを利用することにする。
使うレンタルサーバは Xserverです。
今回は、xserverの環境構築とデータベース管理のやり方をまとめる。

①xserverでアカウント作成

こちらからアカウント登録を始める。 サーバIDは自分で決めてください。今回はプランはスタンダードで進みました。WordPressは使わない。
そのあとは、アカウント登録。そのまま進んで!

②ssh設定

サーバーパネルに移動。アカウントの中にあるSSH設定を開きonにする。 
公開認証用鍵ペアの生成をする。パスフレーズは自分できめる。
秘密鍵を生成して自分のパソコンにダウンロードする。

③ドメイン設定

サーバパネルに移動。ドメインの中のドメイン設定を選択。ドメイン設定追加で、任意のドメイン名を選択して進む。

④FE File explorer を App Storeから インストール

有料版と無料版がある。有料版は複数のサーバにアクセスできる。今回は無料版で進める。
FEを開いて右上の設定→serverを選択。usernameにサーバーID、passwordを入力。ロケーションは任意の場所に選択。

⑤ターミナルでのssh接続を行う。

参考にしたページは こちら 先ほどダウンロードしたssh接続のkeyを新しいディレクトリを作成し移動する。

mkdir ~/.ssh
mv ~/Downloads/sample.key ~/.ssh/

秘密鍵の名前を変更する。任意の名前で大丈夫。今回は、id_rsa

cd ~/.ssh
mv sample.key id_rsa

.sshディレクトリと秘密鍵のパーミッションを変更する。

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa

ログインする

ssh -l サーバーID -i 秘密鍵ファイル名(id_rsa) サーバーID.xsrv.jp -p 10022
#パスフレーズを求められるので入力しEnter。
Enter passphrase for key 'id_rsa':🔑

⑥ssh接続の簡略化

いちいち上記の長いコマンドを使用して接続するのは面倒なので、これを簡略化する
ターミナルでviコマンドを使う。 viとはLinuxのテキストを編集するときに使うソフトウェアである。 viの基本的な使い方は下記の通りである。

#viを開くとき
vi ~/.zshrc

#viに書き込見たいとき(インサートモード)
i

#viを保存して終わるとき
escキー→Wキー(上書きする場合)→Qキー(quitのQ終わるとき)→Enter

viでonfigファイルを編集する。

vi ~/.ssh/config

viを開いてインサートモードにする。(開いた画面でiを押す。)
下記の写真の通り記入する。白い部分は、自分のサーバーIDを入れる。 記入し終えたら、viを保存して終わる。やり方は上に記載してあるので参考に。
これで、ssh接続したい時は、ターミナルを開いてxserverと打ち、パスフレーズを入れるだけで接続できる。

⑦Linux版のAnacondaをダウンロードし、xserverにアップロード

参考にしたページは こちら pyenvでインストールすることができなかった。Linuxbrewもうまくインストールできなかったので、
Anaconda公式サイトからLinux用のPythonをダウンロードして、xserverにアップロードしインストールする方法で行う。
ダウンロードはこちらから xserverにログインして、トップページに「ファイル管理」があるので開く。
アップロードボタンを押して、先ほどダウンロードしたAnacondaを追加。

⑧ssh接続でanacondaをインストールする。

ターミナルでssh接続する。
下記のコマンドでインストールする。
*自分のダウンロードしたAnacondaのバージョンによって適宜変える。今回はこれ。
sh Anaconda3-2021.05-Linux-x86_64.sh

ライセンスレビュー、ライセンスの承認、インストールディレクトリを聞かれるのでその都度承認する。
ターミナルの自分のxserverの名前の前に(base)となっていればanacondaが機能しているということです! 

⑨pipをインストールする


conda install pip

⑩PATHを通す

viをインサートモードにして、~/.bash_profileの一番下に下記を記入。 

export PATH=/home/サーバ名/anaconda3/bin:$PATH

viを上書き保存して終了する。

⑪.htaccesファイルの作成

自分のサーバーのファイルにpublic_htmlフォルダを作成して、appliというフォルダをさらに作る。
そのフォルダ下に.htaccesファイルを作成。下記を記入。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /サブフォルダ/index.cgi/$1 [QSA,L]

⑫index.cgiのファイルを作成する


#!/home/サーバーID/anaconda3/bin/python
from wsgiref.handlers import CGIHandler
from app import app
CGIHandler().run(app)