السلام عليكم
اليوم راح اشرح لكم طريقة اعداد السرفر الخاص بك على 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 مكان المشروع اللي موجود ده
بالتوفيق