Ubuntu 12.04 рд╕рд░реНрд╡рд░ рдкрд░ Apache2 рдХреЗ рддрд╣рдд рдЕрдЬрдЧрд░ 3.3 рдХреЗ рд╕рд╛рде Django 1.6 рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛

рджрд┐рди рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдордп рд╣реИ!
рдЕрдкрд╛рдЪреЗ рдХреЗ рд▓рд┐рдП PHP рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдкрд░ Django рд╕рдорд░реНрдерди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рд╕рдмрдХреБрдЫ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЪрд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рддреАрд╕рд░реЗ рдкрд╛рдпрдерди рдХреЗ рд╕рдорд░реНрдерди рд╕реЗ рдлрд╝реНрд░реАрдорд╛рд░реНрдХ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдлрд┐рд░ рд╕рддрд╣ рдкрд░ рдиреБрдХрд╕рд╛рди рд╣реЛрдиреЗ рд▓рдЧреЗред

рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛:


рджрд░рдЕрд╕рд▓, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рддреАрд╕рд░реЗ рдмрд┐рдВрджреБ рдХреЗ рдХрд╛рд░рдг, рдореБрдЭреЗ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдмрд╛рдж рдореЗрдВ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ

рдореБрдЭреЗ рддреБрд░рдВрдд рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ apache2 рдФрд░ PHP рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд░реНрд╡рд░ рдкрд░ рд╣реИрдВред рд╣рдо рдХреЗрд╡рд▓ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред

рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдЕрдЬрдЧрд░ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ - 3.3 (рдпрд╣ рд╕рд░реНрд╡рд░ рд╢реИрдХреНрд╖рд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдмрд╣реБрдд рдирд╡реАрдирддрдо рд╕реЗ рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ), рд▓реЗрдХрд┐рди рдЙрдмрдВрдЯреВ 12.04 рдореЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдЖрдк рдХреЗрд╡рд▓ 3.2 рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдпрд╛ рднрдВрдбрд╛рд░ рдЬреЛрдбрд╝реЗрдВ:
sudo add-apt-repository ppa:fkrull/deadsnakes sudo apt-get update 

рдЕрдЬрдЧрд░ 3.3 рдФрд░ рдЕрдЬрдЧрд░ 3.3 рджреЗрд╡ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ (рд╣рдореЗрдВ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж mod_wsgi рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА):
 sudo apt-get install python3.3 sudo apt-get install python3.3-dev 

рдЕрдЧрд▓рд╛ рдХрджрдо mod_wsgi рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИ, рдпрд╣ рдЕрдЬрдЧрд░ рдФрд░ рдЕрдкрд╛рдЪреЗ рдХреЗ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдПрдкреНрдЯреАрдЯреНрдпреВрдб рдХрдорд╛рдВрдб рдкрд░ рдЙрдкрд▓рдмреНрдз рд╡рд┐рддрд░рдг рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг 3.3 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореЙрдбреНрдпреВрд▓ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдмрд╕ рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп рдирдП рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдЕрдЬрдЧрд░ рдХреЛ рдкрддрд╛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:
 hg clone https://code.google.com/p/modwsgi/ cd ./modwsgi/mod_wsgi ./configure --with-python=/usr/bin/python3.3 make sudo make install 

рдЕрдм Django 1.6 рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд╕реНрдерд╛рдкрдирд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрд╕реНрдХрд░рдг 1.3 рд╣реИ, рдЬреЛ 1.6 рд╕реЗ рдмрд╣реБрдд рдХрдо рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЬрдЧрд░ 3 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рд╣рдо рдЗрд╕реЗ рдПрдХ рд╕реАрдзреА рд░реЗрдЦрд╛ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ:
 wget https://www.djangoproject.com/download/1.6/tarball/ tar xzvf index.html cd Django-1.6 sudo python setup.py install 

рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЕрдм рд╣рдордиреЗ рдЕрдкрд╛рдЪреЗ рдХреЛ рдкреНрд░реАрдЗрдВрд╕реНрдЯреЙрд▓реНрдб рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЕрдВрддрд┐рдо рдкрд╛рдпрдерди, django рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдФрд░ рдЕрдм рд╣рдореЗрдВ рдмрд╕ рдпрд╣ рд╕рдм рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдФрд░ рдПрдХ django рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВ:
 mkdir -p ~/public_html/domain1.com cd ~/public_html/domain1.com django-admin.py startproject MyProject 


рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдФрд░ WSGI рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ

рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдмрдирд╛рдПрдБ:
 sudo nano /etc/apache2/sites-available/domain1.com 

рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
 <VirtualHost *:80> ServerName domain1.com ServerAlias www.domain1.com WSGIScriptAlias / /home/username/public_html/domain1.com/MyProject.wsgi </VirtualHost> 

рдПрдХ WSGI рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:
 nano ~/public_html/domain1.com/MyProject.wsgi 

рд╣рдо рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
 import os import sys sys.path.append('~/public_html/domain1.com/') os.environ['DJANGO_SETTINGS_MODULE'] = 'MyProject.settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler() 


рдЕрдкрд╛рдЪреЗ рд╕реЗрдЯрдЕрдк

рдЕрдм рдЖрдкрдХреЛ httpd.conf рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
 sudo nano /etc/apache2/httpd.conf 

рд╣рдо рдЗрд╕рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
 LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so WSGIScriptAlias / /home/username/public_html/domain1.com/MyProject/MyProject/wsgi.py WSGIPythonPath /home/username/public_html/domain1.com/MyProject <Directory /home/username/public_html/domain1.com> <Files wsgi.py> Order deny,allow Require all granted </Files> </Directory> 

рд▓рдЧрднрдЧ рдХрд┐рдпрд╛ рд╣реБрдЖ

рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдЪрд╛рд▓реВ рдХрд░реЗрдВ, Apache рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ:
 sudo a2ensite domain1.com sudo service apache2 restart 

рдЕрдм рдЖрдкрдХреА рдирдИ рд╕рд╛рдЗрдЯ рд╢реБрд░реВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рдЖрдкрдХреЛ рдЦреБрд╢реА рд╕реЗ рд╕реВрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐: "рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛!", рдФрд░: "рдмреЗрд╢рдХ, рдЖрдкрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрднреА рддрдХ рдХреЛрдИ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдРрдк рд╢реБрд░реВ рдХрд░реЗрдВ рдЕрдЬрдЧрд░ рдкреНрд░рдмрдВрдзрди рдУрд░реЗрдХрд▓ рд╢реБрд░реВ рдХрд░реЗрдВ [appname]ред "ред

рд╡рд╣ рд╕рдм рд╣реИ! рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рдореЗрд░реЗ рдореБрдХрд╛рдмрд▓реЗ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдХрд┐рдпрд╛ рд╣реИред рдПрдХ рдЕрдЪреНрдЫрд╛ рдХреЛрдбрд┐рдВрдЧ рд╣реИ!

Source: https://habr.com/ru/post/In201644/


All Articles