DjangoとApcheとmysqlで環境構築


Python3とDjangoとApacheとmysqlとCentOSで環境を構築します。
手順はいろいろあると思いますが、素直に一つずつ進めていきます。



OS

Python3のインストール


Pythonは3系を使用します。
2はサポートが終わるそうですし。


python3とpython-develをインストールします。
python-develは後ほどmysqlclientをインストールするために必要なパッケージです。

Djangoのインストール


Djangoはpipを使ってインストールします。
まずはpipをインストールしましょう。


Djangoをインストールします。


本当にインストールされたか不安になった場合は確認してみましょう。

Apacheのインストール


特別なことはしません。
普通にインストールします。


httpd-develはwsgi_moduleをインストールするときに使います。

Mysqlのインストール


mysqlをyumでインストールする前にリポジトリを追加する必要があります。

https://dev.mysql.com/downloads/repo/yum/
から取得してきます。

wgetがない場合はインストールしておきます。


これでmysql8がインストールされます。
mysql5.6,7をインストールしたい場合は
/etc/yum.repos.d/mysql-community.repo
を好みのバージョンをインストールするよう修正します。


pythonからmysqlを操作できるように必要なモジュールをpip3でインストールします。

WSGIのインストール


WSGIはapacheとpythonのやり取りを可能にするためのインターフェースです。
これがないと何もできません。


これでインストールは完了です。
sudo make installの完了後、最後の行に出力される以下の内容を控えます。

プロジェクトを作成


apacheとwsgiの設定が必要ですがまずはプロジェクトを作る必要があります。

好きなパスへ移動します。
ここでは/var/wwwに移動します。

そして以下のコマンドでプロジェクトを作成します。
プロジェクト名はもちろん任意です。
ここでは dpro にしています。

設定


必要なものはすべてそろったので、もろもろの設定に移りたいと思います。

mysql


データベースを作ります。

mysqlを起動します


起動すると/var/log/mysqld.logが作成され、そこに初期パスワードが記載されています。


ログインします。
今回はとりあえずrootをユーザーとして使いましょう。


mysql8では認証方式がcaching_sha2_passwordに変わったようです。
mysqlclientのアクセスが拒否されてしまうみたいです。
セキュリティ的にどうかと思いますが、ここではmysql_native_passwordにしておきます。


データベースを作成します。


名前はdappにしました。

ちなみにdjango applicationを略しました。

分散アプリケーションのdappとは関係ありません。

Djangoの設定ファイル


Djangoプロジェクトを作成したことによってもろもろのファイルが作成されました。

いくつか修正します。

現在は例通りに操舵している場合、現在/var/wwwにいると思います。
配下にdproディレクトリが作成されていると思います。
そしてまたその下にもdproディレクトリが作成されています。


その中のsettings.pyを修正します。
74行目あたりに(Django 3.0.3の場合)データベースに関する設定を定義している変数があります。


これをこうします。

httpd.conf


httpd.confにもいくつか設定を追加します。

動作確認


アプリケーションを作成して動作確認を。


https://docs.djangoproject.com/ja/3.0/intro/tutorial01/
のに書いてある内容を実装してみるのもいいかもしれません。

上に挙げた手順で構築すればプログラムのエラーがあったとしてもDjangoのデバック画面に行くはずです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です