Step 1: Install Nginx on CentOS7 From EPEL.
Nginx is a fast web server compared to Apache and becomes more popular these days. In order to install nginx on CentOS 7, we need to add the EPEL repository using the following command. EPEL stands for Extra Packages for Enterprise Linux.
yum install epel-release -y yum update yum install nginx -y
After nginx is installed, we need to start it.
systemctl start nginx
Enable nginx start at system boot time.
systemctl enable nginx
Check if it’s running:
systemctl status nginx
Sample output:
nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since Št 2019-06-15 10:49:51 UTC; 45min ago Main PID: 934 (nginx) CGroup: /system.slice/nginx.service ├─934 nginx: master process /usr/sbin/nginx ├─935 nginx: worker process ├─936 nginx: worker process ├─937 nginx: worker process ├─938 nginx: worker process └─939 nginx: worker process
Check nginx version:
nginx -v nginx version: nginx/1.12.2
Type your server IP address in your web browser, if you see the following, then nginx is correctly installed.
You can find your server public IP address using the following command:
ip a
Test LEMP Stack
Go to any client system and create a host entry for your domain (site.itzgeek.local) in the file to test the LEMP stack locally.
sudo nano /etc/hosts
A host entry will loo like below.
192.168.1.10 site.itzgeek.local
Open up your web browser on the client machine and type your domain name in the web address.
http://site.itzgeek.local
The page will look like below:
From the below screenshot, PHP is working through FPM/FastCGI, as shown in the Server API line.
Install LEMP Stack on Debian 10 – PHP Information
You can also view the MariaDB support for PHP on the same page by scrolling the page down.
Install LEMP Stack on Debian 10 – MariaDB Support for PHP
Импорт контента
Импорт контента – это процесс переноса данных из внешних источников в вашу CMS Dle. Он может быть полезен, если вы хотите быстро заполнить сайт контентом или перенести большой объем информации из другой системы управления контентом. При импорте контента в Dle вы можете использовать различные методы и форматы, включая импорт из файлов XML, CSV или через API.
Прежде чем выполнить импорт, необходимо подготовить данные. Для начала, создайте таблицу или файл, содержащий информацию, которую вы хотите импортировать
Обратите внимание на структуру данных и соответствие полей вашей CMS Dle. Перед импортом рекомендуется также выполнить резервное копирование вашей CMS, чтобы в случае ошибки или проблемы можно было восстановить данные
Если вы хотите импортировать контент из файла XML или CSV, вам понадобится специальный плагин или модуль, который позволит обработать эти форматы. В Dle существуют различные плагины, которые позволяют выполнять импорт контента из файлов XML и CSV. Выберите подходящий плагин и установите его на свой сайт. Затем пройдите по инструкции по использованию плагина.
Если вы хотите импортировать контент через API, вам необходимо сначала настроить API доступ в вашей CMS Dle. API позволяет выполнять различные действия в CMS, включая импорт и экспорт данных. После настройки API доступа, вам необходимо создать скрипт или программу, которая будет осуществлять импорт данных через API. Для этого может понадобиться знание программирования или использование готовых решений.
Скачивание и установка Moodle
Перед установкой Moodle, доставим сразу все необходимые модули
yum install setuptool system-config-securitylevel-tui authconfig system-config-network-tui ntsysv -y
Если вы сейчас введете команду setup, то у вас будет возможность через графмческий режим настроить метод аутентификации и firewall
Теперь скачаем утилиту wget
yum install wget -y
Далее перейдем в папку закачки Moodle
cd /usr/src/
теперь выясним какая версия Moodle сейчас последняя и стабильная, сделать это можно на официальном сайте http://download.moodle.org/ Как видите на момент написания статьи это 2.9.3
Теперь скачиваем архивwget https://download.moodle.org/download.php/stable29/moodle-2.9.3.tgz
Архив у вас сохранится в данной папке, посмотреть что он там можно командой ls. Далее нужно его распаковать
tar -zxvf moodle-2.9.3.tgz
Теперь вырезаем распакованную папку в каталог /var/www/html/
mv /usr/src/moodle /var/www/html/
Устанавливаем права на папку для службы Apache:
chown -R apache:apache /var/www/html/moodle/
Далее создаем папки для хранения данных Moodle. Она должна быть не доступна из веб и располагаться вне директории /var/www/html/:
mkdir /var/moodle mkdir /var/moodle/data
Задаем владельца и права на папку:
chown -R apache:apache /var/moodle chmod -R 755 /var/moodle
Создаем конфиг файл для соединения с БД config.php, основываясь на файле config-dist.php.
Для этого переходим в каталог Moodle:
cd /var/www/html/moodle/
Делаем копию файла config-dist.php
cp config-dist.php config.php
Установка и настройка MariaDB
Произведем базовую установку MariaDB 10.3, рекомендованную поставщиком для CentOS 7. Сначала необходимо добавить репозиторий пакетов MariaDB 10.3 в Yum:
sudo nano /etc/yum.repos.d/mariadb.repo
со следующим содержимым:
# MariaDB 10.3 CentOS repository list - created 2019-03-28 19:13 UTC # http://downloads.mariadb.org/mariadb/repositories/ name = MariaDB baseurl = http://yum.mariadb.org/10.3/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Теперь можно выполнить установку пакетов:
sudo yum install -y MariaDB-server MariaDB-client apg && sudo systemctl enable mariadb && sudo systemctl start mariadb
Проверьте корректность установки, соединившись с MariaDB с помощью клиента командной строки:
mysql -uroot -e 'SELECT version();' +-----------------+ | version() | +-----------------+ | 10.3.13-MariaDB | +-----------------+
Соединение работает, если вы получили вывод похожий на приведенный выше.
Создадим базу данных для сайта и настроим доступ пользователя к ней. В настройке используется пользователь siteuser с паролем secret. Вы должны задать безопасный пароль, который можете сгенерировать с помощью команды apg.
export DB_NAME=website export DB_USER=siteuser export DB_PASSWORD=secret mysql -uroot -e "CREATE DATABASE IF NOT EXISTS $DB_NAME;" mysql -uroot -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASSWORD'"; mysql -uroot -e "FLUSH PRIVILEGES;" mysql -u$DB_USER -p$DB_PASSWORD $DB_NAME -e 'select version();' +-----------------+ | version() | +-----------------+ | 10.3.14-MariaDB | +-----------------+
Запишите выбранные имя пользователя, пароль и название базы данных, чтобы не забыть. На этом настройка MariaDB завершена.
Мощный Nginx сервер для сайта на DLE
Перед началом настройки сервера следует установить и настроить сам движок DLE, а также убедиться, что требуемые компоненты и модули установлены на сервере.
При настройке Nginx сервера для сайта на DLE рекомендуется использовать следующие параметры:
- Максимальное число одновременных соединений – установите значение, исходя из ожидаемой нагрузки на сайт.
- Количество одновременно обрабатываемых запросов – настройте в соответствии с возможностями сервера и его ресурсами.
- Буферы – установите оптимальные значения для буферов чтения и записи данных, чтобы обеспечить быструю загрузку контента.
- Кеширование – настройте кеширование на сервере, чтобы ускорить загрузку страниц и снизить нагрузку на сервер.
- SSL-сертификат – установите SSL-сертификат для защищенного соединения с сайтом.
Кроме того, необходимо правильно настроить обработку ошибок, логирование и ограничение доступа к некоторым файлам и директориям сайта.
Поддержка прокси-серверов и балансировки нагрузки также может быть полезна для улучшения производительности и надежности работы сайта на DLE.
Важно также регулярно проверять и обновлять конфигурацию сервера, а также следить за актуальностью версий Nginx и DLE. Таким образом, использование мощного Nginx сервера для сайта на DLE позволит обеспечить стабильную и быструю работу сайта, а также улучшить его производительность и надежность
Таким образом, использование мощного Nginx сервера для сайта на DLE позволит обеспечить стабильную и быструю работу сайта, а также улучшить его производительность и надежность.
Как установить Moodle
Установить Moodle можно как на Linux так и на Windows платформу, но правильнее было бы все же использовать Linux. В моем примере это будет CentOS 7. Первым делом вы должны установить CentOS 7. Следующим шагом, вам необходимо в CentOS настроить сеть. После чего, как произведена настройка сети, систему следует обновить, так как уверен что с выхода вашего установочного прошло время и появились исправления, посмотреть процесс обновления можно в статье Как обновить CentOS.
Установка Apache
Первым делом после подготовительного стенда идет установка Apache, делается это командой
yum install httpd -y
сам процесс установки займет пару минут, после чего нужно поставить Apache в автозагрузку вот такой командой:
systemctl enable httpd.service
Apache:systemctl start httpd.service
Теперь попробуйте в браузере открыть в адресной строке ip адрес вашего сервера, у вас должна появиться вот такая вот страница, означающая, что Apache работает как нужно. и отвечает на 80 порт.
Если у вас не открывается данная страница, то вам нужно настроить firewall службу iptables CentOs 7.
Дополнительные команды Apache
остановить службу Apache
sudo systemctl stop httpd.service
sudo systemctl restart httpd.service
systemctl is-active httpd.service
systemctl status httpd.service
httpd -t
Установка PHP для Moodle
Следующим компонентом у нас будет php со своими модулями.
Устанавливаем php с модулями
sudo yum install php php-common php-mysql php-gd php-intl php-curl php-xmlrpc php-ldap php-apc php-mbstring php-dom php-soap -y
Узнать версию php
Перезапуск Apache
sudo systemctl restart httpd.service
Посмотреть все имеющиеся модули PHP
sudo yum search php-
подробная информация о конкретном модуле
sudo yum info php-pgsql
После установки нам нужно проверить как работает наш php, для этого создадим файл test.php
sudo vi /var/www/html/test.php
В него добавим следующие строки, нажимаем кнопку Insert и пишем
<?php phpinfo(INFO_GENERAL); ?>
Нажимаем ESC и пишем :wq (Сохраняем и выходим)ю Открываем браузер и пишем в нем http://ваш ip/test.php. Должно открыться вот такое окно с версией php.
Установка Базы данных MySQL (MariaDB)
В CentOS 7 перестали включать пакет MySQL, в место него просят ставить MariaDB. Если вы вместо MariaDB напишите mysql, поставится все равно MariaDB.
yum install mariadb-server mariadb -y
Запускаем службу MariaDB
sudo systemctl start mariadb.service
Устанавливаем автозагрузку MariaDB сервиса: sudo systemctl enable mariadb.service
Дополнительные команды MariaDB
Остановка службы MariaDB
sudo systemctl stop mariadb.service
Перезапуск сервиса:
sudo systemctl restart mariadb.service
остановка сервиса:
sudo systemctl disable mariadb.service
Проверка статуса
sudo systemctl is-active mariadb.service
systemctl status mariadb
Мастер настройки MariaDB
Далее нужно запустить мастер настройки MariaDB
sudo /usr/bin/mysql_secure_installation
На первый вопрос Enter current password for root (enter for none), жмем просто enter пароля нет
Далее будет предложено придумать пароль root для доступа к службе MariaDB, задаем два раза.
На вопрос «Remove anonymous users?» отвечаем y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Войти в режим работы MySQL
mysql -u root -p
Список существующих БД
Show databases;
Чтобы выйти из режима MySQL (MariaDB) вводим quit. Далее требуется перезагрузить сервер командой reboot.
Следующим этапом будет создание базы данных для Moodle, создать в ней пользователя и дать ему там права. Из под него Moodle будет крутиться.
Запускаем режим работы MySQL
mysql -u root -p
- moodledb имя базы данных
- moodleuser имя пользователя
- yourpassword пароль который вы зададите сами
Создаем базу: CREATE DATABASE moodledb DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Создаем пользователя, указываем ему пароль и даем привилегии на созданную базу: GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES, DROP,INDEX,ALTER ON moodledb.* TO moodleuser@localhost IDENTIFIED BY ‘yourpassword’; FLUSH PRIVILEGES; EXIT
Перезагружаем службу (вводим пароль root который задавали ранее)
mysqladmin -p reload
Выбор и настройка шаблона
При создании сайта на CMS Dle особое внимание следует уделить выбору и настройке подходящего шаблона. Во-первых, шаблон должен быть совместим с версией Dle, которую вы используете
Это важно, чтобы избежать конфликтов и проблем с отображением контента. Однако не только совместимость шаблона играет роль, но и его дизайн и функциональность
Стиль и внешний вид сайта должны соответствовать тематике и целям проекта. Пользователи должны комфортно пользоваться сайтом, а его внешний вид должен вызывать доверие и интерес у посетителей
Однако не только совместимость шаблона играет роль, но и его дизайн и функциональность. Стиль и внешний вид сайта должны соответствовать тематике и целям проекта. Пользователи должны комфортно пользоваться сайтом, а его внешний вид должен вызывать доверие и интерес у посетителей.
После установки выбранного шаблона следует приступить к его настройке. В административной панели Dle обычно есть раздел, где можно изменять такие параметры как цвета, шрифты, расположение блоков и многое другое. Это позволяет адаптировать шаблон под свои нужды и требования.
Также стоит обратить внимание на настройку мобильной версии сайта
В наше время большое количество пользователей посещает сайты с мобильных устройств, поэтому важно, чтобы ваш сайт был адаптивным и удобно отображался на разных устройствах
Выбор и настройка шаблона – это важный этап создания сайта на Dle. Правильный шаблон помогает привлечь пользователей, улучшить внешний вид сайта и его функциональность. Не стоит пренебрегать этими возможностями CMS Dle и выбирать шаблон, который лучше всего соответствует вашим потребностям и требованиям.
Installing NGNIX Web Server
The Nginx web server is the most popular web servers in the world. It’s active community and detailed documentation eventually makes it a great choice for hosting a website.
Install Nginx using ( Yellowdog Updater, Modified ) :
The (Super User DO) command allows you to run programs with the security privileges.
In order to display web pages to our site visitors, we are going to employ Nginx, a high-performance web server. To get the latest Nginx version, we’ll first install the EPEL repository, which contains additional software for the CentOS 7 operating system.
To add the CentOS 7 EPEL repository, run the following command:
sudo yum install epel-release
Now that the EPEL repository is installed on your server, install Nginx using the following command:
sudo yum update
sudo yum install nginx -y
Once the installation is completed, enable and start the Apache service.
sudo systemctl enable nginx
sudo systemctl start nginx
Check the Status of Firewalld
systemctl status firewalld
If your server is protected by the firewall and you haven’t opened the and ports. Enable them with the following command.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
To verify that the change was applied, you can run:
sudo firewall-cmd --permanent --list-all
You’ll see output like this:
Output public target: default icmp-block-inversion: no interfaces: sources: services: cockpit dhcpv6-client http https ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
You’ll need to reload the firewall configuration so the changes take effect:
sudo firewall-cmd --reload
Now you can verify Apache installation. Every process in Apache is managed with the command. Verify the installation of Apache with the following command.
sudo systemctl status nginx
nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor prese> Active: active (running) since Tue 2020-09-08 16:16:00 CST; 8min ago Main PID: 50194 (nginx) Tasks: 2 (limit: 5045) Memory: 9.4M CGroup: /system.slice/nginx.service ├─50194 nginx: master process /usr/sbin/nginx └─50195 nginx: worker process Sep 08 16:16:00 iZa2dc2w6sz7gbkh2kc8exZ systemd: Starting The nginx HTTP and> Sep 08 16:16:00 iZa2dc2w6sz7gbkh2kc8exZ nginx: nginx: the configuration > Sep 08 16:16:00 iZa2dc2w6sz7gbkh2kc8exZ nginx: nginx: configuration file> Sep 08 16:16:00 iZa2dc2w6sz7gbkh2kc8exZ systemd: nginx.service: Failed to pa> Sep 08 16:16:00 iZa2dc2w6sz7gbkh2kc8exZ systemd: Started The nginx HTTP and > lines 1-15/15 (END)
You can now check which IP address is accessible, by running the following command:
curl -4 icanhazip.com
Type the IP address in your web browser and it will take you to Apache’s default landing page:
Базовая настройка компонентов Nginx и получение сертификата
Nginx. Установка выполняется стандартным для CentOS способом:
sudo yum install -y epel-release && sudo yum install -y nginx sudo systemctl stop nginx sudo systemctl enable nginx
Получение сертификата Let’s Encrypt. Для установки сертификата Let’s Encrypt установим требуемое программное обеспечение:
sudo yum install -y python2-certbot-nginx nano unzip
Теперь вы можете сгенерировать сертификат Let’s Encrypt для сервера. Для этого в Nginx необходимо добавить секцию для виртуального хоста, который будет описывать ваш сайт.
Создайте файл /etc/nginx/conf.d/${WEBSITE_NAME}.conf со следующей конфигурацией, которая будет основой нашей будущей конфигурации сайта:
server { listen 80; listen :80; server_name website.com; } server { listen 443 ssl; listen :443 ssl; server_name website.com; root /var/www/website.com; index index.html; location / { try_files $uri $uri/ =404; } }
Заменим website.com на имя вашего домена:
sudo sed -i "s/website.com/$WEBSITE_NAME/g" /etc/nginx/conf.d/${WEBSITE_NAME}.conf
Проверьте корректность конфигурации Nginx:
sudo nginx -t
Теперь закажем сертификат для этого виртуального хоста с помощью certbot. После запуска скрипт попросит вас указать ряд параметров:
- адрес электронной почты, с которой будет ассоциирован сертификат;
- домен из списка найденных в настройках Nginx доменов для которого сертификат будет получаться;
- необходимо ли настроить автоматическое перенаправление пользователей с HTTP на HTTPS (здесь надо указать Yes).
sudo certbot --nginx sudo pkill -9 nginx
В итоге в файле /etc/nginx/conf.d/${WEBSITE_NAME}.conf должна появиться дополнительная конфигурация, сгенерированная certbot:
server { if ($host = website.com) { return 301 https://$host$request_uri; } # managed by Certbot listen 80; listen :80; server_name website.com; } server { listen 443 ssl; listen :443 ssl; server_name website.com; root /var/www/website.com; index index.html; location / { try_files $uri $uri/ =404; } ssl_certificate /etc/letsencrypt/live/website.com/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/website.com/privkey.pem; # managed by Certbot }
Перезапустите nginx для активации изменений:
sudo nginx -t && sudo systemctl start nginx && sudo systemctl enable nginx
Для проверки работы SSL проведем эксперимент. Создадим файл index.html и проверим работу сертификата:
sudo mkdir -p /var/www/$WEBSITE_NAME sudo sh -c "echo 'Hello, world' > /var/www/$WEBSITE_NAME/index.html" curl https://$WEBSITE_NAME/ Hello, world
Теперь, если вы откроете в браузере http://website.com, то Nginx должен вас перебросить на https://website.com и отобразить текст Hello, world.
Настройка автопродления сертификата. Сертификаты Let’s Encrypt надо продлевать раз в 90 дней, иначе они устаревают. Добавим в CRON задачу вызова автопродления. Для этого в каталоге /etc/cron.monthly создайте скрипт по имени le-renew следующего содержания:
#/bin/bash certbot renew
Выдайте ему права на исполнение и протестируйте:
sudo chmod 755 /etc/cron.monthly/le-renew sudo /etc/cron.monthly/le-renew
На этом пока что настройку Nginx закончим и установим оставшиеся компоненты.
Скачать модуль HTML SiteMap для DLE
История версий (History Log)
- v.2.2 — 08.05.2014
- Полностью переработано оформление модуля для всех версий DLE.
- Исправлены мелкие ошибки и произведены улучшения. Обязательно при обновлении проделайте пункт с правкой файла engine.php в инструкции по обновлению.
- v.2.1.1 — 17.04.2014
Обновлен код модуля для совместимости с новым форматом файла настроек DLE версии 10.2 и выше.
- v.2.1 — 08.10.2012
- Исправлен баг в генераторе кода.
- Исправлены опечатки в админке.
- v.2.0 — 03.06.2012
- Добавлен установщик.
- Появилась админка с генератором кода для вставки в шаблон.
- v.1.2 — 02.06.2012
- Введен контроль за версией DLE.
- Модуль теперь совместим с линейкой DLE 8.2-9.6.
- v.1.1 — 02.11.2011
Устранены баги с некоторыми функциями модуля.
- v.1.0 — 16.03.2011
Официальный релиз.
Install MariaDB on CentOS 7
MariaDB is a drop-in replacement for MySQL. Install it using following command:
sudo yum install mariadb-server mariadb -y
After it’s installed, we need to start it.
sudo systemctl start mariadb
Enable MariaDB to start at system boot time.
sudo systemctl enable mariadb
Check status:
systemctl status mariadb
outputs:
● mariadb.service - MariaDB database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2018-09-24 08:48:46 UTC; 23s ago Main PID: 13970 (mysqld_safe) CGroup: /system.slice/mariadb.service ├─13970 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
Check version:
$ mysql --version mysql Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1
Now we need to run the security script.
sudo mysql_secure_installation
When the script ask you for the current root password, just leave it blank and press enter. Then enter Y and set a root password.
After you set the root password, you can simply press enter to answer all of other questions. (Note that the letter Y is capitalized, which means it’s the default answer.)
Now let’s move on to the PHP part.
Базовая настройка сети
Смотрим все установленные сетевые адаптеры в системе:
ip a
В результате получаем что-то подобное:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:50:56:81:28:3c brd ff:ff:ff:ff:ff:ff
inet 192.168.156.22/22 brd 192.168.159.255 scope global ens32
valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:50:56:81:3f:22 brd ff:ff:ff:ff:ff:ff
inet 10.243.254.68/26 brd 10.243.254.127 scope global ens34
valid_lft forever preferred_lft forever
* Из примера видно, что в моем CentOS есть 3 сетевых карты — lo (локальная петля), ens32 и ens34 — сетевые Ethernet адаптеры.
Если нужно настроить сеть для адаптера ens32, открываем на редактирование следующий конфигурационный файл:
vi /etc/sysconfig/network-scripts/ifcfg-ens32
И приводим его к следующему виду:
DEVICE=ens32
BOOTPROTO=static
IPADDR=192.168.0.155
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.54
DNS2=192.168.0.11
ONBOOT=yes
… а также для CentOS 8 добавим:
NM_CONTROLLED=yes
Основные опции
Опция | Описание | Возможные значения |
---|---|---|
DEVICE | Имя сетевого адаптера | Должно совпадать с именем в системе. В данном примере ens32 |
BOOTPROTO | способ назначения IP-адреса | static: ручное назначение IP, dhcp: автоматическое получение IP |
IPADDR | IP-адрес | адрес, соответствующий вашей сети |
NETMASK | Сетевая маска | должна соответствовать вашей сети |
GATEWAY | Шлюз по умолчанию | IP-адрес сетевого шлюза |
DNS1 | Основной DNS-сервер | IP-адрес сервера имен |
DNS2 | Альтернативный DNS-сервер | IP-адрес сервера имен |
ONBOOT | Способ запуска сетевого интерфейса | yes: автоматически при старте сервера, no: запускать вручную командой |
NM_CONTROLLED | Указываем, должен ли интерфейс управляться с помощью NetworkManager | yes: управляется NetworkManager, no: не может управляться NetworkManager |
Чтобы настройки применились, перезапускаем сетевую службу.
а) для CentOS 7:
systemctl restart network
б) для Rocky Linux и CentOS 8 вводим 2 команды:
systemctl restart NetworkManager
nmcli networking off; nmcli networking on
* в большей степени, это основное отличие версий 7 и 8. Чтобы команды смогли поменять настройки, для интерфейсов необходима настройка NM_CONTROLLED=yes.
Дополнительные опции (не обязательны для работы сети)
Опция | Описание | Возможные значения |
---|---|---|
DOMAIN | Указываем домен, который необходимо добавлять к имени хостов, если он не указан в запросе явно. Несколько доменов можно указать в кавычках через пробелы. | Строковое значение, соответствующее имени домена. |
IPV4_FAILURE_FATAL | Отключение сетевого интерфейса, если IP-адрес (v4) имеет неверную конфигурацию | yes: отключать, no: не отключать |
IPV6_FAILURE_FATAL | Отключение сетевого интерфейса, если IP-адрес (v6) имеет неверную конфигурацию | yes: отключать, no: не отключать |
IPV6_AUTOCONF | Разрешает или запрещает автоконфигурирование IPv6 с помощью протокола Neighbor Discovery | yes: разрешить автоконфигурирование, no: запретить |
IPV6INIT | Говорит о возможности использовать сетевой интерфейс для адресации IPv6 | yes: адресация может использоваться, no: не используется |
PEERROUTES | Задает приоритет настройки шлюза по умолчанию, полученного от DHCP | yes: маршрут от DHCP важнее, чем назначенный вручную, no: важнее маршрут, заданный вручную |
IPV6_PEERROUTES | Задает приоритет настройки шлюза по умолчанию, полученного от DHCP (для IPv6) | |
UUID | Уникальный идентификатор сетевого интерфейса. Его можно сгенерировать самостоятельно командой uuidgen | Строка из 32-х символов в формате 8-4-4-4-12. Например: fca8cc84-6f21-4bac-9ccb-36f281321ba4 |
Установка PHP
Для обработки ваших веб-страниц, которые написаны в PHP, вы захотите установить PHP на свой веб-сервер, а также убедитесь, что он запускается, если ваша система перезагружается с использованием следующих команд:
Чтобы установить PHP, введите эту команду:
Изначально запустить службу PHP для запуска, введите следующую команду:
Для включения службы PHP запустите автоматически, поэтому вам не нужно вводить команду выше каждый раз, когда сервер перезагрузится, используя эту команду здесь:
Настроить PHP
После установки важно правильно настроить PHP. Вы должны иметь следующее в php.ini:
Вы должны иметь следующее в php.ini:
Вы можете сделать это, отредактировав файл php.ini в /etc/php.ini и сохранив этот файл. Вот команды для этого с помощью текстового редактора vim:
Найдите строку; cgi.fix_pathinfo = 1 и измените это, чтобы удалить комментарий и изменить значение на 0, как так:
Вы также можете использовать нано текстовый редактор, если так проще.
Как только это будет сделано, не забудьте сохранить изменения в /etc/php.ini.
Чтобы позволить PHP и веб-серверу увидеть новые изменения, оба сервиса должны будут перезапустить. Чтобы перезапустить PHP, введите следующую команду:
Чтобы перезапустить службу Nginx, введите следующую команду:
Вы можете подтвердить, что это правильно устанавливается, создавая страницу PHP.INFO и просмотр этой страницы в вашем браузере. Страница PHPINFO.PHP должна содержать следующее и быть удалено, как только вы подтвердили, что этот параметр активен:
Убедитесь, что вы поместили файл в / usr / share / nginx / html каталог, так как именно отсюда ваш веб-сервер будет брать файлы.
Поздравляю! Если вы выполнили вышеуказанные шаги успешно, теперь у вас должен быть LEMP Стек установлен на вашем сервере. Теперь вы можете загрузить файлы вашего сайта на / usr / share / nginx / html каталог или другой каталог, если вы обновляете конфигурацию Nginx (расположенную по адресу /etc/nginx/nginx.conf).
Если у вас должны быть какие-либо вопросы или хотелось бы помочь, пожалуйста, свяжитесь с нами через живой чат или отправить билет с нашей командой технической поддержки.
Защитите свой сайт на DLE с помощью Nginx
Nginx — это быстрый и мощный веб-сервер, который может использоваться в качестве обратного прокси или прокси-сервера для DLE. Он имеет ряд полезных функций и инструментов для защиты вашего сайта от злоумышленников.
Один из способов использования Nginx для защиты вашего сайта на DLE — это фильтрация запросов. Вы можете настроить Nginx таким образом, чтобы он отклонял запросы, которые выглядят подозрительно или попытки взлома.
Также можно использовать Nginx для ограничения доступа к определенным файлам или папкам на вашем сайте. Вы можете настроить правила доступа, чтобы запретить публичный доступ к конфиденциальным файлам или ограничить доступ только к определенным IP-адресам.
Другой способ защитить ваш сайт на DLE с помощью Nginx — это использование SSL-сертификата. SSL-сертификат обеспечивает защищенное соединение между вашим сервером и клиентом, что защищает передаваемую информацию от перехвата и вмешательства злоумышленников.
Nginx также имеет функцию ограничения скорости запросов, что может быть полезно для защиты от DDoS-атак. Вы можете настроить ограничения на количество запросов от одного IP-адреса в определенном интервале времени, чтобы предотвратить перегрузку вашего сервера.
В общем, настройка Nginx для защиты вашего сайта на DLE может помочь укрепить его безопасность и обеспечить надежную работу. Рекомендуется изучить документацию Nginx и использовать различные инструменты, чтобы максимально защитить ваш сайт.
NGINX Configuration — Server Blocks
Regardless of the installation source, server configuration files contain a server block for a website. Here’s an example server block:
- File: /etc/nginx/conf.d/example.com.conf
-
There are several directives in this block that are worth taking a look at:
- — tells NGINX the hostname/IP and the TCP port where it should listen for HTTP connections
- : allows multiple domains to be served from a single IP address. Ideally, it should be created per domain or site. Based on the request header it receives, the server decides which domain to serve.
NGINX Server Blocks Configuration
Here are some examples for NGINX configuration based on sites you want to host on the server.
Configuration for processing requests for both and :
- File: /etc/nginx/conf.d/example.com.conf
-
NGINX configuration example for processing requests for all subdomains for :
- File: /etc/nginx/conf.d/example.com.conf
-
Configuration for processing requests of all domains that start with :
- File: /etc/nginx/conf.d/example.com.conf
-
DHCP
Для автоматического получения IP-адреса от сервера DHCP мы должны задать следующее значение для опции BOOTPROTO в конфигурационном файле:
…
BOOTPROTO=dhcp
…
* в наших примерах выше данный параметр имеет значение static.
Переопределение DNS с помощью dhclient.conf
Также мы можем переопределять настройки для DHCP с помощью конфигурационного файла. Например, если мы хотим, чтобы адреса DNS были заданы определенные, а не полученны от DHCP, открываем конфиг:
vi /etc/dhcp/dhclient.conf
Вставляем запись:
interface «enp0s3»
{
supersede domain-name-servers 8.8.8.8, 8.8.4.4;
}
* где enp0s3 — имя сетевого интерфейса, который будет получать адрес от сервера DHCP. 8.8.8.8, 8.8.4.4 — адреса, которые будут настоены на интерфейсе, независимо от того, какие предложит сервер DHCP.
Или мы можем использовать адреса от DHCP, но сделать приоритетными свои:
interface «enp0s3»
{
prepend domain-name-servers 127.0.0.1;
}
* в данном примере, мы зададим в качестве основного сервера DNS — 127.0.0.1.
Чтобы данный метод сработал в CentOS 8, необходимо открыть файл:
vi /etc/NetworkManager/NetworkManager.conf
В раздел добавить:
dhcp=dhclient
Переопределение DNS в NetworkManager (альтернативный способ)
Метод, описанный выше по переопределению DNS не подходит для NetworkManager без изменения настройки dhcp, так как адреса будут получены и обработаны с помощью встроенных методов. Выше, предоставлено решение в виде настройки dhcp=dhclient, однако мы рассмотрим альтернативный способ, на случай, если кому-то это пригодится.
Создаем файл:
vi /etc/NetworkManager/dispatcher.d/99-resolv.conf.dhclient
#!/bin/bash
sleep 1
rm -f /etc/resolv.conf
echo ‘# Generated by dispatcher’ > /etc/resolv.conf
echo ‘nameserver 127.0.0.1’ >> /etc/resolv.conf
echo » >> /etc/resolv.conf
cat /var/run/NetworkManager/resolv.conf >> /etc/resolv.conf
* в данном примере мы создали скрипт, который сначала добавит нужную нам запись в файл /etc/resolv.conf, а после добавит туда значения, полученные от DHCP
Обратите внимание, что в конкретном примере:
- адрес 127.0.0.1 задается в качестве приоритетного сервера DNS.
- остальные настройки получаем от DHCP, которые NetworkManager помещает в файл /var/run/NetworkManager/resolv.conf.
Разрешаем запуск скрипта:
chmod +x /etc/NetworkManager/dispatcher.d/99-resolv.conf.dhclient
Перезапускаем сеть:
systemctl restart NetworkManager
Через 2 секунды проверяем:
cat /etc/resolv.conf