Форум программистов, компьютерный форум, киберфорум
Peoples
Войти
Регистрация
Восстановить пароль

Apache+PHP+Python3+MySQL+phpMyAdmin, Установка и настройка, Ubuntu 16.04

Запись от Peoples размещена 16.08.2018 в 15:34
Показов 6256 Комментарии 0

Apache+PHP+Python3+MySQL+phpMyAdmin, Установка и настройка, Ubuntu 16.04

1. Введение

В данной статье будет продемонстрирована установка и конфигурирование вышеуказанной связки. При работе будем пользоваться только менеджером пакетов apt.

Apache - кроссплатформенный веб-сервер. Позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д.

PHP - скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов.

MySQL — свободная реляционная система управления базами данных.

phpMyAdmin — СУБД - приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. PHPMyAdmin позволяет через браузер и не только осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных.

CGI (Common Gateway Interface) — стандарт интерфейса, используемого для связи внешней программы с веб-сервером.

2. Установка

2.1 Установка Apache

Выполним установку apache:
Bash
1
sudo apt-get install apache2
Изменим имя сервера, отредактировав конфигурационный файл apache:
Bash
1
sudo nano /etc/apache2/apache2.conf
Добавим в конец файла:
ServerName 127.0.0.1

2.2 Установка MySQL

Установим MySQL:
Bash
1
sudo apt-get install mysql-server mysql-client
В ходе установки MySQL необходимо указать пароль администратора базы данных (придумайте и введите пароль, он потребуется для входа в БД).

2.3 Установка PHP7

Далее загрузим PHP7 и несколько дополнительных модулей:
Bash
1
2
3
4
sudo apt-get update
sudo apt-get install php7.0
sudo apt-get install php-mbstring php-gettext
sudo apt-get install php-mysql
Включаем PHP7 (делаем версию активной) и перезагружаем apache:
Bash
1
2
sudo a2enmod php7.0
sudo service apache2 restart
Откроем файл конфигурации PHP7:
Bash
1
sudo nano/etc/php/7.0/apache2/php.ini
И раскомментируем(уберём в начале строки ';') в нём строки:
Code
1
2
extension = php_mbstring.dll
extension = php_mysqli.dll
Далее установим соответствующие модули (это понадобится для работы с phpMyAdmin) и перезапустим apache:
Bash
1
2
3
sudo apt-get install php7.0-mbstring
sudo apt-get install php7.0-mysqli
sudo service apache2 restart
2.4 Установка phpMyAdmin

Для установки phpMyAdmin необходимо выполнить:
Bash
1
sudo apt-get install phpmyadmin
Далее следуем появившимся инструкциям.

После завершения установки выполним:
Bash
1
2
3
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin
sudo service apache2 restart
Для проверки работоспособности в адресной строке браузера выполним переход по адресу: [url]http://localhost/myphpadmin[/url]

3. Создание рабочей области и настройка виртуальных хостов

Создадим каталог в котором будет аккумулироваться весть контент доступный apache:
Bash
1
2
mkdir www
mkdir www/site.com
Добавим туда тестовый php-файл, со следующим содержанием:
Bash
1
nano www/site.com/index.php
PHP/HTML
1
<?php echo '<h1>Hello php</h1>'; ?>
Приступим к созданию виртуального хоста и его конфигурации. Копируем файл шаблона и открываем для редактирования:
Bash
1
2
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/site.com.conf
sudo nano /etc/apache2/sites-available/site.com.conf
4. Конфигурация виртуально хоста и подключение Python

Настроим взаимодействие Python и Apache:
Bash
1
2
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork cgi
Далее в файл /etc/apache2/sites-available/site.com.conf добавим следующее:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
    <VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName site.com                                          # имя по которому будем обращаться к содержимому нашего каталога 
    DocumentRoot /home/peoples/www/site.com       # путь в созданный нами каталог с контентом
    <Directory />
    Options FollowSymLinks ExecCGI                         # ExecCGI позволяет apache работать с cgi-скриптами
    DirectoryIndex index.py                                      # для поддержки Python
    AllowOverride All
    AddHandler cgi-script .py                                     # для поддержки Python
    </Directory>                                                     # Далее аналогично
    <Directory /home/peoples/www/site.com>
    Options Indexes FollowSymLinks MultiViews ExecCGI
    AllowOverride All
    DirectoryIndex index.py
    Require all granted
    AddHandler cgi-script .py
    </Directory>
 
    ErrorLog ${APACHE_LOG_DIR}/error.log
 
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
 
    CustomLog ${APACHE_LOG_DIR}/access.log combined
 
    </VirtualHost>
Создадим просто python-скрипт:
Bash
1
nano /home/peoples/www/site.com/sr.py
Python
1
2
3
4
5
6
7
8
#!/usr/bin/python3
print("Content-type: text/html\r\n")
print("")
print("<html><head>")
print(" ")
print("</head><body>")
print("<h1>Hello from Python.</h1>")
print("</body></html>")
Дадим файлу необходимые права:
Bash
1
sudo chmod 777 ~/www/site.com/sr.py
Сохраним все изменения и активируем виртуальный хост, после чего перезапустим apache:
Bash
1
2
sudo a2ensite site.com
sudo service apache2 restart
Теперь необходимо отредактировать файл hosts:
Bash
1
sudo nano /etc/hosts
В первой строке, после localhost, добавим site.com.

Настройка завершена. Для проверки работоспособности переходим по адресу http://site.com/ .

Если возникли какие-либо ошибки, для более подробного ознакомления с ними обратитесь в лог-файлы Apache:
Bash
1
2
3
cat /var/log/apache2/access.log
cat /var/log/apache2/error.log 
cat /var/log/apache2/other_vhosts_access.log
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии
 
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru