Поиск по сайту:

Как установить платформу October CMS на Debian 9


На этой странице

  1. Требования
  2. Предпосылки
  3. Начальные шаги
  4. Шаг 1. Установите PHP и необходимые расширения PHP
  5. Шаг 2. Установите MariaDB и создайте базу данных на октябрь.
  6. Шаг 3. Установите клиент Acme.sh и получите сертификат Lets Encrypt (необязательно)
  7. Шаг 4. Установите NGINX и настройте NGINX на октябрь.
  8. Шаг 5. Загрузите и установите платформу October CMS
  9. Шаг 6. Завершите настройку октября
  10. Ссылки

October CMS — это бесплатная CMS-платформа с открытым исходным кодом для самостоятельного хостинга, основанная на Laravel PHP Framework. Исходный код October CMS размещен на Github. В этом руководстве мы познакомим вас с процессом установки October CMS в операционной системе Debian 9 (stretch) с использованием NGINX в качестве веб-сервера, MariaDB в качестве сервера базы данных и, при необходимости, вы можете защитить транспортный уровень с помощью клиента acme.sh. и Центр сертификации Lets Encrypt для добавления поддержки SSL.

Требования

Прежде чем продолжить, убедитесь, что ваш сервер соответствует минимальным системным требованиям. October CMS предъявляет следующие требования к серверу для веб-хостинга:

  • PHP версии 7.0 или выше
  • Расширение PHP PDO
  • cURL Расширение PHP
  • Расширение OpenSSL PHP
  • MBstring Библиотека PHP
  • Zip PHP-библиотека
  • Библиотека GD PHP
  • Расширение XML PHP
  • Расширение JSON PHP
  • Apache с mod_rewrite или NGINX
  • Сервер базы данных (MariaDB, MySQL, PostgreSQL)

Предпосылки

  • Система под управлением Debian 9 (растянутая).
  • Пользователь без полномочий root с привилегиями sudo.

Начальные шаги

Проверьте версию вашей системы Debian:

lsb_release -ds
# Debian GNU/Linux 9.7 (stretch)

Настройте часовой пояс:

dpkg-reconfigure tzdata

Обновите пакеты операционной системы (программное обеспечение). Это важный первый шаг, поскольку он гарантирует наличие последних обновлений и исправлений безопасности для пакетов программного обеспечения вашей операционной системы по умолчанию:

apt update && apt upgrade -y

Установите несколько основных пакетов, необходимых для базового администрирования операционной системы Debian:

apt install -y curl wget vim git sudo unzip socat bash-completion dirmngr apt-transport-https

Шаг 1 - Установите PHP и необходимые расширения PHP

Для платформы October CMS требуется PHP версии 7.0 или выше. По умолчанию Debian 9 имеет PHP версии 7.0 в репозиториях программного обеспечения по умолчанию, что подходит для October CMS.

Установите PHP, а также необходимые расширения PHP:

sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-common php7.0-mysql php7.0-curl php7.0-json php7.0-zip php7.0-gd php7.0-xml php7.0-mbstring 

Чтобы показать PHP, скомпилированный в модулях, вы можете запустить:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Проверьте версию PHP:

php --version

# PHP 7.0.33-0+deb9u1 (cli) (built: Dec  7 2018 11:36:49) ( NTS )
# Copyright (c) 1997-2017 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
# with Zend OPcache v7.0.33-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies

Служба PHP-FPM автоматически запускается и включается при перезагрузке системы Debian 9, поэтому нет необходимости запускать и включать ее вручную. Мы можем перейти к следующему шагу — установке и настройке базы данных.

Шаг 2. Установите MariaDB и создайте базу данных на октябрь.

October поддерживает базы данных MySQL/MariaDB, PostgreSQL, SQLite и SQL. Команда Debian заменила MySQL на MariaDB в качестве базы данных по умолчанию из Debian 9 (stretch), поэтому в этом руководстве мы будем использовать MariaDB в качестве сервера базы данных. Если вы хотите установить оригинальный MySQL, вы можете добавить и использовать официальный репозиторий MySQL, поддерживаемый Oracle.

Установите сервер базы данных MariaDB из официального репозитория MariaDB:

