Всем привет!
Вот мы и начинаем с вами погружаться в очень увлекательную работу.
Для моих читателей, которые уже давно пишут на wordpress, пока не будет ничего нового.
Но это всё лирика. Давайте начнём!
Перед установкой
Перед тем, как вы начнёте установку wordpress, вам необходимо проследовать некоторым рекомендациям:
1. Если у вас сайт будет на виртуальном или выделенном сервере, то вы должны будете установить веб-сервер и некоторые расширения php.
Об этом мы с вами поговорим ниже.
2. Если ваш сайт будет находиться на виртуальном хостинге, то вам нужно будет просто запустить его установку там, создав перед этим базу данных в панели управления виртуальным хостингом.
Некоторые пояснения для чайников:
1. Виртуальный сервер– это виртуальная машина, на которой находится все программное обеспечение и все данные, необходимые для работы веб-сайта или приложения.
2. Выделенный сервер– это уже физическая машина, на которой также может находиться любое программное обеспечение для работы сайтов и приложений.
Основные отличия услуг вы понимаете.
3. Виртуальный хостинг– это готовая платформа, преднастроенная хостинговым провайдером. Основное управление службами, вашим сайтом, будет производиться в специализированной панели управления, при этом что-то доустановить, к примеру какие-либо расширения php, у вас не получится.
Также у некоторых хостинговых провайдеров к услуге виртуальный хостинг может не идти ssh.
Надеюсь вам эта часть поста понятна. Едем далее!
подготовка сервера
В данной статье, ммы представим, что сайт вы будете устанавливать на виртуальном или выделенном сервере. Лично я рекомендую начать с малого. Хотябы попробовать изучить панели управления виртуальными хостингами, чтобы иметь опыт взаимодействия с ними в дальнейшем. Вдруг вам будет сложно самостоятельно обслуживать ваш сайт и вам будет проще уйти на виртуальный хостинг.
Приступим к следующему шагу!
установка программного обеспечения
Для того, чтобы наш сайт работал, нам необходимо:
• веб-сервер
Будем использовать apache.
• система управления базами данных
Будем использовать MariaDB.
• php
Подключаемся к серверу по ssh, используя доступ к учётной записи root.
Я буду использовать “putty” для своего удобства.
Линк найдёте в одной из статей про putty.
Начинаем устанавливать нужный софт на сервер.
В качестве системы, у меня на борту debian.
Для установки веб-сервера, системы управления базами данных, языка php, дополнительных расширений к нему, используем команды:
apt install apache2 mariadb-server php php-mysql php-curl php-dom php-mbstring php-imagick php-zip php-xml php-gd php-intl
Перезапускаем apache
systemctl restart apache2
А теперь, сделаем установку mariadb безопасной:
mysql_secure_installation
После запуска этой команды, просто следуйте инструкциям.
конфигурируем apache
создадим новый текстовый документ вот с таким названием “example.com.conf”
Вместо моего примера доменного имени должно быть ваше.
То же самое относится ко всем параметрам конфигурации, где фигурирует пример.
Где потребуется, я поясню.
Рекомендую скачать пример с облака и заполнить конфиг в соответствии с ним.
Скачать пример
• сначала мы указали настройки хоста для порта 80, с перенаправлением на защищённый протокол https
• потом мы указали настройки хоста для порта 443, который будет задействован по умолчанию.
• включили модуль ssl
• указали настройки индексов
Не забудьте сначала выпустить сертификаты перед тем, как заполнять пути к ним.
И да, не забудьте загрузить файл по пути:
/etc/apache2/sites-available
Также вернитесь в терминал и выполните:
a2dissite 000-default
установка ssl
Мы сделаем всё максимально красиво, модно и безопасно.
Снова возвращаемся в терминал, и пишем команду:
apt install letsencrypt
Как и везде, соглашаемся с тем, что будут установлены новые пакеты, дожидаемся завершения операции, и вводим команду:
certbot certonly
Выбираем 1, пишем электронную почту, соглашаемся с условиями лицензии, вводим домен, дожидаемся, пока выпустится сертификат.
Всё можно делать по инструкции из вывода команды.
Немного забыл!
Перед выпуском сертификата, остановите веб-сервер, выполнив:
systemctl stop apache2
Как только выпустили ssl, включим модуль:
a2enmod ssl
далее, выполним:
a2ensite sitename
Делаем:
systemctl restart apache2
Проверим синтаксис конфига:
apache2ctl -t
Если видим “syntax ok”, то всё замечательно.
Едем дальше.
Давайте ещё включим модуль, который позволит нам делать красивые ссылки:
a2enmod rewrite
работа с базой данных
Нам необходимо написать команду, которая направит нас в консоль управления базами данных.
mysql
Далее, по очерёдности, вводим команды, как описано ниже.
create database dbname;
[dbname —- это название базы данных.]
create user username@localhost identified by 'password';
[Вместо username и password, задаём свои значения.]
Точка с запятой в конце команды– это аргумент, который показывает, что инструкция завершилась.
Без этого символа команда исполнена не будет.
Вы или не увидите результат, или получите синтаксическую ошибку.
Продолжаем вводить команды.
grant all on dbname.* to username@localhost identified by 'password';
[Эта команда даёт все разрешения пользователю базы данных.]
“Что это означает?”
Этот пользователь получает разрешение на запись, изменение любых таблиц текущей базы данных, импорт, экспорт таблиц и т.д.
Без этого разрешения, ваш пользователь работать с базой данных не сможет, нужная CMS “Система управления контентом” не установится.
Продолжим.
flush privileges;
Эта команда сбросит все привелегии. Выполнять не обязательно, но я всегда это делаю.
Так, на всякий.
exit;
Можно попробовать подключиться к базе данных:
mysql dbname
Если “mariadb” вас поприветствует и покажет вам название базы данных, то всё хорошо.
Что дальше?
Сервер мы подготовили, программное обеспечение установили и сконфигурировали.
Пост уже получился достаточно длинным, по этому продолжение будет когда у меня найдётся свободное время.
заключение
Друзья! Возможно это всё покажется для вас сложным, но вы не пугайтесь.
Дальше, больше. Посты будут всё длиннее, информации много. Надеюсь это не остановит вас от идеи написать свой сайт.
Тем более я не буду вас учить или заставлять кодить на html/php, хотя иногда это очень нужно.
В общем, жду ваше мнение в комментах!
Благодарю вас за уделённое время.