Tutorial ini menunjukkan cara menginstal dan menjalankan situs web TYPO3 (versi 7 LTS) di sistem Ubuntu 15.10 yang memiliki server web Nginx yang diinstal, bukan Apache. Pengaturan semacam ini sering disebut LEMP =L inux + Nginx (diucapkan "e ngine x") + M ySQL + P HP). Nginx adalah server HTTP yang cepat dan efisien yang menggunakan lebih sedikit sumber daya daripada Apache dan mengirimkan halaman jauh lebih cepat, terutama file statis.
1 Catatan Awal
Saya ingin menginstal TYPO3 di vhost bernama www.example.com di sini dengan root dokumen /var/www/www.example.com/web.
Anda harus memiliki tumpukan LEMP yang berfungsi. Jika Anda belum menginstal LEMP, gunakan tutorial ini: Server Ubuntu LEMP
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
Saya akan menggunakan editor nano untuk mengedit file konfigurasi di shell, nano dapat diinstal dengan perintah ini:
apt-get install nano
2 Memasang APcu
APCu 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.
APcu dapat diinstal sebagai berikut:
apt-get install php-apcu
Jika Anda menggunakan PHP-FPM sebagai daemon FastCGI Anda, mulai ulang sebagai berikut:
service php5-fpm restart
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 7 sebagai file .tar.gz dari http://typo3.org/download/ dan letakkan di root dokumen kita:
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
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
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):
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
Selanjutnya kita buat konfigurasi vhost Nginx untuk www.example.com vhost kita di direktori /etc/nginx/sites-available/ sebagai berikut:
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; } }
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:
nano /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:
service nginx reload
Buat file FIRST_INSTALL di root situs web untuk mengaktifkan penginstal TYPO3.
touch /var/www/www.example.com/web/FIRST_INSTALL
Dan ubah pemiliknya menjadi www-data agar script instalasi TYPO3 bisa menghapus file tersebut saat instalasi selesai.
chown www-data:www-data /var/www/www.example.com/web/FIRST_INSTALL
Kita harus menyesuaikan beberapa nilai php.ini agar sesuai dengan persyaratan untuk TYPO3. Buka file php.ini:
nano /etc/php5/fpm/php.ini
Dan sesuaikan opsi konfigurasi berikut sehingga memiliki nilai 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
[....]
Kemudian simpan file dan restart PHP-FPM untuk memuat konfigurasi baru:
service php5-fpm restart
Sekarang kita dapat meluncurkan penginstal TYPO3 berbasis web dengan membuka http://www.example.com/:
Klik tombol "Sistem terlihat bagus. Lanjutkan" untuk memulai proses instalasi. Jika halaman ini menampilkan pesan bahwa tidak semua prasyarat terpenuhi, maka sesuaikan konfigurasi Anda terlebih dahulu agar sesuai dengan persyaratan sebelum Anda melanjutkan instalasi:
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 nama pengguna dan kata sandi untuk pengguna admin TYPO3 dan masukkan nama untuk situs web TYPO3 Anda. Klik Lanjutkan setelahnya:
Instalasi sekarang selesai. Jika Anda ingin memulai dengan situs web demo alih-alih sistem yang benar-benar kosong, pilih opsi Ya, unduh daftar distribusi (ini tidak akan langsung menginstal data demo, tetapi cukup sediakan situs web demo di backend tempat Anda dapat memilih untuk menginstalnya). Saya akan memilih di sini untuk tidak mengunduh situs demo apa pun. 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:
Dan login dengan pengguna administrator TYPO§ yang Anda buat di atas.
Dan mulailah membangun situs web TYPO3 Anda. Frontend akan menampilkan kesalahan seperti "Layanan Tidak Tersedia (503) Tidak ada halaman yang ditemukan di tingkat akar!" sampai Anda menambahkan halaman root di backend. Sebaiknya lihat dokumentasi TYPO3 yang sangat baik tentang cara membuat situs web pertama Anda di TYPO3 jika Anda belum terbiasa dengan CMS ini.
4 Unduhan gambar mesin virtual dari tutorial ini
Tutorial ini tersedia sebagai image mesin virtual siap pakai dalam format ovf/ova untuk Pelanggan Howtoforge. Format VM kompatibel dengan VMWare dan Virtualbox. Gambar mesin virtual menggunakan detail login berikut:
Masuk SSH / Shell
Nama pengguna:administrator
Kata sandi:howtoforge
Pengguna ini memiliki hak sudo.
Masuk MySQL / MariaDB
Nama pengguna:root
Kata sandi:howtoforge
IP VM adalah 192.168.1.100, dapat diubah di file /etc/network/interfaces.
Masuk TYPO3
Nama pengguna:admin
Kata sandi:howtoforge
Harap ubah semua kata sandi di atas untuk mengamankan mesin virtual.
5 Tautan
- TYPO3:http://typo3.org/
- Nginx:http://nginx.org/
- Wiki Nginx:http://wiki.nginx.org/
- Ubuntu:http://www.ubuntu.com/