Начинающим веб-разработчикам или Как начать делать сайты
Сейчас изучать HTML и PHP начинают в школах. Но что, если у условного школьника уже есть свои идеи и свои проекты, а понимания как запустить свой веб-сервер - пока ещё нет?
Я постараюсь ликвидировать этот пробел.
Итак, концепция LAMP требует Linux, Apache, MySQL, PHP - соответственно мы меняем:
Linux - на Windows (речь про Windows 7/ Windows 10 x64)
Apache - на nginx
MySQL - на MariaDB,
PHP оставляем нативный.
Рекомендую сразу же поставить Far Manager, брать здесь:
https://www.farmanager.com/download.php?l=ru
Итак, предлагаю использовать раздел D: (правильно разобьём диск при установке системы или воспользуемся Acronis) - по опыту если взять SSD 240Gb, его очень удобно делить пополам, выделяя 120 гиг на систему, остальное - под раздел D:
Итак, создаём папку web, в которой у нас будут храниться все проекты. Начнём с установки MariaDB - внимание, на Windows 7 версии позднее 10.4 не устанавливаются.
Я ставлю на Windows 10 версию 10.6.7 в папку d:\web\maria
Не забываем запомнить (а то и записать) установленный пароль рута.
Все прочие галки оставляю по умолчанию. Затем останавливаем службу MariaDB и правим my.ini
Не забываем прописать пути к папкам
После этого запускаем службу MariaDB и если она нормально запустилась - входим в консоль и проверяем переменные.
С первым компонентом разобрались.
Теперь надо установить nginx - берём его здесь:
https://nginx.org/ru/download.html
И просто распаковываем содержимое zip-архива в папку:
d:\web\nginx
Не забываем создать папку conf.d в папке d:\web\nginx\conf
Она нужна для конфигураций виртуальных хостов.
Правим файлик d:\web\nginx\conf\nginx.conf
worker_processes 1;Проверить правильность файлов конфигурации очень просто:
error_log logs/error.log;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
charset utf-8;
server {
listen 127.0.0.1:80;
server_name localhost;
access_log logs/host.access.log main;
location / {
root html;
index index.php index.html index.htm;
}
#error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
include conf.d/*.conf;
}
nginx -t
Если ругается на отсутствие виртуальных хостов, вспоминаем про сеть 127.0.0.0/8
127.0.0.1 - localhost
Ну а для нас, к примеру
127.0.0.2 - joomla
И так далее. Просто запускаем командную строку от имени администратора и...
Для удобства запуска создадим файлик nginx-start.bat
И запустим его. Теперь наш браузер уже может отображать веб-содержимое
Но нам ещё надо установить php
Сама установка довольно тривиальна: распаковать zip-файл в папку d:\web\nginx\php
Но не надо забывать, что PHP написан на C++, откомпилирован Microsoft Visual C++ и требует для установки MSVC++ 2015/2017/2019
В десятке они обычно уже стоят, для семёрки - качаем и ставим.
PHP после этого берём здесь:
https://windows.php.net/download/
Ещё один нюанс: PHP при запуске оставляет окно консоли. В принципе для отладки это даже плюс, так что правим файл php.ini как нам надо и так же создаём php-fpm-start.bat
Теперь, чтобы скрыть окно батника, воспользуемся средствами Visual Basic и создадим файлик php-fpm-start.vbs
Для файлов nginx-start.bat и php-fpm-start.vbs создаём ярлыки и сохраняем их в папку Автозагрузки (надеюсь у вас на компьютере один пользователь и вход без пароля).
Теперь при запуске системы nginx и php-fpm автоматически стартуют и их можно будет увидеть в процессах. Если это так, проверяем. Создаём файлик d:\web\nginx\html\test.php
И пытаемся открыть его в браузере:
Не забываем проверить, что расширение mysqli доступно (надеюсь, Вы не забыли указать путь к папке ext и включить расширение). Вообще по настройке php.ini много рекомендаций.
Если всё правильно, можно ставить phpMyAdmin - так же в папку myadmin распаковать архив отсюда: https://www.phpmyadmin.net/downloads/
В целом всё, можно ещё установить jre - он нужен для работы Eclipse PHP Developer
https://www.java.com/ru/download/ie_manual.jsp?locale=ru
Ну и сам Eclipse просто распаковать в папку c:\eclipse и вытащить ярлык на Рабочий стол. Брать его здесь: https://www.eclipse.org/downloads/download.php?file=%2Ftechn...
Или просто найти нужную ссылку тут:
https://www.eclipse.org/downloads/packages/release/2022-03/r
Не забудьте его русифицировать! Создайте папку d:\web\nginx\www и сделайте её Рабочей областью.
На этом всё, теперь Вы можете создавать свои проекты на PHP/html/css/js или использовать чужие. Создавайте виртуальные хосты, пишите в conf.d файлы настроек - и...
Спасибо за то, что дочитали до конца. Если что-то непонятно - задавайте вопросы. Предложения и дополнения так же будут приняты с благодарностью.