Django (FreeBSD + Apache + mod_python / mod_wsgi) рдХреЗ рд▓рд┐рдП рд╕рд╛рдЭрд╛ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ

Django рдкрд░ рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛, рдЖрдк рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдЕрдкрдиреЗ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрдврд╝рддреЗ рд╣реИрдВред рдФрд░, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рдХреБрддреНрддреЗ рдХреЛ рдЪрд▓рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВред рдХрд┐рд╕реА рддрд░рд╣ рдареАрдХ рдирд╣реАрдВ? рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ (рдХреБрддреНрддрд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдмреБрд░рд╛ рднреА рдирд╣реАрдВ рд╣реИ)ред рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдмрд╛рд╣рд░ рд╕рд╛рдЭрд╛ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╣реИред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд▓реЗрдЦреЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк httpd-vhosts.conf рдореЗрдВ рдЕрдкрдиреА рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╣рдереМрдбрд╝рд╛ рджреЗрддреЗ рд╣реИрдВред рдФрд░ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЙрд╕ рдкрд░ рдЦреБрд╢реА рднреА рдордирд╛рдИред рд╕рдордп рдмреАрдд рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕реНрдерд╛рдиреАрдп рд╣реЛрд╕реНрдЯ рдкрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдврд╛рдИ рд╕рд╛рдЗрдЯреЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджрд░реНрдЬрдиреЛрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ (рдЫреЛрдЯреЗ рднреА рд╣реИрдВ)ред рдФрд░, рдПрдХ рдмрд╛рд░ рдлрд┐рд░ httpd-vhosts.conf рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕реЛрдЪрдиреЗ рд▓рдЧрддреЗ рд╣реИрдВ рдХрд┐ "рдХреНрдпрд╛ рдХреЛрдИ рд▓рдбрд╝рдХрд╛ рдерд╛?", рдХреНрдпрд╛ рдЖрдкрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╕рд╛рдЗрдЯ рдХреЛ рдмрдирд╛рдпрд╛ рд╣реИ? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдУрд╢реЛрд╕реНрдХрд╛ рдореЗрдВ рдЕрдм рдХреБрдЫ рднреА рдвреВрдВрдврдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рдФрд░ рдЕрдЧрд░ рдЖрдк рдЗрд╕ рдмрд╛рдд рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдзрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ mod_python рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рджреВрд╕рд░рд╛ mod_wsgi рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рддреЛ рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╕ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рдВ, рдФрд░ рдЬреАрд╡рди, рднреА, рджреБрдЦреА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдФрд░ рдЖрдкрдХрд╛ рдХреБрддреНрддрд╛ рджрд░рд╡рд╛рдЬреЗ рдкрд░ рдХреИрд╕реЗ рдЙрджрд╛рд╕ рд╣реИ)ред

рдпрд╣рд╛рдВ рдореИрдВ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреЛ рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП, рдФрд░ рд╕рд╛рде рд╣реА рдЙрдкрд░реЛрдХреНрдд рдореЙрдбреНрдпреВрд▓ (mod_python рдФрд░ mod_wsgi) рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдореИрдВ рдЗрд╕ рдкрд░ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЕрдореЗрд░рд┐рдХрд╛ рдХреА рдЦреЛрдЬ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди, рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рд▓рд┐рдП (рдпрд╛ рдЕрдкрдиреЗ рдХреБрддреНрддреЗ рдХреЗ рд▓рд┐рдП) рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд▓рд╛рдн рдХреЗ рд╕рд╛рде рдЦрд░реНрдЪ рдХрд░реЗрдВрдЧреЗред



рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдореЗрд░реЗ рдПрдХрд▓ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдЕрдВрдд рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред Python 2.7, Django 1.3, рдФрд░ Apache 2.2 рд╡реЗрдм рд╕рд░реНрд╡рд░ FreeBSD 9.0 рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВред рдореЗрд░реЗ рдШрд░ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рджреЛ рддреИрдпрд╛рд░-рд╕реЗ-рдЙрдкрдпреЛрдЧ рд╡рд╛рд▓реА django рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдмрд╛рдд рдЫреЛрдЯреА рд╣реИ - рдЖрдкрдХреЛ рдЕрдкрд╛рдЪреЗ рдФрд░ Django рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЪрдпрди рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдХрдИ django- рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдПрдХ рд╕рд╛рде рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рд╕рд╛рдЭрд╛ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдБ рдореЗрд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЯреНрд░реА рдЯреНрд░реА рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХреА рдЧрдИ рд╣реИ:


рд╕рд░реНрд╡рд░ рдкрд░ Django рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред рдРрд╕реЗ рдХрдИ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВред рд╡рд░реАрдпрддрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЪреБрдирд╛рд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЕрдиреБрднрд╡ рдФрд░ рдордиреЛрд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ, рдЙрд╕рдХреА рдкрд╡рд┐рддреНрд░рддрд╛ рдХреА рдбрд┐рдЧреНрд░реА, рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рд╡рдХреНрд░рддрд╛ / рджреЗрд╡ / рд╣рд╛рде, рд╕рдбрд╝рдХ рдкрд░ рдореМрд╕рдо, рдЖрджрд┐ред рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ, рд╕реНрд╡рд╛рдж рдХрд╛ рдорд╛рдорд▓рд╛ред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╣рд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рдорд░реНрдерди рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рддрд░реНрдХ рд╣реЛрдВрдЧреЗред рдореИрдВ рдмрд╣рд╕ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЙрди рд╕рднреА рдХреЛ рдирд╣реАрдВ рд╕реБрдирдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдореИрдВ рдХреЗрд╡рд▓ рдЙрди рдореЙрдбреНрдпреВрд▓реЛрдВ рдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреВрдВрдЧрд╛ рдЬрд┐рдирдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдмрд╛рддрдЪреАрдд рдХрд░рдиреА рдереАред

рддреБрд░рдВрдд рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рд╕реБрдкрд░рд╕реБрд╕рд░ рдХреА рдУрд░ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реА рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдореЗрдВ рд╕реБ рдпрд╛ рд╕реВрдбреЛ рдЬреИрд╕реА рдХреЛрдИ рдЖрдЬреНрдЮрд╛ рдирд╣реАрдВ рд╣реИред рдХреГрдкрдпрд╛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рдЗрди рдЬрд╛рджреБрдИ рд╢рдмреНрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рди рднреВрд▓реЗрдВ рдЬреЛ рдХрдо рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЦрд╛рддреЗ рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред
рддреЛ рдЪрд▓рд┐рдП!

mod_python


Mod_python рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдЕрдкрд╛рдЪреЗ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ рд╣рдореЗрд╢рд╛ Django рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд╡рд╛рддрд╛рд╡рд░рдг рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ (Django рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рдиреЗ рдЗрд╕ рд╕рдВрдпреЛрдЬрди рдХреЛ рдЕрдкрдиреЗ рдЕрддреНрдпрдзрд┐рдХ рд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕рдорд╛рдЪрд╛рд░ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ)ред рдпрд╣ рдореЙрдбреНрдпреВрд▓ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рдЕрдВрджрд░ рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рд╕рдордп рдкрд╛рдпрдерди рдореЗрдВ рд▓рд┐рдЦреЗ рдХреЛрдб рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рдХреЛрдб рд╕реНрдореГрддрд┐ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдЕрдкрд╛рдЪреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд▓ рд░рд╣реА рд╣реИред рдЕрдкрд╛рдЪреЗ + mod_python рдХрд╛ рдпрд╣ рдЧреБрдЪреНрдЫрд╛ рдЖрдЬ рддрдХ рдПрдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд░рдЦрд╛ рд╣реБрдЖ рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рддреИрдирд╛рддреА рд╡рд┐рдХрд▓реНрдк рд╣реИред рд▓реЗрдХрд┐рди, рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреБрд░рд╛рдирд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди Django 1.5 рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, Django рдХреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░, рдпрд╣ рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рддреИрдирд╛рдд рдХрд░рддреЗ рд╕рдордп, mod_wsgi рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ (рдЬрд┐рд╕ рд╡рд┐рд╖рдп рдкрд░ рд╣рдо рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрд╛рдж рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ)ред

