Установка веб-сервера Apache, MySQL, PHP, phpMyAdmin на Windows 10
У вас на этой странице три возможных пути: послушать хорошую музыку, посмотреть видео или читать мозголомно-ядерную статью об установке веб-сервера Apache, MySQL, PHP, phpMyAdmin на Windows 10. Выбирайте любое!
Музыка:
Видео:
Читать и плакать:
Подготовка – скачать: Apache, PHP, MySQL, phpMyAdmin
1 Apache: https://www.apachelounge.com/download/
2 PHP (Thread Safe): https://windows.php.net/download/
3 MySQL Community Server: https://dev.mysql.com/downloads/mysql/
4 phpMyAdmin: https://www.phpmyadmin.net/
5 Microsoft Visual C++ 2005-2008-2010-2012-2013-2019 Redistributable Package x86 & x64:
2 PHP (Thread Safe): https://windows.php.net/download/
3 MySQL Community Server: https://dev.mysql.com/downloads/mysql/
4 phpMyAdmin: https://www.phpmyadmin.net/
5 Microsoft Visual C++ 2005-2008-2010-2012-2013-2019 Redistributable Package x86 & x64:
http://forum.oszone.net/thread-145766.html
Создание структуры веб-сервера
В корне диска (C:) создать каталог Server. В каталоге создаем 2 подкаталога: bin (Apache, PHP, MySQL) и data (сайт и база данных).
В каталоге data создаем две папки: DB (здесь будут храниться базы данных), htdocs (для нашего сайта).
Установка Apache
Распаковываем файлы Apache (из архива httpd-2.4.39-win64-VC15.zip) в C:\Server\bin\ только каталог Apache24.
Переходим в каталог C:\Server\bin\Apache24\conf\ и открываем файл httpd.conf.
Меняем:
Define SRVROOT "c:/Apache24" --> Define SRVROOT "C:/Server/bin/Apache24"
#ServerName www.example.com:80 --> ServerName localhost
DocumentRoot "${SRVROOT}/htdocs" --> DocumentRoot "C:/Server/data/htdocs/"
<Directory "${SRVROOT}/htdocs"> --> <Directory "C:/Server/data/htdocs/">
DirectoryIndex index.html --> DirectoryIndex index.php index.html index.htm
Там, где:
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
AllowOverride None --> AllowOverride All
Require all denied --> #Require all denied
#LoadModule rewrite_module modules/mod_rewrite.so --> LoadModule rewrite_module modules/mod_rewrite.so
Клавиши (Win+X). Выбор Windows PowerShell (администратор).
$ C:\Server\bin\Apache24\bin\httpd.exe -k install
$ C:\Server\bin\Apache24\bin\httpd.exe -k start
В веб-обозревателе набираем: http://localhost/. Apache работает. В каталоге c:\Server\data\htdocs\ нет ни одного html-файла.
Установка и настройка MySQL
В каталог bin распаковываем файлы MySQL (из архива mysql-8.0.16-winx64.zip). Переименовываем папку mysql-8.0.16-winx64 переименовать в mysql-8.0. Заходим в эту папку и создаём там файл my.ini Открываем этот файл любым текстовым редактором.
Добавьте туда следующие строки:
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
datadir="C:/Server/data/DB/data/" <-------------------можно одну строку
default_authentication_plugin=mysql_native_password
Выполняем инициализацию и установку:
$ C:\Server\bin\mysql-8.0\bin\mysqld --initialize-insecure --user=root
$ C:\Server\bin\mysql-8.0\bin\mysqld --install
$ net start mysql
В каталоге C:\Server\data\DB\data\ должны появиться автоматически сгенерированные файлы и служба MySQL будет запускаться при каждом запуске Windows.
Установка и настройка PHP
В папке C:\Server\bin\ создаём каталог PHP и копируем в него содержимое архива (php-7.3.5-Win32-VC15-x64.zip).
В файле C:\Server\bin\Apache24\conf\httpd.conf в самый конец добавляем строчки:
PHPIniDir "C:/Server/bin/PHP/"
AddHandler application/x-httpd-php .php
LoadModule php7_module "C:/Server/bin/PHP/php7apache2_4.dll"
Перезапускаем Apache:
$ C:\Server\bin\Apache24\bin\httpd.exe -k restart
В каталоге C:\Server\data\htdocs\ создаём файл i.php
Копируем в этот файл:
<?php
phpinfo ();
?>
В браузере открываем ссылку http://localhost/i.php. PHP работает.
Настройка PHP проходит в файле php.ini. Берем php.ini-development и задаем новое имя php.ini (прежде сделав резервную копию файла php.ini-development).
Открываем файл php.ini ищем строчку:
; extension_dir = "ext" меняем на extension_dir = "C:\Server\bin\PHP\ext\"
Найти группу строк:
;extension=bz2
;extension=curl
;extension=fileinfo
;extension=gd2
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=interbase
;extension=ldap
;extension=mbstring
;extension=exif ; Must be after mbstring as it depends on it
;extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
;extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop
Заменить на:
EXTENSION=bz2
EXTENSION=ftp
EXTENSION=CURL
EXTENSION=FILEINFO
EXTENSION=GD2
EXTENSION=GETTEXT
EXTENSION=GMP
EXTENSION=INTL
EXTENSION=IMAP
EXTENSION=INTERBASE
EXTENSION=LDAP
EXTENSION=MBSTRING
EXTENSION=EXIF ; MUST BE AFTER MBSTRING AS IT DEPENDS ON IT
EXTENSION=MYSQLI
EXTENSION=OCI8_12C ; USE WITH ORACLE DATABASE 12C INSTANT CLIENT
EXTENSION=ODBC
EXTENSION=OPENSSL
EXTENSION=PDO_FIREBIRD
EXTENSION=PDO_MYSQL
EXTENSION=PDO_OCI
EXTENSION=PDO_ODBC
EXTENSION=PDO_PGSQL
EXTENSION=PDO_SQLITE
EXTENSION=PGSQL
EXTENSION=SHMOP
Раскомментировать группу строк:
;extension=php_soap.dll
;extension=soap
;extension=sockets
;extension=sqlite3
;extension=tidy
;extension=xmlrpc
;extension=xsl
Должно получиться:
extension=soap
extension=sockets
extension=sodium
extension=sqlite3
extension=tidy
extension=xmlrpc
extension=xsl
Перезапускаем Apache:
$ C:\Server\bin\Apache24\bin\httpd.exe -k restart
Или в окне "Выполнить" набираем: services.msc ----> перезапускаем Apache2.4
Если ошибка: Компьютер - Управление - Просмотр событий - Журнал Windows - Приложение. Анализируем ошибку и исправляем. Вернитесь к редакрированию расширений и убирайте по одному (;) затем перезапуск Apache: набираем: services.msc ----> перезапускаем Apache2.4
Установка и настройка phpMyAdmin
В каталог C:Server\data\htdocs копируем содержимое архива phpMyAdmin-4.8.5-all-languages.zip. Переименовываем phpMyAdmin-4.8.5-languages в phpmyadmin.
В каталоге C:Server\data\htdocs\phpmyadmin создаём файл config.inc.php и копируем:
<?php
/* Servers configuration */
$i = 0;
/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['nopassword'] = true;
$cfg['Servers'][$i]['AllowNoPassword'] = true;
/* End of servers configuration */
$cfg['blowfish_secret'] = '4c525c652d3f54.24302686';
$cfg['DefaultLang'] = 'ru';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>
Перезапускаем Apache:
$ C:\Server\bin\Apache24\bin\httpd.exe -k restart или services.msc ----> перезапускаем Apache2.4
Набираем http://localhost/phpmyadmin/
Имя пользователя вводим root. Поле пароля оставляем пустым.
Использование сервера и бэкап данных
В каталоге C:\Server\data\htdocs\ создавайте папки и файлы, например:
C:\Server\data\htdocs\test\ajax.php – этот файл, будет доступен по адресу http://localhost/test/ajax.php и т.д.
Для создания полного бэкапа всех сайтов и баз данных достаточно скопировать каталог C:\Server\data\.
Перед обновлением модулей, делайте бэкап папки bin – в случае возникновения проблем, можно будет легко откатиться к предыдущим версиям.
При повторной установке сервера или при его обновлении, необходимо заново настраивать конфигурационные файлы. Если у вас есть копии этих файлов, то процесс можно значительно ускорить. Желательно забэкапить следующие файлы:
C:\Server\bin\Apache24\conf\httpd.conf
C:\Server\bin\mysql-8.0\my.ini
C:\Server\bin\PHP\php.ini
C:\Server\data\htdocs\phpMyAdmin\config.inc.php
В них хранятся все настройки.
Дополнительная настройка PHP
При решении многих задач можно упереться в ограничения, установленные в настройках. Эти настройки содержаться
в файле php.ini (C:\Server\bin\PHP\php.ini) Рассмотрим некоторые из них:
memory_limit = 128M
Устанавливает максимальное количество памяти, которое может использовать скрипт.
---
post_max_size = 8M
Устанавливает максимальное количество данных, которые будут приняты при отправке методом POST.
---
;default_charset = "UTF-8"
Устанавливает кодировку (по умолчанию, строка закомментирована).
---
upload_max_filesize = 2M
Максимальный размер загружаемого на сервер файла. Изначально установлен очень маленький размер – только два мегабайта. Например, при загрузке базы данных в phpMyAdmin, не получится загрузить файл больше 2 мегабайт до тех пор, пока не будет изменён этот пункт настройки.
---
max_file_uploads = 20
Максимальное количество файлов для загрузки за один раз.
---
max_execution_time = 30
Максимальное время выполнения одного скрипта. Менять эти настройки необязательно, но полезно о них знать.
Создание собственного сайта
Совственно, с этого момента (ссылка) вы можете посмотреть как создать сайт на локальном диске.
Получить Wordpress здесь: https://ru.wordpress.org/download/
Вход в админ панель: http://localhost/oleglav.com/wp-login.php
Пока!
В корне диска (C:) создать каталог Server. В каталоге создаем 2 подкаталога: bin (Apache, PHP, MySQL) и data (сайт и база данных).
В каталоге data создаем две папки: DB (здесь будут храниться базы данных), htdocs (для нашего сайта).
Установка Apache
Распаковываем файлы Apache (из архива httpd-2.4.39-win64-VC15.zip) в C:\Server\bin\ только каталог Apache24.
Переходим в каталог C:\Server\bin\Apache24\conf\ и открываем файл httpd.conf.
Меняем:
Define SRVROOT "c:/Apache24" --> Define SRVROOT "C:/Server/bin/Apache24"
#ServerName www.example.com:80 --> ServerName localhost
DocumentRoot "${SRVROOT}/htdocs" --> DocumentRoot "C:/Server/data/htdocs/"
<Directory "${SRVROOT}/htdocs"> --> <Directory "C:/Server/data/htdocs/">
DirectoryIndex index.html --> DirectoryIndex index.php index.html index.htm
Там, где:
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
AllowOverride None --> AllowOverride All
Require all denied --> #Require all denied
#LoadModule rewrite_module modules/mod_rewrite.so --> LoadModule rewrite_module modules/mod_rewrite.so
Клавиши (Win+X). Выбор Windows PowerShell (администратор).
$ C:\Server\bin\Apache24\bin\httpd.exe -k install
$ C:\Server\bin\Apache24\bin\httpd.exe -k start
В веб-обозревателе набираем: http://localhost/. Apache работает. В каталоге c:\Server\data\htdocs\ нет ни одного html-файла.
Установка и настройка MySQL
В каталог bin распаковываем файлы MySQL (из архива mysql-8.0.16-winx64.zip). Переименовываем папку mysql-8.0.16-winx64 переименовать в mysql-8.0. Заходим в эту папку и создаём там файл my.ini Открываем этот файл любым текстовым редактором.
Добавьте туда следующие строки:
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
datadir="C:/Server/data/DB/data/" <-------------------можно одну строку
default_authentication_plugin=mysql_native_password
Выполняем инициализацию и установку:
$ C:\Server\bin\mysql-8.0\bin\mysqld --initialize-insecure --user=root
$ C:\Server\bin\mysql-8.0\bin\mysqld --install
$ net start mysql
В каталоге C:\Server\data\DB\data\ должны появиться автоматически сгенерированные файлы и служба MySQL будет запускаться при каждом запуске Windows.
Установка и настройка PHP
В папке C:\Server\bin\ создаём каталог PHP и копируем в него содержимое архива (php-7.3.5-Win32-VC15-x64.zip).
В файле C:\Server\bin\Apache24\conf\httpd.conf в самый конец добавляем строчки:
PHPIniDir "C:/Server/bin/PHP/"
AddHandler application/x-httpd-php .php
LoadModule php7_module "C:/Server/bin/PHP/php7apache2_4.dll"
Перезапускаем Apache:
$ C:\Server\bin\Apache24\bin\httpd.exe -k restart
В каталоге C:\Server\data\htdocs\ создаём файл i.php
Копируем в этот файл:
<?php
phpinfo ();
?>
В браузере открываем ссылку http://localhost/i.php. PHP работает.
Настройка PHP проходит в файле php.ini. Берем php.ini-development и задаем новое имя php.ini (прежде сделав резервную копию файла php.ini-development).
Открываем файл php.ini ищем строчку:
; extension_dir = "ext" меняем на extension_dir = "C:\Server\bin\PHP\ext\"
Найти группу строк:
;extension=bz2
;extension=curl
;extension=fileinfo
;extension=gd2
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=interbase
;extension=ldap
;extension=mbstring
;extension=exif ; Must be after mbstring as it depends on it
;extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
;extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop
Заменить на:
EXTENSION=bz2
EXTENSION=ftp
EXTENSION=CURL
EXTENSION=FILEINFO
EXTENSION=GD2
EXTENSION=GETTEXT
EXTENSION=GMP
EXTENSION=INTL
EXTENSION=IMAP
EXTENSION=INTERBASE
EXTENSION=LDAP
EXTENSION=MBSTRING
EXTENSION=EXIF ; MUST BE AFTER MBSTRING AS IT DEPENDS ON IT
EXTENSION=MYSQLI
EXTENSION=OCI8_12C ; USE WITH ORACLE DATABASE 12C INSTANT CLIENT
EXTENSION=ODBC
EXTENSION=OPENSSL
EXTENSION=PDO_FIREBIRD
EXTENSION=PDO_MYSQL
EXTENSION=PDO_OCI
EXTENSION=PDO_ODBC
EXTENSION=PDO_PGSQL
EXTENSION=PDO_SQLITE
EXTENSION=PGSQL
EXTENSION=SHMOP
Раскомментировать группу строк:
;extension=php_soap.dll
;extension=soap
;extension=sockets
;extension=sqlite3
;extension=tidy
;extension=xmlrpc
;extension=xsl
Должно получиться:
extension=soap
extension=sockets
extension=sodium
extension=sqlite3
extension=tidy
extension=xmlrpc
extension=xsl
Перезапускаем Apache:
$ C:\Server\bin\Apache24\bin\httpd.exe -k restart
Или в окне "Выполнить" набираем: services.msc ----> перезапускаем Apache2.4
Если ошибка: Компьютер - Управление - Просмотр событий - Журнал Windows - Приложение. Анализируем ошибку и исправляем. Вернитесь к редакрированию расширений и убирайте по одному (;) затем перезапуск Apache: набираем: services.msc ----> перезапускаем Apache2.4
Установка и настройка phpMyAdmin
В каталог C:Server\data\htdocs копируем содержимое архива phpMyAdmin-4.8.5-all-languages.zip. Переименовываем phpMyAdmin-4.8.5-languages в phpmyadmin.
В каталоге C:Server\data\htdocs\phpmyadmin создаём файл config.inc.php и копируем:
<?php
/* Servers configuration */
$i = 0;
/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['nopassword'] = true;
$cfg['Servers'][$i]['AllowNoPassword'] = true;
/* End of servers configuration */
$cfg['blowfish_secret'] = '4c525c652d3f54.24302686';
$cfg['DefaultLang'] = 'ru';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>
Перезапускаем Apache:
$ C:\Server\bin\Apache24\bin\httpd.exe -k restart или services.msc ----> перезапускаем Apache2.4
Набираем http://localhost/phpmyadmin/
Имя пользователя вводим root. Поле пароля оставляем пустым.
Использование сервера и бэкап данных
В каталоге C:\Server\data\htdocs\ создавайте папки и файлы, например:
C:\Server\data\htdocs\test\ajax.php – этот файл, будет доступен по адресу http://localhost/test/ajax.php и т.д.
Для создания полного бэкапа всех сайтов и баз данных достаточно скопировать каталог C:\Server\data\.
Перед обновлением модулей, делайте бэкап папки bin – в случае возникновения проблем, можно будет легко откатиться к предыдущим версиям.
При повторной установке сервера или при его обновлении, необходимо заново настраивать конфигурационные файлы. Если у вас есть копии этих файлов, то процесс можно значительно ускорить. Желательно забэкапить следующие файлы:
C:\Server\bin\Apache24\conf\httpd.conf
C:\Server\bin\mysql-8.0\my.ini
C:\Server\bin\PHP\php.ini
C:\Server\data\htdocs\phpMyAdmin\config.inc.php
В них хранятся все настройки.
Дополнительная настройка PHP
При решении многих задач можно упереться в ограничения, установленные в настройках. Эти настройки содержаться
в файле php.ini (C:\Server\bin\PHP\php.ini) Рассмотрим некоторые из них:
memory_limit = 128M
Устанавливает максимальное количество памяти, которое может использовать скрипт.
---
post_max_size = 8M
Устанавливает максимальное количество данных, которые будут приняты при отправке методом POST.
---
;default_charset = "UTF-8"
Устанавливает кодировку (по умолчанию, строка закомментирована).
---
upload_max_filesize = 2M
Максимальный размер загружаемого на сервер файла. Изначально установлен очень маленький размер – только два мегабайта. Например, при загрузке базы данных в phpMyAdmin, не получится загрузить файл больше 2 мегабайт до тех пор, пока не будет изменён этот пункт настройки.
---
max_file_uploads = 20
Максимальное количество файлов для загрузки за один раз.
---
max_execution_time = 30
Максимальное время выполнения одного скрипта. Менять эти настройки необязательно, но полезно о них знать.
Создание собственного сайта
Совственно, с этого момента (ссылка) вы можете посмотреть как создать сайт на локальном диске.
Получить Wordpress здесь: https://ru.wordpress.org/download/
Вход в админ панель: http://localhost/oleglav.com/wp-login.php
Пока!