Raspbian. Apache + PHP + Python + MySQL


04.08.2015

Краткая инструкция установки и настройки Apache + PHP + Python + MySQL

Перед установкой рекомендую сначала обновить систему:


sudo apt-get update
sudo apt-get upgrade

Apache


sudo apt-get install apache2 -y

После установки проверяем работу через браузер: http://raspberry-pi-ip/

raspberry-pi-ip –Следует изменить на IP адрес вашего Raspberry PI.

Должны увидеть что-то типа:

It works!

Папка сайта: /var/www/

Для того, чтобы в дальнейшем в качестве индексных файлов использовались скрипты, например index.php или index.psp, надо добавить их в конфиг Apache:


sudo nano /etc/apache2/mods-available/dir.conf

Пример:


	<IfModule mod_dir.c>

          DirectoryIndex index.html index.cgi index.pl index.xhtml index.htm index.php index.psp

        </IfModule>

PHP

Устанавливаем PHP и модуль PHP для Apache:


apt-get install php5 libapache2-mod-php5

Устанавливаем модуль для работы PHP с MySQL (если планируете использовать MySQL):


apt-get install php5-mysql

Создаем файл /var/www/index.php :


<?php
  print "PHP is OK";
  phpinfo();
?>

Открываем в браузере: http://raspberry-pi-ip/index.php

Должны увидеть "PHP is OK" и страницу с информацией о PHP.

Apache2 + Python CGI

Для использования Python как CGI корректируем настройки Apache:


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

в секцию


<Directory "/usr/lib/cgi-bin">
...
</Directory>

Добавляем строку: AddHandler cgi-script .py

Пример:


        ...
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all

                AddHandler cgi-script .py
       </Directory>
       ...

Перечитываем конфиг:


sudo service apache2 reload

Скрипты должны быть только в определенной директории: /usr/lib/cgi-bin

Пример скрипта /usr/lib/cgi-bin/hello.py:


#!/usr/bin/env python
print("Content-type: text/html")
print("<h1>Hello World</h1>")

Не забываем добавить атрибут "x":


sudo chmod +x hello.py

Открываем в браузере: http://raspberry-pi-ip/cgi-bin/hello.py

Если все верно сделано, должно работать.

PYTHON как модуль

Установим модуль Python для Apache:


apt-get install libapache2-mod-python

Корректируем гонфиг Apache:


nano /etc/apache2/sites-available/@000-default

Добавляем строки: AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On

Пример:


        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                AddHandler mod_python .py
                PythonHandler mod_python.publisher
                PythonDebug On
        </Directory>        

Перечитываем конфиг:


sudo service apache2 reload

Скрипт /var/www/test.py:


def index(req):
    return """<html>
<head>
<title>Hello Word - First CGI Program</title>
</head>
<body>
<h2>Hello Word! This is my first CGI program</h2>
</body>
</html>"""

Открываем в браузере: http://raspberry-pi-ip/test.py

PSP - Python Server Pages

PSP, на мой взгляд, более приемлемое решение для использования Python с Apache.

Корректируем конфиг Apache:


nano /etc/apache2/sites-available/@000-default

Пример:



        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                AddHandler mod_python .psp
                PythonHandler mod_python.psp
                PythonDebug On
        </Directory>

Перечитываем конфиг:


sudo service apache2 reload

Пример скрипта /var/www/hello.psp:


<%
import time
weekday = time.strftime(`%A`, time.localtime(time.time()))
message = `Hello World! This is a wonderful %s.` % weekday
%>

<html>
<body>
<h1><% req.write("Hello!") %></h1>
<%=message%>
</body>
</html>

http://raspberry-pi-ip/hello.psp

Файлам psp не надо добавлять атрибут "x" как того требуется для cgi - скриптов.

Модули для Python

Если нужно найти модуль к Python ищем следующей командой:


apt-cache search python

Устанавливаем, если нужно модуль для работы с MySQL:


apt-get install python-mysqldb

Успехов.

Смотри также:

Коментарі:

Додати коментар

* - обов'язкові поля

Архіви