Linux как сделать сайт

Обновлено: 28.06.2024

Предположим, что вы установили на сервер LAMP (Linux, Apache, MySQL, PHP) — с помощью нашего рецепта или вручную. Теперь дело за малым — нужно настроить веб-сервер, создать базы данных и папки для сайтов.

Для начала настройки потребуется:

Шаг 0. Структура каталогов для размещения сайтов

Чтобы в будущем мы могли просто и непринуждённо добавлять новые сайты, настраивать FTP или sFTP-доступ для отдельных директорий, не помешает заранее определиться, как оптимально расположить их на сервере.

Самая простая структура выглядит так:

Директория веб-сервера для размещения сайтов

Она будет использоваться в качестве примера ниже.

Тем не менее, если вы планируете разместить на сервере только один сайт, можно не тратить время на настройки и просто загрузить файлы сайта в папку /var/www/html — сайт будет работать и так. Но в будущем это может привести к необходимости в перенастройке, например, когда потребуется разместить новый сайт.

Шаг 1. Создание директории сайта и файлов логов

На этом шаге нам нужно создать папки, где будут размещены файлы сайтов, а также файлы логов, куда веб-сервер будет записывать информацию о работе сайта. Введите в терминале последовательно:

Осталось настроить права доступа. Чтобы все функции сайта работали корректно, все его файлы должны быть доступны для обработки веб-серверу. Поэтому указываем в качестве владельца системного пользователя веб-сервера:

Ubuntu и Debian:

CentOS:

Недостаток такого подход в том, что работать с файлами сайта будет не очень удобно. Формально при каждой загрузке новых файлов потребуется редактировать их владельца — с пользователя, под которым файлы загружены, на системного пользователя и группу веб-сервера.

Шаг 2. Создание конфигурационного файла сайта — VirtualHost

На CentOS требуется выполнить предварительную настройку.

Создадим папку для размещения конфигурационных файлов сайтов:

Откроем конфигурационный файл веб-сервера:

Добавим новую строку в конец списка параметров:

Сохраним и закроем файл.

Ubuntu и Debian:

CentOS:

Открываем созданный файл в любом консольном текстовом редакторе:

Ubuntu и Debian:

В качестве примера приведён редактор nano . Для сохранения файла нажмите сочетание Ctrl + O , проверьте имя файла и нажмите Enter . Для выхода из файла нажмите сочетание Ctrl + X .

CentOS:

В качестве примера приведён консольный редактор vim . Для входа в режим редактирования на клавиатуре нажмите I . Для выхода из режима редактирования нажмите Esc . Для сохранения и выхода из файла введите сочетание :wq Для выхода без сохранения введите :q!

Вставляем в файл следующий текст:

После завершения редактирования сохраните и закройте файл.

Для Ubuntu и Debian осталось активировать VirtualHost нового сайта и отключить текущий, включенный по умолчанию:

Перезапустим веб-сервер для применения изменений:

Ubuntu и Debian:

CentOS:

Шаг 3. Создание базы данных

База данных — обязательный компонент для работы любого современного сайта. Одним из этапов установки большинства CMS всегда является настройка базы данных.

Чтобы создать базу для нового сайта, подключитесь к серверу баз данных:

После ввода пароля создадим новую базу данных exampleDB :

Далее добавим нового пользователя сервера баз данных ( exampleDB-user ) и предоставим ему доступы для работы с базой сайта. Важно: не забудьте сохранить название базы данных, имя пользователя и пароль — они потребуются для настройки сайта.

Выходим из консоли сервера баз данных:


Шаг 4. Загрузка файлов и проверка работы сайта

Осталось самое простое — загрузить файлы сайта.

Загрузка готового сайта


На CentOS tar по умолчанию не установлен. Для установки воспользуйтесь командой:

Разворачиваем дамп базы данных:

После этого нужно изменить данные для подключения к новой базе данных в конфигурационных файлах вашего сайта.

Установка CMS

Если вы хотите развернуть новый сайт — например, в целях разработки или тестирования, воспользуйтесь следующими инструкциями по установке CMS:

Настройка веб-сервера для локального веб-сайта в Ubuntu является не простой задачей, но как это делать должен знать любой профессиональный веб-разработчик.

LAMP – что это

LAMP – это сочетание технологий Linux, Apache, MySQL, PHP, которые используются программистами для запуска интернет ресурсов, как личной разработки, так и проектов, функционирующих на известных CMS.

Как установить APACHE

Apache представляет собой веб-сервер с открытым исходным кодом . Его функционирование может быть описано следующим образом: На любой из поступающих запросов, данный сервер выдает ответ соответствующий запросу.


Другими словами говоря, обратившись к человеку с каким-то вопросом, он может, как дать ответ, так и нет. Однако, задав человеку вопрос, на который он дать ответ не в силах, прозвучит ответ: не знаю. Аналогичным образом функционирует и Apache, например, сервер покажет 404 ошибку, если вы обращаетесь к несуществующей странице.

Установка Apache производится посредством команды через терминал:

sudo apt-get install apache2

Если вы совсем новичок в Linux/Ubuntu, вы можете пройти курс Linux/GIT и вы получите базовые знания по командам Linux, а также научитесь работать с контролем версий кода GIT и сервисом BitBucket.

По завершению установки, следует проверить правильность функционирования веб-сервера. Сделать это можно при помощи введения ip адреса сервера в любом из существующих браузеров. В случае, если пользователь производил установку Apache локально, к примеру, на домашний ПК, ему следует ввести в браузере следующие цифры: 127.0.0.1. После этого должна будет отобразиться страница приветствия Apache.


Как установить PHP

Пользователь, который хочет, установить PHP на свой сервер, должен ввести следующую команду:

sudo apt-get install php5 php5-common libapache2-mod-php5 php5-cli php5-cgi php5-mysql

По завершению выполнения команды, необходимо ввести в терминале php -v . Благодаря этой команде должна будет отобразиться текущая версия php:

Если пользователь наблюдает это в своем терминале, то это говорит о том, что php установлен правильно и готов к работе.

Кстати, если вы плохо знакомы с языком программирования PHP, посмотрите эти уроки PHP для начинающих с нуля - это самые основы PHP программирования.

Как установить MYSQL

MySQL представляет собой базу данных, предусмотренную для хранения информации веб-ресурса. SQL является языком запросов, которые производятся непосредственно к БД MySQL.

Чтобы произвести установку MySQL пользователю необходимо ввести следующую команду:

sudo apt-get install mysql-server mysql-client

В ходе установки БД нужно будет придумать логин и ввести пароль, для локального пользователя можно задать логин root в БД MySQL. После, потребуется повторное введение данного пароля, поэтому придуманный пароль лучше записать на листок бумаги или в блокнот.


Чтобы пользователю было комфортней работать с БД MySQL следует произвести установку графического веб-клиента - PhpMyAdmin. Для этого вводят следующую команду:

sudo apt-get install phpmyadmin

В ходе установки данного клиента пользователь может произвести отладку связки веб-сервера и phpmyadmin в автоматическом режиме.


По завершению установки и отладки phpmyadmin следует произвести проверку функциональности. Сделать это можно при помощи введения ip адреса веб-сервера, но при этом необходимо и в конце дописать phpmyadmin через слеш.

Если вы все сделали правильно, вы должны увидеть страницу авторизации phpmyadmin:


Заполните форму авторизации и введите логин и пароль, которые вы задавали на предыдущем этапе.

Кстати, если вы хотите научиться работать с базой данных MySQL (MariaDB), составлять SQL-запросы - посмотрите уроки MySQL для начинающих в курсе программирования PHP/MySQL.

Как настроить конфиг APACHE

Как правило, когда пользователь занимается созданием сайта, он хочет иметь возможность просмотра его ресурса на своем ПК в таком виде, как видят его в браузере другие люди, то есть чтобы локальный сайт был доступен не по IP-адресу, а через доменное имя. В этом случае обычной установки Apache будет недостаточно и для этого потребуется произвести настройку конфига Apache2.

На первом этапе отладки конфига пользователь должен создать каталог для своего интернет проекта на сервере. Сделать это можно перейдя в основной каталог apache:

Затем, создайте каталог для вашего сайта командой:

sudo mkdir superdomain

Чтобы пользователь мог корректировать каталог, следует поменять имя владельца каталога с пользователя root на свое имя пользователя или, предпочтительно, на имя пользователя для apache.

Выполнить это можно посредством введения в терминале следующих команд:

Затем введите команду:

sudo chown -R user:user superdomain

Теперь перейдите в ваш каталог superdomain:

После ввода команды выше, вы откроете текстовый редактор nano. Давайте напишем простой PHP-скрипт:

Для того, чтобы сохранить изменения в редакторе nano, нажмите сочетание клавиш ctr+x и букву y, после этого нажмите на клавишу enter.

Далее рассмотрим, как отладить конфиг apache2. Произвести настройку можно посредством введения команды:

и вставить текст следующего содержания:

На следующем этапе пользователю необходимо выполнить нажатие сочетание клавиш ctr+x и букву y, а после нажать enter.

После этого следует перейти в каталог apache, посредством введения следующей команды:

и ввести еще одну команду:

В случае правильного введения команд на экране отобразится следующее:

Чтобы запустить новый конфиг apache на веб-ресурсе необходимо ввести команду:

service apache2 reload

Свидетельством правильного запуска команды станет полное отсутствие ошибок.

На последнем этапе запуска веб-ресурса на своем локальном домене пользователю необходимо в документе hosts ввести ip-адрес сервера и указать имя своего локального домена:

Сам файл hosts в Linux находится в

в Windows вы его сможете найти по такому адресу:

В результате на экране должно будет отобразиться результат выполнения файла index.php.

Выводы

Умение устанавливать и настраивать веб-сервер для сайта вам очень пригодится как в операционной системе Ubuntu, так и в Windows.

О том как устанавливать и настраивать локальный сервер для сайта всего несколькими кликами мыши в Windows 10, вы можете посмотреть видеоуроки PHP в курсе PHP/MySQL.

Установка и настройка веб-сервера для сайта в Ubuntu

Что такое LAMP

LAMP расшифровывается как Linux, Apache, MySQL, PHP. Связка технологий Apache, MySQL, PHP необходима для того, чтобы запустить веб-сайты как собственной разработки, так и сайты на популярных CMS: WordPress, Joomla, Prestashop, Drupal и прочих.

Каждый компонент мы будем устанавливать и настраивать по отдельности.

Установка Apache

Apache - это веб-сервер с открытым исходным кодом. Работу веб-сервера можно описать так: На каждый запрос, веб-сервер отдает ответ в зависимости от запроса.

Иными словами, по аналогии, если вы обратитесь с каким-либо вопросом к человеку, он вам ответит или не ответит.

Но если вы зададите ему вопрос, на который он не может ответить, человек ответит вам не знаю. По аналогии работает и наш веб-сервер Apache.

Для того, чтобы установить веб-сервер Apache, введите команду в терминал:

Что такое команда sudo и зачем она нужна, вы можете прочитать в этой статье.

После установки Apache, для проверки работоспособности веб-сервера, введите в браузере ip адрес сервера.

Если вы устанавливали Apache сервер на локально, например на ваш домашний компьютер, введите в браузере 127.0.0.1 и вы должны увидеть страницу приветствия веб-сервера Apache.


Установка PHP

Для того, чтобы установить PHP на ваш сервер, необходимо выполнить команду:

sudo apt-get install php5 php5-common libapache2-mod-php5 php5-cli php5-cgi php5-mysql

В данной статье мы не будем подробно останавливаться на названиях устанавливаемых пакетов, которые мы устанавливаем вместе с пакетом php5, поэтому двигаемся дальше.

После выполнения команды выше, введите в терминале php -v и вы должны удивить версию php:

Если вы у себя это видите в терминале, это значит, что php установлен.

Установка MySQL

MySQL - это база данных, в которой хранятся данные вашего сайта. SQL - это язык запросов к базе данных MySQL. Подробнее о языке запросов SQL вы можете почитать в этой статье.

Установка MySQL на ваш с сервер с Ubuntu/Linux очень простая. Для установки введите команду:

sudo apt-get install mysql-server mysql-client

В процессе установки MySQL вас попросят ввести пароль для пользователя root в MySQL, затем попросят ввести пароль для root пользователя MySQL повторно.

Будьте внимательны, перед вводом запишите пароль.


В данной статье мы установили не только MySQL сервер, но и консольный MySQL клиент. Для удобства работы с MySQL давайте установим графический веб-клиент к MySQL - PhpMyAdmin.

Для установки PhpMyAdmin введите команду:

sudo apt-get install phpmyadmin

В процессе установки PhpMyAdmin вам предложат настроить связку веб-сервера и phpmyadmin автоматически. На этом шаге выберите автоконфигурацию для веб-сервера apache2.


На следующий вопрос о конфигурации ответьте Yes. После этого вас снова попросят ввести пароль к пользователю root.

После этого, установка и настройка phpmyadmin будет завершена. Для проверки работоспособности phpmyadmin введите в браузере ip адрес вашего веб-сервера и после слеша допишите phpmyadmin.

Если вы устанавливали phpmyadmin на локальный сервер, введите в браузере:

В результате вы увидите страницу авторизации phpmyadmin:


Введите root и пароль, который вы задавали в процессе установки MySQL и вы войдете в phpmyadmin.

Настройка конфига веб-сервера Apache для работы на домене

Давайте настроим конфиг Apache2 для того, чтобы это реализовать.

Первое, что вам нужно сделать - это создать каталог для вашего сайта на сервере. Для этого перейдите в базовый каталог сайтов apache:

После этого создайте каталог для вашего сайта:

Для того, чтобы мы могли вносить изменения в каталог superdomain, нам нужно изменить владельца каталога с пользователя root на вашего пользователя.

Для этого введите в терминале команду:

А после этого команду:

sudo chown -R user:user superdomain

Последней командой мы поменяли владельца и группу каталога superdomain на вашего пользователя (вместо user:user напишите имя вашего пользователя)

Затем перейдите в созданный каталог superdomain и создайте в нем файл index.php и php скриптом.

Для этого в терминале введите команду:

и введите команду:

после этого вставьте php скрипт, например с таким содержимым:

Для того, чтобы сохранить изменения в редакторе nano, нажмите сочетание клавиш ctr+x и букву y, затем enter.

Команды Linux описаны в этой статье.

А сейчас мы настроим конфиг веб-сервера apache2.

Для этого введите команду:

и вставьте этот текст:

После этого нажмите сочетание клавиш ctr+x и букву y, затем enter.

В этом конфиге мы создали указали пути к директории нашего сайта superdomain, указали название домена, правила, email веб-мастера, если пользователь будет видеть ошибку, пути к лог файлам apache и другие настройки.

После этого нам необходимо перейти в каталог apache :

и выполнить команду:

Если все сделали правильно после ввода этой команды вы должны увидеть это:

Если у вас нет понимания команд которые вы вводите в терминал Linux, прочитайте статью о Bash командах.

Файл hosts находится в Linux:

В операционной системе Winodows, файл hosts находится:

Все готово! Сохраните файл hosts и в браузере введите

В результате вы должы увидеть php вывод страницы index.php из каталога superdomain.

Выводы

В данной статье мы настроили LAMP сервер в операционной системе Ubuntu. Аналогично, вы можете создавать каталоги и конфиги apache2 для других ваших сайтов.

Мы показали базовые настройки LAMP. А если ваш проект перерастет во что-то большое, вы можете купить VDS сервер, от компании Timeweb с Ubuntu на борту и произвести настройку LAMP в нем.

В следующих статьях мы рассмотрим расширенные настройки PHP, Apache, MySQL и то, как настройть WAMP(Windows, Apache, PHP, MySQL).

В этой инструкции мы установим Apache версии 2 (Apache2) на Ubuntu 20.04. Кроме того, мы настроим виртуальные хосты таким образом, чтобы на одном сервере могли размещаться несколько веб-сайтов.

Установка Apache2 в Ubuntu 20.04

Первое что требуется сделать это проверить наличие обновлений пакетов с помощью команды ниже.

