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

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

Запись от Peoples размещена 16.08.2018 в 15:34
Показов 6223 Комментарии 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
Комментарии
 
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Video: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru