Сначала закажи бесплатную услугу «DNS хостинг» в личном кабинете, затем добавь на нее твой домен.
В ходе настройки тебе нужно будет задать:
- Сложность пароля
- Задать пароль для root
- Удалить анонимных пользователей?
- Запретить удаленный вход root?
- Удалить тестовую базу данных?
- Перезагрузить таблицы привилегий?
Может понадобиться в wp-config дописать:
На локальном сервере выполни команду sudo nano /etc/hosts и добавь свой домен
Может понадобиться в wp-config дописать:
Может понадобиться в wp-config дописать:
Консоль
Подключаемся к серверу (только со своим IP)
ssh root@95.142.42.33
Появится предупреждение о неизвестном хосте, набираем «yes»
Обновляем базы данных пакета
sudo apt update
Обновляем установленные пакеты
sudo apt upgrade
Установка Nginx
sudo apt install nginx
Теперь твои IP адрес и домен должны выдавать заглушку nginx
Ставим Midnight Commander (файловый менеджер) и распаковщик zip архивов
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');