Как бесплатно разместить веб-сайт на Debian

Термин веб-сервер может использоваться для обозначения как аппаратного, так и программного обеспечения, или того и другого вместе. В рамках данного руководства мы сосредоточимся на программной части и рассмотрим, как можно разместить веб-сайт на вашем Linux-комплекте.

Веб-сервер — это программа, которая получает и отвечает на запросы клиентов по протоколам HTTP/HTTPS. Его основная задача — отображать содержимое сайта, которое часто представлено в виде текста, изображений и видео.

Веб-сервер может обслуживать как статическое, так и динамическое содержимое. Статический контент, как следует из названия, относится к контенту, который практически не меняется и остается неизменным. Сервер отправляет контент в браузер пользователя в неизменном виде.

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

Мы уже рассказывали Вам как настроить веб-сервер на вашем собственном компьютере Linux в 2х частях, вы их можете посмотреть ниже:

Как настроить веб-сервер на вашем собственном компьютере Linux (часть 1)

Как настроить веб-сервер на вашем собственном компьютере Linux (часть 2)

Требования

  • Выделенный публичный IP-адрес можно получить у провайдера.
  • Linux box, который может быть серверной установкой Linux с предпочтительным вариантом ОС. В данном руководстве мы будем использовать Debian 11.

Как разместить веб-сайт на сервере Linux

Что такое Apache?

Apache — это популярный бесплатный кроссплатформенный веб-сервер с открытым исходным кодом, выпускаемый под лицензией Apache License 2.0. Это один из наиболее широко используемых веб-серверов, занимающий почти 32,2% доли рынка веб-серверов.

Чтобы проверить, какая последняя версия Apache доступна и установлена ли она на вашем сервере, выполните команду:

# apt-cache policy apache2 (On Debian-based OS)

Из вывода видно, что параметр Installed: (none) означает, что он еще не установлен. Вы также получаете информацию о последней версии, предлагаемой репозиторием Debian / Ubuntu, которая в данном случае равна 2.4.52.

В современных дистрибутивах Red Hat вы можете проверить наличие Apache с помощью следующей команды dnf.

# dnf search httpd
 

Из приведенного выше результата видно, что пакет Apache httpd доступен для загрузки. Если Apache не установлен в вашей системе, используйте менеджеры пакетов ‘apt’ или ‘dnf’ для установки Apache, как показано на рисунке.

На системах на базе Debian:

$ sudo apt install apache2 -y       
$ sudo systemctl start apache2     
$ sudo systemctl enable apache2    
$ sudo systemctl status apache2

На системах на базе Red-Hat:

# dnf install httpd -y  
# systemctl start httpd 
# systemctl enable httpd      
# systemctl status httpd

Что такое MariaDB?

Являясь развилкой MySQL, MariaDB — одна из самых популярных систем управления реляционными базами данных с открытым исходным кодом. В настоящее время ее предпочитают MySQL благодаря более высокой скорости репликации и выполнения запросов, а также безопасности и широкому набору движков для хранения данных.

Чтобы установить MariaDB, в системах на базе Debian:

$ sudo apt install mariadb-server mariadb-client -y  
$ sudo systemctl start mariadb     
$ sudo systemctl enable mariadb    
$ sudo systemctl status mariadb   

Следующий вывод показывает, что MariaDB установлена и работает, как ожидалось.

Чтобы установить MariaDB, В системах на базе RHEL:

# dnf install mariadb-server -y    
# systemctl start mariadb     
# systemctl enable mariadb    
# systemctl status mariadb

Что такое PHP?

PHP — это рекурсивная аббревиатура от PHP Hypertext Preprocessor, который является популярным языком сценариев общего назначения, используемым в основном в веб-разработке.

Чтобы установить PHP, в системах на базе Debian:

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install  ca-certificates apt-transport-https software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
$ sudo apt install php8.0 libapache2-mod-php8.0

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

$ sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm  [RHEL 9]
$ sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm  [RHEL 8]

Затем включите репозиторий Remi, который предлагает последнюю версию PHP для систем на базе RHEL.

$ sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm  [RHEL 8]
$ sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm  [RHEL 8]

После того как репозитории EPEL и Remi включены в систему, вы можете установить PHP, как показано на рисунке.

# dnf module list php
# dnf module enable php:remi-8.0 -y 
# dnf install php php-cli php-common

Установив все компоненты, вы можете создать свой сайт с помощью WordPress CMS, которая представляет собой программное обеспечение, позволяющее пользователям легко разрабатывать и управлять сайтом без необходимости знания языков веб-дизайна, таких как HTML, CSS, PHP и Javascript.

Создание простого веб-сайта с помощью WordPress в Linux

Для демонстрации мы установим WordPress на системы Debian 11 и RHEL 9, что обеспечит образец веб-сайта, который в дальнейшем можно будет настроить по своему вкусу.

В этом разделе предполагается, что у вас уже установлен стек LAMP.

Шаг 1: Установка дополнительных модулей PHP

Чтобы продолжить, установите дополнительные модули PHP, которые требуются WordPress, как показано на рисунке.

Чтобы установить модули PHP, на системах на базе Debian:

$ sudo apt install php libapache2-mod-php php-pear php-cgi php-common php-mbstring php-zip php-net-socket php-gd php-mysql php-bcmath

Чтобы установить модули PHP, В системах на базе RHEL:

# dnf install php-gd php-soap php-intl php-mysqlnd php-pdo php-bcmath php-curl php-zip php-xmlrpc wget

Шаг 2: Создайте базу данных для WordPress

Написанный на PHP, WordPress — это бесплатная система управления контентом с открытым исходным кодом, управляемая данными. База данных является важнейшим компонентом WordPress.

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

Чтобы создать базу данных для WordPress, войдите на сервер базы данных MariaDB:

$ sudo mysql -u root -p

Затем создайте базу данных, как показано на рисунке

CREATE DATABASE wordpress_db;

Затем создайте пользователя базы данных и назначьте ему все привилегии на базе данных.

GRANT ALL PRIVILEGES ON wordpress_db.* to wordpress_user@localhost identified by 'P@ssword321';

Затем перезагрузите таблицы грантов, чтобы сохранить сделанные изменения, и выйдите из базы данных.

FLUSH PRIVILEGES;
QUIT;

Шаг 3: Загрузить WordPress

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

$ wget https://wordpress.org/latest.tar.gz

После загрузки распакуйте сжатый файл с помощью команды tar.

$ tar -xvzf latest.tar.gz

Команда извлекает содержимое файла в папку wordpress. Переместите или скопируйте эту папку в корень документа для веб-сервера Apache.

$ sudo mv wordpress/ /var/www/html/

Затем назначьте следующие разрешения и права собственности.

$ sudo chmod 755 -R /var/www/html/wordpress/
$ sudo chown -R www-data:www-data /var/www/html/wordpress/

Шаг 4: Создание виртуального хоста Apache для WordPress

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

В данном случае вам нужно создать виртуальный хост для сайта WordPress следующим образом.

$ sudo nano /etc/apache2/sites-available/wordpress.conf  [On Debian]
# vi /etc/httpd/conf/httpd.conf [On RHEL]

Вставьте следующие строки кода для определения виртуального хоста. Для директивы ServerName укажите IP-адрес сервера или полное доменное имя, которое должно указывать на выделенный публичный IP-адрес.

<VirtualHost *:80>
     ServerAdmin admin@your_domain.com
     DocumentRoot /var/www/html/wordpress
     ServerName 192.168.0.100

     <Directory /var/www/html/wordpress>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/your-domain.com_error.log
     CustomLog ${APACHE_LOG_DIR}/your-domain.com_access.log combined
</VirtualHost>

Сохраните изменения и выйдите из файла.

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

$ cd /var/www/html/wordpress/

Затем обновите файл wp-config.php с содержимым файла wp-config-sample.php.

$ cp wp-config-sample.php wp-config.php
$ sudo nano wp-config.php

Затем обновите директивы database name, db username и password, указав данные базы данных.

Затем включите новый сайт WordPress следующим образом на системах на базе Debian.

$ sudo ln -s /etc/apache2/sites-available/wordpress.conf /etc/apache2/sites-enabled/wordpress.conf
$ sudo a2ensite wordpress
$ sudo a2enmod rewrite
$ sudo a2dissite 000-default

Чтобы изменения вступили в силу, перезапустите Apache.

$ sudo systemctl restart apache2   [On Debian]
# systemctl restart httpd  [On RHEL]

Шаг 5: Завершите настройку WordPress в браузере

Чтобы завершить настройку, просмотрите IP-адрес вашего веб-сервера, как показано на рисунке:

http://server-ip

У вас должна появиться страница приветствия WordPress, как показано на рисунке. Выберите предпочтительный язык и нажмите ‘Continue’.

Затем заполните данные о сайте.

Затем нажмите «Установить WordPress», чтобы завершить установку WordPress.

Если все прошло правильно, вы получите подтверждение, что установка прошла успешно. Чтобы войти в систему, нажмите кнопку «Войти».

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

Шаг 6: Доступ к WordPress с помощью переадресации портов

Поскольку вы самостоятельно размещаете свой веб-сервер на Linux-системе дома или в локальной сети (LAN), следующий шаг — сделать его доступным для внешних пользователей или пользователей за пределами вашей локальной сети (LAN). Здесь на помощь приходит перенаправление портов.

Перенаправление портов, также называемое сопоставлением портов, — это метод, позволяющий внешним устройствам получать доступ к серверам или ресурсам частной сети через Интернет. Вся идея заключается в том, чтобы получить доступ к частным сетям извне, без чего это было бы невозможно, поскольку внешние устройства не могут взаимодействовать с внутренними IP-адресами.

В вашей настройке вам необходимо указать порт, который прослушивает веб-сервер (в большинстве случаев это порт 80 для HTTP-трафика или 443 для HTTPS), а также статический частный IP-адрес веб-сервера.

Итак, войдите в свой маршрутизатор и перейдите в раздел Port forwarding. В нашем примере мы используем маршрутизатор DLink для перенаправления портов веб-сервера (80 и 443) и частного IP-адреса (192.168.0.100) на выделенный публичный IP-адрес, назначенный провайдером.

В вашем случае укажите порты и частный IP веб-сервера и сохраните изменения.

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

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

Поделитесь с друзьями

Добавить комментарий

1 Комментарий
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
VINRARUS

Я в себе на телефоні веб-сервер запускаю такою командою:

httpd -p 80 -h «/root/WWW»
й використовую його в основному як веб-галерею для фоток по wi-fi.

Движок сайту на shell у мене працює, генерує html відповідь браузеру клієнта.
А адресу в браузері ввожу просто через ір телефона в мережі.

Останнє редагування 1 рік тому від VINRARUS
1
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x