Как установить October CMS с Nginx на Fedora 29
На этой странице
- Требования
- Предпосылки
- Начальные шаги
- Шаг 1. Установите PHP
- Шаг 2. Установите MariaDB и создайте базу данных на октябрь.
- Шаг 3. Установите клиент Acme.sh и получите сертификат Lets Encrypt (необязательно)
- Шаг 5. Загрузите и установите платформу October CMS
- Шаг 6. Завершите настройку октября
- Ссылки
October CMS — это бесплатная CMS-платформа с открытым исходным кодом для самостоятельного хостинга, основанная на Laravel PHP Framework. Исходный код October CMS размещен на Github. Тысячи цифровых студий и фрилансеров по всему миру любят October за его простоту, гибкость и современный дизайн. В этом руководстве мы рассмотрим установку October CMS в системе Fedora 29, используя Nginx в качестве веб-сервера, MariaDB в качестве сервера базы данных, и, при желании, вы можете защитить транспортный уровень, используя клиент acme.sh и центр сертификации Lets Encrypt, чтобы добавить Поддержка SSL.
Требования
Прежде чем продолжить, убедитесь, что ваш сервер соответствует минимальным системным требованиям. October CMS предъявляет следующие требования к серверу для веб-хостинга:
- PHP версии 7.0 или выше
- Расширение PHP PDO
- CURL PHP-расширение
- Расширение OpenSSL PHP
- Библиотека Mbstring PHP
- Архив PHP-библиотеки
- Библиотека GD PHP
- XML PHP-расширение
- JSON PHP-расширение
- Apache с
mod_rewrite
или Nginx
Предпосылки
- Система под управлением Fedora 29.
- Пользователь без полномочий root с привилегиями sudo.
Начальные шаги
Проверьте версию вашей системы Fedora:
cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)
Настройте часовой пояс:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Обновите пакеты операционной системы (программное обеспечение). Это важный первый шаг, поскольку он гарантирует наличие последних обновлений и исправлений безопасности для пакетов программного обеспечения вашей операционной системы по умолчанию:
sudo dnf upgrade -y
Установите несколько основных пакетов, необходимых для базового администрирования операционной системы Fedora:
sudo dnf install -y vim wget curl git socat unzip bash-completion
Шаг 1 - Установите PHP
Для платформы October CMS требуется PHP версии 7.0 или выше.
Установите PHP, а также необходимые расширения PHP:
sudo dnf install -y php-cli php-fpm php-pdo php-common php-mysqlnd php-curl php-json php-zip php-gd php-xml php-mbstring
Проверьте версию PHP:
php --version
# PHP 7.2.15 (cli) (built: Feb 5 2019 15:43:35) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies # with Zend OPcache v7.2.9, Copyright (c) 1999-2018, by Zend Technologies
Запустите и включите службу PHP-FPM:
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service
Мы можем перейти к следующему шагу — установке и настройке базы данных.
Шаг 2. Установите MariaDB и создайте базу данных на октябрь.
Установите сервер базы данных MariaDB:
sudo dnf install -y mariadb-server
Проверьте версию MariaDB:
mysql --version
# mysql Ver 15.1 Distrib 10.3.12-MariaDB, for Linux (x86_64) using readline 5.1
Запустите и включите службу MariaDB:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Запустите скрипт mysql_secure install
, чтобы улучшить безопасность MariaDB, и установите пароль для пользователя root
MariaDB:
mysql_secure_installation
Войдите в MariaDB как пользователь root:
mysql -u root -p
# Enter password
Создайте базу данных MariaDB и пользователя, которых вы будете использовать для установки October, и запомните учетные данные:
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Выход из оболочки MariaDB:
quit
Шаг 3. Установите клиент Acme.sh и получите сертификат Lets Encrypt (необязательно)
Защита вашего веб-сайта с помощью HTTPS не является обязательной, но это хорошая практика для защиты трафика вашего сайта. Чтобы получить SSL-сертификат от Lets Encrypt, мы будем использовать клиент Acme.sh. Acme.sh — это чистое программное обеспечение оболочки UNIX для получения SSL-сертификатов от Lets Encrypt без каких-либо зависимостей.
Загрузите и установите Acme.sh:
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail
cd ~
Проверьте версию Acme.sh:
/etc/letsencrypt/acme.sh --version
# v2.8.0
Получите сертификаты RSA и ECC/ECDSA для своего домена/имени хоста:<br>
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256
После выполнения приведенных выше команд ваши сертификаты и ключи будут находиться в:
- Для RSA:
/etc/letsencrypt/example.com
каталог. - Для ECC/ECDSA:
/etc/letsencrypt/example.com_ecc
каталог.
Шаг 4. Установите и настройте NGINX
Установите веб-сервер NGINX:
sudo dnf install -y nginx
Проверьте версию NGINX:
nginx -v
# nginx version: nginx/1.14.1
Запустите и включите сервис NGINX:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Запустите sudo vim /etc/nginx/conf.d/october.conf
и заполните файл следующей конфигурацией:
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
server_name example.com;
index index.php index.html;
root /var/www/october;
ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php$ {
include default.d/php.conf;
include fastcgi_params;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 120s;
}
rewrite ^themes/.*/(layouts|pages|partials)/.*.htm /index.php break;
rewrite ^bootstrap/.* /index.php break;
rewrite ^config/.* /index.php break;
rewrite ^vendor/.* /index.php break;
rewrite ^storage/cms/.* /index.php break;
rewrite ^storage/logs/.* /index.php break;
rewrite ^storage/framework/.* /index.php break;
rewrite ^storage/temp/protected/.* /index.php break;
rewrite ^storage/app/uploads/protected/.* /index.php break;
}
Протестируйте конфигурацию NGINX:
sudo nginx -t
Перезагрузите NGINX:
sudo systemctl reload nginx.service
Шаг 5 - Загрузите и установите платформу October CMS
Создайте корневой каталог документа:
sudo mkdir -p /var/www/october
Измените владельца каталога /var/www/october
на johndoe:
sudo chown -R [your_user]:[your_user] /var/www/october
Перейдите в корень документа:
cd /var/www/october
Загрузите установщик October CMS:
wget http://octobercms.com/download -O october.zip
Разархивируйте установщик October CMS:
unzip october.zip
rm october.zip
mv install-master/* .
Измените владельца каталога /var/www/october
на nginx:
sudo chown -R nginx:nginx /var/www/october
Запустите sudo vim /etc/php-fpm.d/www.conf
и установите для пользователя и группы значение nginx
. Первоначально они будут установлены на apache:
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
Перезапустите службу PHP-FPM:
sudo systemctl restart php-fpm.service
Перейдите к сценарию install.php
в веб-браузере, например example.com/install.php
, и следуйте инструкциям по установке.
Шаг 6. Завершите настройку октября
Убедитесь, что с проверкой системы все в порядке, и нажмите кнопку \Согласен и Продолжить\.
Настройте базу данных и параметры администратора.
Вы также можете настроить некоторые дополнительные параметры или оставить значения по умолчанию.
И, наконец, когда все настроено, нажмите синюю кнопку «Продолжить».
Далее вас спросят: \Как вы хотите настроить свой сайт?\. У вас будет 3 варианта: Начать с нуля, Начать с темы, Использовать идентификатор проекта. Выберите предпочитаемый вариант.
Чтобы получить доступ к области администрирования платформы October CMS, просто добавьте /backend
к своему URL/IP-адресу.
После установки из соображений безопасности следует удалить установочные файлы, сценарий install.php
и каталог install_files
:
sudo rm /var/www/october/install.php && sudo rm -rf /var/www/october/install_files
Ссылки
- https://github.com/octobercms/october