Как установить TYPO3 7 с Nginx и MariaDB на Debian 8 (Джесси)
На этой странице
- Предварительное примечание
- Установка APCu
- Установка TYPO3
- Образ виртуальной машины
- SSH-вход
- Вход в MariaDB
В этом руководстве показано, как установить и настроить веб-сайт TYPO3 (версия 7) на сервере Debian 8 (Jessie), на котором Nginx установлен в качестве веб-сервера, а MariaDB — в качестве сервера базы данных. Nginx — это быстрый веб-сервер, который заменяет стандартный веб-сервер «Apache» в этой настройке, MariaDB — это форк MySQl, который работает быстрее, чем MySQL и разработан первоначальным изобретателем MySQL Монти Видениусом.
Typo3 — это система CMS корпоративного класса, написанная на PHP и имеющая большое сообщество пользователей и разработчиков.
Предварительное примечание
Я хочу установить TYPO3 на виртуальный хост с именем www.example.com с корневым каталогом документа /var/www/www.example.com/web. Мой сервер использует IP-адрес 192.168.1.100, замените этот IP-адрес во всех файлах конфигурации и командах на IP-адрес вашего сервера.
В руководстве предполагается, что у вас уже есть работающая установка Nginx, если нет, то сначала следуйте этому руководству, чтобы установить Nginx, PHP и MariaDB.
Войдите на сервер как пользователь root и перейдите к следующему шагу.
Установка APCu
APCu — это бесплатный и открытый кешировщик кода операции PHP для кэширования и оптимизации промежуточного кода PHP. Он добавляет функции, ранее предоставляемые APC, к теперь интегрированному операционному кэшу PHP. Он похож на другие кешировщики кода операции PHP, такие как eAccelerator и XCache. Настоятельно рекомендуется установить один из них, чтобы ускорить вашу PHP-страницу.
APC можно установить следующим образом:
apt-get install php5-apcu
Если вы используете PHP-FPM в качестве демона FastCGI, перезапустите его следующим образом:
systemctl restart php5-fpm.service
Установка TYPO3
Корень документа моего веб-сайта www.example.com — /var/www/www.example.com/web. Если он не существует, создайте его следующим образом:
mkdir -p /var/www/www.example.com/web
Затем мы загружаем TYPO3 7.6.4 в виде файла .tar.gz с https://typo3.org/download/ и помещаем его в корень нашего документа:
cd /tmp
wget http://downloads.sourceforge.net/project/typo3/TYPO3%20Source%20and%20Dummy/TYPO3%207.6.4/typo3_src-7.6.4.tar.gz
tar xfz typo3_src-7.6.4.tar.gz
mv typo3_src-7.6.4 /var/www/www.example.com/
cd /var/www/www.example.com/web
ln -s ../typo3_src-7.6.4 typo3_src
ln -s typo3_src/index.php
ln -s typo3_src/typo3Рекомендуется сделать корень документа и файлы TYPO3 в нем доступными для записи для демона nginx, работающего как пользовательские www-данные и групповые www-данные:
chown -R www-data:www-data /var/www/www.example.com/web
Если вы еще не создали базу данных MySQL для TYPO3 (включая пользователя MySQL TYPO3), вы можете сделать это следующим образом (в этом примере я называю базу данных typo3, а имя пользователя — typo3_admin, а его пароль — typo3_admin_password):
mysqladmin --defaults-file=/etc/mysql/debian.cnf create typo3
mysql --defaults-file=/etc/mysql/debian.cnf
GRANT ALL PRIVILEGES ON typo3.* TO 'typo3_admin'@'localhost' IDENTIFIED BY 'typo3_admin_password';
GRANT ALL PRIVILEGES ON typo3.* TO 'typo3_admin'@'localhost.localdomain' IDENTIFIED BY 'typo3_admin_password';FLUSH PRIVILEGES;
quit;
Затем мы создаем конфигурацию виртуального хоста nginx для нашего виртуального хоста www.example.com в каталоге /etc/nginx/sites-available/ следующим образом:
nano /etc/nginx/sites-available/www.example.com.vhost
server { listen 80; server_name www.example.com example.com; root /var/www/www.example.com/web; if ($http_host != "www.example.com") { rewrite ^ http://www.example.com$request_uri permanent; } index index.php index.html; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac). location ~ /\. { deny all; access_log off; log_not_found off; } location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors on; fastcgi_buffer_size 128k; fastcgi_buffers 256 16k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_read_timeout 1200; } client_max_body_size 100M; location ~ /\.(js|css)$ { expires 604800s; } if (!-e $request_filename){ rewrite ^/(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ /$1.$3 last; } location ~* ^/fileadmin/(.*/)?_recycler_/ { deny all; } location ~* ^/fileadmin/templates/.*(\.txt|\.ts)$ { deny all; } location ~* ^/typo3conf/ext/[^/]+/Resources/Private/ { deny all; } location ~* ^/(typo3/|fileadmin/|typo3conf/|typo3temp/|uploads/|favicon\.ico) { } location / { if ($query_string ~ ".+") { return 405; } if ($http_cookie ~ 'nc_staticfilecache|be_typo_user|fe_typo_user' ) { return 405; } # pass POST requests to PHP if ($request_method !~ ^(GET|HEAD)$ ) { return 405; } if ($http_pragma = 'no-cache') { return 405; } if ($http_cache_control = 'no-cache') { return 405; } error_page 405 = @nocache; try_files /typo3temp/tx_ncstaticfilecache/$host${request_uri}index.html @nocache; } location @nocache { try_files $uri $uri/ /index.php$is_args$args; } }
Эта конфигурация уже содержит все необходимое для чистых URL-адресов (из-за строки try_files $uri $uri/ /index.php$is_args$args; в расположении @nocache).
Затем убедитесь, что в файле /etc/nginx/mime.types есть следующая строка:
nano /etc/nginx/mime.types
[...] text/x-component htc; [...]
Чтобы включить виртуальный хост, мы создаем на него символическую ссылку из каталога /etc/nginx/sites-enabled/:
cd /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/www.example.com.vhost www.example.com.vhostПерезагрузите nginx, чтобы изменения вступили в силу:
systemctl reload nginx.service
Затем настройте некоторые значения в файле php.ini для TYPO3. Я использую php-fpm на этом сервере, поэтому файл /etc/php5/fpm/php.ini. Откройте файл в редакторе:
nano /etc/php5/fpm/php.ini
и настройте следующие параметры.
[...]
always_populate_raw_post_data=-1
[...]
max_execution_time=240
[...]
post_max_size = 20M
[...]
upload_max_filesize = 20M
[...]
max_input_vars=2000
[...]Примените изменения с помощью:
systemctl reload php5-fpm.service
Теперь мы можем запустить веб-установщик TYPO3, перейдя по адресу http://www.example.com/ — вам будет предложено сначала создать файл FIRST_INSTALL в корне документа, чтобы установка могла продолжиться:
cd /var/www/www.example.com/web/
touch FIRST_INSTALL
chown www-data:www-data FIRST_INSTALLТеперь перезагрузите страницу. Установщик проверяет, выполнены ли все предварительные условия — если есть другие предупреждения, попробуйте исправить их сейчас:
Нажмите «Продолжить».
Затем заполните данные базы данных (пользователь: typo3_admin; пароль: typo3_admin_password при создании базы данных typo3) и нажмите «Продолжить»:
На следующей странице выберите «Использовать существующую пустую базу данных» и выберите «typo3» в раскрывающемся меню. Затем нажмите «Продолжить»:
Затем укажите имя пользователя и пароль для администратора TYPO3 и имя для вашего сайта. Нажмите «Продолжить» после этого:
Установка завершена. Если вы хотите начать с демонстрационного веб-сайта вместо полностью пустой системы, оставьте установленным флажок Да, загрузить список дистрибутивов (это не приведет к немедленной установке демонстрационных данных, а просто сделает демонстрационный веб-сайт доступным в бэкэнде, откуда вы можете выбрать установку). Вместо этого я предпочту начать с пустой страницы, чтобы я мог создать собственный веб-сайт. Затем нажмите «Открыть бэкэнд»:
Область администрирования находится по адресу http://www.example.com/typo3/. Войдите в систему с именем пользователя admin и паролем, который вы определили во время установки:
Теперь войдите в систему с именем пользователя и паролем, которые вы выбрали во время установки Typo3.
Typo3 успешно установлен. Теперь вы можете приступить к созданию своего веб-сайта Typo3.
Образ виртуальной машины
Это руководство доступно как готовая к использованию виртуальная машина в формате OVA/OVF для подписчиков Howtoforge. Формат VM совместим с VMWare, Virtualbox и другими инструментами, которые могут импортировать этот формат. Вы можете найти ссылку для скачивания в правом меню вверху. Нажмите на имя файла, чтобы начать загрузку.
Данные для входа в виртуальную машину:
Typo3 Войти
Имя пользователя: admin
Пароль: howtoforgeВход по SSH
Имя пользователя: root
Пароль: howtoforgeВойти
Имя пользователя: root
Пароль: howtoforgeПожалуйста, измените пароли после первой загрузки.
ВМ настроена на статический IP 192.168.1.100, IP можно изменить в файле /etc/network/interfaces.
Ссылки
- TYPO3: http://typo3.org/
- nginx: http://nginx.org/
- Вики-сайт nginx: http://wiki.nginx.org/
- Debian: http://www.debian.org/