GNU/Linux >> Belajar Linux >  >> Ubuntu

Menjalankan TYPO3 6.2 Di Nginx (LEMP) Di Debian Wheezy/Ubuntu 13.10

Tutorial ini menunjukkan bagaimana Anda dapat menginstal dan menjalankan situs web TYPO3 (versi 6.2) pada sistem Debian Wheezy atau Ubuntu 13.10 yang telah menginstal nginx, bukan Apache (LEMP =L inux + nginx (diucapkan "e ngine x") + M ySQL + P HP). nginx adalah server HTTP yang menggunakan sumber daya jauh lebih sedikit daripada Apache dan memberikan halaman jauh lebih cepat, terutama file statis.

Saya tidak memberikan jaminan apa pun bahwa ini akan berhasil untuk Anda!

1 Catatan Awal

Saya ingin menginstal TYPO3 di vhost bernama www.example.com/example.com di sini dengan root dokumen /var/www/www.example.com/web.

Anda harus memiliki instalasi LEMP yang berfungsi.

Catatan untuk pengguna Ubuntu:

Karena kita harus menjalankan semua langkah dari tutorial ini dengan hak akses root, kita bisa menambahkan semua perintah dalam tutorial ini dengan string sudo, atau kita menjadi root sekarang dengan mengetik

sudo su

2 Memasang APC

APC adalah cacher opcode PHP gratis dan terbuka untuk menyimpan dan mengoptimalkan kode perantara PHP. Ini mirip dengan cacher opcode PHP lainnya, seperti eAccelerator dan XCache. Sangat disarankan untuk menginstal salah satu dari ini untuk mempercepat halaman PHP Anda.

APC dapat diinstal sebagai berikut:

apt-get install php-apc

Jika Anda menggunakan PHP-FPM sebagai daemon FastCGI Anda, mulai ulang sebagai berikut:

/etc/init.d/php5-fpm restart

Jika Anda menggunakan program spawn-fcgi lighttpd sebagai daemon FastCGI Anda, kita harus mematikan proses spawn-fcgi saat ini (berjalan pada port 9000) dan membuat yang baru. Jalankan

netstat -tap

untuk mengetahui PID dari proses spawn-fcgi saat ini:

[email protected]:~# netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 *:sunrpc                *:*                     LISTEN      734/portmap
tcp        0      0 *:www                   *:*                     LISTEN      2987/nginx
tcp        0      0 *:ssh                   *:*                     LISTEN      1531/sshd
tcp        0      0 *:57174                 *:*                     LISTEN      748/rpc.statd
tcp        0      0 localhost.localdom:smtp *:*                     LISTEN      1507/exim4
tcp        0      0 localhost.localdom:9000 *:*                     LISTEN      1542/php5-cgi
tcp        0      0 localhost.localdo:mysql *:*                     LISTEN      1168/mysqld
tcp        0     52 server1.example.com:ssh 192.168.0.198:2462      ESTABLISHED 1557/0
tcp6       0      0 [::]:www                [::]:*                  LISTEN      2987/nginx
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      1531/sshd
tcp6       0      0 ip6-localhost:smtp      [::]:*                  LISTEN      1507/exim4
[email protected]:~#

Pada output di atas, PIDnya adalah 1542, jadi kita bisa mematikan proses saat ini sebagai berikut:

kill -9 1542

Setelah itu kita membuat proses spawn-fcgi baru:

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

3 Menginstal TYPO3

Akar dokumen situs web www.example.com saya adalah /var/www/www.example.com/web - jika tidak ada, buat sebagai berikut:

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

Selanjutnya kita unduh TYPO3 6.2 sebagai file .tar.gz dari http://typo3.org/download/ dan letakkan di root dokumen kita:

cd /tmp
wget http://downloads.sourceforge.net/project/typo3/TYPO3%20Source%20and%20Dummy/TYPO3%206.2.1/typo3_src-6.2.1.tar.gz
tar xvfz typo3_src-6.2.1.tar.gz
cd typo3_src-6.2.1/
mv * /var/www/www.example.com/web/

Direkomendasikan untuk membuat root dokumen dan file TYPO3 di dalamnya dapat ditulis oleh daemon nginx yang berjalan sebagai pengguna www-data dan grup www-data:

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

Jika Anda belum membuat database MySQL untuk TYPO3 (termasuk pengguna MySQL TYPO3), Anda dapat melakukannya sebagai berikut (saya beri nama database typo3 dalam contoh ini, dan pengguna disebut typo3_admin, dan kata sandinya adalah typo3_admin_password):

