Быстрое создание сайта корпоративного уровня
Динамично развивающийся рынок диктует необходимость создания сайта как средства информирования и удержания целевой аудитории любой организации. Это также может быть собственный учёт, документооборот, иные Интернет-ресурсы. Для молодёжных организаций и общественных объединений сайт ещё более актуален, поскольку молодые люди привыкли получать всю информацию через Интернет.
В рамках настоящей работы создан и запущен в эксплуатацию сайт «Открой свои возможности», в настоящее время доступный в Интернете по адресу UrSSA.ru. Заказчиком данного проекта является Министерство по делам молодёжи УР и Республиканский совет студентов и аспирантов. Необходимо было получить работоспособный программный продукт в максимально короткие сроки. Ввиду того, что требования заказчика часто менялись и дополнялись, сформировать сводное техническое задание было практически невозможно.
В результате работы программиста, дизайнера и верстальщика был разработан удобный в использовании сайт со следующей функциональностью: центральное место занимает лента новостей с возможностью поиска по всем записям; пользователю дана возможность оставить своё мнение о новостях, проголосовать по предложенным вопросам и связаться с администрацией; материалы сайта доступны в виде ленты RSS.
Рассматривая техническую сторону вопроса, следует выделить систему управления содержанием сайта от отечественного разработчика – MaxSite CMS, как основное средство реализации проекта. Система реализована на CodeIgniter с поддержкой PHP и использует для хранения информации базу данных MySQL. Выбранная платформа позволяет использовать и другие решения, например, MS SQL, Postgre, Oracle, SQLite. Необходимо добавить, что использовалось много сторонних расширений, автором написаны собственные.
Также требовалось учесть, что система управления сайтом «Открой свои возможности» должна быть простой. Обслуживание и развитие сайта предполагается силами студентов, обычно ещё не имеющих опыта работы с подобными системами.
Оценим временные затраты на создание описанного выше продукта. Наиболее ответственная часть работы – установка и настройка системы управления на сервере. Этот процесс занял около двух часов. Далее возникла создания графического шаблона будущего сайта. Дизайнеру потребовалось на это около пяти часов. Для оценки работы дизайнера необходимы специальные знания. Творческий процесс трудно лимитировать. Было решено считать такой результат вполне удовлетворительным в плане быстроты. Завершающий этап разработки сайта – вёрстка, программирование и «подгонка» шаблона под систему управления. В рамках этого этапа был создан графический вывод данных, всё было «увязано» с системой управления. На это потребовалось приблизительно семь часов. В результате было выяснено, что в нашем случае создать нужный заказчику сайт при использовании типовых решений можно приблизительно за неделю. Данный подход позволяет заметно сократить время разработки. Следует отметить, что при использовании типовых свободно распространяемых решений профессиональному разработчику будет достаточно одних суток.
В настоящее время сайт полностью функционирует. Заказчик начал наполнять его необходимыми материалами. В перспективе предполагается увеличение сервисов сайта и продвижение его в поисковых системах. Также необходимо обратить внимание молодых разработчиков на необходимость утверждения точного технического задания при взаимоотношениях с заказчиком.
Подробнее о MultiMaxsite CMS
Столкнулся с тем, что не всегда понятно как и для чего создан данный хак. Это вообще свойственно разработчикам да и не только - для себя очевидно, расписать для людей лень. Каюсь и исправляю ошибку.
Итак. Для чего? Допустим мы хотим установить много копий MaxSite CMS. Разумеется хотим обойтись одной базой данных и одной копией самой системы, домены привязываются к одной папке. Это удешевляет хостинг в принципе, но не снимает ограничений по нагрузке на него.
Устанавливая данный хак мы получаем: только одну копию Maxsite CMS на диске у хостера. Все домены линкуются к одной папке. В зависимости от доменного имени, идёт обращение к определённым таблицам в базе данных. Так как делается это на этапе до запуска самого движка, ни пользователь, ни администратор даже не заметят разницы работая с многосайтовой или обычной версией системы.
Что получается в базе данных? Макссайт создаёт около десятка таблиц для хранения данных одного сайта вида mso_table. Многосайтовая версия в рамках одной же базы данных создаст n помноженное на дюжину таблиц, где n это количество сайтов. небольшое захламление получается, зато великая экономия... Опыт показывает, что одиннадцать сайтов нормально работают. Правда у них небольшая посещаемость...
По привязке доменов - можно использовать парковку к главному домену. Можно также привязывать и субдомены, проблем не будет.
Структура базы данных - используются префиксы вида railway$club_org_ru, если ваш домен это railway-club.org.ru. Такие косяки, позволяют добиться однозначного соответствия. У людей были проблемы, когда просто удалялись точки и тире из домена.
После запуска, нужно также создать папку для сайта в категории site, а в ней каталоги uploads, cache. Файл sitemap.xml для карты сайта. Права выставляются так же как и у стандартных каталогов. Это как правило (777).
Для работы в панели администратора переключить шаблон с дефалтного.
Универсальная переадресация с/на WWW
В своих проектах использую чтобы избежать расклейки доменов типа www.rus.am c rus.am
Этот код помещаем в .htaccess
# В переменную окружения %{ENV:PROTOCOL} помещаем протокол
RewriteRule ^(.*)$ - [E=PROTOCOL:http]
RewriteCond %{HTTPS} ^on$ [NC]
RewriteRule ^(.*)$ - [E=PROTOCOL:https]
# Если нужно убираем www
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ %{ENV:PROTOCOL}://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ %{ENV:PROTOCOL}://%1:%{SERVER_PORT}%{REQUEST_URI} [R=301,L]
Теперь у нас идёт правильная переадресация всех страниц с домена, на домен без www.