Предположим, что вы установили на сервер LAMP (Linux, Apache, MySQL, PHP) — с помощью нашего рецепта или вручную. Теперь дело за малым — нужно настроить веб-сервер, создать базы данных и папки для сайтов.
Для начала настройки потребуется:
- привязать к серверу домен сайта. Можно приобрести новый, привязать действующий или бесплатный тестовый (
имя-тестового-домена.fvds.ru
); - подключиться к серверу по SSH.
В качестве примера будем использовать тестовый домен example.com
. Не забудьте изменить его на свой.
- Шаг 0. Cтруктура каталогов для размещения сайтов
- Шаг 1. Создание директории сайта и файлов логов
- Шаг 2. Создание конфигурационного файла — Virtual Host
- Шаг 3. Создание базы данных
- Шаг 4. Установка CMS и проверка работы сайта
Шаг 0. Структура каталогов для размещения сайтов
Чтобы в будущем мы могли просто и непринуждённо добавлять новые сайты, настраивать FTP или sFTP-доступ для отдельных директорий, не помешает заранее определиться, как оптимально расположить их на сервере.
Самая простая структура выглядит так:
/var /www |
Системная директория Директория веб-сервера для размещения сайтов |
/example1.com |
Сайты |
Она будет использоваться в качестве примера ниже.
Тем не менее, если вы планируете разместить на сервере только один
сайт, можно не тратить время на настройки и просто загрузить файлы сайта
в папку /var/www/html
— сайт будет работать и так. Но в
будущем это может привести к необходимости в перенастройке, например,
когда потребуется разместить новый сайт.
Шаг 1. Создание директории сайта и файлов логов
На этом шаге нам нужно создать папки, где будут размещены файлы сайтов, а также файлы логов, куда веб-сервер будет записывать информацию о работе сайта. Введите в терминале последовательно:
mkdir /var/www/example.com /var/www/httpd-logs touch /var/www/httpd-logs/example.com.access.log /var/www/httpd-logs/example.com.error.log
Осталось настроить права доступа. Чтобы все функции сайта работали корректно, все его файлы должны быть доступны для обработки веб-серверу. Поэтому указываем в качестве владельца системного пользователя веб-сервера:
-
Ubuntu и Debian:
chown -R www-data:www-data /var/www/example.com
-
CentOS:
chown -R apache:apache /var/www/example.com
Недостаток такого подход в том, что работать с файлами сайта будет не очень удобно. Формально при каждой загрузке новых файлов потребуется редактировать их владельца — с пользователя, под которым файлы загружены, на системного пользователя и группу веб-сервера.
Шаг 2. Создание конфигурационного файла сайта — VirtualHost
Чтобы веб-сервер стал принимать запросы к нашему сайту, в первую
очередь нужно добавить его конфигурационный файл — так называемый VirtualHost
.
Он нужен, чтобы указать веб-серверу, как обрабатывать запросы к сайту,
где лежат его файлы, куда записывать сообщения об ошибках и др. Если на
сервере планируется разместить несколько сайтов, будет удобнее добавить VirtualHost
для каждого отдельно.
На CentOS требуется выполнить предварительную настройку.
Создадим папку для размещения конфигурационных файлов сайтов:
mkdir /etc/httpd/sites-enabled/
Откроем конфигурационный файл веб-сервера:
vim /etc/httpd/conf/httpd.conf
Добавим новую строку в конец списка параметров:
Include sites-enabled/*.conf
Сохраним и закроем файл.
-
Добавляем новый файл c именем
example.com.conf
(гдеexample.com
— ваш домен):-
Ubuntu и Debian:
touch /etc/apache2/sites-available/example.com.conf
-
CentOS:
touch /etc/httpd/sites-enabled/example.com.conf
-
-
Открываем созданный файл в любом консольном текстовом редакторе:
-
Ubuntu и Debian:
nano /etc/apache2/sites-available/example.com.conf
В качестве примера приведён редакторnano
. Для сохранения файла нажмите сочетание Ctrl+O, проверьте имя файла и нажмите Enter. Для выхода из файла нажмите сочетание Ctrl+X. -
CentOS:
vim /etc/httpd/sites-enabled/example.com.conf
В качестве примера приведён консольный редакторvim
. Для входа в режим редактирования на клавиатуре нажмите I. Для выхода из режима редактирования нажмите Esc. Для сохранения и выхода из файла введите сочетание :wq Для выхода без сохранения введите :q!
Вставляем в файл следующий текст:
<VirtualHost 123.123.123.123:80 > ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com CustomLog /var/www/httpd-logs/example.com.access.log combined ErrorLog /var/www/httpd-logs/example.com.error.log AddType application/x-httpd-php .php </VirtualHost>
Измените выделенный текст на ваши данные (
123.123.123.123
— IP-адрес сервера иexample.com
— имя домена). -
После завершения редактирования сохраните и закройте файл.
Для Ubuntu и Debian осталось активировать VirtualHost
нового сайта и отключить текущий, включенный по умолчанию:
a2dissite 000-default.conf
a2ensite example.com.conf
Перезапустим веб-сервер для применения изменений:
-
Ubuntu и Debian:
systemctl reload apache2
-
CentOS:
systemctl reload httpd
Шаг 3. Создание базы данных
База данных — обязательный компонент для работы любого современного сайта. Одним из этапов установки большинства CMS всегда является настройка базы данных.
Чтобы создать базу для нового сайта, подключитесь к серверу баз данных:
mysql -u root -p
После ввода пароля создадим новую базу данных exampleDB
:
create database exampleDB;
Далее добавим нового пользователя сервера баз данных (exampleDB-user
)
и предоставим ему доступы для работы с базой сайта. Важно: не забудьте
сохранить название базы данных, имя пользователя и пароль — они
потребуются для настройки сайта.
grant all privileges on exampleDB.* to 'exampleDB-user'@'localhost' identified by 'p@ssw0rd' with grant option;
Выходим из консоли сервера баз данных:
exit;
Шаг 4. Загрузка файлов и проверка работы сайта
Осталось самое простое — загрузить файлы сайта.
Загрузка готового сайта
Если у вас уже есть готовый сайт, загрузить его файлы можно по sFTP.
В итоге в папке сайта example.com
должен оказаться архив вашего сайта (в примере example.com.tar.gz
) и дамп базы данных (в примере dump.sql
):
Распаковываем сайт:
tar -xzf example.com.tar.gz
На CentOS tar
по умолчанию не установлен. Для установки воспользуйтесь командой:
yum -y install tar
Разворачиваем дамп базы данных:
mysql -u exampleDB-user -p exampleDB < dump.sql
После этого нужно изменить данные для подключения к новой базе данных в конфигурационных файлах вашего сайта.
Установка CMS
Если вы хотите развернуть новый сайт — например, в целях разработки или тестирования, воспользуйтесь следующими инструкциями по установке CMS: