SatCMS 0.0.2 - Bootstrap3, jQuery, RequireJS, AngularJS, PHP, mySQL|SQLite
Категория: / DEV Блог
/ PHP (LAMP)
Решил на досуге переписать свою старую мультисайтовую cms (SatCMS).
Раньше интерфейс выглядел примерно так:
Сейчас:
Что получилось:
- php >=5.3, mysql/sqlite
- зависимости обрабатываются менеджерами пакетов: php - composer, js - bower
- мультисайтовость (возможность вести несколько сайтов/поддоменов) на одном движке
- морда/админка - шаблоны smarty, bootstrap 3
- админ-бэкенд на requirejs/angularjs/bootstrap/jquery.
Angular-way не блюдется, так как много легаси кода, и выпиливать jquery-подход совсем не хочется, простите за dom в контроллере :)
- правка элементов сайта прямо с морды (пользуется inline tinymce)
Посмотреть:
Демо http://satcms.ru/
Гитхаб https://github.com/rustyJ4ck/SatCMS
Дистрибутив с зависимостями (0.0.2) https://github.com/rustyJ4ck/SatCMS/releases/download/0.0.2/satcms-0.0.2.zip
Установка
1. Скачать последний релиз, распаковать файлы на сервере.
2. Настроить папку `public` корнем веб сервера (пока только apache)
3. Убедиться что mod_rewrite включен и обрабатывает файлы .htaccess
Зависимости
Для установки/обновления зависимостей используется bower для клиентских скриптов и composer для серверных.
Композер создаст папку /vendor, загрузит все php-зависимости и обновит автозагрузчик.
Бовер создаст папку /public/vendor
Для обновления install заменить на update.
Для `живого` редактирования и в качестве wysiwyg редактора используется tinymce.
Бовер-пакет его скачивается не собранным. Чтобы редактор заработал, нужно его `скомпилировать`.
Идем в папку /public/vendor/tinymce
И выполняем команды
(unix) Установка прав на папки
На следующие директории должны быть установлены права, позволяющие веб серверу запись в них
(unix) sqlite
Убедитесь что все папки в пути до файла базы данных имею writable+executable бит для пользователя веб сервера.
иначе получите ошибку "get unable to open database file".
Сборка скриптов для админ панели (необязательно)
С помощью r.js можно собрать все клиентские скрипты панели редактора в один минифицированный.
Чтобы использовать полученный бандл, нужно доабавить в config/engine.cfg
Раньше интерфейс выглядел примерно так:
Сейчас:
Что получилось:
- php >=5.3, mysql/sqlite
- зависимости обрабатываются менеджерами пакетов: php - composer, js - bower
- мультисайтовость (возможность вести несколько сайтов/поддоменов) на одном движке
- морда/админка - шаблоны smarty, bootstrap 3
- админ-бэкенд на requirejs/angularjs/bootstrap/jquery.
Angular-way не блюдется, так как много легаси кода, и выпиливать jquery-подход совсем не хочется, простите за dom в контроллере :)
- правка элементов сайта прямо с морды (пользуется inline tinymce)
Посмотреть:
Демо http://satcms.ru/
Гитхаб https://github.com/rustyJ4ck/SatCMS
Дистрибутив с зависимостями (0.0.2) https://github.com/rustyJ4ck/SatCMS/releases/download/0.0.2/satcms-0.0.2.zip
Установка
1. Скачать последний релиз, распаковать файлы на сервере.
2. Настроить папку `public` корнем веб сервера (пока только apache)
3. Убедиться что mod_rewrite включен и обрабатывает файлы .htaccess
Зависимости
Для установки/обновления зависимостей используется bower для клиентских скриптов и composer для серверных.
composer install
Композер создаст папку /vendor, загрузит все php-зависимости и обновит автозагрузчик.
bower install
Бовер создаст папку /public/vendor
Для обновления install заменить на update.
Для `живого` редактирования и в качестве wysiwyg редактора используется tinymce.
Бовер-пакет его скачивается не собранным. Чтобы редактор заработал, нужно его `скомпилировать`.
Идем в папку /public/vendor/tinymce
И выполняем команды
npm i -g jake //если не установлен jake
jake
(unix) Установка прав на папки
На следующие директории должны быть установлены права, позволяющие веб серверу запись в них
config/localhost/database.db (sqlite database)
public/uploads/*
public/assets/*
cache/*
tmp/*
(unix) sqlite
Убедитесь что все папки в пути до файла базы данных имею writable+executable бит для пользователя веб сервера.
иначе получите ошибку "get unable to open database file".
Сборка скриптов для админ панели (необязательно)
С помощью r.js можно собрать все клиентские скрипты панели редактора в один минифицированный.
r.js -o build.js
Чтобы использовать полученный бандл, нужно доабавить в config/engine.cfg
render_config_vars = "..., lib_editor"
[lib_editor]
optimized = yes