mysqladmin -u root -p create typo3
mysql -u root -p
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;

Selanjutnya kita membuat nginx konfigurasi vhost untuk www.example.com vhost kita di direktori /etc/nginx/sites-available/ sebagai berikut:

vi /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;
        }

}

Konfigurasi ini sudah berisi semua yang diperlukan untuk URL bersih (karena baris try_files $uri $uri/ /index.php$is_args$args; di lokasi @nocache).

Selanjutnya pastikan Anda memiliki baris berikut di /etc/nginx/mime.types:

vi /etc/nginx/mime.types
[...]
        text/x-component                        htc;
[...]

Untuk mengaktifkan vhost, kami membuat symlink dari direktori /etc/nginx/sites-enabled/:

cd /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/www.example.com.vhost www.example.com.vhost

Muat ulang nginx agar perubahan diterapkan:

/etc/init.d/nginx reload

Sekarang kita dapat meluncurkan penginstal TYPO3 berbasis web dengan membuka http://www.example.com/ - Anda akan diminta untuk membuat file FIRST_INSTALL di root dokumen terlebih dahulu sehingga penginstalan dapat dilanjutkan:

cd /var/www/www.example.com/web/
touch FIRST_INSTALL
chown www-data:www-data FIRST_INSTALL

Sekarang muat ulang halaman. Pemasang memeriksa apakah semua prasyarat terpenuhi - jika Anda hanya melihat peringatan bahwa /typo3_src seharusnya berupa tautan, Anda dapat melanjutkan dengan mengeklik Saya tahu apa yang saya lakukan, lanjutkan! - jika ada peringatan lain, Anda harus mencoba memperbaikinya sekarang:

Selanjutnya isi detail database (user:typo3_admin; password:typo3_admin_password dari saat kita membuat database typo3) dan klik Continue:

Pada halaman berikutnya pilih Gunakan database kosong yang ada dan pilih salah ketik dari menu tarik-turun. Kemudian klik Lanjutkan:

Selanjutnya berikan username dan password untuk user admin TYPO3. Klik Lanjutkan setelahnya:

Instalasi sekarang selesai. Jika Anda ingin memulai dengan situs web demo alih-alih sistem yang benar-benar kosong, biarkan kotak centang Ya, unduh daftar distribusi dicentang (ini tidak akan segera menginstal data demo, tetapi cukup buat situs web demo tersedia di backend dari tempat yang Anda bisa memilih untuk menginstalnya). Kemudian klik Buka backend:

Area admin dapat ditemukan di http://www.example.com/typo3/. Masuk dengan nama pengguna admin dan kata sandi yang Anda tentukan selama instalasi:

Sekarang daftar situs web demo yang tersedia sedang diunduh:

Jika Anda ingin menginstal salah satunya, klik tombol Instal yang sesuai:

Setelah instalasi berhasil, Anda akan melihat layar berikut. Anda dapat mengabaikan peringatan RealURL:

Jika Anda meninggalkan backend, situs demo terlihat sebagai berikut. Jika Anda menelusurinya, Anda akan melihat bahwa URL bersih berfungsi secara default:

  • TYPO3:http://typo3.org/
  • nginx:http://nginx.org/
  • nginx Wiki:http://wiki.nginx.org/
  • Debian:http://www.debian.org/
  • Ubuntu:http://www.ubuntu.com/

Tentang Penulis

Falko Timme adalah pemilik dari Timme Hosting (hosting web nginx ultra-cepat). Dia adalah pengelola utama HowtoForge (sejak 2005) dan salah satu pengembang inti ISPConfig (sejak 2000). Dia juga berkontribusi pada buku O'Reilly "Linux System Administration".


Ubuntu
  1. ISPConfig Pengaturan Multiserver Sempurna di Ubuntu 20.04 dan Debian 10

  2. Contoh penggunaan firewall UFW di Debian/Ubuntu

  3. Cara Menginstal LEMP di Ubuntu 18.04

  1. Cara Menginstal dan Mengkonfigurasi Nginx di Ubuntu 18.04 / Debian 9

  2. Menjalankan concrete5 Di Nginx (LEMP) Di Debian Squeeze/Ubuntu 12.10

  3. Instal OpenQRM Cloud Computing Platform di Ubuntu 14.04 / Debian Wheezy

  1. Cara menginstal TYPO3 7 di Nginx (LEMP) di Ubuntu 15.10

  2. Cara menginstal TYPO3 8.1 dengan Nginx (LEMP) di Ubuntu 16.04

  3. Cara menggunakan GeoIP dengan Nginx di Ubuntu 16.04