sudo apt install -y software-properties-common dirmngr apt-transport-https
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] https://mirrors.nxthost.com/mariadb/repo/10.2/debian stretch main'
sudo apt update
sudo apt install -y mariadb-server

Проверьте версию MariaDB:

mysql --version
# mysql  Ver 15.1 Distrib 10.2.21-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Запустите скрипт mysql_secure install, чтобы улучшить безопасность MariaDB, и установите пароль для пользователя root MariaDB:

sudo mysql_secure_installation

Ответьте на каждый из вопросов:

Enter current password for root (enter for none): Press Enter
Set root password? [Y/n] Y
New password: your_secure_password
Re-enter new password: your_secure_password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Войдите в MariaDB как пользователь root:

sudo 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 su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail example.com
source ~/.bashrc
cd ~

Проверьте версию acme.sh:

acme.sh --version
# v2.8.0

Получите сертификаты RSA и ECC/ECDSA для своего домена/имени хоста:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Если вам нужны поддельные сертификаты для тестирования, вы можете добавить флаг --staging к приведенным выше командам.

После выполнения приведенных выше команд ваши сертификаты и ключи будут находиться в:

  • Для RSA: каталог ~/example.com.
  • Для ECC/ECDSA: ~/example.com_ecc каталог.

Чтобы просмотреть список выданных сертификатов, вы можете запустить:

acme.sh --list

Создайте каталог для хранения сертификатов. Мы будем использовать каталог /etc/letsencrypt .

mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Установите/скопируйте сертификаты в каталог /etc/letsencrypt.

# RSA
acme.sh --install-cert -d example.com \
--cert-file /etc/letsencrypt/example.com/cert.pem \
--key-file /etc/letsencrypt/example.com/private.key \
--fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"

# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
--cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
--key-file /etc/letsencrypt/example.com_ecc/private.key \
--fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"

Все сертификаты будут автоматически обновляться каждые 60 дней.

После получения сертификатов выйдите из-под пользователя root и вернитесь к обычному пользователю sudo:

exit

Шаг 4. Установите NGINX и настройте NGINX на октябрь

Установите веб-сервер NGINX:

sudo apt install -y nginx

Проверьте версию NGINX:

sudo nginx -v
# nginx version: nginx/1.10.3

Настройте NGINX на октябрь, выполнив:

sudo vim /etc/nginx/sites-available/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.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
location / { try_files $uri $uri/ /index.php?$query_string; }

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_read_timeout 120s;
}

location ~ ^/favicon\.ico { try_files $uri /index.php; }
location ~ ^/sitemap\.xml { try_files $uri /index.php; }
location ~ ^/robots\.txt { try_files $uri /index.php; }
location ~ ^/humans\.txt { try_files $uri /index.php; }
location ~ ^/storage/app/uploads/public { try_files $uri 404; }
location ~ ^/storage/app/media { try_files $uri 404; }
location ~ ^/storage/temp/public { try_files $uri 404; }
location ~ ^/modules/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/modules/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/behaviors/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/reportwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/formwidgets/.*/resources { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/assets { try_files $uri 404; }
location ~ ^/plugins/.*/.*/widgets/.*/resources { try_files $uri 404; }
location ~ ^/themes/.*/assets { try_files $uri 404; }
location ~ ^/themes/.*/resources { try_files $uri 404; } }

Активируйте новую конфигурацию october.conf, связав файл с каталогом sites-enabled .

sudo ln -s /etc/nginx/sites-available/october.conf /etc/nginx/sites-enabled

Проверьте конфигурацию NGINX на наличие синтаксических ошибок:

sudo nginx -t

Перезагрузите сервис NGINX:

sudo systemctl reload nginx.service

Шаг 5 - Загрузите и установите платформу October CMS

Создайте корневой каталог документа:

sudo mkdir -p /var/www/october

Измените владельца каталога /var/www/october на [your_user]:

sudo chown -R [your_user]:[your_user] /var/www/october

Перейдите в корень документа:

cd /var/www/october

Загрузите установщик October CMS:

wget https://octobercms.com/download -O october.zip

Разархивируйте установщик October CMS:

unzip october.zip
rm october.zip
mv install-master/* .

Измените владельца каталога /var/www/october на www-data:

sudo chown -R www-data:www-data /var/www/october

Перейдите к сценарию 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