GNU/Linux >> Belajar Linux >  >> Ubuntu

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

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.

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

Ubuntu
  1. Cara Menginstal LEMP di Ubuntu 16.04

  2. Cara Menginstal TYPO3 di Ubuntu 16.04

  3. Cara Menginstal LEMP di Ubuntu 18.04

  1. Cara Menginstal Nginx di Ubuntu 18.04

  2. Cara Menginstal Nginx di Ubuntu 16.04

  3. Cara Menginstal Nginx di Ubuntu 20.04

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

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

  3. Cara Menginstal LEMP Stack di Ubuntu 20.04