четверг, 23 июля 2015 г.

Разворачиваем TYPO3 на Windows 8

Ох, как давно я не писал сюда. Уже некоторые даже звонят и спрашивают - занимаюсь ли я TYPO3 ещё? На всякий случай всем хочу сказать, что TYPO3 - это любовь на всю жизнь! В блог я могу и не писать по разным причинам, но TYPO3 занимался, занимаюсь и заниматься буду.
Теперь по теме. По различным причинам, но назрел у меня вопрос развертывания TYPO3 на моей локальном компьютере, а конкретнее - на Windows 8. В принципе ничего военного, но, как обычно, есть свои нюансы.

Выбираем инсталлер (Installer)

Идем на http://typo3.org/download/ и видим такой список:


Почему-то, для себя я выбрал первый вариант - Bitnami и потом не пожалел. Очень обрадовался когда увидел там почти свеженькие сборки 7.3.0 и 6.2.13



Установка и настройка инсталлера

Процесс установки не вызвал никаких проблем. По ходу дела я выбрал также установку phpmyadmin, что позже стало даже полезным.

Итак, после установки в директорию C:\Bitnami\typo3\ увидим такую структуру:
23.07.2015  10:31    <DIR>          apache2
23.07.2015  14:56    <DIR>          apps
23.07.2015  10:27    <DIR>          common
23.07.2015  18:08    <DIR>          imagemagick
23.07.2015  10:27    <DIR>          img
23.07.2015  10:30    <DIR>          licenses
23.07.2015  10:26    <DIR>          mysql
23.07.2015  10:31    <DIR>          php
23.07.2015  10:30    <DIR>          scripts
23.07.2015  10:27    <DIR>          sqlite
26.06.2015  12:58    manager-windows.exe <= это запускалка мускула и апача!

Самое интересное происходит в папке apps. Там есть еще 2 папки - phpmyadmin и typo3. Вот тут-то я и понял, что каждый сайт в данном инсталлере играет роль приложения (application). Чтобы каждый сайт имел приятный url, я полез C:\Bitnami\typo3\apache2\conf\bitnami\bitnami-apps-vhosts.conf  и добавил следующие строки:

Include "C:/Bitnami/typo3/apps/typo3/conf/httpd-vhosts.conf"
Include "C:/Bitnami/typo3/apps/phpmyadmin/conf/httpd-vhosts.conf"

а в файлах httpd-vhosts.conf описал виртуальные хосты, например для phpmyadmin:

<VirtualHost *:80>
    ServerName phpmyadmin.example.com
    ServerAlias www.phpmyadmin.example.com
    DocumentRoot "C:\Bitnami\typo3/apps/phpmyadmin/htdocs"
    Include "C:\Bitnami\typo3/apps/phpmyadmin/conf/httpd-app.conf"
</VirtualHost>

и для TYPO3:

<VirtualHost *:80>
    ServerName typo3_7.com
    ServerAlias www.typo3_7.com
    DocumentRoot "C:\Bitnami\typo3/apps/typo3/htdocs"
    Include "C:\Bitnami\typo3/apps/typo3/conf/httpd-app.conf"
</VirtualHost>

Думаю, что само-собой понятно, что домены phpmyadmin.example.com и typo3_7.com я добавил в hosts:

127.0.0.1 phpmyadmin.example.com
127.0.0.1 typo3_7.com

После перезапуска apache мои локальные сайты заработали под именами phpmyadmin.example.com и typo3_7.com.

После этого я сразу задался вопросом, а что если мне нужно будет поднять еще одну TYPO3, но только уже другой версии, например 6.3.14.

Я сделал всё по аналогии. В директории app создал еще одну папку - typo3test, залил в неё содержимое папки apps/typo3, удалил всё содержимое htdocs и typo3_src, исправил все пути в конфигурационных файлах директории typo3test/conf и проделал установку TYPO3 с нуля по всем правилам. Т.е. в typo3_src распаковал ядро от 6.3.14, а в htdocs сделал симлинки на typo3_src. Windows 8 позволяет делать симлинки специальной командой - mklink. Вот эти команды:

mklink /D typo3_src "C:/Bitnami/typo3/apps/typo3test/typo3_src"
mklink /D typo3 "C:/Bitnami/typo3/apps/typo3test/typo3_src/typo3"
mklink index.php "C:/Bitnami/typo3/apps/typo3test/typo3_src/index.php"

Про создание БД я не пишу, там всё понятно. Паролем root-а от mysql, будет тот пароль который вы вводили на этапе установки Bitnami.

В целом установка проходит гладко. Но...

Настройка ImageMagick

Когда я пошел в InstallTool/Test setup, чтобы проверить работу ImageMagick, который исправно работает для директории apps/typo3, я с удивлением обнаружил что тут, в папке apps/typo3test он уже не работает, хотя пути к IM я прописал точно такие же как и для первого экземпляра TYPO3. И тут началось...

Для начала я поставил IM как отдельное приложение. Скачал ImageMagick-6.9.1-9-Q16-x86-dll.exe с родного сайта и установил его. Это проблему не решило, хотя convert.exe запускался из командной строки на раз.

После нескольких часов изысканий я обнаружил интересный факт. Когда выполняешь команду: convert.exe -verbose pic-1.jpg pic-1.png от лица администратора компьютера - утилита работает, а если от обычного пользователя, то выдает ошибку: convert.exe: no decode delegate for this image format...

Но, что интересно, так было с convert.exe от Bitnami (C:\Bitnami\typo3\imagemagick\convert.exe), но не с convert.exe от IM, который в любой ситуации отрабатывал без проблем.

Поскольку я не являюсь знаком Windows, то я не стал искать причину такого странного поведения, а поступил очень просто - прописал в TYPO3 пути к другой версии IM. А именно, в файле typo3conf\LocalConfiguration.php сделал такие настройки:

'GFX' => array(
'colorspace' => 'RGB',
'im' => 1,
'im_mask_temp_ext_gif' => 1,
//'im_path' => 'C:/Bitnami/typo3/imagemagick/',
//'im_path_lzw' => 'C:/Bitnami/typo3/imagemagick/',
'im_path' => 'C:/Program Files (x86)/ImageMagick-6.9.1-Q16/',
  'im_path_lzw' => 'C:/Program Files (x86)/ImageMagick-6.9.1-Q16/',
'im_v5effects' => 1,
'im_version_5' => 'im6',
'image_processing' => 1,
'jpg_quality' => '80',
),

И, о чудо! Всё заработало! Теперь я могу иметь сколько угодно локальных TYPO3! Даже у себя на даче, где пока нет интернета, я смогу иногда поработать.

О себе

Моя фотография
Вадим Гиркало
Фрилансер, веб-разработчик сайтов на базе бесплатной, мощнейшей и очень гибкой CMS системы - TYPO3.
Просмотреть профиль

Позвонить мне в Skype

TOP - 3