Гайд: как запустить сайт на собственном компьютере за один день
Для проведения тестов, отладки или предварительной сборки нужно быстро «поднять» сайт не на хостинге, а на локальном компьютере, а затем перенести ресурс на сервер хостинг-провайдера. Вот как это можно сделать.
Условия использования
Вариант нельзя назвать идеальным, но в некоторых случаях он может подойти. В первую очередь у вас должна быть хорошая скорость интернета и свободное место. Если вы хотите создать свой блог и завоевать славу, то метод точно не для вас. Локальный компьютер вряд ли справится. Хотя, кто знает, чудеса случаются.
И тем не менее не забывайте, что вам придется делиться своей скоростью с посетителями вашего сайта. Чем их больше, тем выше их потребности.
В среднем на человека уходит около 50 кб/с. Мой тариф лучшим не назовешь, скорость отдачи около 7 Мб, то есть максимум что я смогу – обеспечить нормальной загрузкой около 140 человек единовременно. Если посетителей больше, то им придется ждать дольше, а значит и процент отказа будет внушительный.
Однако, я понимаю, что оптоволокно творит чудеса, тарифы у провайдеров все меньше бьют по кошельку, а значит и подобная ситуация происходит не со всеми. Кроме того, если вам нужно показать одному единственному заказчику свой сайт или вы только учитесь основам построения сайтов, то зачем платить за хостинг, если все можно сделать бесплатно.
Цены на хостинг небольшие, но вы же можете вообще забыть об оплате.
Linux: как разместить сайт на компьютере с Linux
Теперь рассмотрим, как настроить Apache, MySQL и PHP в системе Linux.
Шаг 1: Установите программное обеспечение
Чтобы начать установку программного обеспечения LAMP, введите в терминале следующее:
sudo apt install apache2 mysql-server php libapache2-mod-php7.0
В процессе установки вам будет предложено ввести (и повторно ввести) пароль для пользователя root MySQL.
Технически это не является необходимым (как это должно было быть сделано при установке), но просто чтобы быть уверенным, мы перезапустим веб-сервер Apache.
Каждый раз, когда вы меняете глобальную конфигурацию Apache, вам нужно выполнить приведенную ниже команду, если вы не выполняете настройку с использованием локальных файлов .htaccess.
sudo /etc/init.d/apache2 restart
Шаг 2: Проверьте PHP
Чтобы убедиться, что ваш сервер PHP работает и посмотреть, какие модули PHP доступны в данный момент, вы можете поместить тестовый файл PHP в корневой каталог веб-сервера (/ var / www / html /):
Теперь мы можем посетить эту страницу PHP, перейдя по адресу http: //localhost/info.php.
Вы должны увидеть текущую версию PHP, текущую конфигурацию и установленные в данный момент модули. Обратите внимание, что позже вы сможете установить другие модули PHP с помощью диспетчера пакетов Ubuntu, поскольку некоторые приложения PHP могут требовать этого.
Чтобы определить, какие дополнительные модули доступны, выполните поиск в графическом менеджере пакетов или просто используйте командную строку:
Шаг 3: Проверьте MySQL
Поскольку большинство систем CMS (например, WordPress) используют MySQL, мы также рассмотрим эту часть.
Чтобы проверить, работает ли ваша установка MySQL, введите «service mysql status».
$ service mysql status
● mysql.service — MySQL Community Server
[…]
mrt 15 13:24:09 host1 systemd[1]: Started MySQL Community Server.
Мы видим, что MySQL запущен и работает. Если вы этого не видите, вы можете набрать «sudo service mysql restart», чтобы перезапустить сервер MySQL.
Отсюда мы можем использовать клиент командной строки MySQL для управления базами данных.
Для этого нам нужно использовать учетные данные администратора, которые мы ввели ранее при установке MySQL.
$ mysql -u root -p
[now you will be asked for our admin password and enter the mysql prompt]
Отсюда мы можем делать все что угодно с MySQL, например, создавать новую базу данных:
Часто CMS автоматически создает базу данных для вас, но иногда вам нужно что-то сделать с базой данных вручную (например, создать резервную копию или оптимизировать таблицы).
PHPMyAdmin — это удобный инструмент для управления базами данных, который порекомендует большинство веб-экспертов.
Вы можете установить PHPmyadmin, набрав в терминале следующее:
Наконец, настройте файл /etc/phpmyadmin/config.inc.php, используя шаги, описанные здесь.
Шаг 4. Настройка DNS
Чтобы использовать собственный домен (например, example.com) для локального веб-сервера, вам необходимо настроить Apache для приема веб-запросов для вашего домена.
Во-первых, убедитесь, что в DNS вашего домена есть запись A (которая указывает на определенный IP-адрес) для вашего доменного имени, например, www.example.com. У вашего провайдера DNS-хостинга будут онлайн-инструменты для правильной настройки этих записей DNS.
Как только это будет сделано, вы сможете увидеть нечто подобное, используя инструмент копания. Чтобы запросить запись A для www.example.com, введите:
$ dig www.example.com A
;; ANSWER SECTION:
www.example.com. 86400 IN A 100.100.100.100;; AUTHORITY SECTION:
example.com. 86398 IN NS a.iana-servers.net.
example.com. 86398 IN NS b.iana-servers.net.
Шаг 5: Настройте Apache
Теперь нам нужно указать Apache принимать веб-запросы для нашего имени www.example.com и из какого каталога обслуживать контент, когда мы получаем эти запросы.
Сначала мы устанавливаем каталог для нашего домена example.com, затем создаем пример файла index.html и, наконец, устанавливаем некоторые разрешения для файловой системы:
Другой вариант — сделать домашний сервер
Я привык подходить к делу с прагматической точки зрения. Думаю, многие мои читатели будут солидарны с такой позицией. Нет, я вполне мог себе позволить аренду VDS, но она попросту не окупилась бы.
Поэтому, нужно было недорогое решение, которое свело бы к минимуму описанный выше дискомфорт (необходимость работать через виртуалку, постоянный онлайн и т.д.). Мой выбор пал на неттоп. На мой взгляд, это неплохое решение, чтобы сделать сервер у себя дома. Напомню, неттоп — это миникомпьютер (действительно, очень компактный) без монитора, клавиатуры и т.д. Просто небольшая коробка с интерфейсами.
На Яндекс.Маркет полно предложений с самым разным форм-фактором и характеристиками. Но цена сегодня (2020 г.) начинается от 10 000 р.
Неттопы на Яндекс.Маркет
Самый бюджетный вариант
Я тогда не хотел тратиться на новую железку и нашел совсем уж сердитый вариант на Авито за 3700 р., чтобы наверняка окупиться)) Вот такая компактная машинка, называется Foxconn NT535:
Мой мини сервер из неттопа Foxconn NT535
По характеристикам как раз то, что было нужно для моих задач:
- Двухъядерный процессор Intel Atom D525 1,8 GHz
- Оперативная память 2 GB
- SSD накопитель 60 GB
На него встала и довольно шустро работает Windows 7 и весь необходимый мне софт.
При покупке или аренде сервера руководствуйтесь системными требованиями к софту, который вы планируете на нем запускать.
Я его использовал (и использую) для парсинга программой Key Collector, управления рекламными кампаниями в Direct Commander и для рассылок в Quick Sender (почитайте статью по спаму в ВКонтакте — возможно, заинтересует тематика условно-бесплатного трафика). Весь необходимый софт прекрасно работает:
Мой домашний сервер из неттопа
Конечно, если у вас есть ненужный ноутбук или ПК, вы можете сделать домашний сервер из старого компьютера — тут каждый сам решает, какой вариант удобнее.
Веб-сервер на виртуальной машине — ПЛЮСЫ:
1. После переустановки системы все настройки, сайты, базы данных сохранятся без дополнительных резервных копий.
2. Локальный web сервер можно будет запускать только по необходимости, и домашний сервер не будет постоянно забирать ресурсы компьютера.
3. Виртуальный web сервер можно легко перенести на другой компьютер.
Но как вы понимаете, устанавливать полноценный Linux для этого нет смысла, так как он будет забирать тоже много ресурсов. Лучше установить серверную версию Linux, например, Ubuntu Server. Но в этом случае все придётся долго устанавливать (сам сервер в том числе) и потом настраивать. А для неопытных это вообще не тот, что нужно.
Но есть более простой и удобный вариант: установить специальный mini linux дистрибутив, на котором уже всё установлено и настроено. И такие есть.
USB Webserver
Эта платформа не переведена на русский язык нет, зато есть возможность работать с переносного носителя. Сборка простая, без излишеств: Apache, MySQL, PHP, правда, с phpMyAdmin. Основное достоинство этого сервера, вы можете использовать его с переносного носителя (USB).
Hyper-V
Поскольку сам я в основном пользуюсь Windows, то предпочитаю использовать Hyper-V — встроенный в Pro версию системы гипервизор первого типа. Если вы пользователь Windows, то вам я тоже его советую — как и положено гипервизору первого типа, он весьма радует своей производительностью.
Чтобы использовать Hyper-V, активируйте его в Turn Windows Features on or off (Включение или отключение компонентов Windows) и перезагрузите компьютер. Вероятно, вам ещё придётся включить аппаратную виртуализацию в BIOS, если вы ещё не делали это. Также необходимо создать в Hyper-V manager (Диспетчер Hyper-V) сетевой интерфейс, ведущий во внешнюю сеть. Кликните справа на Virtual Switch Manager (Диспетчер виртуальных коммутаторов), выберите External (Внешний) и нажмите Create Virtual Switch (Создать виртуальный коммутатор). Далее в настройках External Network (Внешняя сеть) выберите сетевую карту, по которой к вам приходят интернеты, а потом сохраните.
После этого создайте новую машину в Hyper-V manager (но только не создавайте «быструю» машину, там всё не слава богу), а потом пройдите в её свойства и отключите Secure Boot (если машина 2-ого поколения). Остальные параметры по вкусу, но меньше 2 гигабайт оперативной памяти лучше не ставить. Ну и как сетевой интерфейс, очевидно, нужно поставить свежесозданный.
Какие характеристики важны
Если же мы говорим о характеристиках сервера, можно выделить две критически важных: объем хранилища и уровень шума. С хранилищем все понятно: его не бывает слишком много, от объемов дисков зависит, какое количество контента, файлов, документов и вообще данных вы сможете там разместить. Чем больше места, тем больше резервных копий вы сможете там хранить и тем выше качество фильмов и музыки вы себе позволите.
Второе — шум. Сервер — это не компьютер, который вы включаете по необходимости. Сервер — устройство, которое работает круглые сутки и, как правило, находится в жилом помещении. Поэтому от шума, который издает машина, напрямую зависит комфорт вашей жизни. Идеальным решением будет сервер с пассивным, а не с вентиляторным охлаждением и с крепким и массивным корпусом, который не будет передавать вибрации от работы жестких дисков. Если перейти на пассивное охлаждение невозможно, имеет смысл обновить вентиляторы, установив современные тихие и производительные модели.
Среди менее важных характеристик назовем энергопотребление: сегодня практически не производятся компьютеры, которые способны серьезно отразиться на счете за электричество в конце месяца. Аппетиты современных машин скромны, поэтому блока питания на 300 Вт будет вполне достаточно.