Как установить TYPO3 8.1 с Nginx (LEMP) на Ubuntu 16.04
Это руководство существует для этих версий ОС
- Ubuntu 16.04 (Xenial Xerus)
- Ubuntu 13.10 (дерзкая Саламандра)
На этой странице
- 1 Предварительное примечание
- 2 Установка TYPO3
- 3 Загрузка образа виртуальной машины для этого руководства
- 4 ссылки
В этом руководстве показано, как установить и запустить веб-сайт TYPO3 (версия 8.1) в системе Ubuntu 16.04, в которой вместо Apache установлен веб-сервер Nginx. Этот тип установки часто называют LEMP=Linux + Nginx (произносится как «engine x») + MySQL + PHP). Nginx — это быстрый и эффективный HTTP-сервер, который использует меньше ресурсов, чем Apache, и намного быстрее доставляет страницы, особенно статические файлы.
1 Предварительное примечание
Я хочу установить TYPO3 на виртуальный хост с именем www.example.com с корневым каталогом документа /var/www/www.example.com/web.
У вас должен быть работающий стек LEMP. Если у вас еще нет установки LEMP, воспользуйтесь этим руководством: Сервер Ubuntu LEMP.
Поскольку мы должны выполнять все шаги из этого руководства с привилегиями root, мы можем либо добавить перед всеми командами в этом руководстве строку sudo, либо стать пользователем root прямо сейчас, набрав
sudo su
Я буду использовать редактор nano для редактирования файлов конфигурации в оболочке, nano можно установить с помощью этой команды:
apt-get install nano
2 Установка TYPO3
Сначала мы установим некоторые дополнительные модули PHP, необходимые Typo3:
apt-get install php7.0-soap php7.0-zip
Корень документа моего веб-сайта www.example.com — /var/www/www.example.com/web. Если он не существует, создайте его следующим образом:
mkdir -p /var/www/www.example.com/web
Затем мы загружаем TYPO3 8.1 в виде файла .tar.gz с http://typo3.org/download/ и помещаем его в корень нашего документа:
cd /var/www/www.example.com
wget get.typo3.org/8.1 -O typo3_src-8.1.2.tar.gz
tar xfz typo3_src-8.1.2.tar.gz
rm typo3_src-8.1.2.tar.gz
cd web
ln -s ../typo3_src-8.1.2 typo3_src
ln -s typo3_src/index.php index.php
ln -s typo3_src/typo3 typo3
Рекомендуется сделать корень документа и файлы TYPO3 в нем доступными для записи для демона Nginx, который работает как пользовательские www-данные и групповые www-данные:
chown -R www-data:www-data /var/www/www.example.com
Если вы еще не создали базу данных MySQL для TYPO3 (включая пользователя MySQL TYPO3), вы можете сделать это следующим образом (в этом примере я называю базу данных typo3, а имя пользователя — typo3_admin, а его пароль — typo3_admin_password):
mysql --defaults-file=/etc/mysql/debian.cnf
CREATE DATABASE typo3;
ALTER DATABASE typo3 CHARACTER SET utf8 COLLATE utf8_general_ci;
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/php/php7.0-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, чтобы изменения вступили в силу:
service nginx reload
Создайте файл FIRST_INSTALL в корне сайта, чтобы активировать установщик TYPO3.
touch /var/www/www.example.com/web/FIRST_INSTALL
И измените владельца на www-data, чтобы сценарий установки TYPO3 мог удалить файл после завершения установки.
chown www-data:www-data /var/www/www.example.com/web/FIRST_INSTALL
Нам нужно настроить несколько значений php.ini, чтобы они соответствовали требованиям TYPO3. Откройте файл php.ini:
nano /etc/php/7.0/fpm/php.ini
И настройте следующие параметры конфигурации, чтобы они имели следующие значения:
[....]
max_execution_time=240
[....]
post_max_size = 20M
[....]
upload_max_filesize = 20M
[....]
max_input_vars=1500
[....]
memory_limit = 256M
[....]
Затем сохраните файл и перезапустите PHP-FPM, чтобы загрузить новую конфигурацию:
service php7.0-fpm restart
Теперь мы можем запустить веб-установщик TYPO3, перейдя по адресу http://www.example.com/:
Нажмите кнопку «Система выглядит хорошо. Продолжить», чтобы начать процесс установки. Если на этой странице отображается сообщение о том, что не все предварительные условия выполнены, сначала настройте конфигурацию, чтобы она соответствовала требованиям, прежде чем продолжить установку:
Затем заполните данные базы данных (пользователь: typo3_admin; пароль: typo3_admin_password при создании базы данных typo3), выберите сокет типа подключения и нажмите «Продолжить»:
На следующей странице выберите «Использовать существующую пустую базу данных» и выберите «typo3» в раскрывающемся меню. Затем нажмите «Продолжить»:
Затем укажите имя пользователя и пароль для администратора TYPO3 и введите имя для своего веб-сайта TYPO3. Нажмите Продолжить, затем:
Установка завершена. Если вы хотите начать с демо-сайта вместо полностью пустой системы, выберите вариант «Да, загрузить список дистрибутивов» (это не приведет к немедленной установке демо-данных, а просто сделает демо-сайт доступным в бэкэнде, откуда вы можете выбрать установить его). Я выберу здесь, чтобы не загружать какие-либо демонстрационные сайты. Затем нажмите «Открыть бэкэнд»:
Область администрирования находится по адресу http://www.example.com/typo3/. Войдите в систему с именем пользователя admin и паролем, который вы определили во время установки:
И войдите в систему с помощью пользователя-администратора TYPO3, которого вы создали выше.
И начните создавать свой сайт на TYPO3. Во внешнем интерфейсе будет отображаться ошибка типа \Сервис недоступен (503) На корневом уровне не найдено страниц!\, пока вы не добавите корневую страницу в бэкэнд. Я рекомендую ознакомиться с отличной документацией по TYPO3 о том, как создать свой первый веб-сайт в TYPO3, если вы еще не знакомы с этой CMS.
3 Загрузка образа виртуальной машины из этого руководства
Это руководство доступно в виде готового к использованию образа виртуальной машины в формате ovf/ova для подписчиков Howtoforge. Формат виртуальной машины совместим с VMWare и Virtualbox. Образ виртуальной машины использует следующие данные для входа:
Вход по SSH/оболочке
Имя пользователя:admin
Пароль:howtoforge
У этого пользователя есть права sudo.
Логин MySQL/MariaDB
Имя пользователя: root
Пароль: howtoforge
IP виртуальной машины 192.168.1.100, его можно изменить в файле /etc/network/interfaces.
TYPO3 Войти
Имя пользователя: admin
Пароль: howtoforge
Пожалуйста, измените все указанные выше пароли, чтобы защитить виртуальную машину.
4 ссылки
- TYPO3: http://typo3.org/
- Nginx: http://nginx.org/
- Вики Nginx: http://wiki.nginx.org/
- Убунту: http://www.ubuntu.com/