Переход с MODX на OctoberCMS. Часть 1-я

Переход с MODX на OctoberCMS. Часть 1-я Хостинг
Содержание
  1. Интерфейс командной строки
  2. Установка
  3. Быстрый старт
  4. Composer
  5. Настройка и Поддержка
  6. Установка системы
  7. Обновление системы
  8. Миграция
  9. Управление плагинами
  10. Установка плагина
  11. Обновление плагина
  12. Удаление плагина
  13. Управление темами
  14. Установка темы
  15. Список тем
  16. Включение темы
  17. Удаление темы
  18. Утилиты
  19. Очистка кэша
  20. Удалить Демо
  21. Зеркальная копия папки public
  22. Включение DotEnv
  23. Miscellaneous commands
  24. Компилирование CSS, JS и других файлов
  25. Запулить все репозитории
  26. Удалить все изображения
  27. Command Line Interface
  28. Console installation
  29. Quick start install
  30. Composer install
  31. Setup & Maintenance
  32. Install command
  33. System update
  34. Database migration
  35. Plugin management
  36. Install plugin
  37. Refresh plugin
  38. Remove plugin
  39. Theme management
  40. Install theme
  41. List themes
  42. Enable theme
  43. Remove theme
  44. Utilities
  45. Clear application cache
  46. Remove demo data
  47. Mirror public directory
  48. Enable DotEnv configuration
  49. Miscellaneous commands
  50. Compile assets
  51. Pull all repos
  52. Purge thumbnails
  53. Чем переносить.
  54. Что переносить.
  55. Что должно получиться
  56. Contents
  57. Prerequisites
  58. Structure Of Repository
  59. Verify Local
  60. Preparing The Server
  61. Database
  62. Production. env
  63. Deploy
  64. Verify Front End
  65. Permissions
  66. Configure Auto Deploy
  67. Other Deployment Options
  68. Deploy October CMS From Localhost To Production Conclusion
  69. Next Up
  70. Особенности системы Octobercms
  71. Установка Octobercms на хостинг
  72. Выводы
  73. 1. Скачиваем файлы сайта и базу данных
  74. 2. Загружаем файлы и базу данных на наш хостинг
  75. 3. Настраиваем пути к директории
  76. Таблица соответствия плагинов MODX и October CMS.
  77. Видеоуроки
  78. Источники
  79. Переход на PhpStorm
  80. Почему October CMS
  81. В чем разница?
  82. Философия и целевая аудитория
  83. Установка
  84. Безопасность
  85. Стек технологий
  86. Парадигма программирования
  87. Хуки
  88. Зависимость от JavaScript-библиотек
  89. Страницы, темы, плагины
  90. Функциональность «из коробки» и плагины

Интерфейс командной строки

OctoberCMS включает в себя несколько консольных команд и утилит, основанных на инструменте Laravel — Artisan, которые позволяют установить систему, обновить ее, а также ускорить процесс разработки. Вы можете создавать свои команды или использовать уже существующие.

Установка

Установка консоли может быть выполнена при помощи системы или Composer. Если вы планируете использовать базу данных, убедитесь после установки в работе команды install.

Быстрый старт

Введите эту строчку в терминал, чтобы получить последнюю копию October:

curl -s https://octobercms.com/api/installer | php
‘.file_get_contents(‘https://octobercms.com/api/installer’));"»>

php -r "eval('?>'.file_get_contents('https://octobercms.com/api/installer'));"

Composer

Используйте команду create-project, чтобы закачать исходный код в папку /myoctober:

composer create-project october/october myoctober dev-master

После чего откройте файл config/cms.php и внесите следующие изменения:

true,»>
'disableCoreUpdates' => true,

Используйте команду composer update для обновления системы.

Примечание: Composer будет искать внутри плагинов зависимости, которые будут включены в обновления.

Настройка и Поддержка

Установка системы

Команда october:install поможет вам установить OctoberCMS на сервер:

php artisan october:install

После чего Вы можете внести необходимые изменения в config/app.php и config/cms.php.

Обновление системы

Команда october:update обновит файлы ядра, плагины и внесет необходимые изменения в базу данных.

php artisan october:update

Примечание: Если Вы использовали composer для установки, то ядро приложение не обновится автоматически! Используйте сначала команду composer update, а уже после php artisan october:update.

Миграция

Команда october:up внесет необходимые изменения в базу данных: создаст таблицы и добавит новые значения, указанные в файле version.yaml.

Команда october:down вернет все изменения обратно. Новые таблицы, как и новые значения в них, будут удалены.
php artisan october:down

Управление плагинами

October включает в себя ряд команд для управления плагинами.

Установка плагина

plugin:install — скачивает и устанавливает указанный плагин.

php artisan plugin:install AuthorName.PluginName

Обновление плагина

plugin:refresh — удаляет таблицы плагина и заново их создает. Эта команда полезна при разработке.

php artisan plugin:refresh AuthorName.PluginName

Удаление плагина

plugin:remove — удаляет таблицы и все файлы плагина.

php artisan plugin:remove AuthorName.PluginName

Управление темами

October включает в себя ряд команд для управления темами.

Установка темы

theme:install — скачивает и устанавливает тему из Маркетплейса.

php artisan theme:install AuthorName.ThemeName

Укажите название папки в качестве второго аргументы для установки темы в произвольную папку:

php artisan theme:install AuthorName.ThemeName my-theme

Список тем

theme:list — список установленных тем. Используйте параметр e -m, чтобы посмотреть популярные темы в Маркетплейсе.

Включение темы

theme:use — устанавливает активную тему:

php artisan theme:use rainlab-vanilla

Удаление темы

theme:remove — удаляет тему:

php artisan theme:remove rainlab-vanilla

Утилиты

October включает в себя ряд дополнительных команд.

Очистка кэша

cache:clear — очищает кэш приложения. Пример:

Удалить Демо

october:fresh — удаляет демо темы и плагина, которые устанавливаются по умолчанию.

php artisan october:fresh

Зеркальная копия папки public

october:mirror — создает зеркальную копию папки public, используя symbolic linking (см. Настройка папки public).

php artisan october:mirror public/

Включение DotEnv

october:env — изменяет значения конфигурации на DotEnv синтаксис.

Miscellaneous commands

october:util — общая команда для выполнения различных задач.

Компилирование CSS, JS и других файлов

php artisan october:util compile assets
php artisan october:util compile lang
php artisan october:util compile js
php artisan october:util compile less

Используйте параметр --debug для отключение минификации.

php artisan october:util compile js --debug

Запулить все репозитории

Эта команда выполнит git pull для всех папок с темами и плагинами.

php artisan october:util git pull

Удалить все изображения

Удалить все thumbnails в папке uploads

php artisan october:util purge thumbs

Command Line Interface

October includes several command-line interface (CLI) commands and utilities that allow to install October, update it, as well as speed up the development process. The console commands are based on Laravel’s Artisan tool. You may develop your own console commands or speed up development with the provided scaffolding commands.

Console installation

Console installation can be performed using the native system or with Composer to manage dependencies. Either approach will download the October application files and can be used right away. If you plan on using a database, be sure to run the install command after installation.

Quick start install

Run this in your terminal to get the latest copy of October:

curl -s https://octobercms.com/api/installer | php

Or if you don’t have curl:

‘.file_get_contents(‘https://octobercms.com/api/installer’));"»>
php -r "eval('?>'.file_get_contents('https://octobercms.com/api/installer'));"

Composer install

composer create-project october/october myoctober

Once this task has finished, open the file config/cms.php and enable the disableCoreUpdates setting. This will disable core updates from being delivered by the October gateway.

true,»>
'disableCoreUpdates' => true,

When updating October, use the composer update command as normal before performing a database migration.

Composer is configured to look inside plugin directories for composer dependencies and these will be included in updates.

Note: To use composer with an October instance that has been installed using the Wizard installation, simply copy the tests/ directory, composer.json file and server.php file from GitHub into your October instance and then run composer install.

Setup & Maintenance

Install command

php artisan october:install

You also may wish to inspect config/app.php and config/cms.php to change any additional configuration.

Note: You cannot run october:install after running october:env. october:env takes the existing configuration values and puts them in the .env file while replacing the original values with calls to env() within the configuration files. october:install cannot now replace those calls to env() within the configuration files as that would be overly complex to manage.

System update

The october:update command will request updates from the October gateway. It will update the core application and plugin files, then perform a database migration.

php artisan october:update

: If you have installed using composer, the core application files will not be downloaded and composer update should be called before running this command.

Database migration

The october:up command will perform a database migration, creating database tables and executing seed scripts, provided by the system and plugin version history. The migration command can be run multiple times, it will only execute a migration or seed script once, which means only new changes are applied.

The inverse command october:down will reverse all migrations, dropping database tables and deleting data. Care should be taken when using this command. The plugin refresh command is a useful alternative for debugging a single plugin.

Plugin management

October includes a number of commands for managing plugins.

Install plugin

plugin:install — downloads and installs the plugin by its name. The next example will install a plugin called AuthorName.PluginName. Note that your installation should be bound to a project in order to use this command. You can create projects on October website, in the Account / Projects section.

php artisan plugin:install AuthorName.PluginName

Refresh plugin

plugin:refresh — destroys the plugin’s database tables and recreates them. This command is useful for development.

php artisan plugin:refresh AuthorName.PluginName

Remove plugin

plugin:remove — destroys the plugin’s database tables and deletes the plugin files from the filesystem.

php artisan plugin:remove AuthorName.PluginName

Theme management

October includes a number of commands for managing themes.

Install theme

php artisan theme:install AuthorName.ThemeName
php artisan theme:install AuthorName.ThemeName my-theme

List themes

theme:list — list installed themes. Use the -m option to include popular themes in the Marketplace.

Enable theme

php artisan theme:use rainlab-vanilla

Remove theme

php artisan theme:remove rainlab-vanilla

Utilities

October includes a number of utility commands.

Clear application cache

cache:clear — clears the application, twig and combiner cache directories. Example:

Remove demo data

october:fresh — removes the demo theme and plugin that ships with October.

php artisan october:fresh

Mirror public directory

october:mirror — creates a mirrored copy of the public files needed to serve the application, using symbolic linking. This command is used when setting up a public folder.

php artisan october:mirror public/

Enable DotEnv configuration

october:env — changes common configuration values to DotEnv syntax.

Miscellaneous commands

october:util — a generic command to perform general utility tasks, such as cleaning up files or combining files. The arguments passed to this command will determine the task used.

Compile assets

Outputs combined system files for JavaScript (js), StyleSheets (less), client side language (lang), or everything (assets).

php artisan october:util compile assets
php artisan october:util compile lang
php artisan october:util compile js
php artisan october:util compile less

To combine without minification, pass the --debug option.

php artisan october:util compile js --debug

Pull all repos

This will execute the command git pull on all theme and plugin directories.

php artisan october:util git pull

Purge thumbnails

Deletes all generated thumbnails in the uploads directory.

php artisan october:util purge thumbs

При разработке сайта мы всегда сначала работаем на его локальной или тестовой копии. После того, как процесс разработки завершён, настаёт момент переноса на боевой сервер. Если сайт статичен — проблем не возникает никаких.

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

Важно понимать, что перенос базы данных с тестового сайта также необходимо произвести. При этом перенос не всей базы, а лишь ее части — нельзя просто взять дамп и перезалить на другой сервер.
Тем не менее, многие моменты переноса могут оказаться не такими очевидными. Об этом и поговорим.

Чем переносить.

В нем мы делаем экспорт тех таблиц, что нам нужны, с указанием нужных опций — сохранять ли ключи, сбрасывать ли таблицы, если они уже были созданы и так далее. Экспортируем файл в формате SQL.

Переход с MODX на OctoberCMS. Часть 1-я

Что переносить.

Абсолютно все Таблицы переносить смысла нет — база будет другая, много системных настроек не будут актуальными.

Что нужно переносить:

  1. Все Таблицы самописных плагинов
  2. Записи в таблицах пользователей — если есть такая необходимость. Например, если это блог и необходимо не терять авторство привязанных постов, которые уже созданы на тестовом сайте.
  3. Системные Таблицы October CMS, в частности — содержащие в себе ссылки на прикреплённые файлы.
Читайте также:  Рейтинг лучших хостингов для сайта Wordpress на апрель 2022г, недорогие хостинги для WP в России

Стоит обмолвиться, что перенос таблиц сторонних плагинов, установленных через магазин October, лучше делать в режиме передачи данных — сначала установить «чистый» плагин, затем подтянуть данные из дампа, следя при этом за версиями.

Особое внимание уделяем таблице system_files.
В ней хранятся связи загруженных файлов с экземплярами моделей. То есть, чтобы на новом сайте заработали изображения и картинки, необходимо содержимое этой таблицы, сами файлы изображений и собственно, записи в наших плагинах, которые хранятся в собственных таблицах.

Переход с MODX на OctoberCMS. Часть 1-я

Дополнительно стоит обратить внимание на настройки экспорта, отвечающие за перезапись данных, если таблицы уже существуют и/или не пусты:

Переход с MODX на OctoberCMS. Часть 1-я

Что должно получиться

В итоге новый сайт должен обладать идентичными набором информации с тестовым. Не стоит забывать о том, что нужно подкинуть загруженные файлы новому сайту, которые по умолчанию загружаются в папку storage/app/

После всех проделанных процедур перенос сайта считается завершенным.

This is part 2/4 from out series on How To Setup A Site With October CMS. To understand the context have a look at part one which explains How To Setup OctoberCMS Locally.

Переход с MODX на OctoberCMS. Часть 1-я

For even more valuable tutorials, get the full eBook with Bonus material October CMS — Up and Running.

You’ve setup your first OctoberCMS site and now it’s time to put it online for world to see. In this guide you are going to learn the optimal setup to allow you to deploy your local version of October CMS to your production server without any problems.

Contents

  • Prerequisites
  • Structure Of Repository
  • Verify Local
  • Preparing The Server
  • Database
  • Production .env
  • Deploy
  • Verify Front End
  • Permissions
  • Configure Auto Deploy
  • Other Deployment Options
  • Deploy October CMS From Localhost To Production Conclusion
  • Next Up

Prerequisites

Prerequisites For This Tutorial

We’re going to assume you have hosting with a decent cPanel. If not we recommend Digital Ocean. Sign up through this referral link and you’ll get $10 free credit.

We’ll assume your server is configured to handle connections, nginx is running and routing requests to the correct folder. If not, we recommend recommend Laravel Forge to create and configure your server with a few clicks.

We’ll assume you have a domain setup mapping to your server IP address. If not, we use Route 53 to manage DNS because it updates quickest of all the services we’ve tried.

Structure Of Repository

In Part 1 of our guide we showed you How To Setup October Locally. To get the most out of this tutorial have a read of that and ensure your project structure is as close as possible, preferably identical. If you’ve already done that part you should have a folder structure that looks like this:

How To Deploy OctoberCMS From Localhost To Production

Once you’re confident your structure is the same as ours and .env is not part of the repo, we can move on.

Verify Local

It sounds simple but check that your local site is running, you can hit the front end, no console errors are thrown and nothing in the error logs.

Preparing The Server

One of the prerequisites was that you have hosting and a server configured to handle connections. However we still want to ensure that things are setup for a clean deployment. FTP into your server with your favorite FTP program. We use Filezilla. Navigate to the site root and delete all files and folders within. We want to clear out everything so make sure you get any hidden files that start with a . like the .env file mentioned above.

Database

Your code will need a database on the server to communicate with so connect to your production or database server and and create the database.

In part one of our series we just create the database and then run the October Installation script which generates the internal structure and tables. This time, we won’t be running the install script on production but still need its structure in place for when the code is deployed.

There are two options depending on whether you want a blank database on production or your local db contains some information you’d like to go live.

1) Blank Database

  • Create Database

Connect to the server with SequelPro or any DB client.

Create a new database. Give it the same name as your local db

Alernatively, this can be done by ssh’ing into the server on the command line:

  • Connect to the server via terminal or Secure CRT
  • cd to the site folder
  • run:
php artisan october:up

This will create an empty database on production.

2) Retain local database content

The other option is to export your local content onto production. To do this we need to copy the local database file onto production.

  • Export local

Open your local database in sequel pro or whatever DB software you prefer. Go to File > Export > and choose a location to store the dump.

  • Import Into Production

Now connect to your production database and go to FIle > Import then select the dump you just exported. Refresh and you should see all the the local data in the production database.

Production. env

The DB is setup and we’re almost ready to deploy the code but first we need to create our production environment settings. If you are using Laravel Forge this is very simple as forge has the Site > Environment settings panel to add these. This means we don’t even have to manually put a .env on the server and it’s all handled and created for us within the Forge GUI.

Deploy

Preparation is done so now we can deploy the OctoberCMS From Our Local To Production.

Instead of pushing files up with an FTP program, GUIs make this a lot simpler and our favorite is an auto deploy tool called DeployHQ.

deployhq.png

This is an external service which receives a webhook every time you commit and pushes the most recent changes onto the server. We like this because it’s much faster as it only deploys the files that have changed so you don’t have to upload your entire repo every time.

Additionally, it fires on every commit so essentially you have one click deployments as soon as you commit. This speeds up your releases and never again will you have that problem where one file failed to update and everything gets broken as a result.

They offer a free trial so you can test the service before committing.

Once you have a test account, login and go to projects then click the + icon on the right side to create a new project,

deploy-add-project.png

Call it something appropriate and choose the correct code hosting service for your code.

project-name.png

You will then see a list of all repositories you have access to. One flaw here is that all repositories are listed together so if you are a member of some for your day job they will be displayed alongside your own freelance repos. Ensure that you select the correct one!

secect-repo

Once the repository is selected we will add the details of the server that the code will be deployed to. Give it a name and select the connection method.

server-name.png

In the SSH Configuration section paste the IP of your server in the SSH Hostname field.

ssh-config.png

The deployment path will be the directory on the server where you want the code to be pushed to. Notice that we start with a leading forward slash.

deploy-path.png

In the deployment options choose the branch you want to deploy from. We use gitflow so we have master, develop and feature branches. The dropdown will be populated with the branches from your repo.

deployment-options.png

In the Notification Option section, select Always Notifyso you get emailed about everything. This can be changed later to filter out the noise if it’s becoming irritating.

notification-options.png

Scroll to the bottom and click save.

Now go to Settings > General Settings and click the Run Tests button in the right column. This will test the connection with the server based on the credentials you’ve supplied. You will see a success message If everything is ok and that means it’s deploy time!

run-tests.png

Deploy The Code

Scroll the top of the page and click theDeploy Now button

deploy-now.png

The default options are usually fine so scroll to the bottom and click Deploy

start-deploy.png

The deployment log will then start outputting messages. Once complete, you get the deploy success screen

deploy-log.png

Verify Front End

The moment of truth has arrived and it’s time to check the front end. Hit your site URL in a browser and if you followed this detailed tutorial correctly you will see your front end live on a production server.

Permissions

The default permissions may give some problems so we need to change a few of them. Switch back to terminal or SequelPro and cd into the site root again. Run

sudo chmod -R 775 storage/
sudo chmod -R 775 themes
sudo chmod -R 775 storage/app/uploads

This allows October to write to the folders it needs.

Configure Auto Deploy

The October CMS site has now been deployed from local to production. You can continue with manual deployments triggered by the button in the DeployHQ backend or you can automate this away with a post deploy web hook.

In the secondary nav go to Settings >Servers and Groups where you will see the server. Click the pencil icon to edit it as highlighted in red below.

edit-server.png

Check the ON radio field and then copy the url underneath to the clipboard:

auto-deployment.png

At this point you have to make GitHub aware of what to do when a commit is pushed. Log in and open the correct repository.

Go to Settings > Webhooks > Add Webhook.

Paste the url from the clipboard into the payload field. The Content Type can be left as application/x-www-form-urlencoded. Check ‘Just the Push Event’ then click the large Add Webhook button.

git-webhook.png

We should be good here so you can make a test commit to your repo and github will dispatch a webhook that notifies DeployHQ so they know it’s time to deploy the code.

In the DeployHQ notification options you selected everything so you will receive an email detailing the status of the deployment.

Other Deployment Options

DeployHQ is our favored approach but it would be biased not to discuss the other options:

That’s a question we had once as well and our answers for this are explained in our blog post on using Using October With Forge.

There are plenty of scripts that you can run which manually push your files up to the server but you have to remember to do this every time.

You can do this with Filezilla or any FTP program and manually push the files onto the server. We don’t like this approach as it’s easy to make a mistake and takes a really long time.

Читайте также:  1с ошибка криптографии невозможно расшифровать файл обновлений не удалось расшифровать файл

Deploy October CMS From Localhost To Production Conclusion

You learned how to deploy October CMS from Local To Production in the most efficient way possible. When you commit local changes, DeployHQ will catch it and push these updates onto the server.

Your site is now live for the world to see. Once you submit to the search engines the spiders will index your pages and if your content is good, traffic will come.

Looking for October CMS Developers?

We are Official October CMS Partners. Talk to us today.

Contact

Next Up

The default install of October is not very attractive and won’t help you stand out from the crowd. In our next article you will learn how to apply a different theme, install a plugin from the official store directory and customise October CMS to suit your goals.

Купить хостинг для Octobercms вы можете на странице.

  • Бесплатный тест 30 дней
  • Домен RU/РФ в подарок
  • Перенос сайта бесплатно!
  • Установка движка в 1 клик

Что это такое Octobercms? Octobercms — система управления контентом с открытым исходным кодом построенная на базе ядра PHP фреймворка Laravel. 

Система управления контентом - Octobercms

Особенности системы Octobercms

За счет используемого ядра фреймворка на данной CMS можно вести разработку проектов любой сложности. Не нужно менять систему в случае масштабирования проекта Octobercms подстроиться под любые цели и задачи веб-разработчика. Что касается использования системы обычным пользователем, то разработчики позаботились на славу! Приятный, интуитивно понятный интерфейс панели администратора позволит заниматься управлением контента даже тем кто не имеет навыков в программировании. 

Одним из главных преимуществ системы является скорость работы над сайтами с особыми пожеланиями в разработке. При создании своих собственных плагинов Octobercms освобождает разработчика от рутины, которая может замедлить процесс разработки. Помимо скорости в веб-разработки немало важное достоинство отмечается в безопасности и защите. Высокий уровень безопасности данных в Octobercms позволяет защитить веб-проекты от хакерских атак. Благодаря основе движка используемого системой, защита от хакерских атак может быть значительно лучше популярных CMS. 

Вот так выглядит движок после установки:

Интерфейс Octobercms после установки

С помощью встроенных средств кеширования запросов проект на Octobercms открывается быстро, а также незамедлительно отображает контент клиентам. Как и у любой другой современной CMS у Octobercms имеется возможность устанавливать дополнительные модули для расширения функционала системы. Официальный магазин движка предлагает как платные, так и бесплатные модули для загрузки.

При создании системы разработчики уделили внимание положительным особенностям популярных CMS и внедрили их в свой проект. Основы файлового менеджера на первый взгляд позаимствованы от MODx из-за возможности управлять файлами прямо из веб-интерфейса, что является очень удобным решением. 

Рассмотрим основные особенности системы:

  • Интуитивно понятная панель администратора
  • Подключение плагинов с автоустановкой
  • Простое создание форм  
  • Официальный магазин плагинов
  • Отлично подходит для кастомной разработки
  • Активное сообщество
  • Запуск проекта в 1 клик
  • Мультиязычность
  • и другие особенности

Установка Octobercms на хостинг

Для установки CMS потребуется домен и хостинг. Но вы можете воспользоваться интересным предложением от HandyHost — 30 дней использования бесплатного хостинга + тестовый домен.  

Установить Octobercms можно двумя способами:

  1. Скачать «Octobercms» и самостоятельно установить его из загруженного архива.
  2. Воспользоваться сервисом «Softaculous» через «ISPManager» для установки на хостинг.

Рассмотрим второй способ установки через панель управления хостингом — ISPManager

  1. Авторизуйтесь в панели управления хостингом.
  2. Зайдите в раздел «Softaculous».

Переход на сервис Softaculous через ISPmanager

  1. В графе поиска Softaculous введите «Octobercms» далее выберите найденный движок ниже. 

Поиск Octobercms на сервисе Softaculous

  1. В правой части сервиса нажмите на кнопку «Установка»

Установка Octobercms

  1. В настройках установки Octobercms выберите:
  • «Протокол» по которому будет доступен сайт: http или защищённый https (потребуется ssl сертификат)
  • «Домен» вашего сайта-форума
  • «Старая директория сайта» имя старой директории сайта 
  • «Логин» администратора
  • «Пароль» администратора
  • «Имя» администратора 
  • «Фамилия» администратора
  • «Email» администратора
  • «Выбор языка»
  1. Далее кликните по кнопке «Установка».

Выбор параметров установки Octobercms

Завершение установки Octobercms

Выводы

Движок Octobercms отлично подойдет для администрирования сайта пользователям без особых навыков программирования, а также веб-разработчикам для настройки и кастомизации проекта. Организация контентом как простых лейдинг-страниц, так и крупных интернет-проектов. Устанавливайте дополнительные модули для расширения функциональности системы загружая их с официального сайта CMS. 

В данной статье мы разберём, как перенести сайт сделанный на CMS Opencart на наш хостинг.

1. Скачиваем файлы сайта и базу данных

Файловый менеджер beget

Находим в файловом менеджере корневой каталог Вашего домена, создаём его архив и скачиваем его на Ваш ПК.

Менеджер файлов beget создать скачать

MySQL в beget

Выбираем необходимую базу данных и скачиваем её. Если баз данных у Вас несколько, найти нужную Вы сможет открыв файл config.php в каталоге Вашего домена и посмотрев на строку:
define('DB_DATABASE', 'base_name');,
где ‘base_name’ — это имя Вашей базы данных, которая прикреплена к этому сайту.

WWW-домены в ISPManager

2. Загружаем файлы и базу данных на наш хостинг

Когда файлы сайта и базу данных от него Вы скачали, переходим уже непосредственно на наш хостинг в панель управления ISPManager. В ней открываем раздел «WWW» — «WWW-домены» и нажимаем кнопку «Создать», чтобы прикрепить домен к панели и автоматически создать для него корневой каталог. После того, как домен создан, выбираем его и нажимаем кнопку «Каталог».

Менеджер файлов в ISPManager

В каталоге нажимаем кнопку «Закачать» и выбираем архив с файлами Вашего сайта на Вашем ПК, нажимаем кнопку «Ок» и загружаем его. После загрузки архива, его нужно будет извлечь, для этого нажмите кнопку «Извлечь» и укажите каталог Вашего домена, чтобы извлечь архив в него. После извлечения файлов из архива, проверяем не нарушились ли права на папки и файлы. У папок права должны быть выставлены «755», а у файлов «644», если права отличаются, сменить их Вы сможете нажав кнопку «Атрибуты».

Базы данных в ISPManager

Затем создаём базу данных на нашем хостинге, для этого переходим в раздел «Главное» — «Базы данных» и нажимаем кнопку «Создать». После чего заполняем название базы, имя пользователя, задаём пароль для данной базы и нажимаем кнопку «Ок».

закачать базу данных через ISPManager

Выбираем созданную базу и нажимаем кнопку «Закачать», чтобы загрузить дамп базы данных, который Вы скачали на старом хостинге.

3. Настраиваем пути к директории

Следующее, что нам необходимо будет сделать, это сменить пути до директорий, так как пути до каталогов и файлов на разных хостингах будут отличаться. В корневом каталоге Вашего домена открываем сначала файл «config.php» и правим все пути старого хостинга, а также данные для подключения базы данных. Путь до корневого каталога на нашем сервере будет выглядеть так:

