困ったときは凝ったことをせずに、最小限のことでやろうと思いました故。
覚書程度です。
#まずはpip3のインストール
$sudo apt install python3-pip
$pip3 install --upgrade pip
pip自体はpythonで書かれたパッケージの管理システムです。
python2系とpython3系では異なることが多いのでpip(python2用)とpip3(python3用)があります。
今回はpip3の方を使います。
何もない段階でpip3をインストールすると現時点(2017/10/27)ではpython3.5系もインストールされます。
#Djangoのインストール
$pip3 install django
$apt install python-django-common
$django-admin --version
先程いれたpip3を使ってdjangoを入れます。
念のためバージョン確認してきちんと入ってるかを見ておいて下さい。
#apache2のインストール
$sudo apt-get update
$sudo apt-get install apache2
$apt-get install apache2-dev
$systemctl start apache2
apache2とapache2-devをインストールします。apache2-devが無い場合、この後使うmod_wsgiのインストールに失敗するようです。
apache2を起動したらwebブラウザからlocalhostに接続してきちんと表示されていることを確認します。
#mod_wsgiのインストール
$pip3 install mod_wsgi
$sudo mod_wsgi-express install-module
mod_wsgiをインストールします。
mod_wsgiはapacheとpythonを繋いでくれるモジュールです。
おとなしくpipコマンドで入れるのが得策です。
$mod_wsgi-express install-module
でapacheの設定のためのパスが出てきます。
#Djangoのプロジェクトを作成する
$mkdir /home/django
$cd /home/django
$django-admin startproject proj1
今回はこのような環境で行っています。
仮想環境とかでやるのが推奨されているらしいですが...
djangoとかの文字列は好きなように置き換えてもらって構いません。
#apacheとdjangoを結びつける
$vi /etc/apache2/sites-available/django.conf
でdjango.confファイルを作成し、
<VirtualHost *:80>
WSGIDaemonProcess proj1 python-home=/usr python-path=/home/django/proj1
WSGIScriptAlias / /home/django/proj1/proj1/wsgi.py process-group=proj1
<Directory /home/django/proj1/proj1>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
のような内容を書き込みます。各自環境に合わせてください。
$vi /etc/apache2/apache2.conf
ここの設定ファイルの末尾に
$sudo mod_wsgi-express install-module
で現れた文字列を追加しておきます
で最後に
$sudo a2dissite 000-default
$sudo a2ensite django
$systemctl restart apache2
設定ファイルを読み込み、apacheを起動させて終わりです。
設定が無事終わっていれば、localhostに接続したときにIt works!!みたいな表示がされているはずです。
#まとめ
anacondaいれてライブラリを一括にインストールしようとすると余計にめんどくさかった。
機械学習系のライブラリを使いたいけど個別に入れるしかないのかなぁ。。。
[追伸]
It works!!は表示されるけど、このままの状態だとdjangoの初期設定は何もしていないので
http://localhost/admin
は見れてもその先は行けないかと。
とりあえずdjangoの初期DBであるsqlite3とか入れて下さい。