CentOS7 + Apache2 + Python3 + Django を試す方法を前回と違う方法でやってみました。
CentOS7上でDjangoアプリをApache2上で動かします。
- Apache2をインストールします。
$ sudo su - # yum install -y httpd httpd-devel # systemctl start httpd # systemctl status -l httpd # systemctl enable httpd # systemctl is-enabled httpd
- gcc をインストールします。
# yum install -y gcc
- python3 をインストールします。
# yum install -y python3 python3-devel
- django をインストールします。
# pip3 install django
- django アプリケーションをつくります。
# cd /var/www/ # django-admin startproject mysite # cd mysite # python3 manage.py makemigrations # python3 manage.py migrate ここで、sqlite3のバージョンが古いためにエラーが出た場合は、末尾に書いた手順で sqlite3を最新化します。 # python3 manage.py runserver
- curlコマンドで django アプリケーションにアクセスし、正しく動作することを確認します。
# curl http://localhost:8000/
- mod_wsgi をインストールします。
# pip3 install mod_wsgi # find / -name mod_wsgi /usr/local/lib64/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so # cp -p /usr/local/lib64/python3.6/site-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so /etc/httpd/modules/ # cd /etc/httpd/conf.d/ # vi django.conf ----- LoadModule wsgi_module modules/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so WSGIScriptAlias / /var/www/mysite/mysite/wsgi.py WSGIPythonPath /var/www/mysite/ <Directory /var/www/mysite/mysite> <Files wsgi.py> Require all granted </Files> </Directory> -----
- Apacheを再起動して設定を反映します。
# systemctl restart httpd # systemctl status -l httpd
- curlコマンドで django アプリケーションにアクセスし、正しく動作することを確認します。
# curl http://localhost/mysite
sqlite3 の最新化方法
- 下記サイトにアクセスして最新のソースのURLを取得します。
https://www.sqlite.org/download.html
- ダウンロードして、makeしてインストールします。
$ curl https://www.sqlite.org/2019/sqlite-autoconf-3300100.tar.gz -O $ tar zxvf sqlite-autoconf-3300100.tar.gz $ cd sqlite-autoconf-3300100 $ ./configure $ make $ sudo make install $ sudo find /usr/ -name sqlite3 /usr/bin/sqlite3 /usr/lib64/python2.7/sqlite3 /usr/lib64/python3.6/sqlite3 /usr/local/bin/sqlite3 /usr/local/lib64/python3.6/site-packages/django/db/backends/sqlite3 $ /usr/local/bin/sqlite3 --version 3.30.1 2019-10-10 20:19:45 18db032d058f1436ce3dea84081f4ee5a0f2259ad97301d43c426bc7f3df1b0b $ /usr/bin/sqlite3 --version 3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668 $ sqlite3 --version 3.30.1 2019-10-10 20:19:45 18db032d058f1436ce3dea84081f4ee5a0f2259ad97301d43c426bc7f3df1b0b $ sudo mv /usr/bin/sqlite3 /usr/bin/sqlite3_old $ sudo ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3 $ sudo vi /etc/ld.so.conf.d/sqlite3.conf ----- /usr/local/lib ----- $ sudo ldconfig
参考
- https://qiita.com/dekosuke-menti/items/e416f198980c0fd6e75b
- https://qiita.com/rururu_kenken/items/8202b30b50e3bfa75821
- http://tetsuyai.hatenablog.com/entry/20111201/1324792477
- https://docs.djangoproject.com/ja/3.0/intro/tutorial01/