forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общее (http://forum.boolean.name/forumdisplay.php?f=139)
-   -   Windows сервер (http://forum.boolean.name/showthread.php?t=16513)

pax 21.03.2012 17:05

Windows сервер
 
Есть ли у кого опыт переноса сайтов с ЛАМПА на IIS + PHP? Подскажите, какие подводные камни могут быть.

Надо перенести Joomla, Wordpress и mediawiki на Windows сервер.

cyberblut 21.03.2012 17:33

Ответ: Windows сервер
 
Самый распространённый: всё перестаёт работать, а после фикса начинает тормозить (тк по синтетике на винде PHP на 30% медленнее работает).
А вообще:
1. Косяки с особенностями файловой системы (симлинков нет, кеш в оперативу не сложишь и т.д.)
2. Косяки низкоуровненвой реализации некторых функций, особенно для доступа к базам и работе со временем
3. Придётся ставить руками аналог крона
4. Если было что-то работающее со стандартным IO потоком - больше не будет работать
5. Если была конвертация видео на лету - больше не будет. Придётся искать солюшен
6. Ну и особенности IIS. Он вообще хотя бы .htaccess держит (лично не знаю - не извращенец)?

pax 21.03.2012 17:40

Ответ: Windows сервер
 
1. Не важно я думаю.
2. Надеюсь не проявятся.
3. Вероятно он мне не нужен, ни разу не пользовался до этого.
4. Этого не знаю.
5. Небыло.
6. Там надо преобразовать вроде .htaccess в web.config

Спасибо за ответ.

ABTOMAT 21.03.2012 17:50

Ответ: Windows сервер
 
> всё перестаёт работать, а после фикса начинает тормозить
Подтвердаю на собст. опыте

1. Подтверждаю, пример: Magento юзает регистрозависимые имена файлов. Пришлось извращаться и заставлять NTFS различать регистр в именах файлов (да, есть такой способ, после этого начали глючить некоторые части самой ОС)
2. Подтверждаю
3. Подтверждаю
6. с .htaccess проблем нет
Добавляю:
7. Нет bash'а и ssh (прощайте обновления файлов сайта по посткоммиту) да и вообще придётся для любой админской задачи лезть, блин, по Радмину. Ящитаю венда совершенно не годится для серверов.

Вообще все косяки конечно лечатся, но > всё перестаёт работать, а после фикса начинает тормозить

moka 21.03.2012 18:00

Ответ: Windows сервер
 
Не переносил, но разрабатывал сразу с нуля.
IIS + Asp.Net 4.0 + MSSQL. Доволен намного больше чем LAMP'ой.
По мне удобнее, проще, возможностей не меньше, плюс весьма хороший контроль всего через IIS.
Использовал на рабочем хосте, скоро такую же связку заюзаю на godaddy хосте.

Правда это немного оффтоп но ладно. :D

pax 21.03.2012 18:05

эх чую будет тяжело...

А что на счет WAMP если забить на IIS?

ABTOMAT 21.03.2012 18:18

Ответ: Windows сервер
 
Цитата:

Сообщение от MoKa (Сообщение 223300)
Не переносил, но разрабатывал сразу с нуля.
IIS + Asp.Net 4.0 + MSSQL. Доволен намного больше чем LAMP'ой.
По мне удобнее, проще, возможностей не меньше, плюс весьма хороший контроль всего через IIS.
Использовал на рабочем хосте, скоро такую же связку заюзаю на godaddy хосте.

Правда это немного оффтоп но ладно. :D

И сайты с PHP он тоже будет переделывать на ASP ? Блин вы не путайте тёплое с мягким!

Цитата:

Сообщение от pax (Сообщение 223303)
А что на счет WAMP если забить на IIS?

Уже лучше но всё равно это не отменяет недостатков самой Винды: отсутствие Крона, SSH, особенности файловой системы и т.д.

cyberblut 21.03.2012 18:20

Ответ: Windows сервер
 
Цитата:

Сообщение от ABTOMAT (Сообщение 223299)
1. Подтверждаю, пример: Magento

Она-то и под линухом со всеми возможными оптимизациями еле волочится, а поб виндами страшно даже представить :)

ABTOMAT 21.03.2012 18:57

Ответ: Windows сервер
 
Цитата:

Сообщение от cyberblut (Сообщение 223305)
Она-то и под линухом со всеми возможными оптимизациями еле волочится, а поб виндами страшно даже представить :)

С прямыми руками - вполне быстро. И, что самое главное, без глюков связанных с осью. Что поделать - двигло большое с огромными возможностями (почему-то многие его тупо ставят as is и дальше на нём ничего не строят и даже не знают что в нём есть)

Randomize 21.03.2012 23:49

Ответ: Windows сервер
 
mediawiki падает так как много путей хранит в БД.

Joomla - сама живёт после переноса, но падают многие сторонние плагины. Требуется их переустановка с предварительным бекапом данных кроме настроек.

Wordpress - жив здоров и даже конвертирует .htaccess в web.config сам.
Правда надо немного править конфигурацию.

Вообще IIS не вариант для PHP приложений. Может проще виртуалку с линуксом (цент, слакс, мандрива, бздя)?
* если компьютер держит аппаратную виртуализацию

Если осема всё плохо то тогда можно и WAMP, XAMPP и тд. Но главное настроить их "по уму" иначе хакнут и сломают винду к чертям собачьим. На винде сложновато с пользователями и их правами. Apache, php, perl в Windows работают из под админа.

pax 22.03.2012 10:19

Ответ: Windows сервер
 
Эх чую проще хостинг оставить для сайтов, отдельно от сервера... ну да ладно, наверное самое верное решение, чем эти извращения. Лучше пусть будет IIS для Asp.Net приложений. Я вероятно самостоятельно не смогу настроить WAMP чтобы не хакнули, потому что в нем не разбираюсь )))

Randomize 22.03.2012 16:27

Ответ: Windows сервер
 
Не вешай нос :)
Вот настройки php.ini которые тебе нужны:

1) Фикс путей Windows/Unix
Код:

cgi.fix_pathinfo = 1
2) Папка где располагаются сценарии PHP
Указание директории ограничит права доступа к файлам PHP приложений только этой директорией. Удобно переопределять эту настройку в файлах конфиграции непосредственно для каждого приложения, однако не помешает установить эту
настройку и указать корневую директорию всех PHP приложений.
Код:

open_basedir = "D:/WebSites/"
3) Отключение опасных функций:
Код:

disable_functions = "dl,popen,exec,system,passthru,proc_open,shell_exec"
Можно ещё такой набор:
Код:

pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,exec,shell_exec,system,passthru,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,leak,listen,chgrp,apache_note,apache_setenv,closelog,debugger_off,debugger_on,define_sys,php_uname, getmyuid, getmypid,diskfreespace,dl,posix_ctermid, posix_getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_getpgid, posix_getpgrp, posix_getpid, posix, _getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_getuid, posix_isatty, posix_kill, posix_mkfifo, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_setuid, posix_times, posix_ttyname,posix_uname
Теперь о том как настраивать виртуальные хосты в Apache:
Код:

<VirtualHost shgames.ru:80>
 ServerName shgames.ru
 ServerAlias www.shgames.ru
 DocumentRoot d:/WebSites/shgames.ru/www
 ServerAdmin [email protected]
  <Directory d:/WebSites/shgames.ru/www>
    php_admin_value open_basedir "d:/sites/shgames.ru/www"
  </Directory>
 ErrorLog "d:/WebSites/shgames.ru/logs/error.txt"
 CustomLog "d:/WebSites/shgames.ru/logs/access.txt" combined
 </VirtualHost>

Ну этого пока хватит. Потом уже по ходу дела можно донастроить.

ABTOMAT 22.03.2012 20:43

Ответ: Windows сервер
 
http://forum.boolean.name/showthread.php?t=16030
Вот же ещё, но там более узко


Часовой пояс GMT +4, время: 17:34.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot