LoginSignup
24
32

More than 5 years have passed since last update.

UbuntuにApacheとPythonとDjangoを入れようとした話(2)

Last updated at Posted at 2017-10-26

困ったときは凝ったことをせずに、最小限のことでやろうと思いました故。
覚書程度です。

まずは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とか入れて下さい。

24
32
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
24
32