Каков алгоритм создания сайта,

Рейтинг: 1Ответов: 3Опубликовано: 23.04.2015

В процессе изучения Html и CSS хочу создать сайт. Подскажите, пожалуйста, каков алгоритм его создания? Знаю, что надо установить Apache. А дальше что? Устанавливать PHP? Объясните вкратце, чтоб хотя бы представление иметь.

Ответы

▲ 5Принят

В дополнение к «классике» (Apache, MySQL, PHP) напишу ещё один вариант организации сайта (сразу предупрежу, что он сложнее Apache+mod_php):

  • в качестве основного сервера вместо Apache — nginx (иногда lighttpd), коротый почти ничего не умеет, зато очень быстро отдаёт css-файлы, картинки и прочую статику;
  • за nginx прячется какой-нибудь сервер, на котором вертятся скрипты (тот же Wordperss, например): в случае PHP это может быть какой-нибудь FactCGI-сервер или fcgiwrap, в случае Ruby — Unicorn, в случае Python — uWSGI или GUnicorn и т.д.;
  • в качестве базы данных для сайта можно взять PostgreSQL (а некоторые простые сайты зачем-то даже извращаются с SQLite);
  • работу спрятанных за nginx серверов может контролировать какой-нибудь supervisor (хотя непосредственно разработки сайта это уже не касается).

Если цель — просто создать какую-то домашнюю страничку без всякой динамики, то будет достаточно одного лишь nginx — он прекрасно будет отдавать html-странички.

Если цель — вести свой личный блог, то, как советовали ранее, можно поглядеть в сторону Wordpress (тогда нужно настраивать что-нибудь для работы PHP), однако есть ещё такая вещь — генератор статических сайтов, который из текстовых файликов с постами (написанными, например, в формате Markdown, необязательно HTML) генерирует готовые html-странички, картинки и стили, которые сможет раздавать всё тот же nginx. Лично я использую Pelican.

Если цель — разработать какой-то полноценный динамический сайт с преферансом и дамами (коллективный блог, интернет-магазин, онлайн-игра, убийца фейсбука, клон stackoverflow и т.п.) или же если хочется попрактиковаться в программировании, то здесь может идти речь как о более продвинутой CMS вместо Wordpress (их очень много хороших и разных), так и о собственной разработке на каком-либо языке программирования. Здесь нужно отметить важные вещи:

  • на PHP свет клином не сошёлся. Сайты можно разрабатывать почти на любом языке программирования; популярностью пользуются, например, Ruby (Ruby on Rails) или Python (Django, Flask);
  • стоит почитать про MVC, который позволит избежать множества проблем и который используется в большинстве фреймворках (помимо указанных ранее Rails и Django есть ещё MVC-фреймворк Yii на «классическом» PHP);
  • далеко не каждый хостинг это всё поддерживает: на большинстве вертится обычный Apache с PHP. Если делать сайт на чём-то другом, то, возможно, придётся разбираться в линуксе и брать VPS (VDS) или выделенный сервер.

Если цель — разобраться, что вообще представляет из себя веб и как это всё работает, то на Apache+PHP в таком случае зацикливаться не стоит, советую погуглить и почитать материал понемножку по всему вышеперечисленному.

P.S. Всё вышеописанное в целом касается развёртывания серьёзных сайтов уже на продакшене; если хочется просто потыкать вот прям щас на локальном компьютере, то по запросу «windows simple http server» гуглится много интересных мелких программок (название той, которую сам использовал, к сожалению, забыл), но выпускать их на продакшен нельзя. Ну и XAMPP ещё есть как нечто среднее.

▲ 5

Что вопрос, что ответы, никак не учитывают весовые коэффициенты предпринимаемых действий. И в итоге до боли напоминают одну старую байку. К примеру, один из отвечателей настрочил пространный ответ, который вызывает только одну ассоциацию, с анекдотом про "Папа, ты с кем сейчас разговаривал".

В общем, каждый тетерев поёт про свою осину, и совершенно не учитывает ни контекст вопроса, ни уровень автора.

Думаю, надо автору объяснить, что никакого "алгоритма" создания сайта в принципе не существует. Есть несколько подходов, один из которых, (как раз требующий установку локальных РНР и Апача), требует предварительного многолетнего обучения. и редко когда делается силами одного человека.

И что установка любых программ на домашнем компьютере не приведёт к появлению сайта в интернете.

В общем, в зависимости от того, что мог иметь ввиду автор

  1. Чтобы буквально "создать сайт", неделю поизучав Html и CSS, прямая дорога на http://www.ucoz.ru/ Это как раз то что нужно - сайт, который уже есть в интернете. Для текущего уровня - отличный выбор, все с этого начинали.

  2. Если, наигравшись с укозом, автор вырастет из его рамок, и сможет финансово потянуть расходы примерно в сумме $1/мес., можно будет говорить о покупке готового хостинга (т.е. уже настроенных Апача и РНР), и установке готовой программы для создания сайтов - CMS, например Wordpress.

  3. Если речь идет об инструкции по установке на домашний компьютер локального веб-сервера, то, во-первых, эта задача не имеет смысла без п.4, а во-вторых, задавать специальный вопрос на Stack Overflow для этого не нужно - в сети полно пошаговых инструкций.

  4. Если хочется изучать программирование вообще и веб-программирование в частности, то следует понимать, что к "созданию сайтов" это имеет довольно опосредованное отношение. Хороший программист обычно работает над одним и тем же сайтом, постоянно улучшая его.

Резюмируя:

  • Если хочется разместить в интернете фото любимой дочурки и её первый лепет, но при этом не устраивает формат социальных сетей - то ucoz.
  • Если начальница велела разместить сайт фирмы в интернете - заряжаешь бюджет побольше и обращаешься в какую-либо веб-студию.
  • Если хочешь учиться созданию сайтов вообще - покупаешь книжки, устанавливаешь локальный сервер и запасаешься терпением - первый сайт, который будет не стыдно показать людям, у тебя получится еще очень и очень не скоро.
▲ 2

HTML, CSS, javascript можно играться вообще ничего не устанавливая.

PHP да, нужна дополнительная поддержка.

http://open-server.ru/ платформа, установив которую, вам будет доступен локальный сервер с уже установленным окружением (PHP, базы данных и тд), которого будет достаточно для дальнейшего обучения.