Note
Jika anda menggunakan mod_rewrite
, ubah opsi 'index'
di application/config/application.php
ke string kosong.
Ekstensi Tambahan:
Menginstall ekstensi berikut akan membantu anda mendapatkan manfaat penuh dari rakit, tetapi tidak diwajibkan:
Rakit dapat diinstall dengan 2 cara yang sangat mudah, yaitu instalasi via Composer dan instalasi manual.
Jika anda telah menginstall Composer pada komputer anda, instalasi rakit akan menjadi sangat mudah, cukup jalankan perintah berikut:
composer create-project esyede/rakit
Maka rakit akan terinstall pada folder /rakit
, yang perlu anda lakukan tinggal menuju folder tersebut dan
menjalankan webserver bawaan:
cd rakit && php rakit serve
Cara instalasi ini pun juga sangat mudah, semudah menghitung satu sampai tiga:
storage/views/
dan assets/
dapat ditulisi oleh PHP.Lihat hasilnya melalui peramban favorit anda. Jika semuanya baik-baik saja, anda akan melihat halaman splash Rakit yang cantik.
Bersiaplah, ada banyak lagi yang harus dipelajari!
Jika ada kesulitan dalam pemasangan, cobalah beberapa saran berikut ini:
mod_rewrite
, ubah opsi konfigurasi 'index'
di application/config/application.php
ke string kosong.storage/
dan assets/
serta seluruh folder di dalamnya dapat ditulisi oleh PHP.Semua file konfigurasi disimpan di dalam folder config/
.
Kami menyarankan anda melihat file-file tersebut agar mendapatkan pemahaman dasar
tentang opsi konfigurasi yang tersedia untuk anda.
Berikan perhatian khusus pada file application/config/application.php
karena file tersebut
berisi opsi konfigurasi dasar untuk aplikasi anda.
Ketika anda siap untuk memasang aplikasi anda ke server produksi, ada beberapa hal penting yang dapat anda lakukan untuk memastikan aplikasi anda berjalan seefisien mungkin.
Dalam dokumen ini, kami akan membahas beberapa poin awal yang bagus untuk memastikan aplikasi anda digunakan dengan benar.
Pastinya, anda juga tidak ingin URL aplikasi anda mengandung /index.php
.
Anda dapat membuangnya menggunakan URL Rewrite.
Jika web server anda menggunakan Apache, pastikan modul mod_rewrite
sudah diaktifkan,
kemudian buat sebuah file bernama .htaccess
di root web server anda
(berdampingan dengan file index.php
) dan salin kode berikut kedalamnya:
Options -MultiViews -Indexes
RewriteEngine on
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
RewriteRule ^(application|cgi-bin|packages|storage|system|vendor)/(.*)?$ / [F,L]
RewriteRule ^composer\.(lock|json)$ / [F,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
Apakah konfigurasi diatas tidak bekerja? Coba ganti dengan yang ini:
<IfPackage mod_rewrite.c>
<IfPackage mod_negotiation.c>
Options -MultiViews -Indexes
</IfPackage>
RewriteEngine On
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^(application|cgi-bin|packages|storage|system|vendor)/(.*)?$ / [F,L]
RewriteRule ^composer\.(lock|json)$ / [F,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfPackage>
Jika anda menggunakan aplikasi anda ke server yang menjalankan Nginx, anda dapat menggunakan file konfigurasi berikut sebagai titik awal untuk mengkonfigurasi web server anda.
Kemungkinan besar, file ini perlu disesuaikan mengikuti konfigurasi server anda:
server {
listen 80;
server_name example.com;
root /srv/example.com;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.php;
charset utf-8;
autoindex off;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location /(application|cgi-bin|packages|storage|system|vendor) {
return 403;
}
location /composer\.(lock|json) {
return 403;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
Setelah selesai mengatur URL rewrite, anda perlu mengubah opsi 'index'
di application/config/application.php
ke string kosong.