Что можно разместить на таком сервере:
- Веб-сайты: личные и корпоративные сайты.
- Блоги: идеально под WordPress.
- Интернет-магазины: Платформы для электронной коммерции.
- Веб-приложения: Приложения на PHP, такие как CRM и CMS.
- Базы данных: Хранение и управление данными с помощью MariaDB.
Logs
nano /var/log/nginx/error.log
nano /var/log/nginx/access.log
Nginx config
nano /etc/nginx/nginx.conf
nano /etc/nginx/sites-available/cpmdealer
Php Config
nano /etc/php/8.3/fpm/pool.d/www.conf
systemctl stop php8.3-fpm
systemctl reload nginx
service php-fpm status
systemctl status nginx
systemctl restart php8.3-fpm
systemctl restart nginx
sudo chown -R cpmdealer:cpmdealer /var/www/
sudo chmod -R 755 /var/www/
Шаг 1: Создание нового пользователя и настройка прав
Работа под root на сервере опасна, так как root имеет полный доступ ко всем системным файлам и функциям.
Например, если злоумышленник получит root-доступ через уязвимость в веб-приложении, он сможет удалить все файлы (rm -rf /) или установить вредоносное ПО.
Использование ограниченных учетных записей снижает риски, ограничивая потенциальный ущерб от ошибок и атак.
Обновляемся:
sudo apt update && sudo apt upgrade
Добавление нового пользователя:
sudo adduser cpmdealer
Эта команда создает пользователя cpmdealer.
Добавление пользователя в группу sudo:
sudo usermod -aG sudo cpmdealer
Это дает пользователю cpmdealer права на выполнение команд с привилегиями суперпользователя.
Шаг 2: Установка и настройка временной зоны
Настройка временной зоны:
sudo dpkg-reconfigure tzdata
Следуйте инструкциям на экране для выбора нужной временной зоны.
Шаг 3: Установка и настройка компонентов LEMP
Установка необходимых пакетов:
sudo apt install nginx mariadb-server mariadb-client php-fpm php-cli php-zip php-xml php-mysql php-json php-curl php-imagick php-mbstring certbot python3-certbot-nginx
Эти пакеты включают в себя веб-сервер nginx, базу данных MariaDB и PHP с необходимыми расширениями.
Добавляем пользователя в группу www-data:
sudo usermod -aG www-data cpmdealer
Проверка версии PHP:
php -v
Убедитесь, что PHP установлен и работает.
Перезапуск PHP-FPM:
sudo systemctl restart php8.3-fpm
Применение изменений конфигурации PHP-FPM.
Шаг 4: Настройка веб-сервера Nginx
Создаем директории для нашего проекта:
sudo mkdir /var/www/cpmdealerfolder
Назначаем права на эти директории:
sudo chown cpmdealer:cpmdealer /var/www/cpmdealerfolder
Создание конфигурационного файла для сайта:
sudo nano /etc/nginx/sites-available/cpmdealer
Приведенный ниже конфигурационный файл настраивает сервер для вашего сайта (замените server_name, root, и listen на ваши значения):
server { listen 80; server_name cpmdealer.com; root /var/www/cpmdealer; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.3-fpm.sock; } }
Активация сайта:
sudo ln -s /etc/nginx/sites-available/cpmdealer /etc/nginx/sites-enabled/
Перезагрузка Nginx:
sudo systemctl reload nginx
Применение изменений конфигурации Nginx.
Шаг 5: Установка SSL сертификата
Установка SSL сертификата с помощью Certbot:
sudo certbot -d cpmdealer.com
Запускаем только после привязки домена к серверу.
Шаг 6: Настройка MariaDB
Запускаем и включаем службу MariaDB:
sudo systemctl start mariadb sudo systemctl enable mariadb
Проверяем статус MariaDB:
sudo systemctl status mariadb
Первоначальная настройка безопасности MariaDB.
Этот скрипт предложит вам ряд вопросов для повышения безопасности вашего MariaDB сервера.
1) Enter current password for root (enter for none) нажмите Enter.
2) Switch to unix_socket authentication y.
3) Change the root password? n.
4) Remove anonymous users? y.
5) Remove test database and access to it? y.
6) Disallow root login remotely? y.
7) Reload privilege tables now? y.
sudo mysql_secure_installation
Вход в MariaDB (вместо пароля enter)
sudo mariadb -u root -p
Создание базы данных и пользователя
CREATE DATABASE bdname;
Создайте нового пользователя и предоставьте ему права доступа к новой базе данных:
CREATE USER 'имя_пользователя'@'localhost' IDENTIFIED BY 'пароль_пользователя'; GRANT ALL PRIVILEGES ON имя_базы_данных.* TO 'имя_пользователя'@'localhost'; FLUSH PRIVILEGES;
Выходим из бд
EXIT;
Как улучшить сервер
Поздравляю! Вы успешно установили и настроили LEMP сервер на Ubuntu 24.04. Теперь у вас есть полностью функционирующий веб-сервер, готовый к приему ваших веб-приложений.
На таком сервере можно размещать различные виды сайтов и приложений, включая блоги на WordPress, корпоративные сайты, интернет-магазины, портфолио, и многое другое.
Как можно улучшить сервер: