Instalasi
Untuk mulai bekerja dengan O2System Framework anda harus memastikan server anda telah memenuhi persyaratan minimum berikut:
- Apache
- Module Rewrite (mod_rewrite)
- Module Header (mod_header)
- NGINX
- PHP FPM
- Microsoft IIS
- PHP Fast-CGI
- Rewrite Rule
- PHP v5.6.0+ (Nearly Deprecated)
Untuk performa lebih baik, disarankan menggunakan PHP v7.1+
- Fileinfo
- Mcrypt
- OpenSSL
- Mbstring
- Tokenizer
- XML
- APCu & Zend OPCache
O2System Framework telah menggunakan Composer sebagai Dependency Management, jadi langkah termudah untuk melakukan instalasi adalah dengan menggunakan perintah Composer create-project command in your terminal:
composer create-project o2system/o2system [project-name]
Setelah selesai melakukan instalasi O2System Framework anda wajib memastikan bahwa direktori
cache
dan storage
dapat ditulis oleh aplikasi anda.- Mengubah permission pada direktori cache$ chmod -R 777 /path/to/your/project/cache
- Mengubah permission pada direktori storage$ chmod -R 777 /path/to/your/project/storage
Bagi anda yang menggunakan apache sebagai web-server anda, buatlah file
.htaccess
pada direktori root dokumen aplikasi anda lalu isikan dengan kode htaccess seperti contoh dibawah ini.<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
Options +FollowSymlinks -Indexes
RewriteEngine On
# If you installed O2System in a subfolder, you will need to
# change the following line to match the subfolder you need.
# http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase
# RewriteBase /
# Rewrite "www.example.com -> example.com"
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
Bagi anda yang menggunakan NGINX sebagai web-server, buatlah vhost untuk proyek aplikasi anda lalu isi file vhost tersebut dengan konfigurasi seperti contoh di bawah ini.
server {
listen *:80;
server_name example.com *.example.com;
root /path/to/your/project/public;
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log off;
error_log /path/to/your/nginx/logs/example.com.error.log;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
Setelah anda memastikan IIS anda sudah memiliki plugin Rewrite Rule, buatlah file web.config di root direktori project anda dan isikan seperti contoh dibawah ini.
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="REQUEST_URI" stopProcessing="true">
<match url="^" ignoreCase="false" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Last modified 5yr ago