А имя пользователя базы данных и название самой базы данных необходимо указывать вместе с префиксом:

«U123456_UNAME» и «U123456_BASENAME».

После внесения изменений нажимаем кнопку «Сохранить» и «Ок».

Редактирование файла config.php

На этом перенос сайта на Opencart закончен.

MODX — отличная система, которая не смотря на дикую популярность в России и Белоруссии постепенно покидает сцену. Она уже сыграла свою роль в истории Web, которая заключалась в уничтожении сайтов, использующих наколенные самописные движки, либо просто статические HTML-файлы. Иными словами, у MODX нет будущего как у CMS. В выход MODX3 лично я уже не верю.

Поэтому пришло время найти MODX достойную замену, ориентированную на будущее. И, похоже, мне удалось это сделать. Это October CMS, написанная на одном из лучших php-фреймворков Laravel.

На ней уже работают такие сайты, как https://alfaforex.com (дочка Альфа-Банка) и https://tochka.com/ (тоже банк).

October из коробки имеет русскую админку, а интерфейс более простой, чем у MODX, хоть поначалу и непривычный. Вообще клиенты довольно часто жалуются на запутанность и перегруженность MODX. Для людей, которые с компьютером «на Вы» это — реальная проблема.

Админка October CMS

Итак, заходите на сайт October CMS, устанавливайте систему и увидите насколько она похожа на MODX. Вместо чанков здесь Partials. Вместо шаблонов — Layouts. Файлы лежат в Assets. Приложения называются Components. И главное отличие в том, что при написании кода не нужно использовать всякие костыльные Fenom — для этого есть Twig, а вместо MODX API под капотом «православный» Laravel.

Ниже вы найдете видеоуроки, которые помогут разобраться в CMS. А также список плагинов, которые потребуются для разработки типового сайта (лендинг, сайт-визитка, корпоративный сайт, каталог, блог и т.д.).

Таблица соответствия плагинов MODX и October CMS.

Видеоуроки

Спасибо Дмитрию Афанасьеву за уроки на русском.

Также есть на английском от авторов CMS:

Источники

Продолжение: Переход с MODX на October CMS. Часть вторая.

Переход на PhpStorm

Переход с MODX на October CMS

Меня зовут Павел Ловцевич, я сооснователь и CTO веб-студии LOVATA. Одной из основных платформ, на которой мы разрабатываем проекты для наших заказчиков, является October CMS, с которой мы работаем уже почти 6 лет.

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

С целью поддержать эту волну данным переводом я начинаю серию статей об этой прекрасной CMS.

Многие сейчас ищут альтернативы WordPress. В этой статье мы сравним его с October CMS и рассмотрим важные проблемы, которые нужно учитывать при поиске подходящей CMS для ваших проектов.

Три месяца назад (Оригинальная статья была написана весной 2019 года. — Прим. перев.) WordPress выпустила Gutenberg, чтобы расширить возможности редактирования контента по умолчанию. что побудило многих людей, недовольных этим изменением, искать альтернативные CMS. Некоторые пользователи предпочли выпустить форк «догутенберговской» WordPress. Но это не имеет особого смысла, поскольку WordPress за 15 лет существования накопила колоссальный технический долг. Если бы я искал альтернативу WordPress, я бы старался найти зрелую платформу, построенную на современных технологиях.

В этой статье мы сравним WordPress с похожей, но более современной October CMS, по многим техническим и нетехническим параметрам. Цель не в том, чтобы убедить вас использовать WordPress или перейти на October CMS. Я постараюсь показать, какие критерии необходимо учитывать при смене платформы. Такое же сравнение можно и нужно провести и с другими платформами, прежде чем принимать взвешенное решение.

Почему October CMS

Я узнал об October, когда она стала лучшей flat-file CMS 2018 года. После чего я начал изучать этот инструмент и потратил прилично времени, погружаясь в него как с точки зрения пользователя, так и разработчика. Вскоре я понял, что она является весьма подходящим объектом для сравнения. Я выбрал именно ее, а не альтернативные варианты вроде Grav, Statamic, ButterCMS, Joomla, Drupal, Jekyll, Hugo и т.д. И вот основные причины:

  • Я понял, как October CMS работает (в отличие от Grav);
  • Она бесплатная и опенсорсная (в отличие от Statamic и ButterCMS);
  • В свои пять лет ее можно считать относительно новой (в отличие от Joomla и Drupal);
  • Она содержит динамическую генерацию контента и работает на PHP (в отличие от Jekyll и Hugo).

Я считаю, что October это хороший вариант, потому что она основана на Laravel — фреймворке, используемом для создания современных веб-приложений. За семь лет существования он завоевал признание разработчиков, о чем свидетельствует обширное сообщество и экосистема. И разработка на этом фреймворке заметно контрастирует с написанием кода для WordPress. Если в последнем случае это в основном процедурное программирование, то в Laravel оно явно объектно-ориентированное.

В чем разница?

Ниже я сравню WordPress и October по разным категориям и выделю плюсы и минусы каждой из них. Но я не буду выбирать победителя, поскольку цель статьи не в этом. Да и, в любом случае, не существует «более хорошей» или «самой лучшей» CMS. У каждой из них свои сильные и слабые стороны, что делает их более или менее подходящими для определенной задачи, проекта, компании или команды. Кроме того, для проекта может быть полезно использование нескольких CMS, например, использование одной для управления данными и другой для рендеринга страниц. Только вам решать, какая из десятков систем лучше всего подходит для вашей задачи.

Читайте также:  Решение ошибки синхронизации NTP: нет сервера для синхронизации

