Идея создания блога родилась случайно, я увидел красивый домен на domain.com, который совпадал с моей фамилией, cтоил он 3.99$.
При оплате домена мне предложили множество дополнительных решений, таких, как почта от Google, хостинг, всевозможные конструкторы сайтов в том числе на WordPress.
Я понимал, что все эти доп. возможности подключаются в одно касание, и подумал, что это “неспортивно” и не принесет никакого удовольствия от настройки.
Задумался о том, чтобы поднять свой почтовый сервер и обеспечить всех родственников красивыми почтовыми адресами вида {name}@aull.me.
Поэтому решил хостинг от domain не брать, а сделать всё вручную на VPS от Amazon.
C AWS работаю уже давно, поэтому запустить новый инстанс не знанимает больше пары минут.
Выбрал под блог инстанс t4g.micro в Северной Вирджинии, этот регион дешевле всего, как я знаю.
t4g.micro инстанс на процессоре ARM, 1 Гб оперативной памяти, два ядра, ОС Ubuntu.
Инстансы на ARM значительно дешевле, чем на х86 процах, иногда разница доходит до двух – двух с половиной раз.
Выбранный мной инстанс стоит около 6$ в месяц.
Его думаю хватит на блог, почтовый сервер и еще какие-нибудь шалости.
После запуска нового инстанса всегда запускую в баше команду комплексного обновления:
sudo apt update && sudo apt upgrade && sudo apt autoremove && sudo apt autopurge && sudo apt autoclean
Далее по привычке ставлю стандартный набор утилит и библиотек для моих Python-поделок, если вам Python не нужен, пропускайте эту команду:
sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev git sudo apt install python3-venv sudo apt-get install -y python3-pip sudo apt-get install build-essential libssl-dev libffi-dev python-dev-is-python3 sudo apt install build-essential libssl-dev libffi-dev python3-dev sudo apt install python3-venv -y
Установка и настройка WordPress, необходимых утилит и компонентов.
Cтавим и запускаем Apache:
sudo apt install apache2 apache2-utils sudo systemctl enable apache2 sudo systemctl start apache2
Ставим PHP:
sudo apt install php sudo apt install libapache2-mod-php sudo apt install php-curl php-memcached php-mysql php-pgsql php-gd php-imagick php-intl php-mcrypt php-xml php-zip php-mbstring sudo apt-get install php-curl php-gd php-mbstring php-xml php-xmlrpc php-curl php-gd php-imagick php-zip php-intl
Ставим MySQL и найстраиваем первичную безопасность:
sudo apt install mysql-server sudo mysql_secure_installation
Перезапускаем Apache:
sudo a2enmod rewrite sudo systemctl restart apache2
Качаем и устанавливаем последюю версию WordPress:
wget -c http://wordpress.org/latest.tar.gz tar -xzvf latest.tar.gz sudo rsync -av wordpress/* /var/www/html/ sudo chown -R www-data:www-data /var/www/html/ sudo chmod -R 755 /var/www/html/
Удаляем index.html:
sudo rm /var/www/html/index.html
Запускаем MySQL и создаем базу, пользователя и раздаем права пароль придумайте сами, еще желательно префиксы “wp_” сразу заменить на что-то, так безопаснее:
sudo mysql -u root -p mysql> CREATE DATABASE wp_database; mysql> CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'password'; mysql> GRANT ALL PRIVILEGES ON wp_database.* TO 'wp_user'@'localhost'; mysql> FLUSH PRIVILEGES; mysql> EXIT;
По адресу /var/www/html переименовываем файл wp-config-sample.php в wp-config.php и в нем прописываем пароли и явки от базы данных.
Ставим утилиту и перезапускаем Apache:
sudo apt-get install php-mysqli sudo systemctl restart apache2
Ради повышения безопасности меняем разрешения для файлов в папке /var/www/html:
chmod 600 .htaccess chmod 600 wp-config.php
Так же рекомендую прочитать пост и коментарии под ним по вопросу найстроки безопасности вашего блога:
https://habr.com/ru/companies/first/articles/664004/
Это очень важно, так как я запустил блог со второга раза, в первый раз я не озаботился вопросами безопасности и у меня угнали виртуалку с блогом в первые 5 минут ее работы:)
Встретился с проблемой постоянных ссылок, чтобы были красивые ссылки вида: aull.me/blog-wordpress/ вместо aull.me/index.php/blog-wordpress/.
Перепробовал все способы которые нашел интернете, но так и не смог ее победить, если кто-то знает решение проблемы сообщите пожалуйста)
В эко-системе WP множество плагинов, и для SEO и для безопасности, и для оптимизации можно про каждый плагин отдельную статью писать.
В целом, было очень инетересно во всём этом поковыряться, в прошлый раз я занимался такими вопросами лет 7 назад когда делал сайт для своей компании, но это уже совсем другая история:)
Для обсуждения приглашаю в Telegram канал https://t.me/aullblog