GNU/Linux >> Belajar Linux >  >> Debian

Cara menginstal TYPO3 7 dengan Nginx dan MariaDB di Debian 8 (Jessie)

Tutorial ini menunjukkan cara menginstal dan mengonfigurasi situs web TYPO3 (versi 7) di server Debian 8 (Jessie) yang telah menginstal Nginx sebagai server web dan MariaDB sebagai server database. Nginx adalah server web cepat yang menggantikan server web standar "Apache" dalam pengaturan ini, MariaDB adalah fork MySQl yang lebih cepat dari MySQL dan dikembangkan oleh penemu MySQL asli Monty Widenius.

Typo3 adalah sistem CMS kelas perusahaan yang ditulis dalam PHP yang memiliki komunitas pengguna dan pengembang yang besar.

Catatan Awal

Saya ingin menginstal TYPO3 di vhost bernama www.example.com di sini dengan root dokumen /var/www/www.example.com/web. Server saya menggunakan alamat IP 192.168.1.100, harap ganti IP ini di semua file konfigurasi dan perintah dengan alamat IP server Anda.

Tutorial mengasumsikan bahwa Anda telah menginstal Nginx, jika belum, silakan ikuti panduan ini terlebih dahulu untuk menginstal Nginx, PHP, dan MariaDB.

Login sebagai pengguna root di server dan lanjutkan ke langkah berikutnya.

Menginstal APcu

APCu adalah cacher opcode PHP gratis dan terbuka untuk menyimpan dan mengoptimalkan kode perantara PHP, ia menambahkan fungsi yang sebelumnya disediakan oleh APC ke opcache PHP yang sekarang terintegrasi. 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 php5-apcu

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

systemctl restart php5-fpm.service

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.6.4 sebagai file .tar.gz dari https://typo3.org/download/ dan letakkan di root dokumen kita:

cd /tmp
wget http://downloads.sourceforge.net/project/typo3/TYPO3%20Source%20and%20Dummy/TYPO3%207.6.4/typo3_src-7.6.4.tar.gz
tar xfz typo3_src-7.6.4.tar.gz
mv typo3_src-7.6.4 /var/www/www.example.com/
cd /var/www/www.example.com/web
ln -s ../typo3_src-7.6.4 typo3_src
ln -s typo3_src/index.php
ln -s typo3_src/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/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 --defaults-file=/etc/mysql/debian.cnf create typo3
mysql --defaults-file=/etc/mysql/debian.cnf
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 nginx vhost 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:

systemctl reload nginx.service

Kemudian sesuaikan beberapa nilai dalam file php.ini untuk TYPO3. Saya menggunakan php-fpm di server ini, jadi filenya adalah /etc/php5/fpm/php.ini. Buka file dengan editor:

nano /etc/php5/fpm/php.ini

dan sesuaikan pengaturan berikut.

[...]
always_populate_raw_post_data=-1
[...]
max_execution_time=240
[...]
post_max_size = 20M
[...]
upload_max_filesize = 20M
[...]
max_input_vars=2000
[...]

Terapkan perubahan dengan:

systemctl reload php5-fpm.service

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 ada peringatan lain, Anda harus mencoba memperbaikinya sekarang:

Klik Lanjutkan.

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 nama untuk situs Anda. 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). Saya akan memilih untuk memulai dengan halaman kosong sebagai gantinya sehingga saya dapat membuat situs web khusus. 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 login dengan nama pengguna dan kata sandi yang telah Anda pilih selama penyiapan Typo3.

Typo3 telah berhasil diinstal. Sekarang Anda dapat mulai membangun situs web Typo3 Anda.

Gambar Mesin Virtual

Tutorial ini tersedia sebagai mesin virtual siap pakai dalam format OVA / OVF untuk pelanggan Howtoforge. Format VM kompatibel dengan VMWare dan Virtualbox dan alat lain yang dapat mengimpor format ini. Anda dapat menemukan tautan unduhan di menu kanan di atas. Klik pada nama file untuk memulai pengunduhan.

Detail login VM adalah:

Masuk Typo3

Nama pengguna:admin
Kata sandi:howtoforge

Masuk SSH

Nama pengguna:root
Kata sandi:howtoforge

Masuk MariaDB

Nama pengguna:root
Kata sandi:howtoforge

Harap ubah kata sandi setelah boot pertama.

VM dikonfigurasi untuk IP statis 192.168.1.100, IP dapat diubah di file /etc/network/interfaces.

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

Debian
  1. Cara Menginstal dan Mengamankan MariaDB di Debian 11

  2. Cara Menginstal Nginx di Debian 8 (Jessie)

  3. Cara Menginstal dan Mengkonfigurasi Mariadb 10 di Debian 11

  1. Cara Menginstal Phorum dengan Nginx di Debian 9

  2. Cara Menginstal CMS Textpattern dengan Nginx di Debian 10

  3. Instal Pagekit pada VPS Debian 7 dengan Nginx, PHP-FPM dan MariaDB

  1. Cara Menginstal ownCloud 9.1 dengan Nginx dan MariaDB di CentOS 7

  2. Cara Menginstal WonderCMS dengan Nginx di Debian 9

  3. Cara Menginstal WonderCMS dengan Nginx di Debian 11