Сначала закажи бесплатную услугу "DNS хостинг" в личном кабинете, затем добавь на нее твой домен.
На локальном сервере выполни команду sudo nano /etc/hosts и добавь свой домен
Консоль
Подключаемся к серверу (только со своим IP)
ssh root@77.77.77.77
Появится предупреждение о неизвестном хосте, набираем «yes»
Обновляем базы данных пакета
sudo apt update
Обновляем установленные пакеты
sudo apt upgrade
Установка Nginx
sudo apt install nginx
Ставим Midnight Commander (файловый менеджер) и распаковщик zip архивовТеперь твои IP адрес и домен должны выдавать заглушку nginx
sudo apt install mc unzip git
MySQL
Ставим сервер и консольный клиентsudo apt install mysql-server mysql-client
Далее настроим его
sudo mysql_secure_installation
В ходе настройки тебе нужно будет задать:
- Сложность пароля
- Задать пароль для root
- Удалить анонимных пользователей?
- Запретить удаленный вход root?
- Удалить тестовую базу данных?
- Перезагрузить таблицы привилегий?
sudo mysql -u root -p
CREATE DATABASE `db_name` CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON db_name . * TO 'new_user'@'localhost';
FLUSH PRIVILEGES;
exit;
PHP
Чтобы установить именно php 8.1 мы добавим PPA-репозиторий, в котором есть нужные пакеты сборки.sudo apt -y install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt install php8.1-fpm
Проверим, все ли норм
php -v
Ставим все остальные пакеты
sudo apt install php8.1-common php8.1-mysql php8.1-xmlrpc php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-soap php8.1-intl -y
sudo apt install php8.1-xml php8.1-curl php8.1-gd php8.1-mbstring php8.1-readline
sudo apt install php8.1-bz2 php8.1-zip php8.1-opcache
Редачим php.ini
sudo nano /etc/php/8.1/fpm/php.ini
Меняем значения (ctrl + W = поиск текста)
file_uploads = On // разрешаем загрузку файлов на сервер
max_execution_time = 300 // макс время, что скрипт может исполняться
memory_limit = 128M // память выделяемая на запросы
post_max_size = 32M // макс размер файла, что может быть загружен
upload_max_filesize = 32M
max_input_time = 60 // время, за которое скрипт должен принять все переменные
max_input_vars = 3333 // количество входных переменных в одном запросе ($_GET, $_POST и $_COOKIE)
Добавляем сайт
Сначала создаем пользователяadduser NAME_USER
В ходе создания система предложит ввести инфу о пользователе, можешь все оставить пустым
Далее создадим папку сайта, сменим права на нового пользователя и в ней, из-под нового пользователя, папку html (NAME_GROUP будет равно имени пользователя)
sudo mkdir -p /var/www/artello.ru
chown -R NAME_USER:NAME_GROUP /var/www/artello.ru
sudo -u NAME_USER mkdir /var/www/artello.ru/html
Перейдем в нашу папку и скачаем WordPress
cd /var/www/artello.ru/html
sudo -u NAME_USER wget https://wordpress.org/latest.tar.gz
sudo -u NAME_USER tar -zxvf latest.tar.gz
sudo -u NAME_USER mv wordpress/* .
rm latest.tar.gz
rmdir wordpress
Теперь настроим хост в nginx
sudo nano /etc/nginx/sites-available/artello.ru
Пропишем:
server {
listen 80;
server_name artello.ru www.artello.ru;
root /var/www/artello.ru/html;
index index.html index.htm index.php;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Создадим ссылку и перезагрузим
sudo ln -s /etc/nginx/sites-available/artello.ru /etc/nginx/sites-enabled/
sudo systemctl reload nginx
Теперь следуем инструкции установщика WordPress.
Готово!
На локальном сервере выполни команду sudo nano /etc/hosts и добавь свой доменМожет понадобиться в wp-config дописать:
define('FS_METHOD', 'direct');