Raspbian. Apache + PHP + Python + MySQL
(на русском языке)
Коротка інструкція встановлення і налаштування 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 — PWM і Сервопривод
- Raspberry Pi — DHT11
- Raspberry Pi - FM Transmitter
- Прошивка AVR мікроконтролерів за допомогою Raspberry Pi
- Raspberry Pi — LCD display 1602
- Raspberry Pi — WiFi
- 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 без клавіатури та монітору
- IR-дистанційне керування. Використання LIRC у Python
- Raspberry Pi. Raspbian. Відправлення пошти через аккаунт Gmail
- Neoway M590 – GSM/GPRS modem
- MPU-6050 – гіроскоп – акселерометр
- HMC5883L Магнітометр
- PWM контролер з інтерфейсом I2С на базі мікросхеми PCA9685
- Метеостанція на Raspberry Pi своїми руками