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
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:
4 Tautan
- 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".