При появлении запроса введите Y, чтобы продолжить установку.

После успешной установки Apache2 выполните следующую команду для просмотра версии.

Проверка версии сервера Apache

Проверка версии сервера Apache

Проверка Состояния Сервера Apache2 в Ubuntu 20.04

Далее следует проверить состояние сервера Apache2, для этого выполните следующую команду.

Проверка состояния сервера Apache

Проверка состояния сервера Apache

По умолчанию служба Apache2 должна быть активна (запущена). Если нет, запустите службу следующей командой.

Протестируйте установленный веб-сервер Apache2

Вы должны увидеть страницу Apache2 Ubuntu default page, как показано на рисунке ниже.

Настройка виртуальных хостов Apache2 в Ubuntu

Виртуальные хосты позволяют размещать более одного веб-сайта на одном сервере Apache2. В Nginx это называется серверными блоками.

Создание виртуального хоста

Создайте новый конфигурационный файл виртуального хоста, скопировав файл по умолчанию следующим образом.

$ cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/setiwik.conf

Далее отключите виртуальный хост по умолчанию с помощью приведенной ниже команды.

Создать корневой каталог документа

Затем сделайте учетную запись Пользователя службы Apache2 (www-data) и группу (www-data) владельцами корневого каталога документа. Это можно сделать следующим образом.

$ sudo chown www-data:www-data /var/www/setiwik

Далее, предоставьте учетной записи Пользователя службы Apache2 (www-data) полный доступ к корневому каталогу документа с помощью следующей команды.

Создание индексного файла сайта

Теперь создайте индексный файл в корневом каталоге документа с помощью команды:

Скопируйте и вставьте пример HTML-кода ниже.

<!DOCTYPE html>
<html>
<head>
<title>Welcome to SETIWIK!</title>
<style>
body width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
>
</style>
</head>
<body>
<h1>Welcome to SETIWIK!</h1>
<p>Если вы видите эту страницу, веб-сайт SETIWIK работает правильно</p>
</body>
</html>

Сохраните и закройте файл index.html.

Измените конфигурацию виртуального хоста

Затем отредактируйте новый файл конфигурации виртуального хоста с помощью следующей команды.

$ sudo nano /etc/apache2/sites-available/setiwik.conf

Ниже приведен пример того, что ожидается после внесения изменений.

Сохраните и закройте файл конфигурации виртуального хоста.

Включите виртуальный хост Apache2

Чтобы включить виртуальный хост Apache2, выполните команду.

Наконец, перезапустите веб-сервер Apache2 с помощью:

$ sudo systemctl restart apache2

В заключение мы приведем некоторые основные команды systemctl, которые помогут вам управлять вашим веб-сервером Apache2.

Используйте restart, чтобы остановить службу Apache2, а затем запустить ее снова.

$ sudo systemctl restart apache2

Используйте опцию reload, чтобы указать Apache2 перезагрузить свои конфигурационные файлы, но без остановки службы.

Выполните команду stop, чтобы остановить службу Apache2.

Чтобы включить запуск службы Apache2 при загрузке сервера, выполните следующие действия:

Помощники Apache2

a2ensite – включить сайт apache2 или виртуальный хост.

a2dissite – используется для отключения сайта apache2 или виртуального хоста.

Базовая конфигурация Apache2 и файлы журналов

Конфигурационные файлы Apache2

/etc/apache2/apache2.conf — основной конфигурационный файл, который извлекает информацию из всех других конфигурационных файлов при запуске веб-сервера.

/etc/apache2/ports.conf — определяет порты прослушивания для входящих соединений.

/etc/apache2/mods-enabled — содержит информацию о конфигурации для управления модулями.

/etc/apache2/conf-enabled — содержит некоторую глобальную информацию о конфигурации.

/etc/apache2/sites-available — хранит конфигурации виртуальных хостов.

/etc/apache2/sites-enabled — определяет включенные виртуальные хосты.

Файлы журналов Apache2

/var/log/apache2/error.log — содержит информацию об ошибках, с которыми сталкивается Apache2.

/var/log/apache2/access.log — содержит все запросы, обработанные Apache2.

Заключение

Читайте также: