TYPO3 может работать на стандартном виртуальном хостинге, но это не наш путь, т.к. сложно что либо построить не имея полного контроля над процессом. Поэтому, я выбрал в качестве платформы виртуальный выделенный сервер.
Каждый более менее крупный хостер в настоящее время предлагает эту услугу. Большинство из них продаёт VPS. И очень мало настоящий VDS. В чём разница, не буду объяснять. В инете полно статей. Скажу лишь одно: нам нужен VDS работающий под Xen.
В данный момент я расположился у провайдера http://www.truevds.ru/.
Тарифа True20 будет достаточно для старта. По моей просьбе они установили пресет Gentoo 10.1 minimal.
Я постараюсь указать на все моменты и нюансы, но явные и очевидные вещи я буду пропускать.
Ну чтож, начнём пожалуй:
Локализация.
Первым делом необходимо настроить локаль. Всегда и везде будем использовать только UTF-8. TYPO3 предпочитает работать именно с этой кодировкой. Системная локаль ru_RU.UTF-8.
Системные программы и библиотеки.
Для упрощения повторной компиляции, используем возможности портежей и прописываем необходимые флаги (USE, ..) в /etc/portage/package.use/. Далее по тексту я буду указывать их в скобках.
Я использую последние версии, которые зачастую маскированы. Потому убираем маскировку с необходимых пакетов.
Обновляем систему: rsync затем emerge -avuDN world
Устанавливаем:
- app-portage/eix (с ним быстрее и веселее :) )
- app-misc/mc ( USE="slang")
- dev-db/libpq
- media-libs/freetype
- media-libs/gd (USE="jpeg png")
- media-gfx/imagemagick (USE="jpeg png tiff")
- media-libs/pdflib
- media-libs/exiftool
NGINX
Ставим www-servers/nginx. Проверяем чтобы был подключен модуль http_fastcgi. Обычно он стоит по дефаулту.
Конфигурирутся стандартно.
Добавляются строки в секцию server {}:
location / {
index index.php;
# Для корректной работы RealURL
if (!-e $request_filename){
rewrite ^(.*)$ /index.php last;
}
# Для редиректа php через FastCGI
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_read_timeout 180;
fastcgi_send_timeout 180;
include fastcgi.conf;
}
}
А также в секцию http {}
# для upload больших файлов.
client_max_body_size 10m;
MySQL
Хотя мне и не нравится mysql, я решил поставить поскольку TYPO3 поддерживает его в core. Возможно в дальнейшем съеду на PostgreSQL.
Итак, ставим сабж: dev-db/mysql
В опциях конпиляции ничего не прописывал. Всё по дефаулту.
PHP
PHP надо использовать с версии 5.3.3. Т.к. только с той версии поддерживается FPM.
Устанавливаем:
dev-lang/php (USE="gd-external exif fpm cgi -apache2 json filter -snmp curl sockets -ipv6")
Правим php.ini
memory_limit = 64M. (это минимум. чем больше можете себе позволить - тем лучше)
В php_fpm.conf прописываем юзера и группу:
user=nginx
group=nginx
eAccelerator
Это полезное дополнение к PHP для увеличения быстродействия скриптов.
Ставим: dev-php5/eaccelerator (USE="-apache2" HTTPD_USER="nginx" HTTPD_GROUP="nginx")
В eaccelerator.ini правим
eaccelerator.shm_size="32" #добавляем памяти под использование
Стартуем....
Пробуем взлететь: поднимаем nginx и php-fpm
Создаем тестовую страничку phpinfo.php:
<?php phpinfo(); ?>
Загружаем в браузер и проверяем чтобы всё завелось основное:
- eaccelerator
- gd
- freetype
- exif
- json
>>Большинство из них продаёт VPS. И очень мало настоящий VDS. В чём разница, не буду объяснять. В инете полно статей.
ОтветитьУдалитьИнтересно послушать, учитывая, что это одно и то же, а разделение их - чисто маркетинговый ход.