웹사이트 검색

Ubuntu 15.10의 Nginx(LEMP)에 TYPO3 7을 설치하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • Ubuntu 13.10(Saucy Salamander)

이 페이지에서

  1. 1 서문
  2. 2 APCu 설치
  3. 3 TYPO3 설치
  4. 4 이 가이드의 가상 머신 이미지 다운로드
  5. 5개의 링크

이 튜토리얼에서는 Apache 대신 Nginx 웹 서버가 설치된 Ubuntu 15.10 시스템에서 TYPO3(버전 7 LTS) 웹사이트를 설치하고 실행하는 방법을 보여줍니다. 이러한 종류의 설정은 종종 LEMP = Linux + Nginx ("엔진 x"로 발음) + MySQL + PHP)라고 합니다. Nginx는 Apache보다 적은 리소스를 사용하고 페이지, 특히 정적 파일을 훨씬 빠르게 제공하는 빠르고 효율적인 HTTP 서버입니다.

1 서문

문서 루트가 /var/www/www.example.com/web인 www.example.com이라는 가상 호스트에 TYPO3를 설치하고 싶습니다.

작동하는 LEMP 스택이 있어야 합니다. 아직 LEMP를 설치하지 않은 경우 이 자습서를 사용하세요. Ubuntu LEMP Server

이 튜토리얼의 모든 단계를 루트 권한으로 실행해야 하기 때문에 이 튜토리얼의 모든 명령 앞에 sudo 문자열을 추가하거나 다음을 입력하여 지금 바로 루트가 될 수 있습니다.

sudo su

nano 편집기를 사용하여 셸에서 구성 파일을 편집할 것입니다. nano는 다음 명령으로 설치할 수 있습니다.

apt-get install nano 

2 APCU 설치하기

APCu는 PHP 중간 코드를 캐싱하고 최적화하기 위한 무료 개방형 PHP opcode 캐셔입니다. eAccelerator 및 XCache와 같은 다른 PHP opcode 캐셔와 유사합니다. PHP 페이지 속도를 높이려면 이 중 하나를 설치하는 것이 좋습니다.

APCu는 다음과 같이 설치할 수 있습니다.

apt-get install php-apcu

PHP-FPM을 FastCGI 데몬으로 사용하는 경우 다음과 같이 다시 시작하십시오.

service php5-fpm restart

3 TYPO3 설치하기

내 www.example.com 웹 사이트의 문서 루트는 /var/www/www.example.com/web입니다. 존재하지 않는 경우 다음과 같이 만듭니다.

mkdir -p /var/www/www.example.com/web

다음으로 http://typo3.org/download/에서 TYPO3 7을 .tar.gz 파일로 다운로드하고 문서 루트에 배치합니다.

cd /var/www/www.example.com
wget get.typo3.org/7.6 -O typo3_src-7.6.0.tar.gz
tar xvfz typo3_src-7.6.0.tar.gz
rm typo3_src-7.6.x.tar.gz
cd web
ln -s ../typo3_src-7.6.0 typo3_src
ln -s typo3_src/index.php index.php
ln -s typo3_src/typo3 typo3

사용자 www-data 및 그룹 www-data로 실행 중인 Nginx 데몬이 문서 루트와 그 안의 TYPO3 파일을 쓸 수 있도록 만드는 것이 좋습니다.

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

TYPO3용 MySQL 데이터베이스(MySQL TYPO3 사용자 포함)를 아직 생성하지 않은 경우 다음과 같이 수행할 수 있습니다.

mysql --defaults-file=/etc/mysql/debian.cnf
CREATE DATABASE typo3;
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/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에 필요한 모든 것이 이미 포함되어 있습니다.

다음으로 /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

TYPO3 설치 프로그램을 사용 설정하려면 웹사이트 루트에 FIRST_INSTALL 파일을 만드세요.

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

TYPO3의 요구 사항과 일치하도록 몇 가지 php.ini 값을 조정해야 합니다. 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=1500
[....]
memory_limit = 256M
[....]

그런 다음 파일을 저장하고 PHP-FPM을 다시 시작하여 새 구성을 로드합니다.

service php5-fpm restart

이제 http://www.example.com/으로 이동하여 웹 기반 TYPO3 설치 프로그램을 시작할 수 있습니다.

"시스템이 양호합니다. 계속" 버튼을 클릭하여 설치 프로세스를 시작하십시오. 이 페이지에 일부 전제 조건이 충족되지 않았다는 메시지가 표시되는 경우 설치를 진행하기 전에 먼저 요구 사항에 맞게 구성을 조정하십시오.

다음으로 데이터베이스 세부 정보(사용자: typo3_admin, 암호: typo3 데이터베이스를 생성했을 때의 typo3_admin_password)를 입력하고 계속을 클릭합니다.

다음 페이지에서 빈 기존 데이터베이스 사용을 선택하고 드롭다운 메뉴에서 typo3을 선택합니다. 그런 다음 계속을 클릭합니다.

다음으로 TYPO3 관리 사용자의 사용자 이름과 비밀번호를 제공하고 TYPO3 웹 사이트의 이름을 입력하십시오. 나중에 계속을 클릭합니다.

이제 설치가 완료되었습니다. 완전히 비어 있는 시스템 대신 데모 웹사이트로 시작하려면 예, 배포 목록을 다운로드합니다 옵션을 선택합니다(데모 데이터를 즉시 설치하지 않지만 백엔드에서 선택할 수 있는 데모 웹사이트를 사용할 수 있습니다). 설치하려면). 데모 사이트를 다운로드하지 않으려면 여기를 선택하겠습니다. 그런 다음 백엔드 열기를 클릭합니다.

관리 영역은 http://www.example.com/typo3/에서 찾을 수 있습니다. 사용자 이름 admin과 설치 중에 정의한 비밀번호로 로그인합니다.

그리고 위에서 생성한 TYPO§ 관리자 사용자로 로그인합니다.

그리고 TYPO3 웹사이트 구축을 시작하세요. 프런트엔드는 백엔드에 루트 페이지를 추가할 때까지 "Service Unavailable (503) No pages are found on the rootlevel!"와 같은 오류를 표시합니다. 아직 이 CMS에 익숙하지 않은 경우 TYPO3에서 첫 번째 웹사이트를 만드는 방법에 대한 우수한 TYPO3 문서를 살펴보는 것이 좋습니다.

4 이 가이드의 가상 머신 이미지 다운로드

이 튜토리얼은 Howtoforge 구독자를 위해 ovf/ova 형식의 가상 머신 이미지를 사용할 준비가 된 상태로 제공됩니다. VM 형식은 VMWare 및 Virtualbox와 호환됩니다. 가상 머신 이미지는 다음 로그인 세부 정보를 사용합니다.

SSH/쉘 로그인

사용자 이름: administrator
비밀번호: howtoforge

이 사용자는 sudo 권한이 있습니다.

MySQL/MariaDB 로그인

사용자 이름: root
비밀번호: howtoforge

VM의 IP는 192.168.1.100이며 /etc/network/interfaces 파일에서 변경할 수 있습니다.

TYPO3 로그인

사용자 이름: admin
비밀번호: howtoforge

위의 모든 암호를 변경하여 가상 머신을 보호하십시오.

5 링크

  • TYPO3: http://typo3.org/
  • Nginx: http://nginx.org/
  • Nginx 위키: http://wiki.nginx.org/
  • 우분투: http://www.ubuntu.com/