ابتدا پکیج های زیر را نصب می کنیم،
برای پایتون نسخه 2
python-pip apache2 libapache2-mod-wsgi
برای پایتون نسخه 3
python3-pip apache2 libapache2-mod-wsgi-py3
در صورتی که خارج از virtual environment مشغول نصب پکیج ها هستید اگر از پایتون نسخه ی 3 استفاده میکنید، به جای pip از pip3 استفاده کنید.
پکیج زیر را نصب کنید.
pip install virtualenv
حالا پروژه را ایجاد میکنیم.
mkdir ~/myproject cd ~/myproject
سپس در داخل پوشه ی پروژه یک virtual environment برای پایتون ایجاد میکنیم.
virtualenv myprojectenv
سپس آن را فعال میکنیم.
source myprojectenv/bin/activate
حال میتوانیم به صورت local پکیج های پایتون را نصب کنیم.
pip install django
حالا وقت ایجاد پروژه است.
django-admin.py startproject myproject .
فایل settings.py را باز نموده و مقدار زیر را به آن اضافه میکنیم.
nano myproject/settings.py STATIC_ROOT = os.path.join(BASE_DIR, "static/")
سپس
cd ~/myproject ./manage.py makemigrations ./manage.py migrate ./manage.py createsuperuser ./manage.py collectstatic
تمام شد، حالا پروژه را اجرا میکنیم.
./manage.py runserver 0.0.0.0:8000
سایت ما از طریق مسیر زیر در دسترس است.
http://server_domain_or_IP:8000
برای اجرا از طریق Apache فایل httpd.conf یوزر خود را به صورت زیر ویرایش میکنیم.
<VirtualHost *:80>
. . .
Alias /static /home/user/myproject/static
<Directory /home/user/myproject/static>
Require all granted
</Directory>
<Directory /home/user/myproject/myproject>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess myproject python-path=/home/user/myproject python-home=/home/user/myproject/myprojectenv
WSGIProcessGroup myproject
WSGIScriptAlias / /home/user/myproject/myproject/wsgi.py
</VirtualHost>
همچنین تغییراتی را در سطح دسترسی فایل دیتابیس SQLite ایجاد میکنیم و در آخر سرویس Apache را ریست میکنیم.
chmod 664 ~/myproject/db.sqlite3 sudo chown :www-data ~/myproject/db.sqlite3 sudo chown :www-data ~/myproject sudo service apache2 restart
تمام شد. اگر مشکلی در هر کدام از مراحل داشتید در بخش نظرات اعلام کنید تا رسیدگی شود.
امیدوارم همیشه موفق و شاد باشید.
میلاد خوشدل