Краткая инструкция установки и настройки 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\n\n" 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
Успехов.
Смотри также:- Raspberry Pi — Что это такое?
- Raspberry Pi — GPIO
- Raspberry Pi — UART
- Raspberry Pi — FT232
- Raspberry Pi — ШИМ и Сервопривод
- Raspberry Pi — DHT11
- Raspberry Pi - FM Transmitter
- Прошивка AVR микроконтроллеров с помощью Raspberry Pi
- Raspberry Pi — LCD дисплей 1602
- Raspberry Pi — Wi-Fi
- Raspberry-Pi — I2C (TWI)
- Raspberry Pi - DS18B20
- Raspberry Pi Camera
- nRF24L01+ ATMEGA + Raspberry Pi
- BMP180 + Raspberry Pi + WH1602
- Wi-Fi Метео станция
- Raspbian. Apache + PHP + Python + MySQL
- Устанавливаем Raspbian на Raspberry Pi без клавиатуры и монитора
- ИК-дистанционное управление. Использование LIRC в Python
- Raspberry Pi. Raspbian. Отправка почты через аккаунт Gmail
- Neoway M590 – GSM/GPRS modem
- MPU-6050 – гироскоп – акселерометр
- HMC5883L Магнитометер
- PWM контролер на базе микросхемы PCA9685
- Метеостанция на Raspberry Pi своими руками