如何在 Ubuntu 16.04 上使用 Nginx (LEMP) 安装 TYPO3 8.1如何在 Ubuntu 16.04 上使用 Nginx (LEMP) 安装 TYPO3 8.1如何在 Ubuntu 16.04 上使用 Nginx (LEMP) 安装 TYPO3 8.1如何在 Ubuntu 16.04 上使用 Nginx (LEMP) 安装 TYPO3 8.1
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 16.04 上使用 Nginx (LEMP) 安装 TYPO3 8.1

本教程适用于这些操作系统版本

  • Ubuntu 16.04(Xenial Xerus)
  • Ubuntu 13.10(Saucy Salamander)

在此页

  1. 1 条初步说明
  2. 2 安装 TYPO3
  3. 3 本教程虚拟机镜像下载
  4. 4 个链接

本教程介绍如何在安装了 Nginx Web 服务器而不是 Apache 的 Ubuntu 16.04 系统上安装和运行 TYPO3(版本 8.1)网站。这种设置通常称为 LEMP=Linux + Nginx(发音为“engine x”)+ MySQL + PHP)。 Nginx 是一种快速高效的 HTTP 服务器,它使用的资源比 Apache 少,并且可以更快地交付页面,尤其是静态文件。

1 初步说明

我想在一个名为 www.example.com 的虚拟主机中安装 TYPO3,文件根目录为 /var/www/www.example.com/web。

你应该有一个工作的 LEMP 堆栈。如果您还没有安装 LEMP,请使用本教程:Ubuntu LEMP 服务器

因为我们必须以 root 权限运行本教程中的所有步骤,所以我们可以在本教程中的所有命令前加上字符串 sudo,或者我们现在通过键入成为 root

sudo su

我将使用 nano 编辑器编辑 shell 上的配置文件,可以使用以下命令安装 nano:

apt-get install nano 

2 安装TYPO3

首先,我们将安装 Typo3 所需的一些额外的 PHP 模块:

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

接下来,我们从 http://typo3.org/download/ 下载 TYPO3 8.1 作为 .tar.gz 文件并将其放在我们的文档根目录中:

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 文件可由以用户 www-data 和组 www-data 运行的 Nginx 守护程序写入:

chown -R www-data:www-data /var/www/www.example.com

如果你还没有为TYPO3创建一个MySQL数据库(包括一个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

接下来,我们在 /etc/nginx/sites-available/ 目录中为我们的 www.example.com 虚拟主机创建一个 Nginx 虚拟主机配置,如下所示:

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 所需的一切(因为 @nocache 位置中的 try_files $uri $uri/ /index.php$is_args$args; 行)。

接下来,确保 /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

现在我们可以通过访问 http://www.example.com/ 来启动基于 Web 的 TYPO3 安装程序:

单击“系统看起来不错。继续”按钮开始安装过程。如果此页面显示一条消息,表示未满足所有先决条件,请先调整您的配置以匹配要求,然后再继续安装:

接下来填写数据库详细信息(用户:typo3_admin;密码:typo3_admin_password 来自我们创建 typo3 数据库时),选择连接类型套接字并单击继续:

在下一页上选择使用现有的空数据库并从下拉菜单中选择 typo3。然后点击继续:

接下来,为 TYPO3 管理员用户提供用户名和密码,并为您的 TYPO3 网站输入一个名称。然后点击继续:

安装现已完成。如果您想从一个演示网站而不是一个完全空的系统开始,请选择是,下载分发列表选项(这不会立即安装演示数据,但只会在您可以选择的后端提供一个演示网站安装它)。我在这里选择不下载任何演示站点。然后点击打开后台:

可以在 http://www.example.com/typo3/ 下找到管理区域。使用您在安装期间定义的用户名 admin 和密码登录:

并使用您在上面创建的 TYPO3 管理员用户登录。

并开始建立您的 TYPO3 网站。前端将显示类似“服务不可用(503)在根级别找不到页面!”之类的错误,直到您在后端添加根页面。如果您还不熟悉此 CMS,我建议您查看优秀的 TYPO3 文档,了解如何在 TYPO3 中创建您的第一个网站。

3 本教程虚拟机镜像下载

本教程可随时使用 ovf/ova 格式的虚拟机映像,供 Howtoforge 订阅者使用。 VM 格式与 VMWare 和 Virtualbox 兼容。虚拟机映像使用以下登录详细信息:

SSH/外壳登录

用户名:管理员
密码:howtoforge

此用户具有 sudo 权限。

MySQL/MariaDB 登录

用户名:root
密码:howtoforge

VM 的 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/
  • Ubuntu:http://www.ubuntu.com/

©2015-2025 艾丽卡 support@alaica.com