Showing posts with label Apache. Show all posts
Showing posts with label Apache. Show all posts

Friday, May 14, 2010

Activating Apache Mod Rewrite

Ubuntu Apache server дээрх Web Project-доо Rewrite engine ашиглах гэтэл ерөөсөө ажиллахгүй байсан тул энэ алдааг яаж засах талаар жаахан хайгуул хийж шийдлийг олов. Танд ч бас хэрэг болж мэднэ :)

Эхлээд дараах командаар холболт үүсгэнэ.

sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/


sudo gedit /etc/apache2/sites-enabled/000-default

000-default файлыг root эрхээр нээгээд

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
# Commented out for Ubuntu
#RedirectMatch ^/$ /apache2-default/
</Directory>

дээрх агуулга бүхий кодыг олоод AllowOverride хэсгийн ард байгаа None утгыг All болгож өөрчлөөд

sudo /etc/init.d/apache2 restart

командаар server-ээ restart хийхэд асуудалгүй ажиллаж байв :)

Tuesday, March 30, 2010

Python web server суулгах

Ubuntu linux хэрэглэгч бол Localhost дээрээ python вэб сервер ажиллуулах талаар бяцхан тайлбар оллоо. Хэрэг болно байх гэж найдаж байна :)

Юун түрүүнд тооцоолуур дээр тань python суусан байх шаардлагатай. Ubuntu дээр бол цаанаасаа суучихсан ирдэг. Шаардлагатай бол

sudo apt-get install python

Дараа нь Apache сервер суулгасан байх шаардлагтай (Apache mod_python).

Суулгахдаа:

sudo apt-get install libapache2-mod-python

Одоо энэ хэсэгт жаахан анхаарал шаардах тохиргоо хийгдэнэ.

cd /etc/apache2/sites-available/

sudo gedit default

default нэртэй файлыг нээгээд

Options Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all

мөрүүдийг хайж олно(Минийх дээр AllowOverride AuthConfig биш AllowOverride None гэж байсан. Тэр чигээр нь орхих нь зөв болов уу). Харин үүнийг дараах байдалтай болгож өөрчилнө. (Доор нь 3 мөр код нэмж бичнэ)

Options Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all

AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On

болгож өөрчлөөд хадгална. Одоо серверээ ажиллуулж шалгаж үзье.

test.py файлд дараах кодыг бичээд /var/www хавтсанд хадгал. Ерөнхийдөө энэ хавтсанд манай project-ууд хадгалагдана гэсэн үг.

def index(req):
      return "Test successful";

тэгээд цахим хөтөчийхөө(web browser) хаягийн мөрөнд http://localhost/test.py хаягийг өгөөд ажилуулаад үзэхэд "Test successful" тэмдэгт мөр хэвлэгдэж байх ёстой. Тэгвэл бүх ОК гэсэн үг ;)

Зарим тулгарч болох асуудал, түүний шийдлүүд

/var/www хавтасны хандах эрх (permission) тохироогүйгээс файл хадгалах, ажилуулах явцад бэрхшээл учирч болох юм.


sudo chmod -R 777 /var/www

командаар permission-г өөрчлөхөд хангалттай.

Apache mod_python server-ээ зогсоох эхлүүлэхдээ

sudo /etc/init.d/apache2 start

sudo /etc/init.d/apache2 stop

Хэрэв та хүсвэл дурын хавтсыг localhost-оо болгон зааж өгч, тэндээ project-уудаа хадгалахаар тохируулж өгч болно. Жишээ нь $HOME/MyProjects/Python/Web гэдэг ч юм уу.

Үүний тулд:

sudo gedit /etc/apache2/apache2.conf

командаар apache2.conf файлыг нээгээд

Alias /python/ /home/usr/Documents/Host/lab/python/

AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On

/home/usr/Documents/Host/lab/python/-ын оронд өөрийн хүссэн замаа зааж өгнө. Энэ хавтсандаа test.py файлаа хадгалаад ажилуулаад үзэхэд болох учиртай. Амжилт хүсье :)