طريقة تشغيل django على سيرفر apache

طريقة تشغيل django على سيرفر apache

السلام عليكم

اليوم راح اشرح لكم طريقة اعداد السرفر الخاص بك على digitaocean وكيف التثبت عليه Django + apache

اول حاجه : هتدخل علي موقع Ditial Ocean وتسجل الدخول عادي زي اي موقع

وبعدين تعمل Droplet عليه عليها توزيعه لينكس Debian وبس

وبعدين هتفتح ال termianl او ال Putty علشان نتصل ب السيرفر من علي جهازنا ونحدثه ونصطب كل اللي هنحتاجه

هنكتب الامر ده

ssh root@ip_address
	

وتكتب طبعا ال ip بتاع السيرفر مكان ال ip address

وبعدين هنحدث السيرفر ونصطب ال apache

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install apache2
sudo apt-get install python-pip python-virtualenv python-setuptools python-dev build-essential
sudo apt-get install libapache2-mod-wsgi-py3
sudo apt-get install libapache2-mod-wsgi # if using Python2
	

هنبدا نصطب دجانجو بقي علي السيرفر ونعمل مشروع دجانجو

sudo pip install virtualenv 
cd /var/www
mkdir venv && cd venv
virtualenv -p python3 .
source bin/activate
python --version #should return Python 3.4
pip install django
mkdir src && cd src
django-admin.py startproject project_name .
python manage.py migrate
python manage.py createsuperuser
	

وبعدين هنظبط المسار بتاع ملفات ال static و ال media

cd /var/www
mkdir static-root && mkdir media-root
	

وصلنا بقي لاهم جزء هتكتب الامر ده في ال terminal او ال CMD علشان تفتح ملف الاعدادات بتاع DigitalOcean

sudo nano /etc/apache2/sites-available/000-default.conf
	

وبعدين هتمسح كل الكلام اللي مكتوب فيه وتكتب انته الكلام ده .. ياريت تنسخ الكلام من هنا يكون افضل وغير project_name ب اسم المشروع بتاعك بالاضافه لاصدار بايثون غيره للاصدار بتاعك ، اصدار بايثون ظهر فوق اول لما عملنا تفعيل للبييه الوهميه

<VirtualHost *:80>
ServerName localhost
ServerAdmin webmaster@localhost
Alias /static /var/www/static-root
<Directory /var/www/static-root>
   Require all granted
 </Directory>
Alias /media /var/www/media-root
<Directory /var/www/media-root>
   Require all granted
</Directory>
<Directory /var/www/venv/src/project_name>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>
WSGIDaemonProcess project_name python-path=/var/www/venv/src/:/var/www/venv/lib/python3.4/site-packages
WSGIProcessGroup project_name
WSGIScriptAlias / /var/www/venv/src/project_name/wsgi.py
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
	

بكده يبقي كل الاعدادات جاهزه ، دلوقتي نعطي الصلاحيات لدجانجو انه يعدل وكده في المسارات بتاع المشروع وانه يعدل في الداتا بيز

sudo adduser $USER www-data
sudo chown www-data:www-data /var/www/venv/src    
sudo chown www-data:www-data /var/www/venv/src/db.sqlite3
sudo chmod -R 775 /var/www/venv/
	

اخر تعديل هنفتح ملفات الاعدادات بتاع المشروع بتاعنا ونعدل فيه الحاجات دي

ALLOWED_HOSTS = ['45.79.183.218', 'www.yourdomain.com']
STATIC_URL = '/static/'
STATIC_ROOT = '/var/www/static-root/'
MEDIA_URL = '/media/'
MEDIA_ROOT = '/var/www/media-root/'
	

الاعدادت دي موجوده بس انته هتكتب دي مكانها علشن تسمح لدجانجو انه يتعامل مع ال ip بتاعك بالاضافه لاعدادات ال static & media

بكده يبقي كل الاعدادات مظبوطه هتعمل restart للسيرفر بقي وبعدين تفتح ال ip بتاعك في المتصفح هتلاقي الموقع فتح معاك بصفحه ان دجانجو شغال

sudo service apache2 restart
	

المقال الجاي ان شاء الله هنتعلم ازاي نرفع المشروع بتاعنا اللي كودناه علي DigitalOcean مكان المشروع اللي موجود ده

بالتوفيق

2020-08-08