рддреЛ mod_pythonред рдореЙрдбреНрдпреВрд▓ рдЦреБрдж рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдореЗрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╡рд╣рд╛рдВ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
# cd /usr/ports/www/mod_python3 # make install clean 

рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рдореЙрдбреНрдпреВрд▓ Apache рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрдкрдиреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЬреЛрдбрд╝рддрд╛ рд╣реИ - httpd.confред рдпрджрд┐ рдЖрдк httpd.conf рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ "рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рд╡рд╛рд░ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП"), рддреЛ рдкреЛрд░реНрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рд░рдЦреЗрдВред
рдЕрдЧрд▓рд╛, рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП aforementioned httpd.conf рдЦреЛрд▓реЗрдВ (рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ ee рд╕рдВрдкрд╛рджрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдХреБрдЫ рдЕрд▓рдЧ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ vi):
 # ee /usr/local/etc/apache22/httpd.conf 

рдЖрдкрдХреЛ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
  1.  LoadModule python_module libexec/apache22/mod_python.so 

    (рд▓реЛрдбрд┐рдВрдЧ mod_python рдореЙрдбреНрдпреВрд▓ред рдпрд╣ рд╡рд╣ рд▓рд╛рдЗрди рд╣реИ рдЬрд┐рд╕реЗ рдкрд┐рдЫрд▓реЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛)ред
  2.  User www Group www 

    (рдПрдХ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдУрд░ рд╕реЗ рд╕рд░реНрд╡рд░ рдХреЛ рд╢реБрд░реВ рдХрд░рдирд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрднреА-рдХрднреА Apache рдХреЛ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рд╣реЛрддреА рд╣реИрдВ, рдЖрдк рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗред рдпрджрд┐ рдХреЛрдИ рд╣рдорд▓рд╛рд╡рд░ рдЖрдкрдХреЗ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдореЗрдВ рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЗрдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд░реВрдЯ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛!
  3.  ServerName localhost 

    (рд╡реЗрдм рд╕рд╛рдЗрдЯ рдХрд╛ рдирд╛рдоред рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реЛрд╕реНрдЯ рдирд╛рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдПрдХ рдЙрдкрдпреБрдХреНрдд DNS рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди, DNS рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ / etc / рдореЗрдЬрдмрд╛рдиред рджрд░рдЕрд╕рд▓, рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдо рдХрд░реЗрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ ServerName рдореЗрдВ рд╕реНрдерд╛рдиреАрдпрд╣реЛрд╕реНрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рд╣реИред (рд╕реНрдерд╛рдиреАрдп рд╣реЛрд╕реНрдЯ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдЗрд╕ рдкрдВрдХреНрддрд┐ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╡реЗрдм рд╕рд░реНрд╡рд░ рд╕рдВрджрд┐рдЧреНрдз рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдирд┐рд░реНрджреЗрд╢рди рдореЗрдВ рд╣рд░ рдкреБрдирд░рд╛рд░рдВрдн рдкрд░ рдЦрд░реНрд░рд╛рдЯреЗ рд▓реЗрдЧрд╛ред)

рддреБрд░рдВрдд, рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдореИрдВ / etc / рдореЗрдЬрдмрд╛рди рдореЗрдВ рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЬреЛрдбрд╝ рджреВрдВрдЧрд╛ (рдпреЗ рдореЗрд░реА рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдирд╛рдо рд╣реИрдВ):
 127.0.0.1 gallery.ru museum.ru 


рдЕрдм рд╕рд╛рдЭрд╛ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╕реЗрдЯ рдХрд░реЗрдВред рд╕рд╛рдЭрд╛ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрдИ рд╣реЛрд╕реНрдЯ рдирд╛рдо рдПрдХ рд╣реА рдорд╢реАрди рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╕рд░реНрд╡рд░ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдбреЛрдореЗрди рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдлрд┐рд░ рдЙрдкрдпреБрдХреНрдд рдкреГрд╖реНрда рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рд╕реЗрд╡рд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк httpd.conf рдлрд╝рд╛рдЗрд▓ рдореЗрдВ / etc / apache22 / extra / httpd vhosts.conf рд╕рд╣рд┐рдд рд▓рд╛рдЗрди рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реА рд╕рднреА рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдПрдХ httpd-vhosts.conf рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╣реИ)ред рд▓реЗрдХрд┐рди, рдЪреВрдВрдХрд┐ рдПрдХрдорд╛рддреНрд░ рдЕрдкрд╛рдЪреЗ рд╕рд░реНрд╡рд░ рдХрд╛рдлреА рд╣рдж рддрдХ рдЖрднрд╛рд╕реА рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреА рд╕реЗрд╡рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (/ usr / рд╕реНрдерд╛рдиреАрдп / etc / apache22 / рд╢рд╛рдорд┐рд▓) рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдРрд╕реЗ рд╣реЛрд╕реНрдЯ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдпрджрд┐ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдирд┐рд╣рд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рдирд╛рдо рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди .conf рд╣реИ, рддреЛ Apache рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрд╛рдж рдХреЗ рд░рд┐рдмреЛрд░ рдкрд░ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдЧреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рднреАрдбрд╝ рдореЗрдВ рдЦреЛ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЙрди рдирд╛рдореЛрдВ рд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВрдЧреЗ рдЬрд┐рдирдореЗрдВ рдЙрди рдбреЛрдореЗрди рдХрд╛ рдирд╛рдо рд╣реЛрдЧрд╛, рдЬрд┐рдирдХреА рд╡реЗ рд╕реЗрд╡рд╛ рдХрд░реЗрдВрдЧреЗред
рддреЛ, httpd.conf рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдирд┐рдореНрди рдирд┐рд░реНрджреЗрд╢ рдЬреЛрдбрд╝реЗрдВ:
 Include etc/apache22/ Includes/*.conf NameVirtualHost * 

рдлрд┐рд░, рд╢рд╛рдорд┐рд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ, рд╣рдорд╛рд░реЗ рднрд╡рд┐рд╖реНрдп рдХреА рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рдПрдВ:
 # cd /usr/local/etc/apache22/Includes # touch gallery.ru.conf # touch museum.ru.conf 

рдЕрдм рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЬреЛ рдХреБрдЫ рднреА рдмрдЪрд╛ рд╣реИ, рд╡рд╣ рдирдИ рдмрдирд╛рдИ рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЬреЛрдбрд╝рдирд╛ рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ Gallery.ru.conf рдлрд╝рд╛рдЗрд▓ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реВрдБрдЧрд╛:

 <VirtualHost *> ServerName gallery.ru ServerAlias www.gallery.ru ServerAdmin test@test.ru DocumentRoot /home/valera/djcode/gallery <Location "/"> SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE gallery.settings PythonDebug On PythonPath "['/home/valera/djcode'] + sys.path" </Location> <Location "/media/"> SetHandler None </Location> </VirtualHost> <Directory /home/valera/djcode/gallery> Order allow,deny Allow from 127.0. </Directory> 


Museum.ru.conf рдлрд╝рд╛рдЗрд▓ рдФрд░ рдЖрдкрдХреА рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд╕рднреА рдмрд╛рдж рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЙрд╕реА рддрд░рд╣ рднрд░реЗ рд╣реБрдП рд╣реИрдВред Museum.ru рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдореИрдВ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
  <Location "/media/"> SetHandler None </Location> 

рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬрд┐рд╕реЗ рдореИрдВ рдпрд╛рдж рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рддрдХ рдкрд╣реБрдВрдЪ рд▓рд┐рдЦрдиреА рд╣реЛрдЧреА рдЬрд┐рд╕рдореЗрдВ рдЫрд╡рд┐ рдлрд╛рдЗрд▓реЗрдВ, рдЬреЗрдПрд╕-рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдореАрдбрд┐рдпрд╛ рдлрд╝реЛрд▓реНрдбрд░ рд╣реИ)ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореАрдбрд┐рдпрд╛ рдлрд╝реЛрд▓реНрдбрд░ рд╡рд╛рд▓реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ, рдЗрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ:
 # chgrp www media # chmod g+w media 

рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ:
 # /usr/local/etc/rc.d/apache22 restart 

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд▓рд╛рдЗрди рдореЗрдВ рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЧреИрд▓рд░реА.ru рдпрд╛ рдореНрдпреВрдЬрд┐рдпрдо.рдХрд╛ред) рдФрд░ рд╕рдордп рд╡реНрдпрд░реНрде рди рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдирдиреНрджрд┐рдд рд╣реЛрдВ!

MOD_WSGI


Mod_python рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд┐рддрд┐ред рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн mod_python рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рдореЗрдореЛрд░реА рдЦрдкрдд рдФрд░ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рд╣реИ, рд╕рд╛рде рд╣реА рдбреЗрдорди рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рднреА рд╣реИред
рдЕрдм рд╣рдо рдереЛрдбрд╝рд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЕрдиреНрдпрдерд╛ рдирд╣реАрдВ (рд╕рднреА рдЙрддреНрддрд░ рдкрд┐рдЫрд▓реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ), рд▓реЗрдХрд┐рди рдмрд╕ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдХреНрд░рдо рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдЖрджреЗрд╢ рджреЗрдВред
рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рд╕реЗ рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
 # cd /usr/ports/www/mod_wsgi3 # make install clean 

рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП httpd.conf рдЦреЛрд▓реЗрдВ:
 # ee /usr/local/etc/apache22/httpd.conf 

рд╣рдо рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ:
  1.  LoadModule wsgi_module libexec/apache22/mod_wsgi.so 

    (mod_wsgi рдореЙрдбреНрдпреВрд▓ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИред рдкреЛрд░реНрдЯ рд╕реЗ рдореЙрдбреНрдпреВрд▓ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рд▓рд╛рдЗрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред)
  2.  User www Group www 

    (рдПрдХ рдЕрдкреНрд░рднрд╛рд╡рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдУрд░ рд╕реЗ рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рдирд╛)
  3.  ServerName localhost 

    (рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХрд╛ рдирд╛рдо)

рддреЛ, httpd.conf рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдирд┐рдореНрди рдирд┐рд░реНрджреЗрд╢ рдЬреЛрдбрд╝реЗрдВ:
 Include etc/apache22/ Includes/*.conf NameVirtualHost * 

рдкрд┐рдЫрд▓реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП / etc / рдореЗрдЬрдмрд╛рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдПрдХ рд╕реЗ рдПрдХ рд╣реИред рдпрд╣ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реИ:
 127.0.0.1 gallery.ru museum.ru 


рдЗрд╕рдХреЗ рдмрд╛рдж, рд╢рд╛рдорд┐рд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ, рд╣рдорд╛рд░реЗ рднрд╡рд┐рд╖реНрдп рдХреА рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рдПрдВ:
 # cd /usr/local/etc/apache22/Includes # touch gallery.ru.conf # touch museum.ru.conf 

рдЕрдм рдирдИ рдмрдирд╛рдИ рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЬреЛрдбрд╝реЗрдВред рдореИрдВ рдХреЗрд╡рд▓ Gallery.ru.conf рдлрд╝рд╛рдЗрд▓ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реВрдБрдЧрд╛:

 <VirtualHost *> ServerName gallery.ru ServerAlias www.gallery.ru ServerAdmin test@test.ru WSGIScriptAlias / /home/valera/djcode/gallery/mod.wsgi Alias /media/ /home/valera/djcode/gallery/media/ </VirtualHost> <Directory /home/valera/djcode/gallery> Order allow,deny Allow from 127.0. </Directory> 


Museum.ru.conf рдлрд╝рд╛рдЗрд▓ рдФрд░ рдЖрдкрдХреА рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд╕рднреА рдмрд╛рдж рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЙрд╕реА рддрд░рд╣ рднрд░реЗ рд╣реБрдП рд╣реИрдВред Museum.ru рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдореИрдВ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдирд┐рдореНрди рдкрдВрдХреНрддрд┐ рдЗрд╕рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ:
  Alias /media/ /home/valera/djcode/gallery/media/ 

рдпрд╣ рдХреЗрд╡рд▓ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдореЙрдбрд╡реЙрдЧреА рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ:
 # cd /home/valera/djcode/gallery # touch mod.wsgi 

рдпрд╣рд╛рдБ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реИрдВ:
 import os, sys sys.path.append('/home/valera/djcode') os.environ['DJANGO_SETTINGS_MODULE'] = 'gallery.settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler() 


рдореАрдбрд┐рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдпреЛрдЧреНрдп рдмрдирд╛рдПрдВ:
 # chgrp www media # chmod g+w media 

рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ:
 # /usr/local/etc/rc.d/apache22 restart 

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд▓рд╛рдЗрди рдореЗрдВ рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЧреИрд▓рд░реА.ru рдФрд░ Museum.ru рдореЗрдВ) рдФрд░ рдлрд┐рд░ рд╕реЗ рдЖрдирдВрдж рд▓реЗрдВ!


рдкрд┐рдЫрд▓реЗ рдПрдХ



рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдПрдХрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд╛рдо рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдХреЛрдб рдХреА 30 рд╕реЗ рдЕрдзрд┐рдХ рд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдФрд╕рдд рд╣реЛрддрд╛ рд╣реИред рдПрдХ рдЕрдЦрдВрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдЬрдм рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЗрдВрджреНрд░рд┐рдд рд╣реЛрддреА рд╣реИрдВ, рддреЛ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрдкрдХреЛ рд╕рд╛рдЗрдЯ рдкрд░ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рд╛рдЗрдЯреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдКрдкрд░ рдХреЗ рд░рд╛рд╕реНрддреЗ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд▓реЛрдбрд┐рдВрдЧ httpd.conf рдлрд╛рдЗрд▓ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ:
 LoadModule python_module libexec/apache22/mod_python.so LoadModule wsgi_module libexec/apache22/mod_wsgi.so 

рдпрджрд┐ рдЖрдк, рдореЗрд░реА рддрд░рд╣, рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ, рдПрдХ рдирдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЖрдкрдХреЛ рдЬреЛ рднреА рдмрдирд╛рдирд╛ рд╣реИ, рдЙрд╕рдХреЗ рд╕рдорд╛рди рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдЦреЛрдЬреЗрдВред рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдмрджрд▓рддреЗ рд╕рдордп рдЗрд╕реЗ рдХреЙрдкреА рдХрд░реЗрдВред рдФрд░ рдЗрд╕рдореЗрдВ рдкреБрд░рд╛рдиреЗ рд╕рд╛рдЗрдЯ рдХреЗ рд╕рднреА рдирд╛рдореЛрдВ рдХреЛ рдирдП рдХреЗ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВред рд╡рд╣ рд╣реИ:
 # cp old_site.ru.conf new_site.ru.conf # sed тАУi тАУe 's/old_site/new_site/g' new_site.ru.conf 

рдирддреАрдЬрддрди, рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдПрдХ рдирдИ рд╕рд╛рдЗрдЯ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рдареАрдХ рдЙрддрдирд╛ рд╣реА рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ рдЬрдм рддрдХ рдКрдкрд░ рджрд┐рдП рдЧрдП рджреЛ рдЖрджреЗрд╢реЛрдВ рдХреЛ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ (рдпрджрд┐ рдЖрдк mod_wsgi рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореЙрдбрд╡реЙрдЧреА рдлрд╝рд╛рдЗрд▓ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЕрднреА рднреА рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИ)ред

рдпрд╣ рдЗрд╕ рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рд░рд╣рд╛ рд╣реИред рдЖрдкрдХрд╛ рджрд┐рди рд╢реБрдн рд╣реЛ!



рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХреА рдЯреНрд░реЗрди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкреБрд╕реНрддрдХреЗрдВ:

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


All Articles