В этой статье нельзя сделать окончательные выводы, поскольку мы рассматриваем здесь один из многих вариантов. Например, мы также можем найти в сети сравнения вроде «WordPress против Drupal против Joomla», «WordPress против Static Site Generators» или даже «WordPress против Medium». Поскольку ни одна из этих статей не даёт полной картины, то ни одно из этих сравнений не может быть и не должно рассматриваться как окончательное. Итак, давайте сравним.

Философия и целевая аудитория

Неслучайно на WordPress сделан почти каждый третий веб-сайт. С момента своего создания она стремилась быть максимально удобной для пользователя, и у неё это неплохо получалось. WordPress устраняла потенциальные трудности в использовании для всех пользователей вне зависимости от их уровня образования и технического бэкграунда. Основатель WordPress Мэтт Мулленвег выразил мнение, что девиз WordPress «Демократизация публикаций» для нынешней эпохи означает следующее:

«Люди любого происхождения, интересов и способностей должны иметь доступ к программному обеспечению, которое позволяет им выражать себя в открытой сети и владеть своим контентом».

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

October CMS наоборот больше ориентирована на разработчика, что было чётко понятно с момента релиза:

«October CMS выдвигает смелую, но очевидную гипотезу: клиенты не создают веб-сайты, их делают разработчики. Роль клиента заключается в управлении сайтом и пояснении его бизнес-требований. Веб-разработчик и сама индустрия вращаются вокруг посредничества этих факторов».

По словам её основателей, миссия October CMS заключается в том, чтобы «доказать, что создание сайтов — это не очень сложно». October CMS, основанная на Laravel, станет хорошей отправной точкой для написания многократно используемого модульного кода. Он позволяет разрабатывать грамотно спроектированные приложения, которые будет легко кастомизировать и поддерживать в долгосрочной перспективе. Такие приложения можно поддерживать и полностью настраивать, не используя обходные приёмы («костыли») — как раз то, что привлекает серьезных программистов.

October CMS также может обеспечить отличное взаимодействие с пользователем, однако, она не так проста и удобна, как WordPress. Пользователям придётся разобраться, как работают определённые функции, прежде чем использовать их. Например, чтобы разобраться, как встроить форму через плагин, придётся прочитать длинную инструкцию, что сложнее, чем интуитивно понятная функция перетаскивания, которая есть в нескольких плагинах форм в WordPress.

Установка

WordPress можно установить за пять минут, хотя многие отмечают, что с учётом всех плагинов обычно на установку нужно от 15 минут. Кроме того, WordPress предлагает функцию Multisite, которая позволяет создавать сеть из нескольких виртуальных сайтов в рамках одной установки. Эта функция позволяет агентству легко администрировать сайты нескольких клиентов.

Установка October CMS тоже очень простая: сама установка Wizard занимает даже меньше пяти минут, а если вы устанавливаете её через консольную установку, то ещё быстрее. Последнее можно сделать, просто перейдя в целевой каталог и затем выполнив команду

curl -s https://octobercms.com/api/installer | php 

image

Безопасность

Не все считают WordPress безопасной из-за большого количества постоянно обнаруживаемых уязвимостей. Это вынуждает пользователей всё время обновлять саму CMS и все установленные плагины, чтобы избежать угроз безопасности. Среди основных проблем — поддержка старых версий PHP, которые больше не поддерживаются сообществом разработчиков PHP (WordPress сейчас поддерживает PHP 5.2.4, в то время как последняя полностью поддерживаемая версия PHP — 5.6). Эта проблема должна быть решена в апреле 2019 года, когда WordPress официально начнет поддерживать PHP версии 5.6 и выше (Проблема уже решена. — Прим. перев.).

Кроме того, угроза безопасности WordPress не столько в её внутренних проблемах, сколько из-за высокой популярности, что делает систему целью для хакеров. Однако это работает и в обратную сторону: повсеместное распространение WordPress означает, что её команда безопасности должна серьёзно относиться к своей работе, постоянно искать и исправлять уязвимости, в противном случае рискуют до трети сайтов в сети интернет. Ставки слишком высоки.

Стек технологий

Как WordPress, так и October CMS работают в традиционном стеке LAMP: Linux, Apache, MySQL и PHP. Однако обязателен только PHP: также можно использовать Windows, Nginx, MariaDB и т. д. October CMS может вести себя как flat-file CMS, то есть может обходиться без базы данных, правда, в ущерб функциональности (например, пропадают сообщения в блогах). Единственное, что гарантированно остаётся — функциональность страниц (pages), которая считается базой для создания и публикации контента и идёт в качестве основной функции.

Что касается языкового стека, то сайты, сделанные на WordPress и October CMS, основаны на HTML, CSS и JavaScript (обратите внимание, что PHP используется для генерации HTML). October CMS также позволяет легко использовать файлы LESS и SASS.

Парадигма программирования

WordPress использует принцип функционального программирования, основанный на вычислении путём вызова функции, которая не имеет состояния приложения. Несмотря на то, что разработчикам WordPress не обязательно придерживаться функционального программирования (например, для кодирования своих тем и плагинов), эта парадигма досталась основному коду системы для сохранения совместимости с предыдущими версиями на протяжении 15 лет. Это было одним из столпов успеха WordPress, однако это влечёт за собой накопление технического долга.

С другой стороны, October CMS использует императивную парадигму программирования, основанную на вычислении путем манипулирования состоянием объектов. October CMS основана на Laravel — фреймворке, полностью построенном на принципах объектно-ориентированного программирования. Эти принципы позволяют создавать модульные приложения на основе концепций Model-View-Controller для отделения пользовательского интерфейса от данных приложения, Dependency Injection для настройки зависимости классов, а также разделения интерфейса для определения основных сервисов, предоставляемых фреймворком.

Хуки

Программирование в WordPress можно охарактеризовать как «Разработка через хук». Хук — это механизм, который позволяет изменить поведение или значение по умолчанию и даёт возможность другому коду исполнять соответствующие функции. Хуки запускаются через «экшены», которые позволяют выполнять дополнительные функции, и «фильтры», которые позволяют изменять значения.

Хуки, которые широко распространены в кодовой базе WordPress — один из моих любимых аспектов программирования в WordPress. Они позволяют плагинам взаимодействовать друг с другом, ядром или темой, обеспечивая базовую поддержку аспектно-ориентированного программирования.

Хорошая новость в том, что Laravel (и, соответственно, October CMS) также поддерживает концепцию хуков, которая называется «События». Они обеспечивают простую реализацию концепции наблюдателя, позволяя коду подписываться и слушать события, которые происходят в приложении, чтобы реагировать по мере необходимости. События позволяют разбить сложную функциональность на компоненты, которые можно устанавливать независимо. При этом они будут взаимодействовать друг с другом, что позволяет создавать модульные приложения.

Зависимость от JavaScript-библиотек

Кроме того, WordPress всё ещё основана на Backbone.js (для Media Manager) и jQuery (устаревший код), однако ожидается, что зависимость от этих библиотек исчезнет, ​​поскольку Gutenberg становится новым умолчанием.

October CMS зависит от jQuery, которую она использует для реализации своего опционального AJAX-фреймворка для загрузки данных с сервера без обновления страницы браузера.

Страницы, темы, плагины

Как WordPress, так и October CMS рассматривают страницу как базовую единицу для создания и публикации контента (в случае WordPress, в дополнение к постам). Обе они поддерживают изменение внешнего вида сайта с помощью тем и позволяют устанавливать и расширять функциональные возможности с помощью плагинов.

Несмотря на то, что концепции одинаковы в обеих CMS, есть несколько различий в реализации. Как следствие, ведут они себя немного по-разному.

В WordPress страницы определяются как содержимое и хранятся в базе данных. Поэтому контент страницы может быть создан только через CMS (например, в админке) и переключение с одной темы на другую не делает существующую страницу недоступной. Благодаря этому, весь процесс получается довольно слаженным.

В October CMS, напротив, страницы представляют собой статические файлы, хранящиеся в каталоге темы. Плюсом этого архитектурного решения является то, что содержимое страницы можно создавать из внешнего приложения, например, текстовых редакторов вроде Sublime или Visual Studio Code. С другой стороны, при переключении с одной темы на другую необходимо вручную воссоздать или скопировать страницы из текущей в новую тему, иначе они исчезнут.

Важно отметить, что October CMS разрешает маршрутизацию по страницам. Поэтому страницы используются не только как контейнеры для контента, но и для функциональности. Например, плагин для ведения блога зависит от страницы для отображения списка сообщений в блоге по выбранному URL-адресу, ещё одной страницы для отображения сообщения в блоге по другому выбранному URL-адресу и так далее. Если какая-либо из этих страниц исчезнет, ​​связанная функциональность из плагина станет недоступной и этот URL-адрес выдаст ошибку 404. Следовательно, в October CMS темы и плагины CMS не полностью отделены и переключать темы нужно аккуратно.

image

Функциональность «из коробки» и плагины

WordPress предлагает минимальную базовую функциональность, которую можно увеличивать с помощью плагинов. Он придерживается «правила 80–20», чтобы решать, включать те или иные функциональные возможности в своё ядро или нет.

Если они приносят пользу 80% пользователей, то их включают, в противном случае они реализуются через плагины. При установке плагинов на сайт они могут привести к раздуванию кода, если их установлено слишком много. Плагины также могут плохо работать друг с другом, выполнять похожий код или загружать похожие ресурсы, что приводит к неоптимальной производительности. Поэтому, хотя запускать сайт WordPress относительно просто, обслуживать его и сохранять оптимальное и производительное состояние при добавлении новых функций это более сложная задача.

image

October CMS тоже пытается предложить минимальную базовую функциональность. Даже слишком: единственная гарантированная функция — создание и публикация страниц. Для всего остального нам нужно будет установить один из плагинов. Другими словами, есть всё, что нужно, и ничего лишнего.

Цель ясна: большинство простых сайтов состоят только из страниц, возможно, даже без постов в блоге, пользователей или авторизации. Зачем приложению загружать ресурсы для них, если они не нужны? Как следствие, функциональные возможности для ведения блогов, управления пользователями, перевода и некоторых других функций доступны через официальный маркетплейс.

image

October CMS также включает в себя некоторые функции, которые (хотя они и не всегда нужны) могут значительно улучшить приложение. Например, она предоставляет встроенную поддержку для загрузки медиафайлов в Amazon S3 и доступа к ним через CDN Rackspace. Ещё в ней есть Media Manager, который в основном используется через плагины, например, для добавления изображений в блоге. Страницы также могут использовать Media Manager для встраивания медиа-файлов, однако CMS идёт с разделом Assets для загрузки медиа-файлов для них, что видится более удобным.

Мне кажется, что October CMS позволяет создавать максимально простые приложения, в основном для несложных сайтов. Но могут быть и неприятные последствия. Это может привести к раздуванию кода, так как грань между тем, что нужно, и тем, что нет, очень тонка и её сложно заранее определить в рамках CMS.

Таким образом, October CMS позволяет создать веб-приложения очень бережливым и эффективным способом, например, с удалением базы данных, когда она не нужна. Но приложение также может стать слишком раздутым, поскольку разработчики вынуждены реализовывать несколько решений для похожих объектов, что может усложнять использование («Мне нужно использовать страницу или статическую страницу?»).

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

Оцените статью
Хостинги