Debian — это один из самых стабильных и безопасных дистрибутивов Linux, который широко используется для создания веб-серверов. Чтобы запустить свой сайт, необходимо сначала установить и настроить веб-сервер и базу данных на сервере.
В данной статье мы рассмотрим пошаговую инструкцию по установке и настройке веб-сервера Apache, базы данных MySQL и PHP на Debian.
Эта инструкция поможет вам создать полноценный веб-сайт, который будет готов к размещению на сервере и доступен из Интернета.
Приступим к установке сервера!
- Шаг 1: Установка веб-сервера
- 1.1. Открытие терминала
- 1.2. Установка веб-сервера Apache2
- 1.3. Проверка установки Apache2
- Шаг 2: Настройка базы данных
- Шаг 3: Установка PHP
- Шаг 4: Установка CMS
- Выбор CMS
- Установка CMS
- Шаг 5: Настройка файловой структуры
- Создание каталога для сайта
- Настройка прав доступа
- Настройка виртуального хоста
- Шаг 6: Настройка прав доступа
- 1. Обзор прав доступа
- 2. Изменение прав доступа
- Шаг 7: Настройка DNS
- 1. Что такое DNS?
- 2. Как настраивать DNS на Debian?
- 3. Установка DNS-сервера
- 4. Настройка зоны
- 5. Завершение
- Шаг 8: Защита сайта и обновление системы
- Шифрование соединения с SSL
- Обновление ПО и системы
- Настройка брандмауэра
- Вопрос-ответ
- Какой веб-сервер лучше использовать при установке сайта на Debian?
- Как установить и настроить базу данных MySQL?
- Как проверить, что веб-сервер работает после установки сайта?
- Какой редактор кода использовать для правки файлов на Debian?
- Как добавить SSL-сертификат на сайт, установленный на Debian?
- Как настроить доступ к FTP-серверу, установленному на Debian?
- Как настроить доступ к SSH-серверу на Debian?
Шаг 1: Установка веб-сервера
1.1. Открытие терминала
Первым шагом необходимо открыть терминал на сервере Debian. Для этого нужно кликнуть на значок терминала или нажать сочетание клавиш Ctrl+Alt+T.
1.2. Установка веб-сервера Apache2
Для установки веб-сервера на Debian выполните следующие команды:
- sudo apt update — обновление пакетов на вашем сервере
- sudo apt install apache2 — установка веб-сервера Apache2
После запуска команды сервер Debian начнет устанавливать пакеты Apache2 и его зависимости. Это займет некоторое время.
1.3. Проверка установки Apache2
Чтобы убедиться, что вы успешно установили Apache2, введите IP-адрес вашего сервера в веб-браузере. Должна появиться страница Apache2 «It works!».
Apache2 успешно установлен на сервере Debian и готов к использованию.
Шаг 2: Настройка базы данных
Сайт должен иметь базу данных для хранения пользовательской информации и других данных. Настройка базы данных начинается с установки нужных пакетов:
- Установите пакет MySQL, используя команду:
sudo apt-get install mysql-server
- Установите пакеты php-pear и php-mysql для поддержки работы PHP с MySQL:
sudo apt-get install php-pear php-mysql
После установки необходимо создать базу данных на сервере MySQL:
- Запустите MySQL через командную строку:
mysql -u root -p
- Введите пароль для доступа к MySQL и нажмите Enter
- Создайте новую базу данных, используя команду:
CREATE DATABASE db_name;
- Создайте нового пользователя и дайте ему права на использование новой базы данных:
GRANT ALL ON db_name.* TO 'user_name'@'localhost' IDENTIFIED BY 'password';
- Выполните изменения с помощью команды:
FLUSH PRIVILEGES;
- Выйдите из MySQL:
exit
Теперь нужно настроить доступ к базе данных в коде вашего сайта. Вам нужно изменить файл конфигурации php (обычно это файл /etc/php/7.2/apache2/php.ini
):
- Откройте файл в текстовом редакторе с правами администратора:
sudo nano /etc/php/7.2/apache2/php.ini
- Найдите и раскомментируйте строку, содержащую директиву extension=mysqli
- Сохраните изменения и закройте файл
Теперь вы можете использовать PHP для работы с вашей базой данных на сервере MySQL.
Шаг 3: Установка PHP
Чтобы установить PHP на сервер, нужно ввести следующие команды в терминал:
- Сначала обновляем список пакетов:
sudo apt update
- Далее устанавливаем PHP, а также несколько дополнительных пакетов:
sudo apt install php libapache2-mod-php php-mysql
- После установки необходимо перезапустить Apache для применения изменений:
sudo systemctl restart apache2
- Для проверки корректности установки можно создать файл с расширением .php и написать в нем код:
sudo nano /var/www/html/info.php
<?php phpinfo(); ?>
- Сохраняем файл и открываем браузер. В адресной строке вводим IP адрес сервера, а затем /info.php:
http://IP-адрес-сервера/info.php
Если страница успешно открылась и отображает информацию о PHP, значит установка прошла успешно.
Шаг 4: Установка CMS
Выбор CMS
Перед установкой CMS необходимо выбрать подходящую для ваших потребностей. На данный момент наиболее популярные чаще всего используются WordPress, Joomla и Drupal. Рекомендуется выбрать CMS, которую вы знаете лучше всего или которую вы хотите изучить.
- WordPress — подходит для блогов и небольших сайтов, имеет большое количество бесплатных и платных плагинов и тем;
- Joomla — подходит для средних и крупных сайтов, имеет более сложную структуру, чем WordPress, но имеет больше возможностей для администраторов;
- Drupal — подходит для крупных и сложных сайтов, имеет более сложную структуру, чем Joomla, но имеет еще больше возможностей для администраторов.
Установка CMS
После выбора CMS, следует перейти на ее официальный сайт и скачать последнюю версию. Затем необходимо загрузить пакет на сервер:
- Войдите в систему с помощью SSH.
- Перейдите в папку, где вы хотите установить CMS.
- Загрузите пакет CMS с помощью команды wget или curl.
- Распакуйте архив с помощью команды tar.
- Настройте файлы конфигурации CMS.
- Запустите процесс установки, следуя инструкциям на экране.
После завершения установки CMS, необходимо создать административный аккаунт и настроить настройки CMS согласно вашим потребностям.
Шаг 5: Настройка файловой структуры
Создание каталога для сайта
Для хранения файлов сайта на Debian необходимо создать соответствующую структуру каталогов. Рекомендуется использовать стандартную схему, принятую в Debian:
- /var/www – корневой каталог сайта;
- /var/www/html – каталог для файлов сайта.
Для создания каталога html, выполните следующую команду:
sudo mkdir /var/www/html
Настройка прав доступа
Необходимо настроить права доступа на созданные каталоги. Рекомендуется задать владельца и группу www-data:
sudo chown -R www-data:www-data /var/www/html
После этого, вы можете проверить права доступа, используя команду:
ls -l /var/www/html
Настройка виртуального хоста
Для того, чтобы сайт был доступен из интернета, необходимо настроить виртуальный хост веб-сервера Apache. Для этого нужно создать конфигурационный файл /etc/apache2/sites-available/yourdomain.com.conf и добавить в него следующий код:
<VirtualHost *:80>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Замените yourdomain.com на доменное имя своего сайта.
Теперь перезапустите веб-сервер, чтобы изменения вступили в силу:
sudo service apache2 restart
Шаг 6: Настройка прав доступа
1. Обзор прав доступа
В Linux и Debian каждый файл и каталог имеет свои права доступа, которые определяют, каким образом пользователи и программы могут получать к нему доступ.
Права доступа разделены на три категории (r-, w-, x-), которые соответствуют чтению, записи и выполнению файла или каталога.
- r — право на чтение файла
- w — право на запись файла
- x — право на выполнение файла
Каждая категория имеет три варианта доступа:
- u — владелец файла
- g — группа файла
- o — все остальные пользователи
2. Изменение прав доступа
Чтобы изменить права доступа к файлу или каталогу, используйте команду chmod. Синтаксис команды:
chmod [опции] режимы_доступа файл/каталог
Опции:
- -R — рекурсивное изменение прав доступа в директории и ее поддиректориях
- -v — выводит информацию о каждом файле или каталоге после изменения прав
Режимы доступа:
- числовой вариант (например, 755)
- символьный вариант (например, u+rwx, g-x, o+r)
Примеры использования:
- chmod 777 /var/www/html — предоставляет полный доступ всем пользователям к папке /var/www/html
- chmod u+x index.php — добавляет права на выполнение файла index.php владельцу файла
- chmod -R 755 /var/www/html — рекурсивно изменяет права доступа всех файлов и папок в папке /var/www/html
Шаг 7: Настройка DNS
1. Что такое DNS?
DNS — это система доменных имен, которая преобразует доменные имена в IP-адреса компьютеров, связанных с этими именами. Это позволяет пользователям вводить понятные имена сайтов в адресную строку браузера, а не запоминать IP-адреса каждого сайта.
2. Как настраивать DNS на Debian?
Настройка DNS на Debian может быть выполнена несколькими способами: установкой DNS-сервера и настройкой зоны, настройкой файлов hosts или изменением настроек вашего провайдера интернет-услуг. Если вы размещаете свой сайт на своем сервере, лучший вариант — установка DNS-сервера и настройка зоны.
3. Установка DNS-сервера
На Debian есть несколько DNS-серверов, которые вы можете установить. Один из наиболее распространенных DNS-серверов — BIND (Berkeley Internet Name Domain). Вы можете установить его через терминал с помощью команды:
- sudo apt-get update
- sudo apt-get install bind9 bind9utils bind9-doc
4. Настройка зоны
После установки BIND, вам нужно настроить файл зоны для вашего домена. Этот файл содержит информацию о домене, включая его имя, TTL и IP-адреса серверов имен. Файл зоны обычно находится в /etc/bind/named.conf.local. Вы можете отредактировать этот файл, чтобы настроить вашу зону.
5. Завершение
После завершения настройки DNS, убедитесь, что все настройки работают должным образом. Вы можете проверить настройки DNS с помощью утилиты nslookup в терминале. Если все работает должным образом, ваш сайт теперь будет доступен с помощью его доменного имени.
Шаг 8: Защита сайта и обновление системы
Шифрование соединения с SSL
Для защиты данных пользователей на сайте необходимо использовать SSL-шифрование соединения. Это обеспечит конфиденциальность передаваемой информации и защитит от перехвата данных. Чтобы установить SSL-сертификат, можно воспользоваться сервисами такими как Let’s Encrypt.
Обновление ПО и системы
Устаревшее программное обеспечение может привести к уязвимостям в безопасности сайта. Поэтому необходимо периодически обновлять все установленные пакеты и систему в целом. Для этого можно использовать команду:
sudo apt-get update && sudo apt-get upgrade
Данная команда обновит список источников пакетов и установит обновления всех устаревших пакетов на сервере.
Настройка брандмауэра
Настройка брандмауэра поможет защитить сервер от атак извне. Для установки и настройки брандмауэра можно воспользоваться утилитой ufw:
sudo apt-get install ufw
sudo ufw enable
После этого можно добавить правила для разрешения доступа к необходимым портам и отклонения остальных входящих соединений.
Вопрос-ответ
Какой веб-сервер лучше использовать при установке сайта на Debian?
В зависимости от того, какие языки и технологии используются на сайте, можно выбрать между Apache, Nginx и Lighttpd. Apache — это стандартный веб-сервер Debian, Nginx обычно используется для высоконагруженных сайтов с большим количеством запросов, а Lighttpd занимает меньше ресурсов и лучше подходит для небольших сайтов.
Как установить и настроить базу данных MySQL?
Для установки MySQL можно использовать команду «sudo apt-get install mysql-server». После установки нужно настроить пользователей и права доступа к базам данных с помощью команд MySQL. Конфигурационные файлы находятся в директории /etc/mysql/.
Как проверить, что веб-сервер работает после установки сайта?
Чтобы проверить, что веб-сервер работает, нужно открыть браузер и ввести адрес localhost или IP-адрес сервера. Если всё настроено правильно, то откроется страница с сообщением о том, что всё работает.
Какой редактор кода использовать для правки файлов на Debian?
На Debian можно использовать различные редакторы кода, но наиболее популярными являются Nano, Vim и Emacs. Nano является наиболее простым и удобным для начинающих, Vim и Emacs — более продвинутыми и настраиваемыми.
Как добавить SSL-сертификат на сайт, установленный на Debian?
Для добавления SSL-сертификата нужно установить пакет Certbot и запустить команду «sudo certbot —apache». Сертификат будет автоматически установлен и настроен для сайта, установленного на Apache.
Как настроить доступ к FTP-серверу, установленному на Debian?
Для установки FTP-сервера можно использовать пакеты vsftpd или ProFTPd. После установки нужно настроить права доступа к файлам и пользователей с помощью конфигурационных файлов сервера. Затем можно подключиться к серверу с помощью FTP-клиента, такого как FileZilla или WinSCP.
Как настроить доступ к SSH-серверу на Debian?
Для настройки доступа к SSH-серверу нужно установить пакет openssh-server. Затем нужно настроить пользователей и права доступа к файлам с помощью конфигурационных файлов SSH. Можно также настроить SSH-ключи для безопасной авторизации на сервере без использования пароля.