Архив метки: Apache

Apache веб сервер, большинство сайтов работают именно на нем.

Запуск MoinMoin2.0 под Apache22 на FreeBSD9

Предполагается, что moin2 расположен в /home/ishayahu/moin-2.0
Для начала нам надо установить сам апач и mod_wsgi, чтобы он мог работать с Flask (я использую для этого portmaster (/usr/ports/ports-mgmt/portmaster)):
#portmaster www/apache22 www/mod_wsgi
Далее создаём файл moin-2.0/moinmoin2.wsgi, чтобы апач мог запускать Flask приложение:
#для работы mod_wsgi, так как он блокирует sys.stdout
import sys
sys.stdout=sys.stderr
# Собственно для Flask
from MoinMoin.app import create_app
application = create_app('/home/ishayahu/moin-2.0/wikiconfig.py')

Теперь будем настроивать апач. Создадим конфигурацию виртульного хоста: файл /usr/local/etc/apache22/Includes/wiki.local.conf

    ServerAdmin meoc-it@mail.ru
    DocumentRoot /home/ishayahu/moin-2.0
    ServerName wiki.local
    ServerAlias www.wiki.local
    ErrorLog /home/ishayahu/wiki.local-error_log
    CustomLog /home/ishayahu/wiki.local-access_log combined
    WSGIDaemonProcess moinmoin2 user=ishayahu group=ishayahu threads=5
    WSGIScriptAlias / /home/ishayahu/moin-2.0/moinmoin2.wsgi
   
        WSGIProcessGroup moinmoin2
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
   
Настроиваем запуск вики как сервиса. Создаём файл для запуска апача в виртуальном окружении (нужно виртуальное окнужение для работы moin; не забыть chmod +x /root/start_wiki) /root/start_wiki:
#!/bin/bash
source /home/ishayahu/moin-2.0/env/bin/activate
/usr/local/etc/rc.d/apache22 onestart
Создаём файл для регистрации вики как сервиса /etc/rc.d/wiki (не забыть chmod +x /etc/rc.d/wiki):
#!/bin/sh
#
# PROVIDE: wiki
# REQUIRE: LOGIN
# KEYWORD: shutdown

. /etc/rc.subr

name=»wiki»
start_cmd=»${name}_start»
stop_cmd=»/usr/local/etc/rc.d/apache22 stop»

wiki_start()
{
    /bin/bash /root/start_wiki
}

load_rc_config $name
run_rc_command «$1»
И в /etc/rc.conf:
wiki_enable=»YES»

Автор: Ishayahu Lastov

Улучшаем производительность веб-ресурса. Установка mod_pagespeed в Ubuntu

Для начала загружаем пакет с сайта Google

wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_amd64.deb

или для 32-битной системы

wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_i386.deb

Терь устанавливаем пакет (обезательно с правами root):

dpkg -i mod-pagespeed-*.deb
apt-get -f install

Настройка модуля осуществляется в файле /etc/apache2/mod-available/peagespeed.conf

Автор: Sergiy Kamolov

Как сделать редирект черз .htaccess если браузер IE6

Иногда приходится разрабатывать проекты, работающий с ограниченным количеством браузеров, либо же без потдержки старых версий (IE6 к примеру). В таких случаях логично организовать редирект на страницу с соответствующим текстом. Сделать это можно как при помощи Javasript-а, так и на стороне PHP. Но как по мне, более элегантным решением будет редирект на стороне веб-сервера Apache, а точнее при помощи фала .htaccess. Создаем файл .htaccess в корне сайта либо же открываем существующий, и добписываем следующие директивы:


RewriteCond %{REQUEST_FILENAME} !^.png [nc]
RewriteCond %{REQUEST_FILENAME} !^.css [nc]
RewriteCond %{REQUEST_FILENAME} !^.jpg [nc]
RewriteCond %{REQUEST_FILENAME} !^.js [nc]
RewriteCond %{REQUEST_FILENAME} !^.gif [nc]
RewriteCond %{HTTP_USER_AGENT} "Firefox/2" [or]
RewriteCond %{HTTP_USER_AGENT} "Firefox/1" [or]
RewriteCond %{HTTP_USER_AGENT} "Flock/1" [or]
RewriteCond %{HTTP_USER_AGENT} "Camino/1" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/9" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/8" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/7" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/6" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/5" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/4" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/3" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/2" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/1" [or]
RewriteCond %{HTTP_USER_AGENT} "Safari/4" [or]
RewriteCond %{HTTP_USER_AGENT} "Safari/3" [or]
RewriteCond %{HTTP_USER_AGENT} "Safari/2" [or]
RewriteCond %{HTTP_USER_AGENT} "Safari/1" [or]
RewriteCond %{HTTP_USER_AGENT} "Navigator/" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 6" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 5" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 4" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 3" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 2" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 1"
RewriteRule . upgrade.html [L]

Конечно же работать все это будет только при условии подключеного модуля mod_rewrite.

Автор: Sergiy Kamolov
Дата публикации: 2012-10-05T14:38:00.002+03:00

RoR: связываем Ruby on Rails и Apache2

Про то, как установить Ruby On Rails, я писал в этой статье. Теперь же постараюсь описать, как запускать ROR-приложения под Apache2.
Итак, приступим.

Для начала надо установить сам Apache и библиотеки для поддержки fast-cgi для Apache и для Ruby:

apt-get install apache2 libapache2-mod-fcgid libfcgi-ruby1.8

После этого нужно установить мод passenger, который, собственно, служит для связки Apache и ROR.
Ставить его можно двумя способами:
1) Через RubyGems:

sudo gem install passenger
sudo passenger-install-apache2-module

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

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6
PassengerRuby /usr/bin/ruby1.8

2) Другой способ — установка из репозитория Debian.
Мода passenger нет в репозитории Lenny, он есть в бэкпортах, в тестируемом и нестабильном выпусках. Значит, для начала надо подключить что-то из них. Для подключения бэкпортов надо добавить следующую линию к файлу /etc/apt/sources.list::

deb http://www.backports.org/debian lenny-backports main contrib non-free

После чего надо обновить apt:

sudo aptitude update

,
и установить libapache2-mod-passenger:

sudo aptitude install libapache2-mod-passenger

.

Далее, необходимо настроить виртуальный хост для нашего приложения.

Создаем файл /etc/apache2/sites-available/rubytest

Вместо rubytest можно написать все, что угодно:)
В этом файле содержимое должно быть таким:


ServerName www.myrailssite.co.uk
DocumentRoot /var/www/railssite/current/public
RailsEnv production


Options ExecCGI FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all

Где в DocumentRoot мы прописываем путь к директории public нашего приложения, ServerName — имя хоста, на котором вертится приложение.
После чего надо сделать символьную ссылку на этот файл в директории /etc/apache2/sites-enabled/ и обновить конфигурацию апача:

sudo ln -s /etc/apache2/sites-available/rubytest /etc/apache2/sites-enabled
sudo /etc/init.d/apache2 reload

Теперь, если открыть страницу www.myrailssite.co.uk в браузере, то мы увидим приветственную страницу Рельс:

Автор: AlexWinner
Дата публикации: 2010-06-02T04:57:00.000-07:00

Скрипт для автоматизированной установки веб-сервера на FreeBSD

Наша задача: автоматизировать установку основного ПО на FreeBSD сервер , нам понадобиться необходимое для работы веб-сервера программное обеспечение : nginx / Apache / PHP / MySQL / vsftpd.  Сразу хочу предупредить любителей — «тыкнул и получил желаемое»  скрипт нужно внимательно изучить , обработать немножко напильничком , и только потом запускать и выявлять косячки ,  для немного шарящих никакого труда не составит вбить нужные параметры под себя.

Сам код скрипта: Читать