Dalam panduan ini, kita akan mempelajari cara menginstal dan mengonfigurasi versi terbaru CMS Typo3 di Debian 9.
Typo3 adalah sistem manajemen konten sumber terbuka yang kuat dengan sebagian besar ditulis dalam bahasa pemrograman PHP. Ini sering digunakan di Linux di bawah server web Apache/Nginx, bahasa pemrograman sisi server PHP dan sistem manajemen database MySQL/MariaDB, juga dikenal sebagai tumpukan LAMP atau LEMP. Platform Typo3 CMS sangat fleksibel dan dapat diskalakan serta dapat diperluas tanpa menulis baris kode apa pun, menjadikannya kandidat yang sempurna untuk menerapkan situs web kecil atau portal perusahaan multibahasa yang kuat.
Persyaratan
- Instalasi minimal Debian 9 pada mesin bare-metal atau pada server pribadi virtual
- hak istimewa root sudo untuk akun lokal atau jarak jauh atau akses langsung ke akun root
- Alamat IP statis yang dikonfigurasi untuk salah satu kartu antarmuka jaringan sistem Anda
- Nama domain, pribadi atau publik, bergantung pada penerapan Anda, dengan catatan DNS yang tepat dikonfigurasi untuk layanan web. Jika tidak memiliki nama domain yang valid atau terdaftar, Anda dapat melakukan instalasi dan mengakses situs web melalui alamat IP server Anda
- Jika Anda ingin menggunakan pendaftaran situs web, moderasi komentar, dan fitur lainnya, Anda harus memiliki server email yang berjalan yang dikonfigurasi dengan benar di tempat Anda dengan akses jarak jauh ke layanan IMAP dan SMTP.
Siapkan server
Sebelum mulai menginstal dan mengkonfigurasi Typo dari sumber di server Anda sendiri, pastikan sistem memenuhi semua persyaratan perangkat lunak untuk mengkompilasi dan menginstal aplikasi. Pada langkah pertama, perbarui repositori sistem dan paket perangkat lunak Anda dengan mengeluarkan perintah berikut.
apt update
apt upgrade
Setelah sistem diperbarui sepenuhnya, atur nama untuk sistem Anda dengan menjalankan perintah berikut. Ganti variabel hostname Anda sesuai dengan itu.
Setel Nama Host
hostnamectl set-hostname typo
Verifikasi nama host mesin dan file host dengan mengeluarkan perintah di bawah ini.
hostnamectl
cat /etc/hostname
hostname –s
hostname –f
Terakhir, reboot server Debian untuk menerapkan pembaruan kernel dan nama host berubah dengan benar.
systemctl reboot
Instal Alat yang diperlukan
Pada langkah berikutnya, jalankan perintah berikut untuk menginstal beberapa utilitas yang diperlukan yang akan digunakan untuk mengelola sistem Anda lebih lanjut dari baris perintah.
apt install wget bash-completion zip unzip
Juga, instal perangkat lunak imagemagick, yang diperlukan oleh Typo3 untuk membuat, mengedit, menulis, atau mengonversi bitmap atau jenis format gambar lainnya yang diunggah ke situs web.
apt install imagemagick
Typo3 adalah platform CMS berbasis web yang sebagian besar ditulis dalam bahasa pemrograman sisi server PHP. Untuk menjalankan skrip file PHP aplikasi, server web, seperti server HTTP Apache, dan gateway pemrosesan PHP harus diinstal dan dioperasikan di sistem.
Instal Apache dan PHP
Untuk menginstal server web Apache dan penerjemah PHP bersama dengan semua modul PHP yang diperlukan yang dibutuhkan oleh aplikasi untuk berjalan dengan benar, jalankan perintah berikut di konsol server Anda.
apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-zip php7.0-gd php7.0-xml php7.0-gd php7.0-json php7.0-opcache php-imagick php7.0-curl php7.0-mbstring php7.0-bcmath php7.0-gmp
Setelah Apache dan PHP diinstal, uji apakah server web aktif dan berjalan dan dengarkan koneksi jaringan pada port 80 dengan mengeluarkan perintah berikut dengan hak akses root.
netstat –tlpn
Jika utilitas jaringan netstat tidak diinstal secara default di sistem Debian Anda, jalankan perintah berikut untuk menginstalnya.
apt install net-tools
Dengan memeriksa output perintah netstat, Anda dapat melihat bahwa server web apache mendengarkan koneksi jaringan yang masuk pada port 80. Untuk tugas yang sama, Anda juga dapat menggunakan ss perintah, yang secara otomatis diinstal secara default di Debian 9.
ss- tulpn
Konfigurasi Firewall
Jika Anda mengaktifkan firewall di sistem Anda, seperti aplikasi firewall UFW, Anda harus menambahkan aturan baru untuk mengizinkan lalu lintas HTTP melewati firewall dengan mengeluarkan perintah berikut.
ufw allow WWW
atau
ufw allow 80/tcp
Jika Anda menggunakan iptables aturan mentah untuk mengelola aturan Firewall di server Debian Anda, tambahkan aturan berikut untuk mengizinkan lalu lintas masuk port 80 di firewall sehingga pengunjung dapat menjelajahi situs web.
apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload
Konfigurasi Apache
Selanjutnya, aktifkan dan terapkan modul Apache berikut yang diperlukan oleh aplikasi web untuk berjalan dengan baik, dengan mengeluarkan perintah berikut.
a2enmod rewrite deflate headers
systemctl restart apache2
Terakhir, uji apakah halaman web default server web Apache dapat ditampilkan di browser klien Anda dengan mengunjungi alamat IP mesin Debian Anda atau nama domain atau server FQDN Anda melalui protokol HTTP, seperti yang ditunjukkan pada gambar di bawah. Jika Anda tidak mengetahui alamat IP mesin Anda, jalankan ifconfig atau ip a perintah untuk mengungkapkan alamat IP server Anda.
http://domain_anda.tld
Untuk menginstal dan mengakses panel admin web Typo3 yang didukung dan situs web frontend melalui protokol HTTPS yang akan mengamankan lalu lintas untuk klien Anda, jalankan perintah berikut untuk mengaktifkan modul SSL server web Apache dan file konfigurasi situs SSL.
a2enmod ssl
a2ensite default-ssl.conf
Selanjutnya, buka file konfigurasi situs SSL default Apache dengan editor teks dan aktifkan aturan penulisan ulang URL dengan menambahkan baris kode berikut setelah DocumentRoot direktif, seperti yang ditunjukkan pada contoh berikut:
nano /etc/apache2/sites-enabled/default-ssl.conf
Kutipan file konfigurasi situs SSL:
<Directory /var/www/html>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
Juga, buat perubahan berikut pada baris VirtualHost agar terlihat seperti yang ditunjukkan pada kutipan di bawah ini:
<VirtualHost *:443>
Tutup file Apache SSL dan buka /etc/apache2/sites-enabled/000-default.conf untuk mengedit dan menambahkan aturan penulisan ulang URL yang sama seperti untuk file konfigurasi SSL. Masukkan baris kode setelah DocumentRoot pernyataan seperti yang ditunjukkan pada contoh berikut.
<Directory /var/www/html>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
Terakhir, mulai ulang daemon Apache untuk menerapkan semua aturan yang dikonfigurasi sejauh ini dan kunjungi domain Anda melalui protokol HTTP. Karena Anda menggunakan pasangan sertifikat yang ditandatangani sendiri secara otomatis yang dikeluarkan oleh Apache saat penginstalan, peringatan kesalahan akan ditampilkan di browser.
systemctl restart apache2
https://domainanda.tld
Terima peringatan untuk menggunakan sertifikat yang tidak tepercaya dan untuk melanjutkan dan dialihkan ke halaman web default Apache, seperti yang diilustrasikan pada gambar berikut.
Jika aplikasi firewall UFW memblokir koneksi jaringan yang masuk ke port HTTPS, Anda harus menambahkan aturan baru untuk mengizinkan lalu lintas HTTPS melewati firewall dengan mengeluarkan perintah berikut.
ufw allow 'WWW Full'
atau
ufw allow 443/tcp
Jika iptables adalah aplikasi firewall default yang dipasang untuk melindungi sistem Debian Anda di tingkat jaringan, tambahkan aturan berikut untuk mengizinkan lalu lintas masuk port 443 di firewall sehingga pengunjung dapat menelusuri nama domain Anda.
iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload
Konfigurasi PHP
Pada langkah berikutnya, kita perlu membuat beberapa perubahan lebih lanjut pada file konfigurasi default PHP untuk memastikan bahwa variabel PHP berikut diaktifkan dan zona waktu PHP pengaturan dikonfigurasi dengan benar dan cocok dengan lokasi geografis sistem Anda. Buka /etc/php/7.0/apache2/php.ini file untuk diedit dan pastikan bahwa baris berikut diatur sebagai berikut. Juga, pada awalnya, buat cadangan file konfigurasi PHP.
cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini
Cari, edit, dan ubah variabel berikut di php.ini file konfigurasi:
file_uploads = On
memory_limit = 128 M
upload_max_file_size = 64M
max_execution_time = 240
max_input_vars = 1500
date.timezone = Europe/London
Tingkatkan upload_max_file_size variabel yang sesuai untuk mendukung lampiran file besar dan menggantikan zona waktu variabel sesuai dengan waktu fisik Anda dengan melihat daftar zona waktu yang disediakan oleh PHP docs di link berikut http://php.net/manual/en/timezones.php
Jika Anda ingin meningkatkan kecepatan memuat halaman situs web Anda melalui plugin OPCache yang tersedia untuk PHP7, tambahkan pengaturan OPCache berikut di bagian bawah file konfigurasi juru bahasa PHP, seperti yang dijelaskan di bawah ini:
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
Tutup file konfigurasi php.ini dan periksa apakah verifikasi akhir file konfigurasi PHP untuk memeriksa apakah variabel telah ditambahkan dengan benar dengan mengeluarkan perintah di bawah ini.
tail /etc/php/7.0/apache2/php.ini
Setelah Anda melakukan semua perubahan yang dijelaskan di atas, aktifkan modul OPCache dan mulai ulang daemon apache untuk menerapkan perubahan baru dengan mengeluarkan perintah berikut.
phpenmod opcache
systemctl restart apache2
Terakhir, buat file info PHP dengan menjalankan perintah berikut dan periksa apakah zona waktu PHP telah dikonfigurasi dengan benar dengan mengunjungi file skrip info PHP dari browser di URL berikut, seperti yang diilustrasikan pada gambar di bawah. Gulir ke bawah ke tanggal pengaturan untuk memeriksa konfigurasi zona waktu PHP.
echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php
https://domain.tld/info.php
Instal MariaDB
Platform Typo3 CMS menyimpan konfigurasi yang berbeda, seperti pengguna, sesi, kontak, artikel, halaman, dan pengaturan lainnya, dalam database relasional. Dalam panduan ini, kami akan mengonfigurasi Typo3 untuk menggunakan database MariaDB sebagai backend. Keluarkan perintah di bawah ini untuk menginstal database MariaDB dan modul PHP yang diperlukan untuk mengakses database mysql.
apt install mariadb-server php7.0-mysql mariadb-client
Setelah Anda menginstal MariaDB, verifikasi apakah daemon berjalan dan mendengarkan koneksi di localhost, port 3306, dengan menjalankan netstat perintah.
netstat –tlpn | grep mysql
Kemudian, masuk ke konsol MySQL dan amankan akun root MariaDB dengan mengeluarkan perintah berikut.
mysql -h localhost
use mysql;
update user set plugin='' where user='root';
flush privileges;
exit
Langkah selanjutnya, amankan MariaDB dengan menjalankan skrip mysql_secure_installation disediakan oleh paket instalasi dari repositori peregangan Debian. Saat menjalankan skrip akan menanyakan serangkaian pertanyaan yang dirancang untuk mengamankan database MariaDB, seperti:mengubah kata sandi root MySQL, menghapus pengguna anonim, menonaktifkan login root jarak jauh, dan menghapus database pengujian. Jalankan skrip dengan mengeluarkan perintah berikut dan pastikan Anda mengetik ya untuk semua pertanyaan yang diajukan untuk mengamankan daemon MySQL sepenuhnya. Gunakan kutipan keluaran skrip berikut sebagai panduan.
sudo mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
You already have a root password set, so you can safely answer 'n'.
Change the root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
Untuk menguji pengaturan keamanan MariaDB, coba masuk ke database dari konsol dengan akun root dan tidak memberikan kata sandi. Akses ke database harus ditolak jika tidak ada kata sandi yang diberikan untuk akun root, seperti yang diilustrasikan dalam kutipan perintah berikut:
[email protected]:~# mysql -h localhost -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Jika kata sandi root diberikan, proses login harus diberikan ke konsol MySQL, seperti yang ditunjukkan pada contoh perintah berikut:
[email protected]:~# mysql -h localhost -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 15
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> exit
Bye
Selanjutnya, masuk ke konsol database MariaDB, buat database untuk Typo3 CMS dan pengguna dengan kata sandi yang akan digunakan untuk mengelola database aplikasi, dengan mengeluarkan perintah berikut. Ganti nama database, pengguna, dan sandi yang sesuai.
mysql –u root -p
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database typo;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on typo.* to 'typo_user' identified by 'password1';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
Untuk menerapkan semua perubahan yang dibuat sejauh ini, mulai ulang daemon MySQL dan Apache dan verifikasi apakah daemon berjalan dengan mengeluarkan perintah berikut.
systemctl restart mysql apache2
systemctl status mysql apache2
Instal Typo3
Setelah semua persyaratan sistem terpenuhi untuk menginstal platform Typo3, kunjungi halaman unduhan resmi Typo3 CMS di https://typo3.org/download/ dan ambil arsip terkompresi paket zip terbaru dengan bantuan utilitas wget, dengan mengeluarkan perintah berikut.
wget --content-disposition https://get.typo3.org/current/zip
Setelah pengunduhan arsip zip selesai, ekstrak arsip terkompresi zip Typo3 ke direktori kerja Anda saat ini dan daftarkan file yang diekstrak dengan mengeluarkan perintah berikut.
unzip typo3_src-8.7.8.zip
ls -al typo3_src-8.7.8
Juga, hapus file index.html default yang diinstal oleh server web Apache ke jalur webroot dan juga hapus file info.php yang dibuat sebelumnya.
rm /var/www/html/index.html
rm /var/www/html/info.php
File penginstalan untuk Typo3 terletak di direktori kerja Anda saat ini di typo3_src-8.7.8 direktori. Salin semua konten direktori yang diekstrak Typo3 ke jalur root dokumen server web Anda dengan mengeluarkan perintah berikut.
cp -rf typo3_src-8.7.8/* /var/www/html/
Selanjutnya, buat file FIRST_INSTALL di jalur root web domain Anda dan jalankan perintah berikut untuk memberi pengguna runtime Apache dengan izin menulis penuh ke jalur root dokumen server web. Gunakan ls perintah untuk membuat daftar izin untuk file yang diinstal aplikasi yang terletak di direktori /var/www/html/.
touch /var/www/html/FIRST_INSTALL
chown -R www-data:www-data /var/www/html/
ls –al /var/www/html/
Selanjutnya, lanjutkan dengan proses instalasi Typo3 CMS dengan membuka browser dan arahkan alamat IP server Anda atau nama domain atau server FQDN melalui protokol HTTPS. Pada layar instalasi pertama, penginstal Typo3 akan memeriksa lingkungan sistem Anda untuk menentukan apakah semua persyaratan untuk menginstal aplikasi terpenuhi, seperti yang ditunjukkan pada gambar di bawah ini. Jika semua persyaratan terpenuhi, klik Sistem terlihat bagus. Lanjutkan! untuk memulai proses instalasi.
https://domainanda.tld
Di layar instalasi berikutnya, pilih koneksi MySQL TCP/IP yang dikonfigurasi secara manual dan tambahkan alamat database MySQL, nama, dan kredensial yang dibuat sebelumnya untuk database Typo3 CMS. Gunakan alamat 127.0.0.1 untuk MySQL Host dan biarkan nomor port default (3306), seperti yang diilustrasikan pada gambar di bawah. Setelah selesai, tekan tombol Lanjutkan untuk pindah ke langkah penginstalan berikutnya.
Pada langkah selanjutnya, pilih 'Gunakan database kosong yang ada' pilihan, pilih nama database yang dibuat sebelumnya untuk Typo3 dan tekan tombol Lanjutkan untuk melanjutkan proses instalasi lebih lanjut.
Setelah skema database diimpor, buat pengguna admin untuk Typo3 CMS dan tulis kata sandi yang kuat untuk akun admin. Juga, tambahkan nama untuk situs web Typo3, seperti yang diilustrasikan pada gambar di bawah, dan tekan tombol Lanjutkan untuk menyelesaikan proses instalasi.
Setelah penginstalan selesai, penginstal akan menanyakan apakah Anda menginginkan situs yang telah dikonfigurasi sebelumnya. Pilih Ya, unduh daftar distribusi dan tekan Buka Backend TYPO3 tombol untuk diarahkan ke panel dasbor situs web.
Anda juga dapat mengunjungi panel web admin Typo3 dengan menavigasi ke alamat IP server atau nama domain Anda melalui protokol HTTPS ke /typo3/index.php URL. Masuk ke dasbor Typo3 dengan kredensial akun admin yang dikonfigurasi selama proses instalasi, seperti yang diilustrasikan pada gambar di bawah ini.
https://domainanda.tld/typo3/index.php
Setelah masuk ke dasbor admin Typo3, pilih dan instal paket distribusi yang telah dikonfigurasi sebelumnya dari daftar yang ditampilkan. Dalam panduan ini kita akan menginstal dan menggunakan the paket perkenalan resmi distribusi yang ditawarkan oleh Typo3 untuk membuat struktur halaman dan elemen konten dengan mudah.
Terakhir, untuk memaksa pengunjung menelusuri situs web frontend Typo3 dan untuk mengakses antarmuka backend dengan aman melalui protokol HTTPS, yang mengenkripsi lalu lintas antara browser server dan klien, kembali ke terminal server Anda dan edit file .htaccess yang terletak di jalur situs web Anda.
Pertama, buat file .htaccess berdasarkan file sampel yang disediakan oleh Typo3, dengan menjalankan perintah di bawah ini.
cp /var/www/html/_.htaccess /var/www/html/.htaccess
Kemudian, buka dan edit file .htaccess dan di bagian bawah file ubah pengaturan PHP asli dengan konfigurasi di bawah ini. Anda dapat mengubah pengaturan PHP agar sesuai dengan sumber daya server Anda sendiri.
nano /var/www/html/.htaccess
.htaccess kutipan file:
# Modify PHP settings
php_flag register_globals off
php_flag magic_quotes_gpc Off
php_value upload_max_filesize 500M
php_value post_max_size 500M
Terakhir, masukkan aturan berikut ke akhir file untuk mengarahkan lalu lintas domain ke HTTPS.
# Redirect to HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
Juga, buat file .htaccess baru di typo3 direktori yang terletak di jalur root web domain untuk secara otomatis mengalihkan sesi dasbor admin ke HTTPS.
nano /var/www/html/typo3/.htaccess
.htaccess kutipan file:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
Terakhir, kunjungi halaman depan situs web Typo3 default dengan menavigasi ke alamat IP server atau nama domain Anda melalui protokol HTTPS, seperti yang diilustrasikan pada tangkapan layar berikut.
https://www.domainanda.tld
Itu saja! Anda telah berhasil menginstal dan mengonfigurasi platform web Typo3 CMS di Debian 9. Namun, karena server HTTP Apache menggunakan sertifikat Self-Signed yang tidak tepercaya untuk mengenkripsi lalu lintas antara server dan browser pengunjung, pesan peringatan akan selalu dibuat dan ditampilkan di browser mereka . Peringatan ini buruk bagi klien yang mengunjungi halaman frontend situs web Anda. Dalam hal ini Anda harus membeli sertifikat yang dikeluarkan oleh Otoritas Sertifikat tepercaya atau mendapatkan pasangan sertifikat gratis dari Let's Encrypt CA.
Untuk konfigurasi khusus lainnya mengenai aplikasi web Typo3 CMS, kunjungi halaman dokumentasi di alamat berikut:https://docs.typo3.org/