Установка: apt-get install php5-xcache
Редактируем: /etc/php5/conf.d/xcache.ini
Выставим размер opcode кеша xcache.size = 64M
Выставим размер кеша данных/переменных xcache.var_size = 32M
Указываем количество процессоров (или ядер) на вашем компьютере xcache.count = 2
Далее usr/share/xcache - переносим в web-dir две папки admin и coverage и заходим в админку где видим стату и можем удалять кеш.
П.С если у вас стоит Zend Optimizer может появится ошибка:
PHP Fatal error: [Zend Optimizer] Extension "Zend Optimizer" cannot be loaded twice in Unknown on line 0
То заходим /etc/php5/conf.d/xcache.ini и комментируем: ;zend_extension = /usr/lib/php5/20060613+lfs/xcache.so
А в /etc/php5/apache2/php.ini пишем ДО [Zend]:
Заходим на сайт , переходим в раздел Downloads и в зависимости от вашей ОС качаем программу и устанавливаем ее.
Теперь нам нужно в системе.
Теперь запускаем программу и вводим e-mail и пароль, который вы указывали при регистрации.
Заходим на сайт, логинимся.Выбираем вкладку Hosts/Redirets.Нажимаем Add a Host -> Hostname я вел poiuty и чуть правее выбрал no-ip.org.Теперь нажимаем Create Host
Теперь в программе выбираем Select Hosts и выбираем только, что вами созданный.Он там будет один, если вы конечно не создали еще.Все
Скрины вам в помощь.
[singlepic id=55 w=320 h=240 float=center]
Если вы сделали все правильно вы увидите это:
На ноуте нужно было поднять web сервер.Операционная система: windows XP. Теория: apache будет на 127.0.0.1:8080, nginx будет на внешнем ip и на 127.0.0.1:80 он используется как прокси сервер.Php сначала хотел сделать как fcgi, так же были мысли отказаться от apache, но все же решил остановится на apache+nginx из-за mod_rewrite.В чистом nginx тоже можно прописывать правила в файле nginx.conf, но как-то не очень хочется на это отвлекаться.
Заливаю необходимое ПО на ФО:
1.
2.
3.
4.
5.
6.
Установка и настройка mySQL
Устанавливаем как любую другую программу.В конце установки вам будет предложено сконфигурировать my.ini и другие настройки mysql.
[singlepic id=45 w=320 h=240 float=center]
Выбираем детализированную настройку - "Detailed Configuration".
[singlepic id=47 w=320 h=240 float=center]
Теперь выбираем тип нашего сервера.Если mysql нужен вам для разработки - выбирайте "Developer Machine".Если в качестве сервера то "Server Machine" или "Dedicate mySQL Server Machine".
[singlepic id=48 w=320 h=240 float=center]
Выбрав пункт "Multifunctional Database", вы сможете работать как с таблицами типа InnoDB (с возможностью использования транзакций), так и с высокоскоростной MyISAM (как правило для веб-разработок используется именно этот тип таблиц).
[singlepic id=49 w=320 h=240 float=center]
Выбор диска и директории для хранения таблиц типа InnoDB.
[singlepic id=50 w=320 h=240 float=center]
Выбираем максимально возможное количество соединений.Я предлагаю выбирать "Online Transaction Processing".
[singlepic id=51 w=320 h=240 float=center]
Отметив "Enable TCP/IP Networking" мы включаем поддержку TCP/IP соединений и выбираем порт, через который они будут осуществляться. Стандартным для сервера MySQL является порт 3306. Отметив "Enable Strict Mode", мы задаем режим строгого соответствия стандарту SQL (данную опцию рекомендуется оставлять включенной).
[singlepic id=52 w=320 h=240 float=center]
Выставим кодировку.
[singlepic id=53 w=320 h=240 float=center]
Далее отмечаем автозапуск сервера, и способ запуска как служба.Если вы будете использовать mysql из командной строки - отмечаем PATH.
[singlepic id=54 w=320 h=240 float=center]
Создаем пользователя.
[singlepic id=46 w=320 h=240 float=center]
Далее происходит процесс сохранения настроек.
Теперь открываем my.ini:
Ищем раздел [mysql]
В этот раздел добавляем строки: default-character-set=cp1251
skip-character-set-client-handshake
Далее, в разделе [mysqld] находим строку:
default-character-set=cp1251
И заменяем её на: default-character-set=cp1251
character-set-server=cp1251
collation-server=cp1251_general_ci
init-connect="SET NAMES cp1251"
skip-character-set-client-handshake
Теперь находим строку default-storage-engine=INNODB
И заменяем её на default-storage-engine=MYISAM
Настройка Apache
Первым делом нам надо создать каталог, в котором будут храниться наши домены(виртуал хосты).
Допустим это будет у нас каталог Resources.
Итак, создаём его например тут: X:\Resources
Теперь идём в корневой каталог Apache, там заходим в папку conf
Там лежит кучка файлов конфигурации.
Нам необходим httpd.conf
Ищем сторку: LoadModule rewrite_module modules/mod_rewrite.so
И убираем с неё комментарий (стереть # в начале строки).
Теперь в конце блока загрузки модулей прописываем строку: LoadModule php5_module "X:/Server/php/php5apache2_2.dll"
Далее, после блока загрузки модулей необходимо прописать путь до файла конфигурации PHP.
Строка будет выглядеть примерно так: PHPIniDir "Х:/Server/php/php.ini"
Теперь нам необходимо задать корневую директорию управления сайтом.
Это будет наша папка Resources
Находим строчку DocumentRoot
И меняем её содержимое на: DocumentRoot "Х:/Resources"
Далее находим блок:
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Satisfy all
И заменяем его на:
Options Includes Indexes FollowSymLinks
AllowOverride All
Allow from all
Далее находите и удаляете первоначальный блок управления директориями.
Выглядит он примерно так:
[spoiler]
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
[/spoiler]
Далее находим блок:
DirectoryIndex index.html
И заменяем его на:
DirectoryIndex index.html index.htm index.shtml index.php
Теперь находим строчку ErrorLog logs/error.log
И для большего удобства меняем её на ErrorLog X:/Resources/error.log
Тоже самое относительно строки CustomLog logs/access.log common
Меняем её на CustomLog X:/resources/access.log common
Теперь ищем строки: #AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
После них добавляем: AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Ну и на последок находим и разкоментируем следующие строки: Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-manual.conf
Include conf/extra/httpd-default.conf
Пример файла http-vhosts.conf: NameVirtualHost *:80
DocumentRoot C:/server/www/localhost
ServerName localhost
# ErrorLog C:/Resources/test/www-error.log
# CustomLog C:/Resources/test/www-access.log common
Настройка PHP
Открываем php.ini в любом текстовом редакторе.Правим: short_open_tag = On
display_errors = On
register_globals = Off
register_long_arrays = On
Теперь ищем строку: ;include_path = ".;c:\php\includes"
И снимаем с неё комментарий (убираем точку с запятой в начале строки): include_path = ".;c:\php\includes"
Строка должна выглядеть примерно так: include_path = ".;X:\Server\php\includes"
Теперь в файле конфигов находим строку extension_dir = "./"
Её значение меняем на путь к папке с расширениями. Например так: extension_dir = "X:/Server/php/ext/"
Далее, находим строку: ;upload_tmp_dir =
И точно так же, как и с Инклюдами - снимаем комментарий и меняем на путь доступный нам: upload_tmp_dir = X:/Server/php/temp
В корне с php создаём пустой коталог temp
Почти всё. Теперь нам осталось подключить недостающие библиотеки. extension=php_curl.dll //Важный пункт. 100% обязателен.
extension=php_gd2.dll //Библиотека для работы с графикой (обязательная)
extension=php_mbstring.dll //Библиотека содержит функции для работы с много-байтными кодировками
extension=php_mcrypt.dll //Библиотека для работы с алгоритмами шифрования.
extension=php_mysql.dll //Знакомое название, не правда ли?
extension=php_mysqli.dll //Дополнение к предыдущей, нужна для работы с базами версии 4.1.3 и выше.
Ну и завершающий этап - работа с сессиями.
Находим строку: ;session.save_path = "/tmp"
Снимаем коментарий и редактируем: session.save_path = "Х:\server\php\sess"
Ну и как уже у нас повелось, в корне пхп создаём каталог sess
Теперь маленькая подштриховка.
Нам необходимо прописать каталог с пхп в PATH нашей ОС.
Для этого проделываем следующее: Start(Пуск) --> Control Panel(Панель управления) --> System(Система)
Откройте вкладку Advanced(Дополнительно),
Нажмите кнопку Environment Variables(Переменные среды)
В разделе System Variables(Системные переменные) двойным кликом откройте строку PATH
И в поле Variable Value(Значение переменной) добавьте путь к вешей папке с php.
Строка с уже добавленным пхп будет выглядеть примерно так: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;X:\Server\php
Всё. Перезагружаем машину, чтобы изменения вступили в силу. Пхп у вас теперь настроен.
Установка Zend
Запускаем.Прописываем путь до php.ini.Прописываем путь до apache сервера.Далее устанавливаем.После этого перезапустите apache.
Установка eAccelerator
Закидываем биболиотку eaccelerator.dll в ./php/ext/
В файле php.ini прописываем: extension="eaccelerator.dll"
[eAccelerator]
eaccelerator.shm_size="64"
eaccelerator.cache_dir="c:\server\php\tmp\eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="3600"
eaccelerator.shm_prune_period="1800"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
# Раскомментировать при необходимости сохранения кэша только в памяти
#eaccelerator.keys = "shm"
#eaccelerator.sessions = "shm"
#eaccelerator.content = "shm"
Установка mod_rpaf
Закидываем mod_rpaf.so в ./apache/modules Далее прописываем в httpd.conf: LoadModule rpaf_module modules/mod_rpaf.so RPAFenable On
RPAFsethostname Off
RPAFproxy_ips 127.0.0.1 192.168.0.1
RPAFheader X-Real-IP
Установка nginx.Последний приготовления.
Распаковываем дистрибутив на диск C:, переходим в каталог nginx и запускаем nginx: cd c:\
unzip nginx
cd nginx
start nginx
Если nginx не запустился, нужно смотреть причины в error_log. Если же error_log не создался, то об этом сообщается в Event Log.
Команды: nginx -s stop быстрое завершение
nginx -s quit плавное завершение
nginx -s reload изменение конфигурации, запуск новых рабочих процессов с новой конфигурацией, плавное завершение старых рабочих процессов
nginx -s reopen переоткрытие лог-файлов
Правим httpd.conf:
Найти Listen - написать 127.0.0.1:8080
Теперь запускаем apache, nginx - первый работает на 127.0.0.1:8080, второй работает на внешнем ip/локальном ip на 80 порту.
П.С. при написании статьи использовался гайд Эмпти.