Метка «apache» - 5

С чего все началось

Разрабатывая проект, я столкнулся с необходимостью организации клиент-серверного взаимодействия приложений на платформах iOS и Android с моим сайтом на котором хранилась вся информация — собственно БД на mysql, картинки, файлы и другой контент.
Задачи которые нужно было решать — достаточно простые:
регистрация/авторизация пользователя;
отправка/получение неких данных (например список товаров).

И тут-то мне захотелось написать свой API для взаимодействия с серверной стороной — большей своей частью для практического интереса.

Входные данные

В своем распоряжении я имел:
Сервер — Apache, PHP 5.0, MySQL 5.0
Клиент — Android, iOS устройства, любой браузер

Я решил, что для запросов к серверу и ответов от него буду использовать JSON формат данных — за его простоту и нативную поддержку в PHP и Android. Здесь меня огорчила iOS — у нее нет нативной поддержки JSON (тут пришлось использовать стороннюю разработку).
Читать полностью »

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

Вашему вниманию мой вгляд на правила обработки URL с объяснениями и коментариями «почему так?».

Сперва логика

Объясню сперва логику:
1) все страницы имеют .html окончания.
2) все языки для страниц имеют вид pagename.en.html или pagename.html для языка по умолчанию. Никто, конечно, не запрещает иметь ссылки, где язык идёт вначале как /en/
3) «входной» скрипт только один в docroot.
4) Разрешены запросы на другие скрипты только в docroot
5) Соглашение по определению окончаний в url:
# site.com/
# site.com/index -> site.com/
# site.com -> site.com/
# site.com/file/ -> site.com/file.html
# site.com/file -> site.com/file.html
# site.com/dir/file ->site.com/dir/file.html
# site.com/dir/file/ -> site.com/dir/file.html
Но это можно менять.

Читать полностью »

Соглашение о покупке немецкой компании WebDesign.de, разработчика системы веб-конференций Apache Openmeetings, было подписано несколько часов назад. Официальное заявление, по разным версиям, должно последовать сегодня позже или завтра утром. Петер Галли, менеджер свободных сообществ Microsoft, считается главным лицом за этой сделкой. Через несколько дней Галли и директор компании Себастьян Вагнер проведут пресс-конференцию.Читать полностью »

После переезда с Ubuntu на Arch появилась необходимость настроить данную связку, однако, в отличие от Ubuntu, под Arch подобного мануала всё-в-одном не нашлось. Собрав идеи с разных руководств, включая те, что были написаны под Ubuntu, и решил написать на хабр такой цельный гайд.

Сразу хочу сказать, что это базовая установка, без виртуальных хостов в количестве n-штук, просто настройка для локальной разработки.

XAMPP мне не подошёл просто по идейным соображениям.

Итак, приступим.

Предполагается, что yaourt у вас уже установлен и вы хотя бы немного умеете им пользоваться, а также настроено выполнение root-команд от своего пользователя (ставим пакет sudo, потом раскомментируем строчку "%wheel ALL=(ALL) ALL" в файле /etc/sudoers и релогинимся; при выполнении команд с sudo пароль вводим от своего пользователя, а не от root'a).

Также перед непосредственно установкой, убедитесь, что у вас подключены extra- и community-репозитории.
Для этого:

sudo nano /etc/pacman.conf

И проверяем, чтобы секции этих репозиториев выглядели аналогично.

[extra]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
[community]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist

И синхронизируем списки пакетов.

sudo pacman -Sy

Читать полностью »

После переезда с Ubuntu на Arch появилась необходимость настроить данную связку, однако, в отличие от Ubuntu, под Arch подобного мануала всё-в-одном не нашлось. Собрав идеи с разных руководств, включая те, что были написаны под Ubuntu, и решил написать на хабр такой цельный гайд.

Сразу хочу сказать, что это базовая установка, без виртуальных хостов в количестве n-штук, просто настройка для локальной разработки.

XAMPP мне не подошёл просто по идейным соображениям.

Итак, приступим.

Предполагается, что yaourt у вас уже установлен и вы хотя бы немного умеете им пользоваться, а также настроено выполнение root-команд от своего пользователя (ставим пакет sudo, потом раскомментируем строчку "%wheel ALL=(ALL) ALL" в файле /etc/sudoers и релогинимся; при выполнении команд с sudo пароль вводим от своего пользователя, а не от root'a).

Также перед непосредственно установкой, убедитесь, что у вас подключены extra- и community-репозитории.
Для этого:

sudo nano /etc/pacman.conf

И проверяем, чтобы секции этих репозиториев выглядели аналогично.

[extra]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
[community]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist

И синхронизируем списки пакетов.

sudo pacman -Sy

Читать полностью »

Недавно я захотел попробовать какую-нибудь альтернативу для домашнего веб-сервиса.
Не то чтобы меня чем-то не устраивал «станартный» Apache — просто хотелось расширить кругозор ну и, возможно, найти альтернативу получше.
Кандидат должен был отвечать нехитрым требованиям — малое потребление ресурсов и высокая скорость работы.
Так как Nginx, lighthttpd и LiteSpeed я уже в своё время трогал, и примерно знал, чего от них можно ожидать — выбор пал на испанскую разработку Cherokee.

Изначально статья планировалась как сравнение двух «индейцев» — но в процессе установки и настройки Cherokee я столкнулся с парой подводных камней. Так что эта статья — так сказать вводная.
Сравнение производительности тоже будет — но чуть позже.
Читать полностью »

Несмотря на то, что технология SSI (Server Side Includes) не популярна, особенно с приходом CMS. Тем не менее она достаточна удобна для создания небольших сайтов без сложной структуры. Даже тем, кто практически не обладает навыками программирования, она позволяет собрать сайт на основе шаблонов. Об этом уже написано (а чаще скопипащено) немало статей. Помимо включений, SSI обладает условными операторами, а до мало-мальски языка программирования ей не хватает математики, циклов и массивов. С одной из этих проблем, циклами, я и решил разобраться. Вот что у меня получилось.
Читать полностью »

Доброго времени суток!

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

Если Вас замучило ручное создание хостов для Apache, а использовать готовый пакет типа XAMPP или Denwer нету желания/возможности/свой вариант, прошу под кат.
Читать полностью »

Исполнительный директор Free Software Foundation Джон Салливан (John Sullivan) выступил с докладом на конференции FOSDEM 2012, где опроверг распространённое в последнее время мнение о том, что доля GPL среди лицензий Open Source снижается. Некоторые аналитики говорили даже, что к сентябрю 2012 года она опустится до 50%, в то время как доля MIT/Apache/BSD растёт довольно быстро (см. график, основанный на статистике из базы Open Source Resource Center компании Black Duck Software).

Джон Салливан категорическиЧитать полностью »

Django Framework / Виртуальный хостинг для Django (FreeBSD + Apache + mod python / mod wsgi)Создавая новый проект на Django, ты в очередной раз лезешь изменять конфигурации своего web-сервера. И вроде бы ничего страшного, да только конфигурации ты меняешь уже чаще, чем выгуливаешь свою собаку. Как-то не правильно? Согласен (собака, думаю, тоже не возражает). Выход – виртуальный хостинг. Изучив пару статей в Интернете, ты забиваешь конфигурации своих сайтов в httpd-vhosts.conf. И какое-то время даже радуешься этому. Проходит время и на локальном хосте у тебя уже не два с половиной сайта, а десятки проектов (пусть даже небольших). И, открывая в очередной раз httpd-vhosts.conf, чтобы добавить какую-нибудь опцию, тыЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js