見出し画像

とにかくXserverでDjango環境をすぐに構築したい【実用/中級者以上向け】

こんにちは。
考えるところあり、アフェリエイト に挑戦して、
Xserverでレンタルサーバーを契約してWordPressのブログを書いてました。
しかし、そんな簡単に集客できるほど甘いものでもなく、
半年ほどで諦めてしまい、レンタルサーバーを放置していました。

それとは別に、自分のSNSプラットフォームを構築したくなり、replit環境で
Djangoを使用してSNSプラットフォームを開発していました。
どうにか基本機能は実装できたところで、本番環境に移行するには、
replitは意外に費用がかかります。

そこで、ステージング&本番用サーバーをどうしたものかと探していました。
Djangoを簡単にデプロイできて無料で使えるレンタルサーバーは、ありませんでした。
Djangoのレンタルサーバーでは、herokuが有名ですが、無料期間がなく、
まだ、実用でもないのに、契約することを躊躇していました。
そこで、放置していたXserverの自動更新メールが来ました。
しかも1年契約です。これは悔しい。悔しすぎました。
ということで、どうせ使用していない塩漬けしていたレンタルサーバーXserverのWordPress環境を潰してDjango環境を作ってやろうと。

こちらは、ググるとブログでいろいろ設定に挑戦されている方がいましたので、
とても参考になりました。しかし、どうも環境構築からブラウザの接続確認まで解説されているものはありませんでした。
また、当然、Xseverは、Djangoが推奨されているわけでもなく、完全に
自力で環境構築をしなければなりません。なので、皆さん試行錯誤しています。

そこで、こちらのnoteでは、
・数時間でサクッとdjangoが動く環境をレンタルのXserver環境に構築したい。
・しかし、いちいち、人のブログを探してtry&errorしている時間がもったいない。
・とりあえず、Djangoが起動できて、アクセスさえできれば後はどうにか出来る。
 だから、まずは、接続できるところまでさっさと作業したい。
という方のために書きました。
少なくとも下記のような情報
・SSHでターミナル接続
・Djangoの環境設定
・Webサーバーへの設定
・動かすためのTips
を簡潔にまとめていますので、手練れの人は、最短時間で環境を構築できます。
そもそもPython環境インストールできない、su使えないから実行できない、
等の回避方法を探す徒労な時間と労力が嫌いな方向けです。
ちなみに私は、調べながらでサービス稼働とブラウザでの
接続確認まで、丸々2.5人日かかりました。
単価換算すれば、どのくらい無駄か自明です。

ちなみに私の経歴は、古い人間なので、
・VAX/VMSやUNIX関連の開発経験
・得意言語は、c言語。
・金融系トレーディングシステムが得意ドメイン
です。今は、窓際プロマネですが、UNIXコマンドやviは、
普通に使用できるレベルです。
PythonやDjangoは、1ヶ月ほど本とyoutubeを見ただけですが,
どうにかなりました。
Replitなんて、夢のIDE環境ですね。30年前には考えられない環境。

なので、シェルやUNIXが普通に使いこなせる方は、
下記の通り行えば、基本数時間でアクセスできるようになります。
初心者の方は、すぐに理解できないと思いますのでご注意ください。
コマンドでSSH接続しますし、python関連のpip等との作業や、
Webの.htaccess等の説明もしません。Djangoの基本知識があるのも
前提です。settings.pyの内容も同様です。その程度の要素知識は、
既知の前提で記載してます。
なので、少なくとも自力でlinux関連、Webサーバー環境の構築経験者
が前提です。
また、動作保証する内容ではありません。
あくまでも、皆さんが楽をするための情報提供です。

多くの情報は、下記のブログを参考にしました。ありがとうございました。
なので、下記でできる方は、下記でやっみてください。
https://shikaku-mafia.com/django-heroku-to-xserver/

2.5日かけて調べる時間を、安い費用で時間を買うかは、皆さん次第です。
これを課金する方は、技術がある方だと思いますので、
これで動かなくとも、調べれば、すぐに動かすことができると思います。
そして今は、chatGPTもありますので聞いてみてください。
余談ですがヘッダ画像は、bingにpythonの開発プロジェクト用サイトの画像を作って、とお願いしてできた画像です。

さて、では実際に手を動かしましょう。

私の環境は、
・まずXserver。WordPressを使用するためのレンタルサーバーの契約したもの。スタンダードです。
・自宅の機器は、Macbook Air、Mac mini。どちらもインテルMacです。
なので、
teratermではなく、SSHで接続です。teratermでも問題ないです。
まずは、ブラウザでXserverの管理画面にログインしてください。
そして、サーバーIDとサーバー番号を確認してください。

そしてSSH接続する場合は、SSH設定が必要です。
ここは、管理画面から、SSH設定を選択して、メニューの通り、
公開鍵認証用鍵ペアを生成して、keyファイルがダウンロードされます。
そのまま、公開用登録と公開を実施。

そうしたら、.sshフォルダを作成してください。
ダウンロードされたkeyファイルを移動させて、
chmod 600
を設定してください。
.sshフォルダの上の階層で、下記のsshを実行してください。

$ssh -l サーバーID  -i ./.ssh/キーファイル名.key  サーバーID@サーバー番号.xserver.jp -p 10022

なお、ログインするクライアントマシンが複数あるときは、ログイン時に
毎回Keyの生成、公開を行います。
Permission denied が出る場合は、フォルダの位置やパーミッションを確認して、
keyを再設定してください。

初回はECDSA keyを聞かれるので、yesで押下、そのあとは、Key設定した、
文字列を鍵マークで入力すると、ログインできます。

ログインすると/home/ユーザ名
のフォルダに入ります。
Xserverは、OSはUbuntuのようです。unameで確認。
ですので、通常のLinixであれば、Linuxbrewでpythonの各パッケージがインストールできます。
しかし、Xserverのレンタルサーバーは、sudoなど、管理者権限コマンドの使用は不可です。
これが、Django環境構築を難しくしています。
また、他にもインストールしたいパッケージもあるのでbrewがないと不便すぎます。

この後は、Djangoのインストールができるまでに、
いろいろなブログを調べて、環境構築に丸1日。
環境構築後の各種設定確認に丸1日。
動作確認と調整で、0.5日程度の時間を要しました。
関連ブログはそれ程多くなかったのでお時間のある方は、
それでも構築はいずれできますので問題ないと思います。
(私程度の知識でもできたので)

お金で時間を買う方は以降を参考にしてみてください。
sudoが使えず、linuxbrewが使用できないので、以下を使用します。

ここから先は

3,515字 / 3画像

¥ 300

期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?