مقالات

آموزش کانفیک Apache و ماژول mod_wsgi برای اجرای Django

ابتدا پکیج های زیر را نصب می کنیم،

برای پایتون نسخه 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

تمام شد. اگر مشکلی در هر کدام از مراحل داشتید در بخش نظرات اعلام کنید تا رسیدگی شود.

امیدوارم همیشه موفق و شاد باشید.
میلاد خوشدل

author-avatar

درباره میلاد خوشدل

کارشناسی رشته مهندسی نرم افزار و کارشناسی ارشد رشته ی معماری کامپیوتر 8 سال تجربه کاری در زمینه امنیت و تست نفوذ و در حال حاضر نیز به عنوان محقق امنیتی در یک شرکت معتبر داخلی مشغول به کار هستم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بیست + هشت =