النهارده هنتكلم ازاي تظبط السرفر بتاعك علي digitaocean وتصطب Django + apache
اول حاجه : هتدخل علي موقع Ditial Ocean وتسجل الدخول عادي زي اي موقع
وبعدين تعمل Droplet عليه عليها توزيعه لينكس Debian وبس
وبعدين هتفتح ال termianl او ال Putty علشان نتصل ب السيرفر من علي جهازنا ونحدثه ونصطب كل اللي هنحتاجه
هنكتب الامر ده
ssh root@ip_address
وتكتب طبعا ال ip بتاع السيرفر مكان ال ip address
وبعدين هنحدث السيرفر ونصطب ال apache
sudo apt-get updatesudo apt-get upgradesudo apt-get install apache2sudo apt-get install python-pip python-virtualenv python-setuptools python-dev build-essentialsudo apt-get install libapache2-mod-wsgi-py3sudo apt-get install libapache2-mod-wsgi # if using Python2
هنبدا نصطب دجانجو بقي علي السيرفر ونعمل مشروع دجانجو
sudo pip install virtualenvcd /var/wwwvirtualenv -p python3 .mkdir venv && cd venvpython --version #should return Python 3.4source bin/activate pip install djangodjango-admin.py startproject project_name .mkdir src && cd src python manage.py migratepython manage.py createsuperuser
وبعدين هنظبط المسار بتاع ملفات ال static و ال media
cd /var/wwwmkdir static-root && mkdir media-root
وصلنا بقي لاهم جزء هتكتب الامر ده في ال terminal او ال CMD علشان تفتح ملف الاعدادات بتاع DigitalOcean
sudo nano /etc/apache2/sites-available/000-default.conf
وبعدين هتمسح كل الكلام اللي مكتوب فيه وتكتب انته الكلام ده .. ياريت تنسخ الكلام من هنا يكون افضل وغير project_name ب اسم المشروع بتاعك بالاضافه لاصدار بايثون غيره للاصدار بتاعك ، اصدار بايثون ظهر فوق اول لما عملنا تفعيل للبييه الوهميه
<VirtualHost *:80>ServerName localhostServerAdmin webmaster@localhostAlias /static /var/www/static-root<Directory /var/www/static-root></Directory>Require all granted Alias /media /var/www/media-root</Directory><Directory /var/www/media-root> Require all grantedRequire all granted<Directory /var/www/venv/src/project_name> <Files wsgi.py> </Files> </Directory>WSGIDaemonProcess project_name python-path=/var/www/venv/src/:/var/www/venv/lib/python3.4/site-packagesWSGIProcessGroup 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-datasudo chown www-data:www-data /var/www/venv/srcsudo chown www-data:www-data /var/www/venv/src/db.sqlite3sudo chmod -R 775 /var/www/venv/
اخر تعديل هنفتح ملفات الاعدادات بتاع المشروع بتاعنا ونعدل فيه الحاجات دي
ALLOWED_HOSTS = ['45.79.183.218', 'www.yourdomain.com']STATIC_URL = '/static/'MEDIA_URL = '/media/'STATIC_ROOT = '/var/www/static-root/'MEDIA_ROOT = '/var/www/media-root/'
الاعدادت دي موجوده بس انته هتكتب دي مكانها علشن تسمح لدجانجو انه يتعامل مع ال ip بتاعك بالاضافه لاعدادات ال static & media
بكده يبقي كل الاعدادات مظبوطه هتعمل restart للسيرفر بقي وبعدين تفتح ال ip بتاعك في المتصفح هتلاقي الموقع فتح معاك بصفحه ان دجانجو شغال
sudo service apache2 restart
المقال الجاي ان شاء الله هنتعلم ازاي نرفع المشروع بتاعنا اللي كودناه علي DigitalOcean مكان المشروع اللي موجود ده